Timeline



Jan 18, 2015:

11:15 PM Changeset in webkit [178641] by ddkilzer@apple.com
  • 5 edits in trunk/Tools

iOS EWS queue name should be consistent
<http://webkit.org/b/140585>

Reviewed by Daniel Bates.

  • Scripts/webkitpy/common/config/ews.json: Rename 'ios-device'

to 'ios'.

  • Scripts/webkitpy/common/config/ports.py: Ditto.

(DeprecatedPort.port):
(IOSPort):

  • Scripts/webkitpy/port/ios.py: Ditto.

(IOSPort):

  • Scripts/webkitpy/port/factory.py:

(PortFactory): Re-order PORT_CLASSES so ios.IOSSimulatorPort
appears before ios.IOSPort. If this is not done,
run-webkit-tests --ios-simulator will get the wrong Port class
(IOSPort instead of IOSSimulatorPort) due to the way that
PortFactory.get() uses prefix matching of <Port>.port_name to
find the correct class to use.

11:07 PM Changeset in webkit [178640] by ap@apple.com
  • 2 edits in trunk/LayoutTests

http/tests/navigation/navigation-interrupted-by-fragment.html frequently times out
https://bugs.webkit.org/show_bug.cgi?id=140607

  • platform/mac-wk2/TestExpectations: Added an expectation.
10:57 PM Changeset in webkit [178639] by ap@apple.com
  • 4 edits in trunk/Source/WebCore

Update bindings generation test results after <https://trac.webkit.org/changeset/178633>.

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

(WebCore::JSTestEventConstructorConstructor::constructJSTestEventConstructor):

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

(WebCore::jsTestEventTargetPrototypeFunctionAddEventListener):
(WebCore::jsTestEventTargetPrototypeFunctionRemoveEventListener):

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

(WebCore::jsTestObjPrototypeFunctionAddEventListener):
(WebCore::jsTestObjPrototypeFunctionRemoveEventListener):

9:32 PM Changeset in webkit [178638] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Generate matchingShorthandsForLonghand() implementation from CSSPropertyNames.in
https://bugs.webkit.org/show_bug.cgi?id=140599

Reviewed by Antti Koivisto.

Generate matchingShorthandsForLonghand() implementation from
CSSPropertyNames.in. We already have all the information we need in
CSSPropertyNames.in to generate the big switch() in
matchingShorthandsForLonghand().

A few shorthands still aren't generated. I will look into getting rid
of the custom code in a follow-up patch.

  • css/StylePropertyShorthand.cpp:

(WebCore::makeVector): Deleted.
(WebCore::matchingShorthandsForLonghand): Deleted.

  • css/StylePropertyShorthand.h:

(WebCore::matchingCustomShorthandsForLonghand):

  • css/makeprop.pl:

(constructShorthandsVector):

9:14 PM Changeset in webkit [178637] by dino@apple.com
  • 3 edits
    2 adds in trunk

Out of bounds write in canvas.toDataURL
https://bugs.webkit.org/show_bug.cgi?id=140594
<rdar://problem/19449135>

Reviewed by Alexey Proskuryakov.

Source/WebCore:

In the case where we have a canvas object that does
not have premultiplied alpha (an option you can select
when using WebGL) we have to multiply out the alpha when
converting to JPEG via toDataURL.

For this we created a buffer, but were not accurately
resizing it before flattening the alpha.

Test: fast/canvas/webgl/toDataURL-unpremultipliedAlpha.html

  • platform/graphics/cg/ImageBufferCG.cpp:

(WebCore::ImageDataToDataURL): Call resize once we've
determined we have enough space.

LayoutTests:

Creates a WebGL context that does not have
premultiplied alpha, fills it with 50% transparent white,
and attempts to convert the canvas to a JPEG data URL. This
exercises the code path that was not accurately
allocating data (to flatten the alpha).

  • fast/canvas/webgl/toDataURL-unpremultipliedAlpha-expected.txt: Added.
  • fast/canvas/webgl/toDataURL-unpremultipliedAlpha.html: Added.
4:03 PM Changeset in webkit [178636] by dbates@webkit.org
  • 5 edits in trunk/Source

Attempt to fix the iOS build after <http://trac.webkit.org/changeset/178631>
(https://bugs.webkit.org/show_bug.cgi?id=129441)

Source/WebKit/mac:

Pass lvalue reference to WebCore::Highlight instead of pointer in call to InspectorController::getHighlight().
Also substitute HighlightType::Node and HighlightType::Rects for HighlightTypeNode and HighlightTypeRects, respectively.

  • WebInspector/WebNodeHighlightView.mm:

(-[WebNodeHighlightView layoutSublayers:]):

Source/WebKit2:

  • UIProcess/WKInspectorHighlightView.mm:

(-[WKInspectorHighlightView update:]): Substitute HighlightType::Node and
HighlightType::Rects for HighlightTypeNode and HighlightTypeRects, respectively.

  • WebProcess/WebCoreSupport/WebInspectorClient.cpp:

(WebKit::WebInspectorClient::highlight): Pass lvalue reference to WebCore::Highlight
instead of pointer in call to InspectorController::getHighlight().

2:16 PM Changeset in webkit [178635] by weinig@apple.com
  • 4 edits in trunk/Source/WebKit2

Fix style issues and add availability macros missed in r178634
https://bugs.webkit.org/show_bug.cgi?id=140597

Reviewed by Dan Bernstein.

  • UIProcess/API/Cocoa/WKUserContentControllerPrivate.h:

Add missing availability macros.

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

(-[_WKUserContentFilter initWithName:serializedRules:]):
(-[_WKUserContentFilter _initWithName:serializedRules:]): Deleted.
Removed unnecessary leading underscore from init method.

1:54 PM Changeset in webkit [178634] by weinig@apple.com
  • 33 edits
    8 adds
    2 deletes in trunk/Source

Add initial experimental user content filtering API
https://bugs.webkit.org/show_bug.cgi?id=140584

Reviewed by Benjamin Poulain.

Source/WebCore:

Change content extensions to be managed through the UserContentController.

  • WebCore.exp.in:

Update exports.

  • WebCore.xcodeproj/project.pbxproj:

Update for removed files.

  • contentextensions/ContentExtensionsBackend.cpp:

(WebCore::ContentExtensions::ContentExtensionsBackend::removeAllRuleLists):
(WebCore::ContentExtensions::ContentExtensionsBackend::sharedInstance): Deleted.

  • contentextensions/ContentExtensionsBackend.h:

Remove concept of a shared instance and add a removeAllRuleLists() function.

  • contentextensions/ContentExtensionsInterface.cpp: Removed.
  • contentextensions/ContentExtensionsInterface.h: Removed.

Since there is no shared instance anymore, checking if a URL should be blocked
now has to go directly to the backend.

  • contentextensions/ContentExtensionsManager.cpp:

(WebCore::ContentExtensions::ExtensionsManager::createRuleList):
(WebCore::ContentExtensions::ExtensionsManager::loadExtension): Deleted.

  • contentextensions/ContentExtensionsManager.h:

Update interface to accommodate the lack of a shared instance. Now, all this
file does is take a serialized rule list and outputs the Vector of ContentExtensionRules

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::requestResource):
Check with the UserContentController to see if the URL should be blocked.

  • page/UserContentController.cpp:

(WebCore::UserContentController::addUserContentFilter):
(WebCore::UserContentController::removeAllUserContentFilters):
(WebCore::UserContentController::contentFilterBlocksURL):

  • page/UserContentController.h:

Add single point of interaction for both the WebKit level to add and remove
content filters and WebCore to check to see if URLs should be blocked.

Source/WebKit2:

Moves content filtering from being per-ProcessPool to per-UserContentController.

  • Shared/API/APIObject.h:
  • Shared/API/c/WKBase.h:
  • UIProcess/API/APIUserContentFilter.cpp: Added.

(API::UserContentFilter::UserContentFilter):
(API::UserContentFilter::~UserContentFilter):

  • UIProcess/API/APIUserContentFilter.h: Added.
  • UIProcess/API/C/WKAPICast.h:
  • UIProcess/API/C/WKUserContentFilterRef.cpp: Added.

(WKUserContentFilterGetTypeID):
(WKUserContentFilterCreate):

  • UIProcess/API/C/WKUserContentFilterRef.h: Added.
  • UIProcess/API/C/WebKit2_C.h:
  • UIProcess/API/Cocoa/_WKUserContentFilter.h: Added.
  • UIProcess/API/Cocoa/_WKUserContentFilter.mm: Added.

(WKUserContentControllerAddUserContentFilter):
(WKUserContentControllerRemoveAllUserContentFilters):
(-[_WKUserContentFilter _initWithName:ruleList:]):

  • UIProcess/API/Cocoa/_WKUserContentFilterInternal.h: Added.

Add a basic UserContentFilter type and expose it via both the Objective-C API (as _WKUserContentFilter)
and via the C SPI (as WKUserContentFilterRef).

  • UIProcess/API/C/WKUserContentControllerRef.h:
  • UIProcess/API/C/WKUserContentControllerRef.cpp:

Add C-SPI to set and remove WKUserContentFilterRefs.

  • UIProcess/API/Cocoa/WKProcessPool.mm:

(-[WKProcessPool _loadContentExtensionWithIdentifier:serializedRules:successCompletionHandler:errorCompletionHandler:]): Deleted.

  • UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::processDidFinishLaunching):
(WebKit::WebProcessPool::loadContentExtension): Deleted.

  • UIProcess/WebProcessPool.h:
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::loadContentExtension): Deleted.

  • WebProcess/WebProcess.h:
  • WebProcess/WebProcess.messages.in:

Remove the old SPI for loading content filters that was per-ProcessPool. Content filters now follow
the same pattern as UserScripts and UserStyleSheets as being per-UserContentController.

  • UIProcess/API/Cocoa/WKUserContentController.mm:

(-[WKUserContentController _addUserContentFilter:]):
(-[WKUserContentController _removeAllUserContentFilters]):

  • UIProcess/API/Cocoa/WKUserContentControllerInternal.h:
  • UIProcess/API/Cocoa/WKUserContentControllerPrivate.h: Added.
  • UIProcess/UserContent/WebUserContentControllerProxy.cpp:

(WebKit::WebUserContentControllerProxy::WebUserContentControllerProxy):
(WebKit::WebUserContentControllerProxy::addProcess):
(WebKit::WebUserContentControllerProxy::addUserContentFilter):
(WebKit::WebUserContentControllerProxy::removeAllUserContentFilters):

  • UIProcess/UserContent/WebUserContentControllerProxy.h:
  • WebProcess/UserContent/WebUserContentController.cpp:

(WebKit::WebUserContentController::addUserContentFilters):
(WebKit::WebUserContentController::removeAllUserContentFilters):

  • WebProcess/UserContent/WebUserContentController.h:
  • WebProcess/UserContent/WebUserContentController.messages.in:

Pipe user content filters over to all the WebProcesses that the UserContentController is
connected to.

  • WebKit2.xcodeproj/project.pbxproj:

Add new files.

12:57 PM Changeset in webkit [178633] by Darin Adler
  • 5 edits in trunk/Source/WebCore

REGRESSION (r125251): wrapper lifetimes of SVGElementInstance are incorrect
https://bugs.webkit.org/show_bug.cgi?id=132148

Reviewed by Anders Carlsson.

Test: svg/custom/use-instanceRoot-event-listeners.xhtml

  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::JSDOMWindow::addEventListener): Updated for the new return type
of JSListener::create. For the event type, use JSString::toAtomicString instead of
calling JSString::value and then converting to an AtomicString.
(WebCore::JSDOMWindow::removeEventListener): Same changes as for addEventListener.

  • bindings/js/JSEventListener.cpp:

(WebCore::forwardsEventListeners): Added. Helper to detect the special case needed
for SVGElementInstance. In the future, for better encapsulation, we could use virtual
functions, but for now hard coding this single class seems fine.
(WebCore::correspondingElementWrapper): Added. For use if forwardsEventListeners
returns true, to find out where event listeners will be forwarded.
(WebCore::createJSEventListenerForAttribute): Added. Replaces the old function
createJSAttributeEventListener, for SVGElementInstance attributes only.
(WebCore::createJSEventListenerForAdd): Added. Helper function to avoid repeated
generated code in the addElementListener bindings other than the DOMWindow one.

  • bindings/js/JSEventListener.h:

(WebCore::JSEventListener::create): Changed to return a Ref instead of a PassRefPtr.
(WebCore::createJSEventListenerForAttribute): Renamed from createJSAttributeEventListener,
changed to return a RefPtr instead of a PassRefPtr and to take references rather than
pointers for non-null things.
(WebCore::createJSEventListenerForRemove): Added. Small wrapper that calls
createJSEventListenerForAdd since they are currently identical.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateAttributeEventListenerCall): Removed the special case for JSSVGElementInstance
and updated to call the new createJSEventListenerForAttribute. The special case for
SVGElementInstance is now in JSEventListener.h/cpp, which is nicer since we prefer to
keep the generated code simpler if possible.
(GenerateEventListenerCall): Removed the special case for JSSVGElementInstance. This
has been dead code since the explicit definition of add/removeEventListener was removed
from SVGElementInstance.idl, and was also a problem if someone were to use the
addEventListener function from EventTarget on an SVGElementInstance object. The function
needs to be generic at runtime. Use toAtomicString as in JSDOMWindow::addEventListener above.
Call the two new functions, createJSEventListenerForAdd and createJSEventListenerForRemove.
Those new functions properly handle SVGElementInstance.
(GenerateImplementation): Don't pass the class name to GenerateAttributeEventListenerCall
or GenerateEventListenerCall any more.
(GenerateConstructorDefinition): Use JSString::toAtomicString instead of calling
JSString::value and then converting to AtomicString.

12:03 PM WebKitGTK/2.4.x edited by berto@igalia.com
(diff)
12:00 PM WebKitGTK/2.4.x edited by berto@igalia.com
(diff)
11:52 AM WebKitGTK/2.4.x edited by berto@igalia.com
(diff)
11:50 AM WebKitGTK/2.4.x edited by berto@igalia.com
(diff)
10:39 AM Changeset in webkit [178632] by ap@apple.com
  • 2 edits in trunk/Tools

build.webkit.org/dashboard: OS X EWS is now on Mavericks
https://bugs.webkit.org/show_bug.cgi?id=140595

Reviewed by Csaba Osztrogonác.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:

(BubbleQueueServer):

9:07 AM Changeset in webkit [178631] by Brian Burg
  • 13 edits
    1 add in trunk/Source

Web Inspector: highlight data for overlay should use protocol type builders
https://bugs.webkit.org/show_bug.cgi?id=129441

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

Add a new domain for overlay types.

  • CMakeLists.txt:
  • DerivedSources.make:
  • inspector/protocol/OverlayTypes.json: Added.

Source/WebCore:

As a first step towards cleaning up the inspector overlay, convert highlight
data construction to use protocol type builders. It's now really obvious what
data is being sent to the inspector overlay page.

This change paves the way towards using inspector protocol commands and events
if we want to support more interactive functionality in the inspector overlay.

This patch makes a few style cleanups, such as standardizing variable names,
using default member initializers, passing by reference, and fixing casts.

No new tests, no behavior changed.

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

(WebCore::InspectorController::getHighlight):
(WebCore::InspectorController::buildObjectForHighlightedNode):
(WebCore::InspectorController::inspect): Deleted.

  • inspector/InspectorController.h:
  • inspector/InspectorOverlay.cpp:

(WebCore::buildRendererHighlight):
(WebCore::buildNodeHighlight):
(WebCore::buildQuadHighlight):
(WebCore::InspectorOverlay::InspectorOverlay):
(WebCore::InspectorOverlay::getHighlight):
(WebCore::buildObjectForPoint):
(WebCore::buildObjectForRect):
(WebCore::buildArrayForQuad):
(WebCore::buildObjectForHighlight):
(WebCore::buildObjectForRegion):
(WebCore::buildObjectForFlowRegions):
(WebCore::buildObjectForSize):
(WebCore::buildQuadObjectForCSSRegionContentClip):
Simplify how the clipping area is encoded. It's now 'regionClippingArea'
stored on a FragmentHighlightData instance.

(WebCore::InspectorOverlay::updatePaintRectsTimerFired):
(WebCore::InspectorOverlay::drawPaintRects):
(WebCore::buildArrayForRendererFragments):
(WebCore::appendPathCommandAndPoints):
(WebCore::appendPathSegment):
(WebCore::buildObjectForShapeOutside):
(WebCore::buildObjectForElementData):
(WebCore::InspectorOverlay::buildObjectForHighlightedNode):
(WebCore::InspectorOverlay::drawNodeHighlight):
(WebCore::InspectorOverlay::drawQuadHighlight):
(WebCore::InspectorOverlay::reset):
(WebCore::buildObjectForRegionHighlight): Deleted.
(WebCore::buildObjectForCSSRegionsHighlight): Deleted.
(WebCore::buildObjectForCSSRegionContentClip): Deleted.
(WebCore::buildObjectForRendererFragments): Deleted.
(WebCore::buildObjectForElementInfo): Deleted.

  • inspector/InspectorOverlay.h:

(WebCore::Highlight::Highlight):

  • inspector/InspectorOverlayPage.js:

(_createElementTitle):
(_drawElementTitle):
(_drawFragmentHighlight):
(drawNodeHighlight):

  • testing/Internals.cpp:

(WebCore::Internals::inspectorHighlightRects):
(WebCore::Internals::inspectorHighlightObject):

Source/WebKit:

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Update symbol.

Jan 17, 2015:

5:41 PM Changeset in webkit [178630] by Chris Dumez
  • 9 edits
    3 copies
    1 add in trunk/Source/WebKit2

[WK2][iOS] Add Cocoa delegate for logging diagnostic messages
https://bugs.webkit.org/show_bug.cgi?id=140410

Reviewed by Sam Weinig.

Add Cocoa delegate for logging diagnostic messages.

  • UIProcess/API/APIDiagnosticLoggingClient.h: Copied from Source/WebKit2/UIProcess/WebPageDiagnosticLoggingClient.h.

(API::DiagnosticLoggingClient::~DiagnosticLoggingClient):
(API::DiagnosticLoggingClient::logDiagnosticMessage):
(API::DiagnosticLoggingClient::logDiagnosticMessageWithResult):
(API::DiagnosticLoggingClient::logDiagnosticMessageWithValue):

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageDiagnosticLoggingClient):

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]):
(-[WKWebView _diagnosticLoggingDelegate]):
(-[WKWebView _setDiagnosticLoggingDelegate:]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/API/Cocoa/_WKDiagnosticLoggingDelegate.h: Copied from Source/WebKit2/UIProcess/WebPageDiagnosticLoggingClient.h.
  • UIProcess/Cocoa/DiagnosticLoggingClient.h: Copied from Source/WebKit2/UIProcess/WebPageDiagnosticLoggingClient.h.
  • UIProcess/Cocoa/DiagnosticLoggingClient.mm: Added.

(WebKit::DiagnosticLoggingClient::DiagnosticLoggingClient):
(WebKit::DiagnosticLoggingClient::delegate):
(WebKit::DiagnosticLoggingClient::setDelegate):
(WebKit::DiagnosticLoggingClient::logDiagnosticMessage):
(WebKit::DiagnosticLoggingClient::logDiagnosticMessageWithResult):
(WebKit::DiagnosticLoggingClient::logDiagnosticMessageWithValue):

  • UIProcess/WebPageDiagnosticLoggingClient.cpp:

(WebKit::WebPageDiagnosticLoggingClient::WebPageDiagnosticLoggingClient):

  • UIProcess/WebPageDiagnosticLoggingClient.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::setDiagnosticLoggingClient):
(WebKit::WebPageProxy::close):
(WebKit::WebPageProxy::logDiagnosticMessage):
(WebKit::WebPageProxy::logDiagnosticMessageWithResult):
(WebKit::WebPageProxy::logDiagnosticMessageWithValue):
(WebKit::WebPageProxy::initializeDiagnosticLoggingClient): Deleted.

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::diagnosticLoggingClient):

  • WebKit2.xcodeproj/project.pbxproj:
4:20 PM Changeset in webkit [178629] by msaboff@apple.com
  • 3 edits
    3 adds in trunk

Crash in JSScope::resolve() on tools.ups.com
https://bugs.webkit.org/show_bug.cgi?id=140579

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

For op_resolve_scope of a global property or variable that needs to check for the var
injection check watchpoint, we need to keep the scope around with a Phantom. The
baseline JIT slowpath for op_resolve_scope needs the scope value if the watchpoint
fired.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

LayoutTests:

New regression test.

  • js/regress-140579-expected.txt: Added.
  • js/regress-140579.html: Added.
  • js/script-tests/regress-140579.js: Added.

(Test.this.isString):
(Test.this.test):
(Test):

2:51 PM Changeset in webkit [178628] by mmaxfield@apple.com
  • 5 edits in trunk/Source/WebCore

[SVG -> OTF Converter] Crashes when SVG font is invalid
https://bugs.webkit.org/show_bug.cgi?id=140378

Reviewed by Antti Koivisto.

Because CachedSVGFonts are cached, they have to be able to be used
in subsequent documents regardless how the first document left it.

Tests: fast/css/font-face-svg-decoding-error.html

svg/custom/svg-fonts-in-html.html
svg/text/text-overflow-ellipsis-svgfont-kerning-ligatures.html

  • loader/cache/CachedFont.cpp:

(WebCore::CachedFont::ensureCustomFontData):

  • loader/cache/CachedFont.h:
  • loader/cache/CachedSVGFont.cpp:

(WebCore::CachedSVGFont::getFontData):
(WebCore::CachedSVGFont::ensureCustomFontData):
(WebCore::CachedSVGFont::maybeInitializeExternalSVGFontElement):

  • loader/cache/CachedSVGFont.h:
9:18 AM Changeset in webkit [178627] by Chris Dumez
  • 6 edits in trunk

Converting time, angle and frequency units in CSS calc() function
https://bugs.webkit.org/show_bug.cgi?id=138356

Reviewed by Darin Adler.

Source/WebCore:

Update CSSPrimitiveValue::primitiveType() to actually query the
primitiveType of the CSSCalcValue instead of assuming a given
type based on its category (e.g. If category is CalcTime, then
assume type is CSS_MS, even though it would be CSS_S as well).

This would like to calculation errors such as:
calc(4s + 1s) -> 5ms

Because we would assume the unit is CSS_MS without actually
checking.

This patch is inspired by the following Blink revision
by <rhodovan.u-szeged@partner.samsung.com> and initial WebKit
patch from <tmeszaros.u-szeged@partner.samsung.com>:
https://src.chromium.org/viewvc/blink?view=rev&revision=179101

Test: fast/css/calc-with-angle-time-frequency.html

  • css/CSSCalculationValue.h:

(WebCore::CSSCalcValue::primitiveType):

  • css/CSSPrimitiveValue.cpp:

(WebCore::CSSPrimitiveValue::primitiveType):

LayoutTests:

Update fast/css/calc-with-angle-time-frequency.html to include more
test cases and actually validate the result of the calculation,
instead of merely setting the CSS property and being happy if we don't
crash.

  • fast/css/calc-with-angle-time-frequency-expected.txt:
  • fast/css/calc-with-angle-time-frequency.html:
8:54 AM Changeset in webkit [178626] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Generate shorthandForProperty() implementation from CSSPropertyNames.in
https://bugs.webkit.org/show_bug.cgi?id=140556

Reviewed by Darin Adler.

Generate shorthandForProperty() implementation from CSSPropertyNames.in.
This is just a big switch() statement calling the right
StylePropertyShorthand factory function for a given CSSPropertyID.

  • css/StylePropertyShorthand.cpp:

(WebCore::shorthandForProperty): Deleted.

  • css/StylePropertyShorthand.h:
  • css/makeprop.pl:
8:49 AM Changeset in webkit [178625] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebKit2

REGRESSION (r178618): Change to WKWebViewConfiguration broke iOS build
<https://bugs.webkit.org/show_bug.cgi?id=140559>

Blind fix to address the following build failure:

Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.mm:79:7: error: interface type cannot be statically allocated

T m_value;


*

Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.mm:94:55: note: in instantiation of template class 'LazyInitialized<WKWebViewContentProviderRegistry>' requested here

LazyInitialized<WKWebViewContentProviderRegistry> _contentProviderRegistry;


Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.mm:53:21: error: assigning to 'WKWebViewContentProviderRegistry *' from incompatible type 'RetainPtr<WKWebViewContentProviderRegistry *>'

m_value = f();

~

Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.mm:222:37: note: in instantiation of function template specialization 'LazyInitialized<WKWebViewContentProviderRegistry>::get<(lambda at Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.mm:222:41)>' requested here

return _contentProviderRegistry.get([] { return adoptNS([[WKWebViewContentProviderRegistry alloc] init]); });


Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.mm:57:24: error: property 'get' not found on object of type 'WKWebViewContentProviderRegistry *'

return m_value.get();


3 errors generated.

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

_contentProviderRegistry to be a LazyInitialized<RetainPtr<>> to
match other instance variables.

8:08 AM WebKitGTK/2.4.x edited by berto@igalia.com
(diff)
7:55 AM WebKitGTK/2.4.x edited by berto@igalia.com
(diff)
2:48 AM Changeset in webkit [178624] by ddkilzer@apple.com
  • 2 edits in trunk/Tools

Attempt to fix webkitpy tests on Mountain Lion, Mavericks bots

  • Scripts/webkitpy/port/ios.py:

(IOSPort): Add 'ios-device-7' to VERSION_FALLBACK_ORDER so that
test-webkitpy doesn't fail since iOS 7.x SDKs are installed on
the Mountain Lion and Mavericks bots.

2:08 AM Changeset in webkit [178623] by ddkilzer@apple.com
  • 2 edits in trunk/Tools

Attempt to fix webkitpy tests on GTK Linux ports

  • Scripts/webkitpy/port/ios.py:

(IOSPort.determine_full_port_name): Set a sensible default if
not running on a Mac platform or if no iOS SDK is installed.

12:42 AM Changeset in webkit [178622] by ddkilzer@apple.com
  • 14 edits in trunk/Tools

Create iOS-EWS client queue
https://bugs.webkit.org/show_bug.cgi?id=140476

Patch by Jake Nielsen <jacob_nielsen@apple.com> on 2015-01-17
Reviewed by Alexey Proskuryakov.

  • EWSTools/start-queue-mac.sh:

Adds call to configure-xcode-for-ios-development for iOS EWS.

  • Scripts/webkitpy/common/config/ews.json:

Adds the iOS EWS config entry.

  • Scripts/webkitpy/common/config/ports.py:

(DeprecatedPort.port):
Adds IOSPort to the port map.
(IOSPort):
(IOSPort.build_webkit_command):
Adds --sdk=iphoneos to the webkit build command.

  • Scripts/webkitpy/port/base.py:

(Port.architecture):
Adds an accessor for the architecture member variable.

  • Scripts/webkitpy/port/factory.py:

(PortFactory):
Adds IOSPort to the port class list.

  • Scripts/webkitpy/port/ios.py:

Adds the IOSPort to encapsulate iOS-specific things.
(IOSPort):
(IOSPort.determine_full_port_name):
(IOSPort.init):
(IOSPort._build_driver_flags):
(IOSPort.operating_system):

  • Scripts/webkitpy/tool/commands/download_unittest.py:

Adds the archetecture option to the mock options.
(DownloadCommandsTest._default_options):

  • Scripts/webkitpy/tool/commands/earlywarningsystem.py:

Appends the archetecture option into calls to webkit-patch.
(AbstractEarlyWarningSystem.review_patch):
(AbstractEarlyWarningSystem.run_command):
(AbstractEarlyWarningSystem.load_ews_classes):

  • Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:

Adds logic to soothe the unittest now that --architecture is being
thrown around everywhere.
(EarlyWarningSystemTest._default_expected_logs):

  • Scripts/webkitpy/tool/commands/queues.py:

Adds glue code to ferry the --architecture option around.
(AbstractQueue.init):
(PatchProcessingQueue.begin_work_queue):

  • Scripts/webkitpy/tool/steps/abstractstep.py:

Adds the archetecture option to all AbstractSteps so that
EarlyWarningSystem doesn't start shoving --architecture into
unsuspecting commands.
(AbstractStep.options):

  • Scripts/webkitpy/tool/steps/build.py:

Translates the --architecture option into an ARCHS= format to pass to
build-webkit.
(Build.build):

  • Scripts/webkitpy/tool/steps/options.py:

Adds a definition for the --architecture option.
(Options):

Jan 16, 2015:

6:53 PM Changeset in webkit [178621] by ggaren@apple.com
  • 12 edits
    1 delete in trunk/Source/bmalloc

bmalloc: refactored XLarge allocation for better alignment
https://bugs.webkit.org/show_bug.cgi?id=140582

Reviewed by Andreas Kling.

XLarge objects used to be Large objects with an extra bit of metadata
that said "actually, I'm not large -- I'm extra large".

The metadata header in an XLarge allocation made it impossible for the
XLarge object to honor a very large alignment request.

The solution is to stop using a metadata header for XLarge objects, and
instead to store explicit metadata on the side.

This is a bit less astonishing, which is also nice.

Finding XLarge metadata is now a linear search. That's probably OK, since
it was always so in TCMalloc, and the usual number of XLarge allocations
in a process is 0.

This design makes it possible for the heap to cache XLarge allocations
with and/or without physical pages. I haven't actually done that yet
because the tradeoffs are subtle, so I don't want to do anything without
a motivating test case.

  • bmalloc.xcodeproj/project.pbxproj:
  • bmalloc/Allocator.cpp:

(bmalloc::Allocator::reallocate): Removed the concept of an XLargeChunk,
since an XLarge allocation is now just a naked buffer without a header.

(bmalloc::Allocator::allocateXLarge): Added an explicit qualifier for
XLarge alignment, since XLargeChunk won't give this to us implicitly
anymore.

  • bmalloc/BoundaryTag.h:

(bmalloc::BoundaryTag::setRange):
(bmalloc::BoundaryTag::isXLarge): Deleted.
(bmalloc::BoundaryTag::setXLarge): Deleted.

  • bmalloc/BoundaryTagInlines.h:

(bmalloc::validate):
(bmalloc::BoundaryTag::deallocate): Removed the XLarge hacks from Large allocations.

  • bmalloc/Deallocator.cpp:

(bmalloc::Deallocator::deallocateXLarge):
(bmalloc::Deallocator::deallocateSlowCase):

  • bmalloc/Heap.cpp:

(bmalloc::Heap::findXLarge):
(bmalloc::Heap::allocateXLarge):
(bmalloc::Heap::deallocateXLarge):

  • bmalloc/Heap.h: Updated for interface changes.
  • bmalloc/ObjectType.cpp:

(bmalloc::objectType):

  • bmalloc/ObjectType.h:

(bmalloc::isXLarge): We can now tell if a pointer is XLarge just by
examining its bit pattern -- just like we do for other kinds of
allocations -- which is nice.

  • bmalloc/Sizes.h:
  • bmalloc/VMHeap.h:

(bmalloc::VMHeap::allocateXLarge):
(bmalloc::VMHeap::findXLarge):
(bmalloc::VMHeap::deallocateXLarge): Keep an explicit vector of metadata
for XLarge allocations.

  • bmalloc/XLargeChunk.h: Removed.
6:26 PM Changeset in webkit [178620] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Make message selection in the console more readable
https://bugs.webkit.org/show_bug.cgi?id=140385

Patch by Nikita Vasilyev <Nikita Vasilyev> on 2015-01-16
Reviewed by Timothy Hatcher.

  • UserInterface/Views/LogContentView.css:

(.console-item.selected):
(.console-messages:focus .console-item.selected):
(.console-item.selected .console-message::after):
(.console-messages:focus .console-item.selected .console-message::after):
(.console-messages:focus .console-item.selected .go-to-link):

  • UserInterface/Views/Main.css:

(.go-to-link):
!important statements seem to be unnecessary, remove them.

6:12 PM Changeset in webkit [178619] by dbates@webkit.org
  • 121 edits in trunk/LayoutTests

Update some expected results for iOS

  • platform/ios-simulator-wk2/css2.1/t100801-c548-ln-ht-00-c-a-expected.txt:
  • platform/ios-simulator-wk2/css2.1/t1606-c562-white-sp-00-b-ag-expected.txt:
  • platform/ios-simulator/TestExpectations:

[...]

6:07 PM Changeset in webkit [178618] by weinig@apple.com
  • 19 edits
    10 adds in trunk

Add a basic configuration object for WKView
https://bugs.webkit.org/show_bug.cgi?id=140559

Reviewed by Anders Carlsson.

Source/WebKit2:

  • Adds WKPageConfigurationRef (backed by API::PageConfiguration). WKWebView configuration is not yet bridged to this, but that will happen soon. For now, it has a few basic configuration options.
  • Adds WKUserContentControllerRef as C-SPI version of WKUserContentController.
  • Adds WKUserScriptRef as C-SPI version of WKUserScript.
  • Shared/API/APIObject.h:
  • Shared/API/c/WKBase.h:
  • Shared/API/c/WKSharedAPICast.h:

(WebKit::toWKUserScriptInjectionTime):

  • UIProcess/API/APIPageConfiguration.cpp: Added.

(API::PageConfiguration::PageConfiguration):
(API::PageConfiguration::~PageConfiguration):
(API::PageConfiguration::processPool):
(API::PageConfiguration::setProcessPool):
(API::PageConfiguration::userContentController):
(API::PageConfiguration::setUserContentController):
(API::PageConfiguration::pageGroup):
(API::PageConfiguration::setPageGroup):
(API::PageConfiguration::preferences):
(API::PageConfiguration::setPreferences):
(API::PageConfiguration::relatedPage):
(API::PageConfiguration::setRelatedPage):
(API::PageConfiguration::webPageConfiguration):

  • UIProcess/API/APIPageConfiguration.h: Added.

(API::PageConfiguration::create):

  • UIProcess/API/APIUserScript.cpp: Added.

(API::generateIdentifier):
(API::UserScript::generateUniqueURL):

  • UIProcess/API/APIUserScript.h:
  • UIProcess/API/C/WKAPICast.h:
  • UIProcess/API/C/WKPageConfigurationRef.cpp: Added.

(WKPageConfigurationGetTypeID):
(WKPageConfigurationCreate):
(WKPageConfigurationGetContext):
(WKPageConfigurationSetContext):
(WKPageConfigurationGetPageGroup):
(WKPageConfigurationSetPageGroup):
(WKPageConfigurationGetUserContentController):
(WKPageConfigurationSetUserContentController):
(WKPageConfigurationGetPreferences):
(WKPageConfigurationSetPreferences):
(WKPageConfigurationGetRelatedPage):
(WKPageConfigurationSetRelatedPage):

  • UIProcess/API/C/WKPageConfigurationRef.h: Added.
  • UIProcess/API/C/WKUserContentControllerRef.cpp: Added.

(WKUserContentControllerGetTypeID):
(WKUserContentControllerCreate):
(WKUserContentControllerCopyUserScripts):
(WKUserContentControllerAddUserScript):
(WKUserContentControllerRemoveAllUserScripts):

  • UIProcess/API/C/WKUserContentControllerRef.h: Added.
  • UIProcess/API/C/WKUserScriptRef.cpp: Added.

(WKUserScriptGetTypeID):
(WKUserScriptCreateWithSource):
(WKUserScriptCopySource):
(WKUserScriptGetInjectionTime):
(WKUserScriptGetMainFrameOnly):

  • UIProcess/API/C/WKUserScriptRef.h: Added.
  • UIProcess/API/C/WebKit2_C.h:
  • UIProcess/API/Cocoa/WKUserScript.mm:

(-[WKUserScript initWithSource:injectionTime:forMainFrameOnly:]):
(generateIdentifier): Deleted.

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

(LazyInitialized::get):
(LazyInitialized::set):
(LazyInitialized::peek):

  • UIProcess/API/mac/WKView.mm:

(-[WKView initWithFrame:configurationRef:]):

  • UIProcess/UserContent/WebUserContentControllerProxy.h:

(WebKit::WebUserContentControllerProxy::create):

  • WebKit2.xcodeproj/project.pbxproj:

Tools:

Add tests for WKPageConfigurationRef.

  • TestWebKitAPI/PlatformWebView.h:
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit2/WKPageConfiguration.cpp: Added.

(TestWebKitAPI::TEST):
(TestWebKitAPI::didFinishLoadForFrame):
(TestWebKitAPI::setPageLoaderClient):

  • TestWebKitAPI/mac/PlatformWebViewMac.mm:

(TestWebKitAPI::PlatformWebView::initialize):
(TestWebKitAPI::PlatformWebView::PlatformWebView):

5:49 PM Changeset in webkit [178617] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[Mac] Correct infinite loop in Wheel Handler code in EventHandlerMac
https://bugs.webkit.org/show_bug.cgi?id=140564
<rdar://problem/19386426.

Reviewed by Dean Jackson.

  • page/mac/EventHandlerMac.mm:

(WebCore::latchingIsLockedToAncestorOfThisFrame): Put missing assignment
back into the loop!

5:15 PM Changeset in webkit [178616] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.5.2

New tag.

4:39 PM Changeset in webkit [178615] by mmaxfield@apple.com
  • 6 edits
    1 add in trunk

WeakPtr functions crash when created with default constructor
https://bugs.webkit.org/show_bug.cgi?id=140479

Reviewed by Andreas Kling.

Source/WTF:

This patch rearranges how WeakPtr works, and has the following ideas behind it:

  1. WeakPtr should use Ref internally. This solves the crash by always having a

valid WeakReference.

  1. Clients should not be able to construct WeakReferences directly. Instead,

only WeakPtrFactory (and WeakPtr's default constructor) should be able to
construct them. They are considered an implementation detail of WeakPtr.

  1. Except for the default constructor, clients should not be able to construct

WeakPtrs directly. Instead, the WeakPtrFactory must construct them. This
guarantees that the WeakPtrs all reference the same WeakReference.

  1. Clients can construct a WeakPtr using its default constructor, and then

use the assignment operator to make it non-null. (Or they could use
WeakPtrFactory to make it non-null at creation-time.)

  1. No one was using WeakReference::bindTo(), and it doesn't seem useful, so I

removed it.

Tests: WTF_WeakPtr API tests

  • wtf/Ref.h:

(WTF::Ref::Ref): Added extra ASSERT()s, and explicitly deleted copy
constructors with a comment.
(WTF::Ref::operator=): Added extra ASSERT()s, and explicitly deleted copy
assignment operators with a comment.

  • wtf/WeakPtr.h:

(WTF::WeakReference::clear): Used nullptr.
(WTF::WeakReference::create): Moved to private:
(WTF::WeakPtr::WeakPtr): For the default constructor, initialized the Ref with
a new WeakReference. For the other constructor, moved it to private:. Also added
copy constructors and copy assignment operators (since Ref doesn't have them but
RefPtr does). These constructors/operators are relied upon in various places
throughout WebCore.
(WTF::WeakPtr::operator bool): Made non-explicit.
(WTF::WeakReference::createUnbound): Deleted.
(WTF::WeakReference::bindTo): Deleted.
(WTF::WeakReference::WeakReference): Deleted.
(WTF::WeakPtrFactory::WeakPtrFactory): Deleted.

Tools:

Add WeakPtr API tests.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WTF/WeakPtr.cpp: Added.
  • TestWebKitAPI/Tests/WTF/Ref.cpp: Update to not use copy constructor.
4:37 PM Changeset in webkit [178614] by msaboff@apple.com
  • 3 edits in trunk/LayoutTests

REGRESSION(178591): js/slow-stress/call-spread.html & js/slow-stress/new-spread.html
https://bugs.webkit.org/show_bug.cgi?id=140574

Rubber stamped by Oliver Hunt.

Changed the loop counts in the test to lower values to speed up the tests.

  • js/slow-stress/script-tests/call-spread.js:

(test2):
(test3):

  • js/slow-stress/script-tests/new-spread.js:

(test2):
(test3):

4:35 PM Changeset in webkit [178613] by Alan Bujtas
  • 5 edits
    2 adds in trunk

When border-radius is present, inset/outset/groove/ridge border color changes.
https://bugs.webkit.org/show_bug.cgi?id=140551

Reviewed by Simon Fraser.

This patch applies the same color lighten/darken adjustment on the radius borders
that we use for non-radius border.

Source/WebCore:

Test: fast/borders/wrong-border-color-when-radius-is-present.html

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::drawBoxSideFromPath):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::calculateBorderStyleColor):

  • rendering/RenderObject.h:

LayoutTests:

  • fast/borders/wrong-border-color-when-radius-is-present-expected.html: Added.
  • fast/borders/wrong-border-color-when-radius-is-present.html: Added.
4:12 PM Changeset in webkit [178612] by dbates@webkit.org
  • 2 edits in trunk/Source/WebCore

Web pages fail to load using public iOS WebKit; ASSERT(!isMainThread()) in
-[WebCoreResourceHandleAsOperationQueueDelegate connection:willSendRequest:redirectResponse:]
https://bugs.webkit.org/show_bug.cgi?id=140470

Patch by Pratik Solanki <psolanki@apple.com> on 2015-01-16
Reviewed by Alexey Proskuryakov.

Fixes an issue where a web page would fail to load in iOS WebKit2 built with the public iOS SDK
because NSURLConnection callbacks were always being scheduled on the main thread.

Currently we always schedule NSURLConnection callbacks to occur on the WebThread or the main
thread depending on whether the WebThread was started. In iOS WebKit2, the callbacks were
always being scheduled on the main thread regardless of whether we were using the NetworkProcess
(since the WebThread is only started when using WebKit1). This led to an assertion failure.
Instead we want to schedule callbacks to an NSOperationsQueue queue when using WebKit2 with the
NetworkProcess (i.e. ResourceHandleClient::usesAsyncCallbacks() is true), on the main thread when
using WebKit2 without the NetworkProcess and on the WebThread when using WebKit1.

  • platform/network/mac/ResourceHandleMac.mm:

(WebCore::operationQueueForAsyncClients): Remove PLATFORM(IOS)-guards as we want to make use
of this code for iOS WebKit2 with the NetworkProcess.
(WebCore::ResourceHandle::start): Modified to use the existing Mac code path to conditionally
schedule NSURLConnection callbacks to an operation queue when ResourceHandleClient::usesAsyncCallbacks()
is true. Otherwise, schedule the callbacks on the run loop returned by WebThreadNSRunLoop(),
which is either the WebThread or the main thread run loop when using WebKit1 and WebKit2 without
the NetworkProcess, respectively.

4:10 PM Changeset in webkit [178611] by ggaren@apple.com
  • 5 edits
    2 adds in trunk/PerformanceTests

bmalloc: added the tiniest bit of testing for aligned allocation
https://bugs.webkit.org/show_bug.cgi?id=140573

Reviewed by Andreas Kling.

Just good enoug to catch two bugs in a preliminary implementation.

  • MallocBench/MallocBench.xcodeproj/project.pbxproj:
  • MallocBench/MallocBench/Benchmark.cpp:
  • MallocBench/MallocBench/mbmalloc.cpp:
  • MallocBench/MallocBench/mbmalloc.h:
  • MallocBench/MallocBench/memalign.cpp: Added.

(benchmark_memalign):

  • MallocBench/MallocBench/memalign.h: Added.
4:10 PM Changeset in webkit [178610] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Remove unused WebInspector.LocalJSONObject
https://bugs.webkit.org/show_bug.cgi?id=140570

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-01-16
Reviewed by Timothy Hatcher.

  • UserInterface/Protocol/RemoteObject.js:

(WebInspector.RemoteObject.fromLocalObject): Deleted.
(WebInspector.LocalJSONObject): Deleted.
(WebInspector.LocalJSONObject.prototype.get description.switch.case.string_appeared_here): Deleted.
(WebInspector.LocalJSONObject.prototype.get description.switch.default): Deleted.
(WebInspector.LocalJSONObject.prototype.get description): Deleted.
(WebInspector.LocalJSONObject.prototype._concatenate): Deleted.
(WebInspector.LocalJSONObject.prototype.get type): Deleted.
(WebInspector.LocalJSONObject.prototype.get subtype): Deleted.
(WebInspector.LocalJSONObject.prototype.get hasChildren): Deleted.
(WebInspector.LocalJSONObject.prototype.getOwnProperties): Deleted.
(WebInspector.LocalJSONObject.prototype.getAllProperties): Deleted.
(WebInspector.LocalJSONObject.prototype._children.buildProperty): Deleted.
(WebInspector.LocalJSONObject.prototype._children): Deleted.
(WebInspector.LocalJSONObject.prototype.isError): Deleted.

4:01 PM Changeset in webkit [178609] by ggaren@apple.com
  • 8 edits in trunk/Source/bmalloc

bmalloc: added some infrastructure for aligned allocation
https://bugs.webkit.org/show_bug.cgi?id=140572

Reviewed by Andreas Kling.

  • bmalloc/Algorithm.h:

(bmalloc::isPowerOfTwo):
(bmalloc::roundUpToMultipleOf):
(bmalloc::roundDownToMultipleOf): Refactored some duplicate code to use our
isPowerOfTwo helper function.

  • bmalloc/Allocator.cpp:

(bmalloc::Allocator::allocate):

  • bmalloc/Allocator.h: Stubbed out an implementation of aligned allocation.

Doesn't do anything yet, but does correctly forward to system malloc
when bmalloc is disabled.

  • bmalloc/Cache.cpp:

(bmalloc::Cache::allocateSlowCaseNullCache):

  • bmalloc/Cache.h:

(bmalloc::Cache::allocate):

  • bmalloc/bmalloc.h:

(bmalloc::api::memalign):

  • bmalloc/mbmalloc.cpp: Stubbed out an API for aligned allocation.
3:41 PM Changeset in webkit [178608] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

Pass the connection along to WebProcessLifetimeTracker
https://bugs.webkit.org/show_bug.cgi?id=140569

Reviewed by Andreas Kling.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::connectionWillOpen):
(WebKit::WebPageProxy::connectionDidClose):

  • UIProcess/WebProcessLifetimeTracker.cpp:

(WebKit::WebProcessLifetimeTracker::connectionWillOpen):
(WebKit::WebProcessLifetimeTracker::connectionDidClose):
(WebKit::WebProcessLifetimeTracker::connectionWillClose): Deleted.

  • UIProcess/WebProcessLifetimeTracker.h:
3:32 PM Changeset in webkit [178607] by Chris Dumez
  • 2 edits in trunk/Tools

Regression(r178586): Caused webkitpy.w3c.test_converter_unittest.W3CTestConverterTest.test_convert_prefixed_properties to fail
https://bugs.webkit.org/show_bug.cgi?id=140568

Reviewed by Alexey Proskuryakov.

Fix the script parsing CSSPropertyNames.in to stop splitting lines
on '=' sign. The '=' sign is also used in StyleBuilder parameters:
e.g. "Longhands=background-position-x|background-position-y".
This would confuse the script and treat this as a CSS property:
"background-position-x|background-position-y".

We now split on white space and treat the first string on the line
to be the property name (this is the syntax in this file).

  • Scripts/webkitpy/w3c/test_converter.py:

(_W3CTestConverter.init):
(_W3CTestConverter.read_webkit_prefixed_css_property_list):

3:17 PM Changeset in webkit [178606] by Brian Burg
  • 16 edits in trunk/Source/JavaScriptCore

Web Inspector: code generator should introduce typedefs for protocol types that are arrays
https://bugs.webkit.org/show_bug.cgi?id=140557

Reviewed by Joseph Pecoraro.

Currently, there is no generated type name for "array" type declarations such as Console.CallStack.
This makes it longwinded and confusing to use the type in C++ code.

This patch adds a typedef for array type declarations, so types such as Console::CallStack
can be referred to directly, rather than using Inspector::Protocol::Array<Console::CallFrame>.

Some tests were updated to cover array type declarations used as parameters and type members.

  • inspector/ScriptCallStack.cpp: Use the new typedef.

(Inspector::ScriptCallStack::buildInspectorArray):

  • inspector/ScriptCallStack.h:
  • inspector/scripts/codegen/cpp_generator.py:

(CppGenerator.cpp_protocol_type_for_type): If an ArrayType is nominal, use the typedef'd name instead.

  • inspector/scripts/codegen/generate_cpp_protocol_types_header.py:

(_generate_typedefs_for_domain): Also generate typedefs for array type declarations.
(_generate_typedefs_for_domain.Inspector):

  • inspector/scripts/codegen/models.py: Save the name of an ArrayType when it is a type declaration.

(ArrayType.init):
(Protocol.resolve_types):
(Protocol.lookup_type_reference):

  • inspector/scripts/tests/commands-with-async-attribute.json:
  • inspector/scripts/tests/commands-with-optional-call-return-parameters.json:
  • inspector/scripts/tests/events-with-optional-parameters.json:
  • inspector/scripts/tests/expected/commands-with-async-attribute.json-result:
  • inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result:
  • inspector/scripts/tests/expected/events-with-optional-parameters.json-result:
  • inspector/scripts/tests/expected/type-declaration-array-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-object-type.json-result:
  • inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result:
  • inspector/scripts/tests/type-declaration-object-type.json:
2:51 PM Changeset in webkit [178605] by Beth Dakin
  • 2 edits in trunk/Source/WebKit/mac

Make sure early cancellation of immediate action actually does that in WK1
https://bugs.webkit.org/show_bug.cgi?id=140566
-and corresponding-
rdar://problem/19490114

Reviewed by Tim Horton.

Work around an AppKit bug by dispatching the call to _cancelImmediateAction
asynchronously.

  • WebView/WebImmediateActionController.mm:

(-[WebImmediateActionController immediateActionRecognizerWillPrepare:]):

2:22 PM Changeset in webkit [178604] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

More WebPageProxy CTTE
https://bugs.webkit.org/show_bug.cgi?id=140565

Reviewed by Andreas Kling.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::connectionWillOpen):
(WebKit::WebPageProxy::connectionDidClose):
(WebKit::WebPageProxy::connectionWillClose): Deleted.

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::connectionWillOpen):
(WebKit::WebProcessProxy::connectionDidClose):

2:13 PM Changeset in webkit [178603] by Brian Burg
  • 21 edits in trunk/Source

Web Replay: purge remaining PassRefPtr uses and minor cleanup
https://bugs.webkit.org/show_bug.cgi?id=140456

Reviewed by Andreas Kling.

Source/JavaScriptCore:

Get rid of PassRefPtr. Introduce default initializers where it makes sense.
Remove mistaken uses of AtomicString that were not removed as part of r174113.

  • replay/EmptyInputCursor.h:
  • replay/InputCursor.h:

(JSC::InputCursor::InputCursor):

Source/WebCore:

Get rid of PassRefPtr. Introduce default initializers where it makes sense. Change
uses of ASSERT to ASSERT_ARG when the assert is a precondition on an argument.

Remove mistaken uses of AtomicString that were not removed as part of r174113.

No new tests, no behavior changed.

  • inspector/InspectorReplayAgent.cpp:

(WebCore::SerializeInputToJSONFunctor::operator()):
(WebCore::SerializeInputToJSONFunctor::returnValue):
(WebCore::InspectorReplayAgent::sessionCreated):
(WebCore::InspectorReplayAgent::sessionModified):
(WebCore::InspectorReplayAgent::sessionLoaded):
(WebCore::InspectorReplayAgent::segmentCreated):
(WebCore::InspectorReplayAgent::segmentCompleted):
(WebCore::InspectorReplayAgent::segmentLoaded):
(WebCore::InspectorReplayAgent::switchSession):
(WebCore::InspectorReplayAgent::insertSessionSegment):
(WebCore::InspectorReplayAgent::removeSessionSegment):
(WebCore::InspectorReplayAgent::findSession):
(WebCore::InspectorReplayAgent::findSegment):

  • inspector/InspectorReplayAgent.h:
  • replay/CapturingInputCursor.cpp:

(WebCore::CapturingInputCursor::CapturingInputCursor):
(WebCore::CapturingInputCursor::create):
(WebCore::CapturingInputCursor::loadInput):

  • replay/CapturingInputCursor.h:
  • replay/EventLoopInputDispatcher.cpp:

(WebCore::EventLoopInputDispatcher::EventLoopInputDispatcher):

  • replay/EventLoopInputDispatcher.h:
  • replay/FunctorInputCursor.h:

(WebCore::FunctorInputCursor::FunctorInputCursor):
(WebCore::FunctorInputCursor::loadInput):

  • replay/ReplayController.cpp:

(WebCore::ReplayController::ReplayController):
(WebCore::ReplayController::setForceDeterministicSettings):
(WebCore::ReplayController::setSessionState):
(WebCore::ReplayController::setSegmentState):
(WebCore::ReplayController::switchSession):
(WebCore::ReplayController::createSegment):
(WebCore::ReplayController::completeSegment):
(WebCore::ReplayController::loadSegmentAtIndex):
(WebCore::ReplayController::unloadSegment):
(WebCore::ReplayController::frameNavigated):
(WebCore::ReplayController::loadedSession):
(WebCore::ReplayController::loadedSegment):
(WebCore::ReplayController::activeInputCursor):
(WebCore::ReplayController::dispatcher):

  • replay/ReplayController.h:
  • replay/ReplaySession.cpp:

(WebCore::ReplaySession::create):
(WebCore::ReplaySession::at):
(WebCore::ReplaySession::appendSegment):
(WebCore::ReplaySession::insertSegment):
(WebCore::ReplaySession::removeSegment):

  • replay/ReplaySession.h:
  • replay/ReplaySessionSegment.cpp:

(WebCore::ReplaySessionSegment::create):
(WebCore::ReplaySessionSegment::ReplaySessionSegment):

  • replay/ReplaySessionSegment.h:
  • replay/ReplayingInputCursor.cpp:

(WebCore::ReplayingInputCursor::ReplayingInputCursor):
(WebCore::ReplayingInputCursor::create):
(WebCore::ReplayingInputCursor::loadInput):

  • replay/ReplayingInputCursor.h:
  • replay/SegmentedInputStorage.cpp:

(WebCore::SegmentedInputStorage::store):
(WebCore::SegmentedInputStorage::queue):
(WebCore::SegmentedInputStorage::SegmentedInputStorage): Deleted.

  • replay/SegmentedInputStorage.h:
2:05 PM Changeset in webkit [178602] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

Remove dead code
https://bugs.webkit.org/show_bug.cgi?id=140563

Reviewed by Geoffrey Garen.

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::processWillOpenConnection): Deleted.
(WebKit::WebProcessPool::processWillCloseConnection): Deleted.

  • UIProcess/WebProcessPool.h:
  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::connectionWillOpen):
(WebKit::WebProcessProxy::connectionDidClose):

1:58 PM Changeset in webkit [178601] by dbates@webkit.org
  • 2 edits in trunk/Tools

REGRESSION (r171968): run-safari --simulator fails to launch Safari on iOS
https://bugs.webkit.org/show_bug.cgi?id=135589

Reviewed by David Kilzer.

Derived from a patch by David Farler.

Following the removal IPhoneSimulatorNotification.pm in <http://trac.webkit.org/changeset/171968>
run-safari --simulator fails to launch Safari on iOS. We need to implement run-safari
in terms of the simctl command line utility.

  • Scripts/webkitdirs.pm: Added constant SIMULATOR_DEVICE_STATE_BOOTED.

(eraseIOSSimulatorDevice): Added.
(bootedIOSSimulatorDevice): Added.
(iosSimulatorApplicationsPath): Added.
(installedMobileSafariBundle): Implemented in terms of iosSimulatorApplicationsPath().
(openIOSSimulator): Modified to launch iOS Simulator using OPEN(1).
(quitIOSSimulator): Added.
(iosSimulatorDeviceByName): Modified to find the first simulator device that matches
the specified name and currently selected iOS runtime.
(isIOSSimulatorSystemInstalledApp): Added.
(runIOSWebKitAppInSimulator): Modified to use simctl launch to launch an app in the simulator.
(deleteiOSSimulatorDevice): Deleted.
(loadIPhoneSimulatorNotificationIfNeeded): Deleted.
(installAndLaunchIOSWebKitAppInSimulator): Deleted.

1:42 PM Changeset in webkit [178600] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Remove assertion that Page::m_editorClient is non-null.

Unreviewed debug build fix. (It's a reference, it won't be null.)

  • page/Page.cpp:

(WebCore::Page::Page):

1:40 PM Changeset in webkit [178599] by Brian Burg
  • 2 edits
    8 adds in trunk/Source/JavaScriptCore

Web Inspector: code generator should fail on duplicate parameter and member names
https://bugs.webkit.org/show_bug.cgi?id=140555

Reviewed by Timothy Hatcher.

  • inspector/scripts/codegen/models.py:

(find_duplicates): Add a helper function to find duplicates in a list.
(Protocol.parse_type_declaration):
(Protocol.parse_command):
(Protocol.parse_event):

  • inspector/scripts/tests/expected/fail-on-duplicate-command-call-parameter-names.json-error: Added.
  • inspector/scripts/tests/expected/fail-on-duplicate-command-return-parameter-names.json-error: Added.
  • inspector/scripts/tests/expected/fail-on-duplicate-event-parameter-names.json-error: Added.
  • inspector/scripts/tests/expected/fail-on-duplicate-type-member-names.json-error: Added.
  • inspector/scripts/tests/fail-on-duplicate-command-call-parameter-names.json: Added.
  • inspector/scripts/tests/fail-on-duplicate-command-return-parameter-names.json: Added.
  • inspector/scripts/tests/fail-on-duplicate-event-parameter-names.json: Added.
  • inspector/scripts/tests/fail-on-duplicate-type-member-names.json: Added.
1:37 PM Changeset in webkit [178598] by andersca@apple.com
  • 11 edits in trunk/Source/WebKit2

Sprinkle some CTTE in ChildProcessProxy member functions
https://bugs.webkit.org/show_bug.cgi?id=140562

Reviewed by Andreas Kling.

  • Shared/ChildProcessProxy.cpp:

(WebKit::ChildProcessProxy::didFinishLaunching):
(WebKit::ChildProcessProxy::clearConnection):
(WebKit::ChildProcessProxy::connectionWillOpen):
(WebKit::ChildProcessProxy::connectionDidClose):
(WebKit::ChildProcessProxy::connectionWillClose): Deleted.

  • Shared/ChildProcessProxy.h:
  • UIProcess/Databases/DatabaseProcessProxy.cpp:

(WebKit::DatabaseProcessProxy::connectionWillOpen): Deleted.
(WebKit::DatabaseProcessProxy::connectionWillClose): Deleted.

  • UIProcess/Databases/DatabaseProcessProxy.h:
  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::connectionWillOpen):
(WebKit::NetworkProcessProxy::connectionWillClose): Deleted.

  • UIProcess/Network/NetworkProcessProxy.h:
  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::connectionWillOpen):
(WebKit::WebProcessProxy::connectionDidClose):
(WebKit::WebProcessProxy::connectionWillClose): Deleted.

  • UIProcess/WebProcessProxy.h:
  • UIProcess/mac/SecItemShimProxy.cpp:

(WebKit::SecItemShimProxy::initializeConnection):

  • UIProcess/mac/SecItemShimProxy.h:
1:33 PM Changeset in webkit [178597] by akling@apple.com
  • 8 edits in trunk/Source/WebCore

Page::editorClient() should return a reference.
<https://webkit.org/b/140552>

Reviewed by Chris Dumez.

Page always has an EditorClient, so make editorClient() return a reference.

  • editing/AlternativeTextController.cpp:

(WebCore::AlternativeTextController::editorClient):
(WebCore::AlternativeTextController::textChecker):

  • editing/Editor.cpp:

(WebCore::Editor::client):

  • editing/SpellChecker.cpp:

(WebCore::SpellChecker::client):

  • page/FocusController.cpp:

(WebCore::FocusController::setFocusedElement):

  • page/Page.cpp:

(WebCore::Page::Page):
(WebCore::Page::~Page):
(WebCore::Page::clearUndoRedoOperations):

  • page/Page.h:

(WebCore::Page::editorClient):

  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll):

1:25 PM Changeset in webkit [178596] by alex.christensen@flexsim.com
  • 4 edits in trunk/Tools

Resurrect the WinCairo bot.
https://bugs.webkit.org/show_bug.cgi?id=139908

Patch by Alex Christensen <alex.christensen@flexsim.com> on 2015-01-16
Reviewed by Csaba Osztrogonác.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
  • BuildSlaveSupport/build.webkit.org-config/master.cfg:

(appendCustomBuildFlags):

  • BuildSlaveSupport/test-result-archive:

(archiveTestResults):
Add WinCairo buildbot.

1:11 PM Changeset in webkit [178595] by Beth Dakin
  • 2 edits in trunk/Source/WebKit2

Should cancel immediate action sooner in WK2
https://bugs.webkit.org/show_bug.cgi?id=140561
-and corresponding-
rdar://problem/19490114

Reviewed by Tim Horton.

_cancelImmediateActionIfNeeded will cancel the immediate action if there is no
animation controller or if the DDActionContext doesn’t want to use its actions.

  • UIProcess/mac/WKImmediateActionController.mm:

(-[WKImmediateActionController _cancelImmediateActionIfNeeded]):

Call _cancelImmediateActionIfNeeded to cancel earlier.
(-[WKImmediateActionController didPerformActionMenuHitTest:userData:]):

Re-factor this code to use the newly-added method _cancelImmediateActionIfNeeded
(-[WKImmediateActionController immediateActionRecognizerWillBeginAnimation:]):

1:04 PM Changeset in webkit [178594] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Don't try to send SetSession messages before the web page has been constructed in the web process
https://bugs.webkit.org/show_bug.cgi?id=140558

Reviewed by Andreas Kling.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
We already send the session ID along in the page creation parameters so just message the network process
if we need to create an ephemeral session.

(WebKit::WebPageProxy::setSessionID):
Add an isValid call for good measure.

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

Make URL filters case-insensitive by default
https://bugs.webkit.org/show_bug.cgi?id=140531

Reviewed by Andreas Kling.

Safari's filters were case-insensitive. Adopt that convention in the engine,
and add a flag in case someone ever need a case-sensitive filter.

  • contentextensions/ContentExtensionRule.h:
  • contentextensions/ContentExtensionsBackend.cpp:

(WebCore::ContentExtensions::ContentExtensionsBackend::setRuleList):

  • contentextensions/ContentExtensionsManager.cpp:

(WebCore::ContentExtensions::ExtensionsManager::loadTrigger):

  • contentextensions/URLFilterParser.cpp:

(WebCore::ContentExtensions::trivialAtomFromASCIICharacter):
(WebCore::ContentExtensions::GraphBuilder::GraphBuilder):
(WebCore::ContentExtensions::GraphBuilder::atomPatternCharacter):
(WebCore::ContentExtensions::GraphBuilder::generateTransition):
(WebCore::ContentExtensions::URLFilterParser::addPattern):

  • contentextensions/URLFilterParser.h:
12:57 PM Changeset in webkit [178592] by benjamin@webkit.org
  • 11 edits
    10 adds in trunk

Add the alternative syntax for CSS Selector's descendant combinator (">>")
https://bugs.webkit.org/show_bug.cgi?id=140525

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-01-16
Reviewed by Antti Koivisto.

Source/WebCore:

The latest Selector spec introduces the combinator ">>" as an alias for the descendant
relation: http://dev.w3.org/csswg/selectors-4/#descendant-combinators

This patch implements that combinator as an alias of the existing one. For CSSOM's selector
serialization, I use one bit of CSSSelector to store if that alternative syntax was used.

Tests: fast/css/descendant-combinator-doubled-child-syntax-styling.html

fast/css/parsing-css-descendant-combinator-doubled-child-syntax.html
fast/selectors/element-closest-descendant-combinator-doubled-child-syntax.html
fast/selectors/element-matches-descendant-combinator-doubled-child-syntax.html
fast/selectors/querySelector-descendant-combinator-doubled-child-syntax.html

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

(WebCore::CSSParserSelector::appendTagHistory):

  • css/CSSParserValues.h:

(WebCore::CSSParserSelector::setDescendantUseDoubleChildSyntax):

  • css/CSSSelector.cpp:

(WebCore::CSSSelector::selectorText):

  • css/CSSSelector.h:

(WebCore::CSSSelector::setDescendantUseDoubleChildSyntax):
(WebCore::CSSSelector::CSSSelector):

LayoutTests:

  • fast/css/css-selector-text-expected.txt:
  • fast/css/css-selector-text.html:
  • fast/css/css-set-selector-text-expected.txt:
  • fast/css/css-set-selector-text.html:
  • fast/css/descendant-combinator-doubled-child-syntax-styling-expected.html: Added.
  • fast/css/descendant-combinator-doubled-child-syntax-styling.html: Added.
  • fast/css/parsing-css-descendant-combinator-doubled-child-syntax-expected.txt: Added.
  • fast/css/parsing-css-descendant-combinator-doubled-child-syntax.html: Added.
  • fast/selectors/element-closest-descendant-combinator-doubled-child-syntax-expected.txt: Added.
  • fast/selectors/element-closest-descendant-combinator-doubled-child-syntax.html: Added.
  • fast/selectors/element-matches-descendant-combinator-doubled-child-syntax-expected.txt: Added.
  • fast/selectors/element-matches-descendant-combinator-doubled-child-syntax.html: Added.
  • fast/selectors/querySelector-descendant-combinator-doubled-child-syntax-expected.txt: Added.
  • fast/selectors/querySelector-descendant-combinator-doubled-child-syntax.html: Added.
12:40 PM Changeset in webkit [178591] by msaboff@apple.com
  • 10 edits
    3 adds in trunk

REGRESSION (r174226): Header on huffingtonpost.com is too large
https://bugs.webkit.org/show_bug.cgi?id=140306

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

BytecodeGenerator::willResolveToArguments() is used to check to see if we can use the
arguments register or whether we need to resolve "arguments". If the arguments have
been captured, then they are stored in the lexical environment and the arguments
register is not used.

Changed BytecodeGenerator::willResolveToArguments() to also check to see if the arguments
register is captured. Renamed the function to willResolveToArgumentsRegister() to
better indicate what we are checking.

Aligned 32 and 64 bit paths in ArgumentsRecoveryGenerator::generateFor() for creating
an arguments object that was optimized out of an inlined callFrame. The 32 bit path
incorrectly calculated the location of the reified callee frame. This alignment resulted
in the removal of operationCreateInlinedArgumentsDuringOSRExit()

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::willResolveToArgumentsRegister):
(JSC::BytecodeGenerator::uncheckedLocalArgumentsRegister):
(JSC::BytecodeGenerator::emitCall):
(JSC::BytecodeGenerator::emitConstruct):
(JSC::BytecodeGenerator::emitEnumeration):
(JSC::BytecodeGenerator::willResolveToArguments): Deleted.

  • bytecompiler/BytecodeGenerator.h:
  • bytecompiler/NodesCodegen.cpp:

(JSC::BracketAccessorNode::emitBytecode):
(JSC::DotAccessorNode::emitBytecode):
(JSC::getArgumentByVal):
(JSC::ApplyFunctionCallDotNode::emitBytecode):
(JSC::ArrayPatternNode::emitDirectBinding):

  • dfg/DFGOSRExitCompilerCommon.cpp:

(JSC::DFG::ArgumentsRecoveryGenerator::generateFor):

  • dfg/DFGOperations.cpp:

(JSC::operationCreateInlinedArgumentsDuringOSRExit): Deleted.

  • dfg/DFGOperations.h:

(JSC::operationCreateInlinedArgumentsDuringOSRExit): Deleted.

LayoutTests:

Updated js/arguments-iterator to test changing argument to array values.
Removed tests that changed arguments to a string and an object as they were
bogus and didn't test what the appeared to test.
for .. of works on iterable objects only.

Added new regression test, js/regress-140306.

  • js/arguments-iterator-expected.txt:
  • js/regress-140306-expected.txt: Added.
  • js/regress-140306.html: Added.
  • js/script-tests/arguments-iterator.js:

(testEmptyArrayArguments):
(testArrayArguments):
(testOverwrittenArguments): Deleted.
(testNullArguments): Deleted.
(testNonArrayLikeArguments): Deleted.

  • js/script-tests/regress-140306.js: Added.

(checkArgs):
(applyToArgs):

12:22 PM Changeset in webkit [178590] by Brent Fulgham
  • 5 edits in branches/safari-600.5-branch/Source/WebCore

Merge r174295. rdar://problem/19501151

2014-09-09 Roger Fong <roger_fong@apple.com>

Unreviewed build fix for Windows.

  • platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
12:06 PM Changeset in webkit [178589] by Chris Dumez
  • 3 edits in trunk/Tools

webkit-patch should auto-install the keyring python module
https://bugs.webkit.org/show_bug.cgi?id=140547

Reviewed by David Kilzer.

Auto-install the keyring python module. This is the module that
webkit-patch uses for cross-platform access to the keyring
service.

Without this module, if the password if not in the keychain,
webkit-patch will keep asking for your username / password and
never remember them.

  • Scripts/webkitpy/common/net/credentials.py:
  • Scripts/webkitpy/thirdparty/init.py:

(AutoinstallImportHook.find_module):
(AutoinstallImportHook._install_keyring):

12:05 PM Changeset in webkit [178588] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

[mac] Fix test expectations after r178310.
https://bugs.webkit.org/show_bug.cgi?id=140503

Patch by Jeremy Jones <jeremyj@apple.com> on 2015-01-16
Reviewed by Alexey Proskuryakov.

Remove references to removed tests.

  • platform/mac-wk2/TestExpectations: removed reference to storage/indexeddb/basics-shared-workers.html removed reference to js/dom/global-constructors-attributes-shared-worker.html
  • platform/mac/TestExpectations: removed reference to fast/workers/shared-worker-storagequota-query-usage.html
12:01 PM Changeset in webkit [178587] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Log unhandled messages in the web process
https://bugs.webkit.org/show_bug.cgi?id=140549

Reviewed by Andreas Kling.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::didReceiveSyncMessage):
(WebKit::WebProcess::didReceiveMessage):

11:39 AM Changeset in webkit [178586] by Chris Dumez
  • 14 edits in trunk/Source/WebCore

Generate StylePropertyShorthand.* from CSSPropertyNames.in
https://bugs.webkit.org/show_bug.cgi?id=140501

Reviewed by Darin Adler.

Add initial support for having makeprop.pl generate most of
StylePropertyShorthand.* from CSSPropertyNames.in.

This patch replaces [Shorthand] parameter in CSSPropertyNames.in by a
more descriptive [Longhands=property1|property2|...] parameter. With
this information, makeprop.pl is now able to generate the
StylePropertyShorthand factories for all CSS shorthand properties
in a new StylePropertyShorthandFunctions.h header.

The switches in StylePropertyShorthand.cpp could also be generated
but this will be taken care of in follow-up patches to reduce patch
size.

  • CMakeLists.txt:
  • DerivedSources.make:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::propertyValue):

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue):

  • css/CSSPropertyNames.in:
  • css/StyleProperties.cpp:

(WebCore::StyleProperties::getPropertyValue):

  • css/StylePropertyShorthand.cpp:

(WebCore::shorthandForProperty):
(WebCore::matchingShorthandsForLonghand):
(WebCore::backgroundShorthand): Deleted.
(WebCore::backgroundPositionShorthand): Deleted.
(WebCore::backgroundRepeatShorthand): Deleted.
(WebCore::borderShorthand): Deleted.
(WebCore::borderBottomShorthand): Deleted.
(WebCore::borderColorShorthand): Deleted.
(WebCore::borderImageShorthand): Deleted.
(WebCore::borderLeftShorthand): Deleted.
(WebCore::borderRadiusShorthand): Deleted.
(WebCore::webkitBorderRadiusShorthand): Deleted.
(WebCore::borderRightShorthand): Deleted.
(WebCore::borderSpacingShorthand): Deleted.
(WebCore::borderStyleShorthand): Deleted.
(WebCore::borderTopShorthand): Deleted.
(WebCore::borderWidthShorthand): Deleted.
(WebCore::listStyleShorthand): Deleted.
(WebCore::marginShorthand): Deleted.
(WebCore::markerShorthand): Deleted.
(WebCore::outlineShorthand): Deleted.
(WebCore::overflowShorthand): Deleted.
(WebCore::paddingShorthand): Deleted.
(WebCore::transitionShorthand): Deleted.
(WebCore::animationShorthand): Deleted.
(WebCore::webkitAnimationShorthand): Deleted.
(WebCore::webkitBorderAfterShorthand): Deleted.
(WebCore::webkitBorderBeforeShorthand): Deleted.
(WebCore::webkitBorderEndShorthand): Deleted.
(WebCore::webkitBorderStartShorthand): Deleted.
(WebCore::webkitColumnsShorthand): Deleted.
(WebCore::webkitColumnRuleShorthand): Deleted.
(WebCore::flexFlowShorthand): Deleted.
(WebCore::flexShorthand): Deleted.
(WebCore::webkitMarginCollapseShorthand): Deleted.
(WebCore::webkitGridShorthand): Deleted.
(WebCore::webkitGridTemplateShorthand): Deleted.
(WebCore::webkitGridAreaShorthand): Deleted.
(WebCore::webkitGridColumnShorthand): Deleted.
(WebCore::webkitGridRowShorthand): Deleted.
(WebCore::webkitMarqueeShorthand): Deleted.
(WebCore::webkitMaskShorthand): Deleted.
(WebCore::webkitMaskPositionShorthand): Deleted.
(WebCore::webkitMaskRepeatShorthand): Deleted.
(WebCore::webkitTextDecorationShorthand): Deleted.
(WebCore::webkitTextEmphasisShorthand): Deleted.
(WebCore::webkitTextStrokeShorthand): Deleted.
(WebCore::webkitTransitionShorthand): Deleted.
(WebCore::webkitPerspectiveOriginShorthand): Deleted.
(WebCore::webkitTransformOriginShorthand): Deleted.

  • css/StylePropertyShorthand.h:
  • css/makeprop.pl:
11:38 AM Changeset in webkit [178585] by Brent Fulgham
  • 3 edits in branches/safari-600.5-branch/Source/WebCore

Merge r174295. rdar://problem/19501151

2014-10-03 Brent Fulgham <Brent Fulgham>

[Win] Unreviewed build fix for MSVC 2013 SP 3.

The std::array initializer is not fully implemented in SP3 and causes a
build error.

  • platform/graphics/transforms/AffineTransform.cpp: Use old style assignment initialization for MSVC builds until this bug is fixed.
11:33 AM Changeset in webkit [178584] by Brent Fulgham
  • 3 edits in branches/safari-600.5-branch/Source/WebCore

Merge r173391. rdar://problem/19501151

2014-09-08 peavo@outlook.com <peavo@outlook.com>

[WinCairo] Compile error.
https://bugs.webkit.org/show_bug.cgi?id=136633

Reviewed by Darin Adler.

Enum name has already been defined.

  • platform/audio/AudioHardwareListener.h:

Patch by Brent Fulgham <bfulgham@webkit.org> on 2015-01-16

10:50 AM Changeset in webkit [178583] by commit-queue@webkit.org
  • 11 edits in trunk

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

Broke fast/css/parsing-css-lang.html on some bots (Requested
by ap on #webkit).

Reverted changeset:

"Canonicalization of :lang() should preserve the :lang()'s
arguments representations"
https://bugs.webkit.org/show_bug.cgi?id=139928
http://trac.webkit.org/changeset/178532

10:36 AM Changeset in webkit [178582] by commit-queue@webkit.org
  • 12 edits
    2 deletes in trunk

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

Broke fast/css-grid-layout/grid-content-sized-columns-
resolution.html (Requested by ap on #webkit).

Reverted changeset:

"[CSS Grid Layout] Tracks shrink sometimes with indefinite
remaining space"
https://bugs.webkit.org/show_bug.cgi?id=139059
http://trac.webkit.org/changeset/178577

10:15 AM Changeset in webkit [178581] by Yusuke Suzuki
  • 2 edits in trunk/Source/WTF

std::all_of requires complete C++ iterators in GCC 4.8
https://bugs.webkit.org/show_bug.cgi?id=140530

Reviewed by Darin Adler.

In the WebKit2/UIProcess/WebProcessLifetimeObserver.cpp, std::all_of
is used for HashIterators. However, std::all_of requires the complete
C++ iterator interface including iterator_category typedef member and
it raises compile error in GCC 4.8 (and libstdc++) environment.

This patch inherits std::iterator with appropriate type parameters.
It automatically defines required typedefs including iterator_category.

  • wtf/HashIterators.h:
9:50 AM Changeset in webkit [178580] by akling@apple.com
  • 7 edits in trunk/Source/WebCore

Some improvements to RuleSet shrinking.
<https://webkit.org/b/140534>

Reviewed by Antti Koivisto.

Give an inline capacity (1) to the RuleData Vectors in RuleSet.
The vast majority of Vectors have only a single entry, and this
avoids having to allocate a separate Vector backing store for them.

Also make sure to shrink some Vectors that we weren't already,
like those in RuleFeatureSet.

  • css/ElementRuleCollector.cpp:

(WebCore::ElementRuleCollector::collectMatchingRulesForList):

  • css/ElementRuleCollector.h:
  • css/RuleFeature.cpp:

(WebCore::RuleFeatureSet::shrinkToFit):

  • css/RuleFeature.h:
  • css/RuleSet.cpp:

(WebCore::RuleSet::addToRuleSet):
(WebCore::rulesCountForName):
(WebCore::shrinkMapVectorsToFit):
(WebCore::RuleSet::shrinkToFit):

  • css/RuleSet.h:

(WebCore::RuleSet::idRules):
(WebCore::RuleSet::classRules):
(WebCore::RuleSet::tagRules):
(WebCore::RuleSet::shadowPseudoElementRules):
(WebCore::RuleSet::linkPseudoClassRules):
(WebCore::RuleSet::cuePseudoRules):
(WebCore::RuleSet::focusPseudoClassRules):
(WebCore::RuleSet::universalRules):

9:13 AM Changeset in webkit [178579] by dbates@webkit.org
  • 2 edits in trunk/Source/WebKit/mac

Fix the public iOS SDK build after <http://trac.webkit.org/changeset/178285>
(https://bugs.webkit.org/show_bug.cgi?id=140360)

Forward declare protocol NSURLDownloadDelegate as it is SPI on iOS.

  • Misc/WebDownload.h:
8:07 AM Changeset in webkit [178578] by Antti Koivisto
  • 5 edits
    1 move
    2 deletes in trunk/Source/WebCore

Correct naming for FontCascade implementation files
https://bugs.webkit.org/show_bug.cgi?id=140544

Reviewed by Zalan Bujtas.

Also reduce their number.

Merge FontFastPath.cpp into FontCascade.cpp
Merge FontMac.mm and FontComplexTextMac.cpp into FontCascadeCocoa.mm

  • CMakeLists.txt:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/FontCascade.cpp:

(WebCore::FontCascade::getEmphasisMarkGlyphData):
(WebCore::FontCascade::emphasisMarkAscent):
(WebCore::FontCascade::emphasisMarkDescent):
(WebCore::FontCascade::emphasisMarkHeight):
(WebCore::FontCascade::getGlyphsAndAdvancesForSimpleText):
(WebCore::FontCascade::drawSimpleText):
(WebCore::FontCascade::drawEmphasisMarksForSimpleText):
(WebCore::FontCascade::drawGlyphBuffer):
(WebCore::offsetToMiddleOfGlyph):
(WebCore::offsetToMiddleOfGlyphAtIndex):
(WebCore::FontCascade::drawEmphasisMarks):
(WebCore::FontCascade::floatWidthForSimpleText):
(WebCore::FontCascade::adjustSelectionRectForSimpleText):
(WebCore::FontCascade::offsetForPositionForSimpleText):

  • platform/graphics/FontFastPath.cpp: Removed.
  • platform/graphics/cocoa/FontCascadeCocoa.mm: Copied from Source/WebCore/platform/graphics/mac/FontMac.mm.

(WebCore::FontCascade::drawGlyphs):
(WebCore::FontCascade::adjustSelectionRectForComplexText):
(WebCore::FontCascade::getGlyphsAndAdvancesForComplexText):
(WebCore::FontCascade::drawComplexText):
(WebCore::FontCascade::drawEmphasisMarksForComplexText):
(WebCore::FontCascade::floatWidthForComplexText):
(WebCore::FontCascade::offsetForPositionForComplexText):
(WebCore::FontCascade::fontDataForCombiningCharacterSequence):

  • platform/graphics/mac/FontComplexTextMac.cpp: Removed.
  • platform/graphics/mac/FontMac.mm: Removed.
2:22 AM Changeset in webkit [178577] by svillar@igalia.com
  • 12 edits
    2 adds in trunk

[CSS Grid Layout] Tracks shrink sometimes with indefinite remaining space
https://bugs.webkit.org/show_bug.cgi?id=139059

Reviewed by David Hyatt.

Source/WebCore:

Test: fast/css-grid-layout/grid-grow-tracks-to-their-max.html

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::computeUsedBreadthOfGridTracks):

LayoutTests:

The third step of the grid track sizing algorithm (method
ComputeUsedBreadthOfGridTracks in the old specs version of the
algorithm) tries to grow all grid tracks until the remaining space
is exhausted. Should the remaining space is undefined we should fill
the tracks up to their limits. This is specified in pseudocode like
this:

For each Grid track t in GridTracks

t.UsedBreadth = t.MaxBreadth

That's correct for most of the cases, but it becomes
wrong whenever t.UsedBreadth > t.MaxBreadth something that is not
incorrect. What we actually want to do is to grow the track to its
maximum if and only if the used breadth is smaller than the maximum.

due to another bug (wkb.ug/139058).

  • fast/css-grid-layout/grid-auto-columns-rows-update.html:
  • fast/css-grid-layout/grid-content-sized-columns-resolution-expected.txt:
  • fast/css-grid-layout/grid-content-sized-columns-resolution.html:
  • fast/css-grid-layout/grid-grow-tracks-to-their-max-expected.txt: Added.
  • fast/css-grid-layout/grid-grow-tracks-to-their-max.html: Added.
  • fast/css-grid-layout/grid-item-removal-track-breadth-update.html:
  • fast/css-grid-layout/minmax-max-content-resolution-rows.html:
  • fast/css-grid-layout/minmax-min-content-column-resolution-rows.html:
  • fast/css-grid-layout/percent-of-indefinite-track-size-in-auto.html:
  • fast/css-grid-layout/percent-of-indefinite-track-size.html:
12:12 AM Changeset in webkit [178576] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

Fix build warning in WebKit2/UIProcess module.
https://bugs.webkit.org/show_bug.cgi?id=140538

Patch by Shivakumar JM <shiva.jm@samsung.com> on 2015-01-16
Reviewed by Csaba Osztrogonác.

Fix build warnings by removing parameter name from functions

  • UIProcess/Storage/StorageManager.cpp:

(WebKit::StorageManager::processWillOpenConnection):
(WebKit::StorageManager::processDidCloseConnection):

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::processWillOpenConnection):
(WebKit::WebProcessPool::processWillCloseConnection):

12:05 AM Changeset in webkit [178575] by Csaba Osztrogonác
  • 162 edits in trunk

Remove ENABLE(SQL_DATABASE) guards
https://bugs.webkit.org/show_bug.cgi?id=140434

Reviewed by Darin Adler.

.:

  • Source/cmake/OptionsMac.cmake:
  • Source/cmake/WebKitFeatures.cmake:
  • Source/cmakeconfig.h.cmake:

Source/JavaScriptCore:

  • CMakeLists.txt:
  • Configurations/FeatureDefines.xcconfig:
  • DerivedSources.make:
  • inspector/protocol/Database.json:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:
  • Modules/webdatabase/AbstractDatabaseServer.h:
  • Modules/webdatabase/ChangeVersionData.h:
  • Modules/webdatabase/ChangeVersionWrapper.cpp:
  • Modules/webdatabase/ChangeVersionWrapper.h:
  • Modules/webdatabase/DOMWindowWebDatabase.cpp:
  • Modules/webdatabase/DOMWindowWebDatabase.h:
  • Modules/webdatabase/DOMWindowWebDatabase.idl:
  • Modules/webdatabase/Database.cpp:
  • Modules/webdatabase/Database.h:
  • Modules/webdatabase/Database.idl:
  • Modules/webdatabase/DatabaseBackend.cpp:
  • Modules/webdatabase/DatabaseBackend.h:
  • Modules/webdatabase/DatabaseBackendBase.cpp:
  • Modules/webdatabase/DatabaseBackendBase.h:
  • Modules/webdatabase/DatabaseBasicTypes.h:
  • Modules/webdatabase/DatabaseCallback.h:
  • Modules/webdatabase/DatabaseCallback.idl:
  • Modules/webdatabase/DatabaseContext.cpp:
  • Modules/webdatabase/DatabaseContext.h:
  • Modules/webdatabase/DatabaseDetails.h:
  • Modules/webdatabase/DatabaseError.h:
  • Modules/webdatabase/DatabaseManager.cpp:
  • Modules/webdatabase/DatabaseManager.h:
  • Modules/webdatabase/DatabaseManagerClient.h:
  • Modules/webdatabase/DatabaseServer.cpp:
  • Modules/webdatabase/DatabaseServer.h:
  • Modules/webdatabase/DatabaseTask.cpp:
  • Modules/webdatabase/DatabaseTask.h:
  • Modules/webdatabase/DatabaseThread.cpp:
  • Modules/webdatabase/DatabaseThread.h:
  • Modules/webdatabase/DatabaseTracker.cpp:
  • Modules/webdatabase/DatabaseTracker.h:
  • Modules/webdatabase/OriginLock.cpp:
  • Modules/webdatabase/OriginLock.h:
  • Modules/webdatabase/SQLCallbackWrapper.h:
  • Modules/webdatabase/SQLError.h:
  • Modules/webdatabase/SQLError.idl:
  • Modules/webdatabase/SQLException.cpp:
  • Modules/webdatabase/SQLException.h:
  • Modules/webdatabase/SQLException.idl:
  • Modules/webdatabase/SQLResultSet.cpp:
  • Modules/webdatabase/SQLResultSet.h:
  • Modules/webdatabase/SQLResultSet.idl:
  • Modules/webdatabase/SQLResultSetRowList.cpp:
  • Modules/webdatabase/SQLResultSetRowList.h:
  • Modules/webdatabase/SQLResultSetRowList.idl:
  • Modules/webdatabase/SQLStatement.cpp:
  • Modules/webdatabase/SQLStatement.h:
  • Modules/webdatabase/SQLStatementBackend.cpp:
  • Modules/webdatabase/SQLStatementBackend.h:
  • Modules/webdatabase/SQLStatementCallback.h:
  • Modules/webdatabase/SQLStatementCallback.idl:
  • Modules/webdatabase/SQLStatementErrorCallback.h:
  • Modules/webdatabase/SQLStatementErrorCallback.idl:
  • Modules/webdatabase/SQLTransaction.cpp:
  • Modules/webdatabase/SQLTransaction.h:
  • Modules/webdatabase/SQLTransaction.idl:
  • Modules/webdatabase/SQLTransactionBackend.cpp:
  • Modules/webdatabase/SQLTransactionBackend.h:
  • Modules/webdatabase/SQLTransactionCallback.h:
  • Modules/webdatabase/SQLTransactionCallback.idl:
  • Modules/webdatabase/SQLTransactionClient.cpp:
  • Modules/webdatabase/SQLTransactionClient.h:
  • Modules/webdatabase/SQLTransactionCoordinator.cpp:
  • Modules/webdatabase/SQLTransactionCoordinator.h:
  • Modules/webdatabase/SQLTransactionErrorCallback.h:
  • Modules/webdatabase/SQLTransactionErrorCallback.idl:
  • Modules/webdatabase/SQLTransactionState.h:
  • Modules/webdatabase/SQLTransactionStateMachine.cpp:
  • Modules/webdatabase/SQLTransactionStateMachine.h:
  • bindings/js/JSCommandLineAPIHostCustom.cpp:

(WebCore::JSCommandLineAPIHost::databaseId):

  • bindings/js/JSCustomSQLStatementErrorCallback.cpp:
  • bindings/js/JSExceptionBase.cpp:

(WebCore::toExceptionBase):

  • bindings/js/JSSQLResultSetRowListCustom.cpp:
  • bindings/js/JSSQLTransactionCustom.cpp:
  • bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:

(webkit_dom_test_callback_finalize):
(webkit_dom_test_callback_constructor):
(webkit_dom_test_callback_callback_with_no_param):
(webkit_dom_test_callback_callback_with_array_param):
(webkit_dom_test_callback_callback_with_serialized_script_value_param):
(webkit_dom_test_callback_callback_with_non_bool_return_type):
(webkit_dom_test_callback_callback_with_string_list):
(webkit_dom_test_callback_callback_with_boolean):
(webkit_dom_test_callback_callback_requires_this_to_pass):

  • bindings/scripts/test/GObject/WebKitDOMTestCallbackPrivate.h:
  • bindings/scripts/test/JS/JSTestCallback.cpp:
  • bindings/scripts/test/JS/JSTestCallback.h:
  • bindings/scripts/test/ObjC/DOMTestCallback.mm:
  • bindings/scripts/test/TestCallback.idl:
  • dom/DOMExceptions.in:
  • dom/ScriptExecutionContext.cpp:

(WebCore::ScriptExecutionContext::setDatabaseContext):

  • dom/ScriptExecutionContext.h:
  • history/PageCache.cpp:

(WebCore::logCanCacheFrameDecision):
(WebCore::PageCache::canCachePageContainingThisFrame):

  • inspector/CommandLineAPIHost.cpp:

(WebCore::CommandLineAPIHost::CommandLineAPIHost):
(WebCore::CommandLineAPIHost::disconnect):
(WebCore::CommandLineAPIHost::databaseIdImpl):

  • inspector/CommandLineAPIHost.h:

(WebCore::CommandLineAPIHost::init):

  • inspector/InspectorController.cpp:

(WebCore::InspectorController::InspectorController):

  • inspector/InspectorDatabaseAgent.cpp:
  • inspector/InspectorDatabaseAgent.h:
  • inspector/InspectorDatabaseInstrumentation.h:

(WebCore::InspectorInstrumentation::didOpenDatabase):

  • inspector/InspectorDatabaseResource.cpp:
  • inspector/InspectorDatabaseResource.h:
  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::didCommitLoadImpl):
(WebCore::InspectorInstrumentation::didOpenDatabaseImpl):

  • inspector/InspectorInstrumentation.h:
  • inspector/InstrumentingAgents.cpp:

(WebCore::InstrumentingAgents::InstrumentingAgents):
(WebCore::InstrumentingAgents::reset):

  • inspector/InstrumentingAgents.h:
  • inspector/WorkerInspectorController.cpp:

(WebCore::WorkerInspectorController::WorkerInspectorController):

  • loader/EmptyClients.h:
  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::stopLoading):

  • page/ChromeClient.h:
  • platform/FeatureCounterKeys.h:

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:
  • Storage/WebDatabaseManager.mm:

(databasesDirectoryPath):

  • Storage/WebDatabaseManagerClient.h:
  • Storage/WebDatabaseManagerClient.mm:
  • Storage/WebDatabaseManagerInternal.h:
  • Storage/WebDatabaseManagerPrivate.h:
  • Storage/WebDatabaseQuotaManager.mm:

(-[WebDatabaseQuotaManager usage]):
(-[WebDatabaseQuotaManager quota]):
(-[WebDatabaseQuotaManager setQuota:]):

  • WebCoreSupport/WebChromeClient.h:
  • WebCoreSupport/WebChromeClient.mm:
  • WebCoreSupport/WebSecurityOrigin.mm:

(-[WebSecurityOrigin usage]):
(-[WebSecurityOrigin quota]):
(-[WebSecurityOrigin setQuota:]):

  • WebView/WebFrame.mm:

(-[WebFrame _cacheabilityDictionary]):

  • WebView/WebView.mm:

(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView _preferencesChanged:]):

Source/WebKit/win:

  • ForEachCoClass.h:
  • WebCoreSupport/WebChromeClient.cpp:

(WebChromeClient::exceededDatabaseQuota):

  • WebCoreSupport/WebChromeClient.h:
  • WebDatabaseManager.cpp:

(WebKitInitializeWebDatabasesIfNecessary):

  • WebDatabaseManager.h:
  • WebSecurityOrigin.cpp:

(WebSecurityOrigin::usage):
(WebSecurityOrigin::quota):
(WebSecurityOrigin::setQuota):

  • WebView.cpp:

(WebView::initWithFrame):
(WebView::notifyPreferencesChanged):

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:
  • Shared/OriginAndDatabases.cpp:
  • Shared/OriginAndDatabases.h:
  • Shared/WebCoreArgumentCoders.cpp:
  • UIProcess/API/C/WKContext.cpp:

(WKContextGetDatabaseManager):

  • UIProcess/API/C/WKDatabaseManager.cpp:

(WKDatabaseManagerGetTypeID):
(WKDatabaseManagerGetOriginKey):
(WKDatabaseManagerGetOriginQuotaKey):
(WKDatabaseManagerGetOriginUsageKey):
(WKDatabaseManagerGetDatabaseDetailsKey):
(WKDatabaseManagerGetDatabaseDetailsNameKey):
(WKDatabaseManagerGetDatabaseDetailsDisplayNameKey):
(WKDatabaseManagerGetDatabaseDetailsExpectedUsageKey):
(WKDatabaseManagerGetDatabaseDetailsCurrentUsageKey):
(WKDatabaseManagerGetDatabaseDetailsCreationTimeKey):
(WKDatabaseManagerGetDatabaseDetailsModificationTimeKey):
(WKDatabaseManagerSetClient):
(WKDatabaseManagerGetDatabasesByOrigin):
(WKDatabaseManagerGetDatabaseOrigins):
(WKDatabaseManagerDeleteDatabasesWithNameForOrigin):
(WKDatabaseManagerDeleteDatabasesForOrigin):
(WKDatabaseManagerDeleteAllDatabases):
(WKDatabaseManagerSetQuotaForOrigin):

  • UIProcess/API/efl/EwkView.cpp:

(EwkView::informDatabaseQuotaReached):

  • UIProcess/WebDatabaseManagerProxy.cpp:
  • UIProcess/WebDatabaseManagerProxy.h:
  • UIProcess/WebDatabaseManagerProxy.messages.in:
  • UIProcess/WebProcessPool.cpp:
  • UIProcess/efl/PageUIClientEfl.cpp:

(WebKit::PageUIClientEfl::PageUIClientEfl):
(WebKit::PageUIClientEfl::exceededDatabaseQuota):

  • UIProcess/efl/PageUIClientEfl.h:
  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::clearAllDatabases):
(WebKit::InjectedBundle::setDatabaseQuota):

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::exceededDatabaseQuota):

  • WebProcess/WebCoreSupport/WebChromeClient.h:
  • WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
  • WebProcess/WebCoreSupport/WebDatabaseManager.h:
  • WebProcess/WebCoreSupport/WebDatabaseManager.messages.in:
  • WebProcess/WebCoreSupport/WebSQLiteDatabaseTracker.cpp:
  • WebProcess/WebCoreSupport/WebSQLiteDatabaseTracker.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::WebProcess):

Source/WTF:

  • wtf/FeatureDefines.h:

Tools:

  • Scripts/webkitperl/FeatureList.pm:

Jan 15, 2015:

10:13 PM Changeset in webkit [178574] by Alan Bujtas
  • 3 edits
    2 adds in trunk

Element appears correctly but does not receive event with a large translation.
https://bugs.webkit.org/show_bug.cgi?id=139815

Reviewed by Simon Fraser.

When the hit point gets translated beyond the min/max value of LayoutRect (infiniteRect()),
we fail to find the corresponding layer.
When there's no clipping on a layer, we use min/max values to represent infiniteness.
However it does not work well across types. With IntPoint(hittest) we can address a point that's outside
of LayoutRect's boundary(clipping).
This patch addresses the immediate issue of not being able to hittest transformed layers properly.
Fixing the representation of infiniteness is tracked here: webkit.org/b/140533
Source/WebCore:

Test: transforms/hittest-translated-content-off-to-infinity-and-back.html

  • rendering/ClipRect.cpp:

(WebCore::ClipRect::intersects):

LayoutTests:

  • transforms/hittest-translated-content-off-to-infinity-and-back-expected.html: Added.
  • transforms/hittest-translated-content-off-to-infinity-and-back.html: Added.
9:55 PM Changeset in webkit [178573] by mmaxfield@apple.com
  • 4 edits in trunk

tables/mozilla/bugs/bug10633.html is flakey on Yosemite
https://bugs.webkit.org/show_bug.cgi?id=140487

Reviewed by Simon Fraser.

Source/WebCore:

The workaround in https://bugs.webkit.org/show_bug.cgi?id=140253 works
on both OSes.

  • platform/graphics/mac/SimpleFontDataMac.mm:

(WebCore::SimpleFontData::platformInit):

LayoutTests:

Mark tests as not flakey any more.

  • platform/mac/TestExpectations:
8:23 PM Changeset in webkit [178572] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Uncaught exceptions, attempting to dispatch unimplemented Network WebSocket methods
https://bugs.webkit.org/show_bug.cgi?id=140532

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-01-15
Reviewed by Timothy Hatcher.

  • UserInterface/Protocol/NetworkObserver.js:

(WebInspector.NetworkObserver.prototype.webSocketFrameReceived):
(WebInspector.NetworkObserver.prototype.webSocketFrameError):
(WebInspector.NetworkObserver.prototype.webSocketFrameSent):
Add stubs to prevent an exception when trying to dispatch the event.

7:45 PM Changeset in webkit [178571] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Removing an HTML element spends a lot of time in adjustDirectionalityIfNeededAfterChildrenChanged
https://bugs.webkit.org/show_bug.cgi?id=140523
<rdar://problem/19464329>

Reviewed by Chris Dumez.

The bug was caused by adjustDirectionalityIfNeededAfterChildrenChanged always traversing children to
unset selfOrAncestorHasDirAutoAttribute flag while removing a child element.

Fixed the bug by removing this code. This code was no-op prior to being refactored in r154957 since
we only entered a for loop with the invariant "counter < childCountDelta" when "childCountDelta < 0".

See http://trac.webkit.org/changeset/154957/trunk/Source/WebCore/html/HTMLElement.cpp.

  • html/HTMLElement.cpp:

(WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildrenChanged):

7:29 PM Changeset in webkit [178570] by dbates@webkit.org
  • 3 edits in trunk/Tools

[iOS] REGRESSION (r174642): DumpRenderTree.app test may dump result twice
https://bugs.webkit.org/show_bug.cgi?id=139685
<rdar://problem/19281317>

Reviewed by Simon Fraser.

Fixes an issue where a test in DumpRenderTree.app may dump its result twice. In particular,
the test LayoutTests/fast/dom/gc-10.html may dump its result twice.

Following <http://trac.webkit.org/changeset/174642>, we dump the test result asynchronously
as opposed to synchronously. So, the WebThread or the main thread may perform other tasks
before DRT dumps the output of a test. In particular, the WebThread may start a new page
load (say, as a result of continued JavaScript execution), which will ultimately lead to
dumping the test result again. Instead we want DRT to dump the test result synchronously
such that we capture the state of the web page either when the page is loaded or when
window.testRunner.notifyDone() is called.

  • DumpRenderTree/ios/PixelDumpSupportIOS.mm:

(createBitmapContextFromWebView): Moved logic to re-enable tile painting and update the
state of the display from here to updateDisplay(). Added call to -[CATransaction flush] to
flush CA transactions to the window.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(updateDisplay): Added iOS-specific code to update tiles and tell WebKit to flush
compositing changes to ensure that we have up-to-date tile content for a pixel/ref-test.
(dump): Renamed; formerly named dumpTestResults().
(displayWebView): Removed outdated FIXME comment. Added FIXME comment to investigate
enabling repaint support on iOS.
(-[DumpRenderTree _deferDumpToMainThread]): Deleted.
(-[DumpRenderTree _waitForWebThreadThenDump]): Deleted.
(dumpTestResults): Deleted.

6:53 PM Changeset in webkit [178569] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Reopening the inspector can selects a sub-frame instead of the Main Frame's DOM
https://bugs.webkit.org/show_bug.cgi?id=140513

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-01-15
Reviewed by Timothy Hatcher.

  • UserInterface/Models/Frame.js:

(WebInspector.Frame.prototype.saveIdentityToCookie):
Specifically identify the main frame, so that any sub-frames with the same
URL, don't get choosen over the main frame when restoring state from cookie.

6:18 PM Changeset in webkit [178568] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

RenderLayerCompositor: Strange comparison of opacity (float) to boolean.
https://bugs.webkit.org/show_bug.cgi?id=140477.

Reviewed by Simon Fraser.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::styleChangeRequiresLayerRebuild): Add a cast to make the meaning of this
code clearer.

6:07 PM Changeset in webkit [178567] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

Add a connection parameter to StorageManager willOpen/didClose functions
https://bugs.webkit.org/show_bug.cgi?id=140527

Reviewed by Tim Horton.

Rename processWillCloseConnection to processDidCloseConnection and pass connections
to both functions since in the near future we won't be able to get the connection from
the web process proxy in these scenarios.

  • UIProcess/Storage/StorageManager.cpp:

(WebKit::StorageManager::processWillOpenConnection):
(WebKit::StorageManager::processDidCloseConnection):
(WebKit::StorageManager::processWillCloseConnection): Deleted.

  • UIProcess/Storage/StorageManager.h:
  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::webProcessWillOpenConnection):
(WebKit::WebsiteDataStore::webProcessDidCloseConnection):

6:01 PM Changeset in webkit [178566] by Brent Fulgham
  • 3 edits in trunk/LayoutTests

[Win] Unreviewed Windows gardening.

Remove a bunch of out-of-date entries, and try to properly mark tests so we get
proper coverage.

  • platform/win-xp/TestExpectations:
  • platform/win/TestExpectations:
5:59 PM Changeset in webkit [178565] by Joseph Pecoraro
  • 5 edits in trunk/Source/WebCore

Unreviewed, rolling out r178531.

Caused LayoutTest ASSERTs/CRASHs on Debug Yosemite build-bot.

Reverted changeset:

"Layers need to be already updated before we call adjustViewSize."
https://bugs.webkit.org/show_bug.cgi?id=135514
http://trac.webkit.org/changeset/178531

  • page/FrameView.cpp:

(WebCore::FrameView::layout):
(WebCore::FrameView::updateCompositingLayersAfterScrolling):
(WebCore::FrameView::paintContents):
(WebCore::FrameView::shouldDeferScrollUpdateAfterContentSizeChange): Deleted.

  • page/FrameView.h:
  • platform/ScrollView.cpp:

(WebCore::ScrollView::scrollTo):
(WebCore::ScrollView::handleDeferredScrollUpdateAfterContentSizeChange): Deleted.

  • platform/ScrollView.h:

(WebCore::ScrollView::shouldDeferScrollUpdateAfterContentSizeChange): Deleted.

5:58 PM Changeset in webkit [178564] by matthew_hanson@apple.com
  • 5 edits in branches/safari-600.5-branch/Source/JavaScriptCore

Merged r178364. rdar://problem/19465091

5:58 PM Changeset in webkit [178563] by matthew_hanson@apple.com
  • 6 edits in branches/safari-600.5-branch/Source

Merged r177448. rdar://problem/19451944

5:58 PM Changeset in webkit [178562] by matthew_hanson@apple.com
  • 8 edits in branches/safari-600.5-branch/Source

Merged r176896. rdar://problem/19451941

5:58 PM Changeset in webkit [178561] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Merged r174713. rdar://problem/19451946

5:58 PM Changeset in webkit [178560] by matthew_hanson@apple.com
  • 5 edits in branches/safari-600.5-branch/Source/WebCore

Merged r174710. rdar://problem/19451946

5:58 PM Changeset in webkit [178559] by matthew_hanson@apple.com
  • 4 edits in branches/safari-600.5-branch/Source/WebCore

Merged r174709. rdar://problem/19451946

5:58 PM Changeset in webkit [178558] by matthew_hanson@apple.com
  • 5 edits in branches/safari-600.5-branch

Merged r174698. rdar://problem/19451946

5:58 PM Changeset in webkit [178557] by matthew_hanson@apple.com
  • 3 edits in branches/safari-600.5-branch/Source/WebCore

Merged r174106. rdar://problem/19451946

5:58 PM Changeset in webkit [178556] by matthew_hanson@apple.com
  • 10 edits in branches/safari-600.5-branch/Source/WebCore

Merged r174505. rdar://problem/19451946

5:58 PM Changeset in webkit [178555] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Merged r174350. rdar://problem/19451946

5:58 PM Changeset in webkit [178554] by matthew_hanson@apple.com
  • 7 edits in branches/safari-600.5-branch/Source/WebCore

Merged r174346. rdar://problem/19451946

5:58 PM Changeset in webkit [178553] by matthew_hanson@apple.com
  • 4 edits in branches/safari-600.5-branch/Source

Merged r174162. rdar://problem/19451961

5:57 PM Changeset in webkit [178552] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.5-branch/WebKitLibraries

Merged r173768. rdar://problem/19451961

5:57 PM Changeset in webkit [178551] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Merged r173218. rdar://problem/19451975

5:57 PM Changeset in webkit [178550] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Merged r173216. rdar://problem/19451946

5:57 PM Changeset in webkit [178549] by matthew_hanson@apple.com
  • 5 edits in branches/safari-600.5-branch/Source

Versioning.

5:48 PM Changeset in webkit [178548] by bshafiei@apple.com
  • 5 edits in tags/Safari-601.1.14.1/Source

Versioning.

5:36 PM Changeset in webkit [178547] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.14.1

New tag.

5:25 PM Changeset in webkit [178546] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.4.2

New tag.

5:07 PM Changeset in webkit [178545] by Chris Dumez
  • 22 edits
    4 copies
    1 add in trunk/Source

[WK2] Wire diagnostic logging messages through the UIProcess
https://bugs.webkit.org/show_bug.cgi?id=140486

Reviewed by Sam Weinig.

Wire diagnostic logging messages through the UIProcess.
Eventually, the corresponding bundle API should go away.

Source/WebCore:

  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:

Add page/DiagnosticLoggingResultType.h to Windows project.

  • WebCore.xcodeproj/project.pbxproj:

Add page/DiagnosticLoggingResultType.h to XCode project.

  • html/HTMLMediaElement.cpp:
  • loader/EmptyClients.h:
  • loader/FrameLoader.cpp:
  • page/DiagnosticLoggingClient.h:
  • page/DiagnosticLoggingResultType.h: Copied from Source/WebCore/page/DiagnosticLoggingClient.h.

Use new DiagnosticLoggingResultType enum instead of old
DiagnosticLoggingClient::LogType one.

Source/WebKit2:

  • CMakeLists.txt:

Add UIProcess/WebPageDiagnosticLoggingClient.cpp to CMake.

  • Shared/API/c/WKDiagnosticLoggingResultType.h:

Extract WKDiagnosticLoggingResultType enumeration from
WKBundlePageDiagnosticLoggingClient.h into its own header so that
it can be shared with the new WKPageDiagnosticLoggingClient.h.

  • Shared/API/c/WKSharedAPICast.h:

(WebKit::toAPI):
(WebKit::toDiagnosticLoggingResultType):
Add WebCore::DiagnosticLoggingResultType <-> WKDiagnosticLoggingResultType
casting functions.

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageDiagnosticLoggingClient):

  • UIProcess/API/C/WKPage.h:

Add WKPage API so that the application can set the DiagnosticLoggingClient.

  • UIProcess/API/C/WKPageDiagnosticLoggingClient.h: Added.

New WK2 diagnostic logging client that will eventually replace the existing
WKBundlePageDiagnosticLoggingClient.h injected bundle client.

  • UIProcess/WebPageDiagnosticLoggingClient.cpp: Copied from Source/WebKit2/WebProcess/InjectedBundle/InjectedBundlePageDiagnosticLoggingClient.cpp.
  • UIProcess/WebPageDiagnosticLoggingClient.h: Copied from Source/WebCore/page/DiagnosticLoggingClient.h.
  • UIProcess/WebPageProxy.cpp:
  • UIProcess/WebPageProxy.h:

Handle new IPC messages for logging diagnostic messages.

  • UIProcess/WebPageProxy.messages.in:

Add 3 IPC messages for logging diagnostic messages.

  • WebKit2.xcodeproj/project.pbxproj:

Add new files to XCode project.

  • WebProcess/InjectedBundle/API/c/WKBundlePageDiagnosticLoggingClient.h:

Remove WKDiagnosticLoggingResultType enum as it was moved to its own
header.

  • WebProcess/InjectedBundle/InjectedBundlePageDiagnosticLoggingClient.cpp:
  • WebProcess/InjectedBundle/InjectedBundlePageDiagnosticLoggingClient.h:

Use WebCore::DiagnosticLoggingResultType enum type instead of
WKDiagnosticLoggingResultType and call toAPI() to convert to
WKDiagnosticLoggingResultType type.

  • WebProcess/WebCoreSupport/WebDiagnosticLoggingClient.cpp:

(WebKit::WebDiagnosticLoggingClient::logDiagnosticMessage):
(WebKit::WebDiagnosticLoggingClient::logDiagnosticMessageWithResult):
(WebKit::WebDiagnosticLoggingClient::logDiagnosticMessageWithValue):
Send IPC to WebPageProxy in addition to calling the injected bundle client.

  • WebProcess/WebCoreSupport/WebDiagnosticLoggingClient.h:

Use new DiagnosticLoggingResultType enum instead of the old LogType one.

5:00 PM Changeset in webkit [178544] by Joseph Pecoraro
  • 7 edits in trunk/Source/WebInspectorUI

Web Inspector: selecting Paint timeline records from sidebar does not trigger preview of paint quad
https://bugs.webkit.org/show_bug.cgi?id=139151

Reviewed by Brian Burg.

  • UserInterface/Views/LayoutTimelineDataGrid.js:

(WebInspector.LayoutTimelineDataGrid):
(WebInspector.LayoutTimelineDataGrid.prototype.callFramePopoverAnchorElement):
(WebInspector.LayoutTimelineDataGrid.prototype.reset): Deleted.
(WebInspector.LayoutTimelineDataGrid.prototype.hidden): Deleted.
(WebInspector.LayoutTimelineDataGrid.prototype._layoutDataGridSelectedNodeChanged): Deleted.
(WebInspector.LayoutTimelineDataGrid.prototype._hideHighlightIfNeeded): Deleted.
Move the node highlight from the datagrid to the timeline view because
we want this to happen on both the Navigation sidebar and the datagrid.

  • UserInterface/Views/LayoutTimelineView.js:

(WebInspector.LayoutTimelineView.prototype.shown):
(WebInspector.LayoutTimelineView.prototype.hidden):
(WebInspector.LayoutTimelineView.prototype.filterDidChange):
(WebInspector.LayoutTimelineView.prototype.reset):
(WebInspector.LayoutTimelineView.prototype._treeElementDeselected):
(WebInspector.LayoutTimelineView.prototype._treeElementSelected):
Update the highlight for major view updates.

(WebInspector.LayoutTimelineView.prototype._updateHighlight):
(WebInspector.LayoutTimelineView.prototype._showHighlightForRecord):
(WebInspector.LayoutTimelineView.prototype._hideHighlightIfNeeded):
(WebInspector.LayoutTimelineView.prototype._hoveredOrSelectedRecord):
Show a highlight for what we are hovering, or what is selected.
Note the selected node may not be visible due to filtering.

(WebInspector.LayoutTimelineView.prototype._mouseOverDataGrid):
(WebInspector.LayoutTimelineView.prototype._mouseLeaveDataGrid):
(WebInspector.LayoutTimelineView.prototype._mouseOverTreeOutline):
(WebInspector.LayoutTimelineView.prototype._mouseLeaveTreeOutline):
Update hovered information mousing over the datagrid and tree outline.

  • UserInterface/Views/TimelineContentView.js:

(WebInspector.TimelineContentView.prototype.filterDidChange):

  • UserInterface/Views/TimelineSidebarPanel.js:

(WebInspector.TimelineSidebarPanel.prototype.updateFilter):

  • UserInterface/Views/TimelineView.js:

(WebInspector.TimelineView.prototype.filterDidChange):
Include a "filterDidChange" TimelineView method that gets called after
updateFilter (things like the filter bar or timeline range changes).

  • UserInterface/Views/TreeOutline.js:

(TreeOutline.prototype.treeElementFromNode):
(TreeOutline.prototype.treeElementFromPoint):
Provide a helper to get a tree element from an event target.

4:48 PM Changeset in webkit [178543] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.5.1

New tag.

4:27 PM Changeset in webkit [178542] by bshafiei@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Merged r175083.

4:11 PM Changeset in webkit [178541] by Alan Bujtas
  • 7 edits in trunk/Source/WebCore

Reduce LayoutRect::infiniteRect() usage.
https://bugs.webkit.org/show_bug.cgi?id=140511

Reviewed by Simon Fraser.

This is in preparation to get rid of LayoutRect/FloatRect::infiniteRect().

No change in functionality.

  • platform/graphics/LayoutRect.h:

(WebCore::LayoutRect::isInfinite):

  • rendering/ClipRect.h:

(WebCore::ClipRect::reset):
(WebCore::ClipRect::isEmpty):
(WebCore::ClipRect::isInfinite):
(WebCore::ClipRect::setRect): Deleted.

  • rendering/PaintInfo.h:

(WebCore::PaintInfo::applyTransform):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderLayer.h:

(WebCore::ClipRects::reset):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateGeometry):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::clippedByAncestor):

4:06 PM Changeset in webkit [178540] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

Added availability annotations to modern Cocoa SPI.

Rubber-stamped by Anders Carlsson.

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
4:01 PM Changeset in webkit [178539] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix assertions on the Mountain Lion bots.

It is allowed to call addWorkQueueMessageReceiver even if the connection is open
so remove that assertion.

  • Platform/IPC/Connection.cpp:

(IPC::Connection::addWorkQueueMessageReceiver):

3:58 PM Changeset in webkit [178538] by Joseph Pecoraro
  • 2 edits in trunk/Source/WebKit2

Unreviewed build fix after r178536.

Initialize member variables in the proper order.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):

3:57 PM Changeset in webkit [178537] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Intermittent WebCore build failures - CSSPropertyNames.gperf: No keywords in input file! calling gperf failed: 256 at WebCore/css/makeprop.pl line 901
https://bugs.webkit.org/show_bug.cgi?id=140521

Reviewed by Alexey Proskuryakov.

Close the CSSPropertyNames.gperf file before calling gperf on it
to make sure the content we wrote was flushed. This was causing
intermittent build failures.

  • css/makeprop.pl:
3:42 PM Changeset in webkit [178536] by enrica@apple.com
  • 11 edits in trunk/Source/WebKit2

[WK2] Add support for fully editable WKWebView.
https://bugs.webkit.org/show_bug.cgi?id=140515

Reviewed by Anders Carlsson.

WKWebView has now a new property (_editable) to control
the editability of the entire content.

  • Shared/WebPageCreationParameters.cpp:

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

  • Shared/WebPageCreationParameters.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _isEditable]):
(-[WKWebView _setEditable:]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/API/mac/WKView.mm:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::setEditable):
(WebKit::WebPageProxy::creationParameters):

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::isEditable):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::setEditable):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
3:16 PM Changeset in webkit [178535] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Update Mountain Lion results for fast/canvas/webgl/angle-instanced-arrays.html
after r178527.

  • platform/mac-mountainlion/fast/canvas/webgl/angle-instanced-arrays-expected.txt:
3:15 PM Changeset in webkit [178534] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

LayerFragment should be able to intersect with ClipRect.
https://bugs.webkit.org/show_bug.cgi?id=140498

Reviewed by Simon Fraser.

No change in functionality.

  • rendering/LayerFragment.h:

(WebCore::LayerFragment::intersect):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::collectFragments):

3:13 PM Changeset in webkit [178533] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

Move ClipRects and ClipRectsCache classes to RenderLayer.cpp.
https://bugs.webkit.org/show_bug.cgi?id=140461

Reviewed by Simon Fraser.

Move classes only used by RenderLayer to RenderLayer.cpp.

No change in functionality.

  • rendering/RenderLayer.cpp:

(WebCore::ClipRects::create):
(WebCore::ClipRects::reset):
(WebCore::ClipRects::overflowClipRect):
(WebCore::ClipRects::setOverflowClipRect):
(WebCore::ClipRects::fixedClipRect):
(WebCore::ClipRects::setFixedClipRect):
(WebCore::ClipRects::posClipRect):
(WebCore::ClipRects::setPosClipRect):
(WebCore::ClipRects::fixed):
(WebCore::ClipRects::setFixed):
(WebCore::ClipRects::ref):
(WebCore::ClipRects::deref):
(WebCore::ClipRects::operator==):
(WebCore::ClipRects::operator=):
(WebCore::ClipRects::ClipRects):
(WebCore::ClipRectsCache::ClipRectsCache):
(WebCore::ClipRectsCache::getClipRects):
(WebCore::ClipRectsCache::setClipRects):
(WebCore::ClipRectsCache::getIndex):
(WebCore::RenderLayer::clipRects):
(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderLayer.h:

(WebCore::ClipRects::create): Deleted.
(WebCore::ClipRects::ClipRects): Deleted.
(WebCore::ClipRects::reset): Deleted.
(WebCore::ClipRects::overflowClipRect): Deleted.
(WebCore::ClipRects::setOverflowClipRect): Deleted.
(WebCore::ClipRects::fixedClipRect): Deleted.
(WebCore::ClipRects::setFixedClipRect): Deleted.
(WebCore::ClipRects::posClipRect): Deleted.
(WebCore::ClipRects::setPosClipRect): Deleted.
(WebCore::ClipRects::fixed): Deleted.
(WebCore::ClipRects::setFixed): Deleted.
(WebCore::ClipRects::ref): Deleted.
(WebCore::ClipRects::deref): Deleted.
(WebCore::ClipRects::operator==): Deleted.
(WebCore::ClipRects::operator=): Deleted.
(WebCore::ClipRectsCache::ClipRectsCache): Deleted.
(WebCore::ClipRectsCache::getClipRects): Deleted.
(WebCore::ClipRectsCache::setClipRects): Deleted.
(WebCore::ClipRectsCache::getIndex): Deleted.

2:52 PM Changeset in webkit [178532] by commit-queue@webkit.org
  • 11 edits in trunk

Canonicalization of :lang() should preserve the :lang()'s arguments representations
https://bugs.webkit.org/show_bug.cgi?id=139928

Patch by Dhi Aurrahman <diorahman@rockybars.com> on 2015-01-15
Reviewed by Benjamin Poulain.

Source/WebCore:

Preserve the representation of IDENT and STRING when serializing the
:lang(). For example, :lang(foo,"bar" ,baz) should be serialized as
:lang(foo, "bar", baz) instead of :lang(foo, bar, baz).

Rename CSSParserSelector::setArgumentList, CSSSelector::setArgumentList
and CSSSelector::argumentList to CSSParserSelector::setLangArgumentList,
CSSSelector::setLangArgumentList and CSSSelector::langArgumentList
respectively, since those methods are being exclusively used in respect
with :lang().

Update the test of serializing :lang() with IDENT and STRING arguments.

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

(WebCore::CSSParserSelector::setLangArgumentList):
(WebCore::CSSParserSelector::setArgumentList): Deleted.

  • css/CSSParserValues.h:

(WebCore::CSSParserString::init):
(WebCore::CSSParserString::clear):
(WebCore::CSSParserString::isParsedFromString):
(WebCore::CSSParserString::setParsedFromString):

  • css/CSSSelector.cpp:

(WebCore::appendLangArgumentList):
(WebCore::CSSSelector::selectorText):
(WebCore::CSSSelector::setLangArgumentList):
(WebCore::appendArgumentList): Deleted.
(WebCore::CSSSelector::setArgumentList): Deleted.

  • css/CSSSelector.h:

(WebCore::CSSSelector::langArgumentList):
(WebCore::CSSSelector::langArgumentParsedFromStringFlagList):
(WebCore::CSSSelector::argumentList): Deleted.

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOne):

LayoutTests:

  • fast/css/css-lang-selector-with-string-arguments-text-expected.txt: Updated.
  • fast/css/css-lang-selector-with-string-arguments-text.html: Updated.
2:51 PM Changeset in webkit [178531] by Brent Fulgham
  • 5 edits in trunk/Source/WebCore

Layers need to be already updated before we call adjustViewSize
https://bugs.webkit.org/show_bug.cgi?id=135514

Reviewed by Simon Fraser.

Tested by 'fast/dynamic/layer-no-longer-paginated.html'

Defer updating scrollbars until we have finished layout. This
has a couple of benefits:
(1) We do not attempt to modify render layers during layout.
(2) In WK1 we do not attempt to paint during layout.

Add a new virtual predicate to ScrollView indicating when we are in
layout so that calls to setContentsSize do not attempt
to adjust scrollbars.

Modify FrameView to set its ScrollView state to block drawing
scrollbar updates during layout. Also add a post-layout
handler to complete the scrollbar updates after layout is
finished.

  • page/FrameView.cpp:

(WebCore::FrameView::layout):
(WebCore::FrameView::shouldDeferScrollUpdateAfterContentSizeChange): Added.

  • page/FrameView.h:
  • platform/ScrollView.cpp:

(WebCore::ScrollView::handleDeferredScrollUpdateAfterContentSizeChange): Added.
(WebCore::ScrollView::scrollTo): If we should defer painting, cache the
the scroll delta and apply it after the layout is complete.

  • platform/ScrollView.h:

(WebCore::ScrollView::shouldDeferScrollUpdateAfterContentSizeChange): Added.

2:49 PM Changeset in webkit [178530] by Brent Fulgham
  • 6 edits in trunk/Tools

[Win] Miscellaneous DRT fixes
https://bugs.webkit.org/show_bug.cgi?id=116562

Reviewed by Tim Horton.

While investigating the cause of several Windows crashes, I found:
(1) Messy conversions to and from BSTR types
(2) Weird mixes of wide-string and narrow string conversions
(3) Passing nullptr to some CoreFoundation routines that do not

permit null arguments.

(4) Commands to link the executable to the VS2005 runtime.

This patch cleans up these issues to improve DRT reliability on
Windows.

  • DumpRenderTree/cg/ImageDiffCG.cpp:

(main): Get rid of VS2005 runtime linking.

  • DumpRenderTree/win/DumpRenderTree.cpp:

(urlSuitableForTestResult): Protect against being asked
to process an empty URL.
(dumpHistoryItem): Do BSTR string building using _bstr_t, rather
than converting to/from wchar_t buffers.
(runTest): Simplify string and BSTR handling.
(createWebViewAndOffscreenWindow): Ditto.
(main): Get rid of VS2005 runtime linking.

  • DumpRenderTree/win/TestRunnerWin.cpp:

(jsStringRefToWString): Simplify code.
(TestRunner::pathToLocalResource):
(TestRunner::setUserStyleSheetLocation):

  • TestWebKitAPI/win/main.cpp: Get rid of

VS2005 runtime linking.

  • win/DLLLauncher/DLLLauncherMain.cpp:

(wWinMain): Ditto.

2:19 PM Changeset in webkit [178529] by benjamin@webkit.org
  • 11 edits
    1 delete in trunk/Source/WebCore

When building the NFA of the global disjunction, share the prefix subgraph of existing subpatterns
https://bugs.webkit.org/show_bug.cgi?id=140465

Reviewed by Andreas Kling.

This patch updates the parser to produce smaller graphs when multiple patterns
of the rule list share a common prefix.

Previously, GraphBuilder would generate subgraph in place of each parsed
atom. We now only create subgraph if an atom does not appear in the prefix tree.

We accumulate the parsing information into small uint16_t named TrivialAtom.
When generating the subgraph for an new atom, we first check if the prefix tree already
has a corresponding subgraph for that atom. If it does, we do not generate anything and we extend the existing
graph. If there is no existing prefix, we create the subgraph and extend the prefix tree.

Sharing prefix subtrees slows down the subtree generation a bit but the resulting graph is much
simpler for many kind of inputs.

  • WebCore.xcodeproj/project.pbxproj:
  • contentextensions/ContentExtensionsBackend.cpp:

(WebCore::ContentExtensions::ContentExtensionsBackend::setRuleList):
The URLFilterParser now maintains states (the prefix tree) between patterns.

  • contentextensions/DFA.cpp:

(WebCore::ContentExtensions::DFA::debugPrintDot):

  • contentextensions/DFANode.h:

Fix a typo :)

  • contentextensions/NFA.cpp:

(WebCore::ContentExtensions::NFA::createNode):
(WebCore::ContentExtensions::NFA::setFinal):
(WebCore::ContentExtensions::NFA::restoreToGraphSize):
(WebCore::ContentExtensions::NFA::addRuleId):
(WebCore::ContentExtensions::NFA::debugPrintDot):

  • contentextensions/NFA.h:

(WebCore::ContentExtensions::NFA::addRuleId):

  • contentextensions/NFANode.cpp: Removed.
  • contentextensions/NFANode.h:

NFA nodes from two patterns are now "merged" by construction, thus we need
to keep track of multiple rules per node.

  • contentextensions/NFAToDFA.cpp:

(WebCore::ContentExtensions::NodeIdSetToUniqueNodeIdSetTranslator::translate):

  • contentextensions/URLFilterParser.cpp:

(WebCore::ContentExtensions::trivialAtomFromAsciiCharacter):
(WebCore::ContentExtensions::quantifyTrivialAtom):
(WebCore::ContentExtensions::trivialAtomForNewlineClassIDBuiltin):
(WebCore::ContentExtensions::GraphBuilder::GraphBuilder):
(WebCore::ContentExtensions::GraphBuilder::m_LastPrefixTreeEntry):
(WebCore::ContentExtensions::GraphBuilder::finalize):
(WebCore::ContentExtensions::GraphBuilder::atomPatternCharacter):
(WebCore::ContentExtensions::GraphBuilder::atomBuiltInCharacterClass):
(WebCore::ContentExtensions::GraphBuilder::quantifyAtom):
(WebCore::ContentExtensions::GraphBuilder::fail):
(WebCore::ContentExtensions::GraphBuilder::generateTransition):
(WebCore::ContentExtensions::GraphBuilder::sinkTrivialAtom):
(WebCore::ContentExtensions::GraphBuilder::sinkPendingAtomIfNecessary):
(WebCore::ContentExtensions::URLFilterParser::URLFilterParser):
(WebCore::ContentExtensions::URLFilterParser::addPattern):
(WebCore::ContentExtensions::GraphBuilder::m_lastAtom): Deleted.
(WebCore::ContentExtensions::URLFilterParser::parse): Deleted.

  • contentextensions/URLFilterParser.h:

(WebCore::ContentExtensions::URLFilterParser::hasError): Deleted.
(WebCore::ContentExtensions::URLFilterParser::errorMessage): Deleted.

2:14 PM Changeset in webkit [178528] by ap@apple.com
  • 2 edits in trunk/Tools

Stop hardcoding mac-mountainlion in commit queue
https://bugs.webkit.org/show_bug.cgi?id=140492

Reviewed by Anders Carlsson.

Use "mac", not "mac-<platform>". This matches how EWS queues are initialized, and
there should be no change in behavior, because:

  1. PatchProcessingQueue converts the name with _new_port_name_from_old() before

using it to create a port object.

  1. Although it doesn't convert the name before using DeprecatedPort.port(), it

is actually correct to use "mac" for the name there. We only used to get the expected
behavior with "mac-mountainlion" accidentally, because of a fallback to "mac"
for unknown deprecated port names.

  • Scripts/webkitpy/tool/commands/queues.py: (CommitQueue):
1:52 PM Changeset in webkit [178527] by ap@apple.com
  • 276 edits
    1 copy in trunk

Web Inspector and regular console use different source code locations for messages
https://bugs.webkit.org/show_bug.cgi?id=140478

Reviewed by Brian Burg.

Source/JavaScriptCore:

  • inspector/ConsoleMessage.h: Expose computed source location.
  • inspector/agents/InspectorConsoleAgent.cpp:

(Inspector::InspectorConsoleAgent::addMessageToConsole):
(Inspector::InspectorConsoleAgent::stopTiming):
(Inspector::InspectorConsoleAgent::count):

  • inspector/agents/InspectorConsoleAgent.h:

addMessageToConsole() now takes a pre-made ConsoleMessage object.

  • inspector/JSGlobalObjectConsoleClient.cpp:

(Inspector::JSGlobalObjectConsoleClient::messageWithTypeAndLevel):
(Inspector::JSGlobalObjectConsoleClient::warnUnimplemented):

  • inspector/JSGlobalObjectInspectorController.cpp:

(Inspector::JSGlobalObjectInspectorController::reportAPIException):

  • inspector/agents/JSGlobalObjectDebuggerAgent.cpp:

(Inspector::JSGlobalObjectDebuggerAgent::breakpointActionLog):
Updated for the above changes.

Source/WebCore:

We now create a ConsoleMessage object in a place where we can look at it and use
the source location it computed in a client call.

  • inspector/InspectorConsoleInstrumentation.h:

(WebCore::InspectorInstrumentation::addMessageToConsole):

  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::addMessageToConsoleImpl):

  • inspector/InspectorInstrumentation.h:
  • inspector/WebConsoleAgent.cpp:

(WebCore::WebConsoleAgent::didFinishXHRLoading):
(WebCore::WebConsoleAgent::didReceiveResponse):
(WebCore::WebConsoleAgent::didFailLoading):

  • page/PageConsoleClient.cpp:

(WebCore::PageConsoleClient::addMessage):
(WebCore::PageConsoleClient::messageWithTypeAndLevel):

  • workers/WorkerGlobalScope.cpp:

(WebCore::WorkerGlobalScope::addMessageToWorkerConsole):

LayoutTests:

A lot of tests now get line numbers in console messages. These lines are calculated
by Inspector::ConsoleMessage based on JavaScript call stack.

One note of interest is that DumpRenderTree only dumps the line, which can be
confusing if it is a line in a subresource. We can change the format in a separate
patch one day.

  • http/tests/security/drag-drop-local-file-expected.txt:
  • platform/wk2/http/tests/security/drag-drop-local-file-expected.txt:

With WebKit1, a console message is logged when EventSender releases the mouse button,
and with WebKit2, it is logged on hover. This is not quite expected, but probably
not too harmful. In any case, it's not a new problem introduced by this patch.

  • http/tests/security/xss-DENIED-iframe-src-alias.html:
  • http/tests/security/xss-DENIED-iframe-src-alias-expected.txt:

Run the subtests sequentially to ensure consistent order of results.

  • animations/change-keyframes-expected.txt:
  • crypto/subtle/unwrapKey-check-usage-expected.txt:
  • crypto/subtle/wrapKey-check-usage-expected.txt:
  • fast/canvas/webgl/angle-instanced-arrays-expected.txt:
  • fast/canvas/webgl/angle-instanced-arrays-out-of-bounds-expected.txt:
  • fast/canvas/webgl/oes-texture-float-linear-expected.txt:
  • fast/canvas/webgl/oes-texture-half-float-expected.txt:
  • fast/canvas/webgl/oes-texture-half-float-linear-expected.txt:
  • fast/dom/Window/open-invalid-url-expected.txt:
  • fast/dom/assign-to-prototype-accessor-on-prototype-should-be-silent-expected.txt:
  • fast/forms/interactive-validation-prevented-expected.txt:
  • fast/frames/sandboxed-iframe-attribute-parsing-01-expected.txt:
  • fast/frames/sandboxed-iframe-attribute-parsing-02-expected.txt:
  • fast/frames/sandboxed-iframe-attribute-parsing-03-expected.txt:
  • fast/frames/sandboxed-iframe-attribute-parsing-04-expected.txt:
  • fast/frames/sandboxed-iframe-attribute-parsing-05-expected.txt:
  • fast/frames/sandboxed-iframe-close-top-noclose-expected.txt:
  • fast/frames/sandboxed-iframe-forms-dynamic-expected.txt:
  • fast/frames/sandboxed-iframe-forms-expected.txt:
  • fast/frames/sandboxed-iframe-history-denied-expected.txt:
  • fast/frames/sandboxed-iframe-navigation-targetlink-expected.txt:
  • fast/frames/sandboxed-iframe-navigation-top-by-name-denied-expected.txt:
  • fast/frames/sandboxed-iframe-navigation-windowopen-expected.txt:
  • fast/frames/sandboxed-iframe-parsing-space-characters-expected.txt:
  • fast/loader/page-dismissal-modal-dialogs-expected.txt:
  • fast/xmlhttprequest/xmlhttprequest-no-file-access-expected.txt:
  • fast/xmlhttprequest/xmlhttprequest-responsetype-before-open-sync-request-expected.txt:
  • fast/xmlhttprequest/xmlhttprequest-responsetype-sync-request-expected.txt:
  • fast/xmlhttprequest/xmlhttprequest-sync-disabled-expected.txt:
  • fast/xpath/nsresolver-bad-object-expected.txt:
  • html5lib/generated/run-tests11-write-expected.txt:
  • http/tests/appcache/abort-cache-onchecking-expected.txt:
  • http/tests/appcache/abort-cache-onchecking-manifest-404-expected.txt:
  • http/tests/appcache/abort-cache-onchecking-resource-404-expected.txt:
  • http/tests/appcache/abort-cache-ondownloading-expected.txt:
  • http/tests/appcache/abort-cache-ondownloading-resource-404-expected.txt:
  • http/tests/appcache/abort-cache-onprogress-expected.txt:
  • http/tests/appcache/local-content-expected.txt:
  • http/tests/canvas/philip/tests/security.drawImage.canvas-expected.txt:
  • http/tests/canvas/philip/tests/security.drawImage.image-expected.txt:
  • http/tests/canvas/philip/tests/security.pattern.canvas.fillStyle-expected.txt:
  • http/tests/canvas/philip/tests/security.pattern.canvas.strokeStyle-expected.txt:
  • http/tests/canvas/philip/tests/security.pattern.cross-expected.txt:
  • http/tests/canvas/philip/tests/security.pattern.image.fillStyle-expected.txt:
  • http/tests/canvas/philip/tests/security.pattern.image.strokeStyle-expected.txt:
  • http/tests/history/cross-origin-replace-history-object-child-expected.txt:
  • http/tests/history/cross-origin-replace-history-object-expected.txt:
  • http/tests/inspector-protocol/access-inspected-object-expected.txt:
  • http/tests/misc/image-blocked-src-no-change-expected.txt:
  • http/tests/misc/unloadable-script-expected.txt:
  • http/tests/plugins/cross-frame-object-access-expected.txt:
  • http/tests/security/XFrameOptions/x-frame-options-deny-expected.txt:
  • http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-expected.txt:
  • http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-in-body-expected.txt:
  • http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-deny-expected.txt:
  • http/tests/security/XFrameOptions/x-frame-options-multiple-headers-sameorigin-deny-expected.txt:
  • http/tests/security/XFrameOptions/x-frame-options-parent-same-origin-deny-expected.txt:
  • http/tests/security/aboutBlank/xss-DENIED-navigate-opener-document-write-expected.txt:
  • http/tests/security/aboutBlank/xss-DENIED-navigate-opener-javascript-url-expected.txt:
  • http/tests/security/aboutBlank/xss-DENIED-set-opener-expected.txt:
  • http/tests/security/canvas-remote-read-redirect-to-remote-image-expected.txt:
  • http/tests/security/canvas-remote-read-remote-image-blocked-no-crossorigin-expected.txt:
  • http/tests/security/canvas-remote-read-remote-image-blocked-then-allowed-expected.txt:
  • http/tests/security/canvas-remote-read-remote-image-expected.txt:
  • http/tests/security/canvas-remote-read-remote-image-redirect-expected.txt:
  • http/tests/security/contentSecurityPolicy/eval-scripts-setInterval-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/eval-scripts-setTimeout-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/sandbox-allow-scripts-in-http-header-expected.txt:
  • http/tests/security/contentSecurityPolicy/sandbox-in-http-header-expected.txt:
  • http/tests/security/cross-frame-access-call-expected.txt:
  • http/tests/security/cross-frame-access-callback-explicit-domain-DENY-expected.txt:
  • http/tests/security/cross-frame-access-child-explicit-domain-expected.txt:
  • http/tests/security/cross-frame-access-custom-expected.txt:
  • http/tests/security/cross-frame-access-delete-expected.txt:
  • http/tests/security/cross-frame-access-enumeration-expected.txt:
  • http/tests/security/cross-frame-access-first-time-expected.txt:
  • http/tests/security/cross-frame-access-frameelement-expected.txt:
  • http/tests/security/cross-frame-access-get-custom-property-cached-expected.txt:
  • http/tests/security/cross-frame-access-get-expected.txt:
  • http/tests/security/cross-frame-access-getOwnPropertyDescriptor-expected.txt:
  • http/tests/security/cross-frame-access-history-get-expected.txt:
  • http/tests/security/cross-frame-access-history-put-expected.txt:
  • http/tests/security/cross-frame-access-location-get-expected.txt:
  • http/tests/security/cross-frame-access-location-put-expected.txt:
  • http/tests/security/cross-frame-access-name-getter-expected.txt:
  • http/tests/security/cross-frame-access-object-getPrototypeOf-expected.txt:
  • http/tests/security/cross-frame-access-object-prototype-expected.txt:
  • http/tests/security/cross-frame-access-parent-explicit-domain-expected.txt:
  • http/tests/security/cross-frame-access-port-expected.txt:
  • http/tests/security/cross-frame-access-protocol-expected.txt:
  • http/tests/security/cross-frame-access-protocol-explicit-domain-expected.txt:
  • http/tests/security/cross-frame-access-put-expected.txt:
  • http/tests/security/cross-frame-access-selection-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-from-data-url-in-foreign-domain-subframe-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-from-data-url-in-foreign-domain-window-open-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-2-level-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-from-data-url-sub-frame-to-data-url-sub-frame-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-from-data-url-to-data-url-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-from-javascript-url-window-open-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-from-data-url-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-subframe-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-subframe-location-change-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-in-foreign-domain-window-open-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-2-level-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-uppercase-expected.txt:
  • http/tests/security/dataURL/xss-DENIED-to-data-url-window-open-expected.txt:
  • http/tests/security/document-all-expected.txt:
  • http/tests/security/frameNavigation/not-opener-expected.txt:
  • http/tests/security/frameNavigation/xss-DENIED-targeted-link-navigation-expected.txt:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-location-htmldom-expected.txt:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-getAttribute-value-expected.txt:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-htmldom-expected.txt:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-setAttribute-expected.txt:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-setAttributeNS-expected.txt:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-setAttributeNode-expected.txt:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-frame-src-setAttributeNodeNS-expected.txt:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-getAttribute-value-expected.txt:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-htmldom-expected.txt:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-setAttribute-expected.txt:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-setAttributeNS-expected.txt:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-setAttributeNode-expected.txt:
  • http/tests/security/javascriptURL/javascriptURL-execution-context-iframe-src-setAttributeNodeNS-expected.txt:
  • http/tests/security/javascriptURL/xss-DENIED-from-javascript-url-in-foreign-domain-subframe-expected.txt:
  • http/tests/security/javascriptURL/xss-DENIED-from-javascript-url-in-foreign-domain-window-open-expected.txt:
  • http/tests/security/javascriptURL/xss-DENIED-to-javascript-url-in-foreign-domain-subframe-expected.txt:
  • http/tests/security/javascriptURL/xss-DENIED-to-javascript-url-in-foreign-domain-window-open-expected.txt:
  • http/tests/security/listener/xss-JSTargetNode-onclick-addEventListener-expected.txt:
  • http/tests/security/listener/xss-JSTargetNode-onclick-shortcut-expected.txt:
  • http/tests/security/listener/xss-XMLHttpRequest-addEventListener-expected.txt:
  • http/tests/security/listener/xss-XMLHttpRequest-shortcut-expected.txt:
  • http/tests/security/listener/xss-window-onclick-addEventListener-expected.txt:
  • http/tests/security/listener/xss-window-onclick-shortcut-expected.txt:
  • http/tests/security/local-CSS-from-remote-expected.txt:
  • http/tests/security/local-JavaScript-from-remote-expected.txt:
  • http/tests/security/local-iFrame-from-remote-expected.txt:
  • http/tests/security/local-image-from-remote-expected.txt:
  • http/tests/security/local-video-poster-from-remote-expected.txt:
  • http/tests/security/mixedContent/insecure-plugin-in-iframe-expected.txt:
  • http/tests/security/mixedContent/insecure-xhr-in-main-frame-expected.txt:
  • http/tests/security/no-popup-from-sandbox-expected.txt:
  • http/tests/security/no-popup-from-sandbox-top-expected.txt:
  • http/tests/security/popup-allowed-by-sandbox-is-sandboxed-expected.txt:
  • http/tests/security/referrer-policy-invalid-expected.txt:
  • http/tests/security/sandbox-inherit-to-initial-document-2-expected.txt:
  • http/tests/security/sandboxed-iframe-blocks-access-from-parent-expected.txt:
  • http/tests/security/sandboxed-iframe-form-top-expected.txt:
  • http/tests/security/sandboxed-iframe-modify-self-expected.txt:
  • http/tests/security/sandboxed-iframe-origin-add-expected.txt:
  • http/tests/security/sandboxed-iframe-origin-remove-expected.txt:
  • http/tests/security/srcdoc-in-sandbox-cannot-access-parent-expected.txt:
  • http/tests/security/window-named-proto-expected.txt:
  • http/tests/security/window-named-valueOf-expected.txt:
  • http/tests/security/xss-DENIED-assign-location-hash-expected.txt:
  • http/tests/security/xss-DENIED-assign-location-host-expected.txt:
  • http/tests/security/xss-DENIED-assign-location-hostname-expected.txt:
  • http/tests/security/xss-DENIED-assign-location-href-javascript-expected.txt:
  • http/tests/security/xss-DENIED-assign-location-nonstandardProperty-expected.txt:
  • http/tests/security/xss-DENIED-assign-location-pathname-expected.txt:
  • http/tests/security/xss-DENIED-assign-location-protocol-expected.txt:
  • http/tests/security/xss-DENIED-assign-location-reload-expected.txt:
  • http/tests/security/xss-DENIED-assign-location-search-expected.txt:
  • http/tests/security/xss-DENIED-defineProperty-expected.txt:
  • http/tests/security/xss-DENIED-frame-name-expected.txt:
  • http/tests/security/xss-DENIED-getSVGDocument-iframe-expected.txt:
  • http/tests/security/xss-DENIED-getSVGDocument-object-expected.txt:
  • http/tests/security/xss-DENIED-htmlelelment-with-iframe-proto-expected.txt:
  • http/tests/security/xss-DENIED-invalid-domain-change-expected.txt:
  • http/tests/security/xss-DENIED-javascript-with-spaces-expected.txt:
  • http/tests/security/xss-DENIED-method-with-iframe-proto-expected.txt:
  • http/tests/security/xss-DENIED-sandboxed-iframe-expected.txt:
  • http/tests/security/xss-DENIED-synchronous-form-expected.txt:
  • http/tests/security/xss-DENIED-synchronous-frame-load-in-javascript-url-expected.txt:
  • http/tests/security/xss-DENIED-window-name-navigator-expected.txt:
  • http/tests/security/xss-DENIED-window-open-javascript-url-expected.txt:
  • http/tests/security/xss-DENIED-window-open-javascript-url-with-spaces-expected.txt:
  • http/tests/security/xss-DENIED-window-open-parent-expected.txt:
  • http/tests/security/xss-DENIED-xsl-document-securityOrigin-expected.txt:
  • http/tests/security/xss-eval-expected.txt:
  • http/tests/security/xssAuditor/anchor-url-dom-write-location-expected.txt:
  • http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event-expected.txt:
  • http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event-null-char-expected.txt:
  • http/tests/security/xssAuditor/anchor-url-dom-write-location-javascript-URL-expected.txt:
  • http/tests/security/xssAuditor/anchor-url-dom-write-location2-expected.txt:
  • http/tests/security/xssAuditor/block-does-not-leak-location-expected.txt:
  • http/tests/security/xssAuditor/block-does-not-leak-referrer-expected.txt:
  • http/tests/security/xssAuditor/dom-write-URL-expected.txt:
  • http/tests/security/xssAuditor/dom-write-location-expected.txt:
  • http/tests/security/xssAuditor/dom-write-location-inline-event-expected.txt:
  • http/tests/security/xssAuditor/dom-write-location-javascript-URL-expected.txt:
  • http/tests/security/xssAuditor/full-block-base-href-expected.txt:
  • http/tests/security/xssAuditor/full-block-iframe-javascript-url-expected.txt:
  • http/tests/security/xssAuditor/full-block-javascript-link-expected.txt:
  • http/tests/security/xssAuditor/full-block-link-onclick-expected.txt:
  • http/tests/security/xssAuditor/full-block-object-tag-expected.txt:
  • http/tests/security/xssAuditor/full-block-script-tag-cross-domain-expected.txt:
  • http/tests/security/xssAuditor/full-block-script-tag-expected.txt:
  • http/tests/security/xssAuditor/full-block-script-tag-with-source-expected.txt:
  • http/tests/security/xssAuditor/xss-protection-parsing-03-expected.txt:
  • http/tests/security/xssAuditor/xss-protection-parsing-04-expected.txt:
  • http/tests/websocket/tests/hybi/bad-sub-protocol-control-chars-expected.txt:
  • http/tests/websocket/tests/hybi/bad-sub-protocol-empty-expected.txt:
  • http/tests/websocket/tests/hybi/bad-sub-protocol-non-ascii-expected.txt:
  • http/tests/websocket/tests/hybi/binary-type-expected.txt:
  • http/tests/websocket/tests/hybi/close-before-open-expected.txt:
  • http/tests/websocket/tests/hybi/close-code-and-reason-expected.txt:
  • http/tests/websocket/tests/hybi/close-expected.txt:
  • http/tests/websocket/tests/hybi/close-reason-too-long-expected.txt:
  • http/tests/websocket/tests/hybi/invalid-subprotocol-characters-expected.txt:
  • http/tests/websocket/tests/hybi/invalid-subprotocols-expected.txt:
  • http/tests/websocket/tests/hybi/url-parsing-expected.txt:
  • http/tests/websocket/tests/hybi/websocket-event-target-expected.txt:
  • http/tests/xmlhttprequest/access-control-basic-denied-expected.txt:
  • http/tests/xmlhttprequest/access-control-basic-get-fail-non-simple-expected.txt:
  • http/tests/xmlhttprequest/access-control-basic-non-simple-deny-cached-expected.txt:
  • http/tests/xmlhttprequest/access-control-basic-post-fail-non-simple-content-type-expected.txt:
  • http/tests/xmlhttprequest/access-control-basic-whitelist-response-headers-expected.txt:
  • http/tests/xmlhttprequest/access-control-preflight-sync-header-denied-expected.txt:
  • http/tests/xmlhttprequest/access-control-preflight-sync-method-denied-expected.txt:
  • http/tests/xmlhttprequest/access-control-preflight-sync-not-supported-expected.txt:
  • http/tests/xmlhttprequest/access-control-response-with-expose-headers-expected.txt:
  • http/tests/xmlhttprequest/access-control-sandboxed-iframe-denied-expected.txt:
  • http/tests/xmlhttprequest/access-control-sandboxed-iframe-denied-without-wildcard-expected.txt:
  • http/tests/xmlhttprequest/cross-origin-no-authorization-expected.txt:
  • http/tests/xmlhttprequest/cross-site-denied-response-sync-2-expected.txt:
  • http/tests/xmlhttprequest/cross-site-denied-response-sync-expected.txt:
  • http/tests/xmlhttprequest/get-dangerous-headers-expected.txt:
  • http/tests/xmlhttprequest/getResponseHeader-expected.txt:
  • http/tests/xmlhttprequest/origin-exact-matching-expected.txt:
  • http/tests/xmlhttprequest/origin-whitelisting-https-expected.txt:
  • http/tests/xmlhttprequest/origin-whitelisting-ip-addresses-with-subdomains-expected.txt:
  • http/tests/xmlhttprequest/origin-whitelisting-removal-expected.txt:
  • http/tests/xmlhttprequest/post-blob-content-type-sync-expected.txt:
  • http/tests/xmlhttprequest/set-dangerous-headers-expected.txt:
  • http/tests/xmlhttprequest/simple-cross-origin-denied-events-post-sync-expected.txt:
  • http/tests/xmlhttprequest/simple-cross-origin-denied-events-sync-expected.txt:
  • http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-synconmain-expected.txt:
  • http/tests/xmlhttprequest/xmlhttprequest-sync-no-progress-events-expected.txt:
  • js/dom/dom-as-prototype-assignment-exception-expected.txt:
  • js/dom/dom-attributes-on-mismatch-type-expected.txt:
  • js/dom/shadow-navigator-geolocation-in-strict-mode-does-not-throw-expected.txt:
  • plugins/get-user-agent-with-null-npp-from-npp-new-expected.txt:
  • plugins/netscape-plugin-map-data-to-src-expected.txt:
  • plugins/no-mime-with-valid-extension-expected.txt:
  • storage/websql/open-database-creation-callback-expected.txt:
  • storage/websql/open-database-set-empty-version-expected.txt:
  • svg/as-image/svg-canvas-xhtml-tainted-expected.txt:
  • svg/css/parse-calc-length-expected.txt:
  • svg/css/parse-height-expected.txt:
  • svg/css/parse-length-expected.txt:
  • svg/custom/invalid-length-units-expected.txt:
  • svg/custom/poly-parsing-error-expected.txt:
  • svg/custom/polyline-setattribute-points-null-expected.txt:
  • svg/dom/fuzz-path-parser-expected.txt:
  • svg/dom/path-parser-expected.txt:
  • svg/dom/points-parser-expected.txt:
  • webaudio/audionode-expected.txt:
1:26 PM Changeset in webkit [178526] by andersca@apple.com
  • 9 edits in trunk/Source/WebKit2

Clearing the website data store should clear local storage
https://bugs.webkit.org/show_bug.cgi?id=140507

Reviewed by Andreas Kling.

  • Shared/WebsiteData/WebsiteDataTypes.h:

Add WebsiteDataTypeLocalStorage.

  • UIProcess/API/Cocoa/_WKWebsiteDataStore.h:

Add WKWebsiteDataTypeLocalStorage

  • UIProcess/API/Cocoa/_WKWebsiteDataStore.mm:

(toWebsiteDataTypes):
Handle WKWebsiteDataTypeLocalStorage.

  • UIProcess/Storage/LocalStorageDatabaseTracker.cpp:

(WebKit::fileModificationTime):
Use an early return.

(WebKit::LocalStorageDatabaseTracker::deleteDatabasesModifiedSince):
Change this to take an std::chrono::system_clock::time_point and don't
try to modifiy m_origins while iterating it.

  • UIProcess/Storage/LocalStorageDatabaseTracker.h:

Update declarations.

  • UIProcess/Storage/StorageManager.cpp:

(WebKit::StorageManager::deleteLocalStorageOriginsModifiedSince):
Change this to take an std::chrono::system_clock::time_point.

  • UIProcess/Storage/StorageManager.h:

Update declarations.

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::removeData):
Remove data from the storage manager as well.

12:28 PM Changeset in webkit [178525] by Brent Fulgham
  • 5 edits in trunk/Source/WebKit/win

[Win] Unreviewed build fix after r178510

Correct #include and declarations from Font->FontCascade

  • DOMCoreClasses.cpp:

(DOMElement::font):

  • FullscreenVideoController.cpp:

(FullscreenVideoController::draw):

  • WebKitGraphics.cpp:
  • WebPreferences.cpp:
12:24 PM Changeset in webkit [178524] by andersca@apple.com
  • 8 edits in trunk/Source/WebKit2

Give WebsiteDataStore a StorageManager
https://bugs.webkit.org/show_bug.cgi?id=140505

Reviewed by Andreas Kling.

The process pool storage manager is still around but is only used for clearing data. It will be removed
completely in an upcoming commit.

  • UIProcess/API/Cocoa/APIWebsiteDataStoreCocoa.mm:

(API::WebsiteDataStore::defaultDataStoreConfiguration):
Set up the local storage directory.

  • UIProcess/API/Cocoa/WKProcessPool.mm:

(websiteDataDirectoryURL):
Export this so it can be called from APIWebsiteDataStoreCocoa.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::createNewPage):
Call WebsiteDataStore::cloneSessionData instead.

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::websiteDataStore):
Add getter.

  • UIProcess/WebProcessPool.cpp:

(WebKit::websiteDataStoreConfiguration):
Update this to take a WebProcessPoolConfiguration object and assign the local storage directory.

(WebKit::WebProcessPool::WebProcessPool):
Pass the configuration to websiteDataStoreConfiguration.

(WebKit::WebProcessPool::processWillOpenConnection):
(WebKit::WebProcessPool::processWillCloseConnection):
Remove storage manager calls.

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::WebsiteDataStore):
When creating a persistent data store, also create a storage manager.

(WebKit::WebsiteDataStore::cloneSessionData):
Clone the session storage namespace.

(WebKit::WebsiteDataStore::webPageWasAdded):
Create a session storage namespace for this page.

(WebKit::WebsiteDataStore::webPageWasRemoved):
Destroy the session storage namespace.

(WebKit::WebsiteDataStore::webProcessWillOpenConnection):
Tell the storage manager about the new process connection.

(WebKit::WebsiteDataStore::webPageWillOpenConnection):
Set the allowed connection.

(WebKit::WebsiteDataStore::webPageDidCloseConnection):
Clear the allowed connection.

(WebKit::WebsiteDataStore::webProcessDidCloseConnection):
Tell the storage manager that the process connection has been closed.

  • UIProcess/WebsiteData/WebsiteDataStore.h:

Add new members.

12:16 PM Changeset in webkit [178523] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[Win] Unreviewed Windows build fix.

More missing Font->FontCascade changes.

  • platform/win/WebCoreTextRenderer.cpp:

(WebCore::WebCoreSetAlwaysUsesComplexTextCodePath):
(WebCore::WebCoreAlwaysUsesComplexTextCodePath):

12:07 PM Changeset in webkit [178522] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

REGRESSION(r178133): Membuster regressed ~4%
https://bugs.webkit.org/show_bug.cgi?id=140495

Reviewed by Andreas Kling.

  • platform/graphics/FontCache.cpp:

(WebCore::FontCache::purgeInactiveFontData):

Fonts may ref other fonts. Keep clearing until there are no changes.

11:54 AM Changeset in webkit [178521] by Brent Fulgham
  • 4 edits in trunk/Source/WebCore

[Win] Unreviewed build fix.

  • platform/graphics/win/FontCacheWin.cpp:
  • platform/win/DragImageWin.cpp:
  • platform/win/WebCoreTextRenderer.h:
11:41 AM Changeset in webkit [178520] by Antti Koivisto
  • 7 edits in trunk/Source/WebCore

Try to fix windows build.

  • platform/graphics/ca/win/PlatformCALayerWin.cpp:
  • platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:

(PlatformCALayerWinInternal::displayCallback):

  • platform/win/DragImageWin.cpp:

(WebCore::dragLabelFont):
(WebCore::createDragImageForLink):

  • platform/win/PopupMenuWin.cpp:

(WebCore::PopupMenuWin::calculatePositionAndSize):
(WebCore::PopupMenuWin::paint):

  • platform/win/WebCoreTextRenderer.cpp:

(WebCore::doDrawTextAtPoint):
(WebCore::WebCoreDrawDoubledTextAtPoint):
(WebCore::WebCoreTextFloatWidth):
(WebCore::WebCoreSetAlwaysUsesComplexTextCodePath):
(WebCore::WebCoreAlwaysUsesComplexTextCodePath):

  • rendering/RenderThemeSafari.cpp:

(WebCore::RenderThemeSafari::setFontFromControlSize):

11:34 AM Changeset in webkit [178519] by Antti Koivisto
  • 7 edits
    1 copy
    7 deletes in trunk/Source/WebCore

Unreviewed, rolling out r178518.

Didn't mean to commit some of this

Reverted changeset:

"Try to fix windows build."
http://trac.webkit.org/changeset/178518

11:29 AM Changeset in webkit [178518] by Antti Koivisto
  • 7 edits
    8 copies in trunk/Source/WebCore

Try to fix windows build.

  • platform/graphics/Font.cpp: Copied from Source/WebCore/platform/graphics/SimpleFontData.cpp.
  • platform/graphics/Font.h: Copied from Source/WebCore/platform/graphics/SimpleFontData.h.
  • platform/graphics/FontCascadeFastPath.cpp: Copied from Source/WebCore/platform/graphics/FontFastPath.cpp.
  • platform/graphics/ca/win/PlatformCALayerWin.cpp:
  • platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:

(PlatformCALayerWinInternal::displayCallback):

  • platform/graphics/ios/FontIOS.mm: Copied from Source/WebCore/platform/graphics/ios/SimpleFontDataIOS.mm.
  • platform/graphics/mac/FontCascadeComplexTextMac.cpp: Copied from Source/WebCore/platform/graphics/mac/FontComplexTextMac.cpp.
  • platform/graphics/mac/FontCascadeMac.mm: Copied from Source/WebCore/platform/graphics/mac/FontMac.mm.
  • platform/graphics/mac/FontCoreText.cpp: Copied from Source/WebCore/platform/graphics/mac/SimpleFontDataCoreText.cpp.
  • platform/graphics/mac/FontMac.mm: Replaced with Source/WebCore/platform/graphics/mac/SimpleFontDataMac.mm.
  • platform/win/DragImageWin.cpp:

(WebCore::dragLabelFont):
(WebCore::createDragImageForLink):

  • platform/win/PopupMenuWin.cpp:

(WebCore::PopupMenuWin::calculatePositionAndSize):
(WebCore::PopupMenuWin::paint):

  • platform/win/WebCoreTextRenderer.cpp:

(WebCore::doDrawTextAtPoint):
(WebCore::WebCoreDrawDoubledTextAtPoint):
(WebCore::WebCoreTextFloatWidth):
(WebCore::WebCoreSetAlwaysUsesComplexTextCodePath):
(WebCore::WebCoreAlwaysUsesComplexTextCodePath):

  • rendering/RenderThemeSafari.cpp:

(WebCore::RenderThemeSafari::setFontFromControlSize):

11:20 AM Changeset in webkit [178517] by mark.lam@apple.com
  • 7 edits in trunk

[Part 2] Argument object created by "Function dot arguments" should use a clone of argument values.
<https://webkit.org/b/140093>

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

  • interpreter/StackVisitor.cpp:

(JSC::StackVisitor::Frame::createArguments):

  • We should not fetching the lexicalEnvironment here. The reason we've introduced the ClonedArgumentsCreationMode is because the lexicalEnvironment may not be available to us at this point. Instead, we'll just pass a nullptr.
  • runtime/Arguments.cpp:

(JSC::Arguments::tearOffForCloning):

  • runtime/Arguments.h:

(JSC::Arguments::finishCreation):

  • Use the new tearOffForCloning() to tear off arguments right out of the values passed on the stack. tearOff() is not appropriate for this purpose because it takes slowArgumentsData into account.

LayoutTests:

  • js/function-dot-arguments-expected.txt:
  • js/script-tests/function-dot-arguments.js:

(arrayify):
(indirectCall):
(.inner):
(tearOffTest3):
(tearOffTest3b):
(tearOffTest3c):
(tearOffTest4External):
(tearOffTest4):
(tearOffTest4aExternal):
(tearOffTest4bExternal):
(tearOffTest4b):
(tearOffTest4cExternal):
(tearOffTest4c):
(tearOffTest5):
(tearOffTest5b):
(tearOffTest5c):
(tearOffTest6External):
(tearOffTest6):
(tearOffTest6aExternal):
(tearOffTest6bExternal):
(tearOffTest6b):
(tearOffTest6cExternal):
(tearOffTest6c):
(tearOffTest7):
(tearOffTest7b):
(tearOffTest7c):
(tearOffTest8External):
(tearOffTest8):
(tearOffTest8aExternal):
(tearOffTest8bExternal):
(tearOffTest8b):
(tearOffTest8cExternal):
(tearOffTest8c):
(tearOffTest9b):
(tearOffTest9c):
(tearOffTest10External):
(tearOffTest10):
(tearOffTest10aExternal):
(tearOffTest10bExternal):
(tearOffTest10b):
(tearOffTest10cExternal):
(tearOffTest10c):

11:09 AM Changeset in webkit [178516] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Unreviewed gardening.

Mark some debug crashes as being caused by Bug 135514.

  • platform/win/TestExpectations:
10:41 AM Changeset in webkit [178515] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Unreviewed gardening.

Mark fast/dynamic/layer-no-longer-paginated.html as crashing on Windows
now that https://bugs.webkit.org/show_bug.cgi?id=140455 has been filed.

  • platform/win/TestExpectations:
10:39 AM Changeset in webkit [178514] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

More work on the lifetime observer
https://bugs.webkit.org/show_bug.cgi?id=140500

Reviewed by Andreas Kling.

Add webPageWasAdded/webPageWasRemoved functions; these will be called first and last during the
lifetime of the web page. Also remove removeObserver since nobody is calling it.

  • UIProcess/WebProcessLifetimeObserver.h:

(WebKit::WebProcessLifetimeObserver::webPageWasAdded):
(WebKit::WebProcessLifetimeObserver::webPageWasRemoved):

  • UIProcess/WebProcessLifetimeTracker.cpp:

(WebKit::WebProcessLifetimeTracker::addObserver):
(WebKit::WebProcessLifetimeTracker::pageWasInvalidated):
(WebKit::WebProcessLifetimeTracker::removeObserver): Deleted.

  • UIProcess/WebProcessLifetimeTracker.h:
9:22 AM Changeset in webkit [178513] by mmaxfield@apple.com
  • 4 edits in trunk

http/tests/misc/acid3.html is flakey on Mavericks
https://bugs.webkit.org/show_bug.cgi?id=140253

Reviewed by Alexey Proskuryakov.

Source/WebCore:

CoreText has a bug <rdar://problem/19433490> in which kerning is not applied for a font
if a CTTypesetter is created using that font before a call to CTFontTransformGlyphs. We
often create typesetters in the complex code path, so it's not obvious when this bug
might present itself. This patch simply makes a dummy invocation of
CTFontTransformGlyphs() when creating a SimpleFontData.

No new tests because this is covered by http/tests/misc/acid3.html.

  • platform/graphics/mac/SimpleFontDataMac.mm:

(WebCore::SimpleFontData::platformInit):

LayoutTests:

Remove flakey mark.

  • platform/mac/TestExpectations:
9:20 AM Changeset in webkit [178512] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Get rid of custom StyleBuilder code for 'line-height' CSS property
https://bugs.webkit.org/show_bug.cgi?id=140462

Reviewed by Antti Koivisto.

Get rid of custom StyleBuilder code for 'line-height' CSS property by
using a conditional converter.

  • css/CSSPropertyNames.in:
  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertLineHeight):

  • css/StyleBuilderCustom.h:

(WebCore::StyleBuilderCustom::applyValueLineHeight):
(WebCore::StyleBuilderCustom::convertLineHeight): Deleted.

8:45 AM Changeset in webkit [178511] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

Don't pass an allowed connection when creating a session storage namespace
https://bugs.webkit.org/show_bug.cgi?id=140482

Reviewed by Sam Weinig.

Instead, always call setAllowedSessionStorageNamespaceConnection. This will make it easier to
move the storage manager into WebsiteDataStore and make it use the process lifetime observer machinery.

  • UIProcess/Storage/StorageManager.cpp:

(WebKit::StorageManager::SessionStorageNamespace::create):
(WebKit::StorageManager::SessionStorageNamespace::SessionStorageNamespace):
(WebKit::StorageManager::createSessionStorageNamespace):

  • UIProcess/Storage/StorageManager.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):

6:19 AM Changeset in webkit [178510] by Antti Koivisto
  • 157 edits
    2 moves in trunk/Source

Rename Font to FontCascade
https://bugs.webkit.org/show_bug.cgi?id=140442

Reviewed by Darin Adler.

We can then rename SimpleFontData to Font. This will match the usual definition of a "font".

5:07 AM Changeset in webkit [178509] by Carlos Garcia Campos
  • 5 edits in trunk/Source/WebKit2

REGRESSION(r177075): [GTK] Creating a second web view disables accelerated compositing in existing web view
https://bugs.webkit.org/show_bug.cgi?id=140494

Reviewed by Gustavo Noronha Silva.

The problem is that r177075 moved the creation of the redirected
XComposite window to realize method, but leaving the call to
webkitWebViewBaseUpdatePreferences() in both places Realize() and
CreateWebPage(). webkitWebViewBaseUpdatePreferences() only updates
the accelerating compositing setting nowadays, depending on
whether the redirected XComposited window could be created or not
(something that depends on whether XRender, XComposite and XDamage
extensions are available in the current display). So, when the
first web view is created, webkitWebViewBaseUpdatePreferences() is
called first from CreateWebPage(), and always disabling
accelerated compositing because the redirected window hasn't been
created yet, and then from Realize() right after the redirected
window is created so that accelerated compositing is enabled. When
the second web view is created the same happens, but since
settings are shared among web views, the first call to
webkitWebViewBaseUpdatePreferences() from CreateWebPage() disables
accelerated compositing and the web page exists accelerated
compositing mode and never enters it again unless the page is
reloaded. I guess the web page should enter accelerated
compositing mode again when the setting is enabled again from
Realize(), but since the setting is global and doesn't depend on
every web view, we should never disable it once it has been
enabled in any case.
Since we want to enable accelerated compositing mode when the
redirected XComposite window has been successfully created, we can
use the SetNativeSurfaceHandleForCompositing message to enable the
setting and remove webkitWebViewBaseUpdatePreferences().

  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkitWebViewUpdateSettings):

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseRealize):
(webkitWebViewBaseCreateWebPage):
(webkitWebViewBaseUpdatePreferences): Deleted.

  • UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
  • WebProcess/WebPage/DrawingAreaImpl.cpp:

(WebKit::DrawingAreaImpl::setNativeSurfaceHandleForCompositing):

4:20 AM Changeset in webkit [178508] by commit-queue@webkit.org
  • 4 edits in trunk/LayoutTests

AX: [ATK] Mark accessibility/render-counter-text.html as a suitable test for EFL and GTK.
https://bugs.webkit.org/show_bug.cgi?id=140438

Patch by Andrzej Badowski <a.badowski@samsung.com> on 2015-01-15
Reviewed by Chris Fleizach.

The test shows the text contents of the <li> element with the counter inside <ol> using three childAtIndex().stringValue methods.
In the case of ATK childAtIndex(0) returns a non-empty object, but it is not the ATK_OBJECT,
so the stringValue produces an empty string.
To avoid this, the text content is obtained by direct reading of stringValue of <li> AccessibilityUIElement which is ATK_TEXT.

  • accessibility/render-counter-text.html:

This test is also suitable for EFL and GTK port.

  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
4:00 AM Changeset in webkit [178507] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.6.5

WebKitGTK+ 2.6.5

3:43 AM Changeset in webkit [178506] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.6

Unreviewed. Update OptionsGTK.cmake and NEWS for 2.6.5 release.

.:

  • Source/cmake/OptionsGTK.cmake: Bump version numbers.

Source/WebKit2:

  • gtk/NEWS: dd release notes for 2.6.5.
3:40 AM Changeset in webkit [178505] by matthew_hanson@apple.com
  • 267 edits in branches/safari-600.5-branch/Source

Merge r175719. rdar://problem/19424169

2:53 AM WebKitGTK/2.6.x edited by Carlos Garcia Campos
(diff)
2:50 AM Changeset in webkit [178504] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Tools

Merge r178103 - [GTK] Build gtk-doc without gtkdoc-mktmpl
https://bugs.webkit.org/show_bug.cgi?id=140225

Patch by Michael Catanzaro <Michael Catanzaro> on 2015-01-07
Reviewed by Darin Adler.

Stop calling gtkdoc-mktmpl. It's being removed upstream, and since we
don't modify the tmpl files that it generates, it's not doing anything
for us.

  • gtk/gtkdoc.py:

(GTKDoc.generate):
(GTKDoc._run_gtkdoc_scangobj):
(GTKDoc._run_gtkdoc_mktmpl): Deleted.

2:40 AM Changeset in webkit [178503] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebKit2

Merge r178415 - [GTK] Do not schedule a redraw for the redirected XComposite window when not in accelerated compositing mode
https://bugs.webkit.org/show_bug.cgi?id=140354

Reviewed by Martin Robinson.

The RedirectedXCompositeWindow uses XDamage to be notified when
the XWindow has been modified. Since the redirected window is
created unconditionally we always receive a XDamage notify when
the window is mapped, and we schedule a redraw in the web view
even when the web view is not in accelerated compositing mode.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseRealize): Only call gtk_widget_queue_draw() when
in accelerated compositing mode.

2:33 AM Changeset in webkit [178502] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.6/Source

Merge r178414 - [GTK] Do not resize the redirected XComposite window when not in accelerated compositing mode
https://bugs.webkit.org/show_bug.cgi?id=140353

Reviewed by Martin Robinson.

We create the redirected XComposite window unconditionally, but
with a size of 1x1 to save memory. However, we are always resizing
it, so in the end we always end up with a XWindow allocated for
the same size of the web view, even for web views that never enter
in accelerated compositing mode.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewRenderAcceleratedCompositingResults): Resize the
RedirectedXCompositeWindow to the current web view size to ensure
the sizes match before drawing.
(resizeWebKitWebViewBaseFromAllocation): Only resize the
RedirectedXCompositeWindow when in accelerated compositing mode.

  • UIProcess/gtk/RedirectedXCompositeWindow.cpp:

(WebKit::RedirectedXCompositeWindow::resize): Return early if the
given size is the current size.

2:28 AM Changeset in webkit [178501] by matthew_hanson@apple.com
  • 8 edits
    2 adds in branches/safari-600.5-branch

Merge r177225. rdar://problem/19424175

2:27 AM Changeset in webkit [178500] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Merged r176879. rdar://problems/19424174

2:27 AM Changeset in webkit [178499] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Merge r176482. rdar://problem/19424172

2:27 AM Changeset in webkit [178498] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Merged r175828. rdar://problems/19424171

2:24 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
2:16 AM Changeset in webkit [178497] by Carlos Garcia Campos
  • 4 edits
    2 adds in releases/WebKitGTK/webkit-2.6

Merge r174946 - ASSERTION FAILED: !gridWasPopulated() in WebCore::RenderGrid::placeItemsOnGrid
https://bugs.webkit.org/show_bug.cgi?id=136939

Reviewed by Darin Adler.

Source/WebCore:

In some particular situations computeIntrinsicLogicalWidths() is called
in the middle of layoutGridItems(). In these cases we do not need to
populate the grid again, so we should avoid calling placeItemsOnGrid().
In addition, we do not need to clean the grid either, as that will be
done later by layoutGridItems().

Test: fast/css-grid-layout/grid-was-populated-assert.html

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::computeIntrinsicLogicalWidths): Avoid calls to
placeItemsOnGrid() and clearGrid() if the grid was already populated.

  • rendering/RenderGrid.h: Move gridWasPopulated() header out of the

debug ifdefs.

LayoutTests:

Added a test case to reproduce the crash in debug mode.

  • fast/css-grid-layout/grid-was-populated-assert-expected.txt: Added.
  • fast/css-grid-layout/grid-was-populated-assert.html: Added.
1:04 AM Changeset in webkit [178496] by mihnea@adobe.com
  • 2 edits in trunk/Source/WebCore

[CSSRegions] Assert failure in RenderBlock::locateFlowThreadContainingBlock when showing the render tree debug info
https://bugs.webkit.org/show_bug.cgi?id=140441

Reviewed by Andrei Bucur.

When showing the render tree debug information for an element inside a flow thread,
we will display the region range information for all the render boxes. To avoid
computation of flow thread containing block in these situations, we will use
only the cached flow thread containing block information.

No new tests as this code path is only touched when using showRenderTree* methods.

  • rendering/RenderObject.cpp:

(WebCore::flowThreadContainingBlockFromRenderer):
(WebCore::RenderObject::showRegionsInformation):

12:53 AM Changeset in webkit [178495] by bshafiei@apple.com
  • 4 edits in branches/safari-600.5-branch/Source

Merged r178378. rdar://problem/19274499

12:51 AM Changeset in webkit [178494] by bshafiei@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Merged r178304. rdar://problem/19447156

12:48 AM Changeset in webkit [178493] by bshafiei@apple.com
  • 10 edits in branches/safari-600.5-branch/Source

Merged r178290. rdar://problem/19441243

12:41 AM Changeset in webkit [178492] by bshafiei@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebKit/mac

Merged r178126. rdar://problem/19412705

12:00 AM Changeset in webkit [178491] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebKit2

Unreviewed. Fix GTK+ build after r178464.

  • UIProcess/API/gtk/WebKitUserContent.cpp:

(_WebKitUserScript::_WebKitUserScript):
(webkitUserScriptGetUserScript):

  • UIProcess/API/gtk/WebKitUserContentPrivate.h:

Jan 14, 2015:

11:59 PM Changeset in webkit [178490] by Simon Fraser
  • 3 edits
    4 adds in trunk

Graphics corruption after Find on some pages
https://bugs.webkit.org/show_bug.cgi?id=140489

Reviewed by Zalan Bujtas.

Source/WebCore:

After doing a Find on http://shop.outlier.cc/shop/retail/chino.html,
garbage could appear on some parts of the page. This is caused by creating
a compositing layer which is marked as opaque, yet failing to paint the entire
layer contents.

This was caused by a bug in RenderBox::computeBackgroundIsKnownToBeObscured()
logic. On the page in question, doing a Find could cause overflow:hidden sections
to get scrolled (since Find can reveal the selection by scrolling overflow).
However, the render tree walking under RenderBox::foregroundIsKnownToBeOpaqueInRect()
fails to take overflow scrolling into account, so gives the wrong answer
in some content configurations. As a result, we'd think that the background
is obscured, and never paint it.

Conservative fix is to have isCandidateForOpaquenessTest() return false
when the content has any non-zero scroll offset.

Tests: compositing/contents-opaque/opaque-with-scrolled.html

fast/backgrounds/opaque-scrolled-paint-background.html

  • rendering/RenderBox.cpp:

(WebCore::isCandidateForOpaquenessTest):

LayoutTests:

Two new tests. The first one just reports that we have an opaque compositing
layer. The second one tests the the user-visible symptom of the missing
background.

  • compositing/contents-opaque/opaque-with-scrolled-expected.txt: Added.
  • compositing/contents-opaque/opaque-with-scrolled.html: Added.
  • fast/backgrounds/opaque-scrolled-paint-background-expected.html: Added.
  • fast/backgrounds/opaque-scrolled-paint-background.html: Added.
11:45 PM Changeset in webkit [178489] by bshafiei@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Merged r173796.

10:50 PM Changeset in webkit [178488] by ap@apple.com
  • 2 edits in trunk/LayoutTests

<rdar://problem/17748495> Multiple compositing tests fail to repaint on WK1

  • platform/mac/TestExpectations: These tests pass now, unmarking.
10:05 PM Changeset in webkit [178487] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Update expectations for what we see on upgraded EWS machines.

  • platform/mac/TestExpectations:
10:00 PM Changeset in webkit [178486] by jer.noble@apple.com
  • 8 edits
    6 adds in trunk

[Mac][MSE] Stalled YouTube playback does not allow display to sleep.
https://bugs.webkit.org/show_bug.cgi?id=140468
rdar://problem/19171162

Reviewed by Eric Carlson.

Source/WebCore:

Test: media/media-source/media-source-stalled-holds-sleep-assertion.html

The unstated convention of MediaPlayerPrivate::paused() is that implementations should
return 'true' if the playback rate is 0. However, MediaPlayerPrivateMediaSourceAVFObjC
was returning 'false' if it was supposed to be playing, regardless of the actual rate.
This caused a check in HTMLMediaElement of whether to release the sleep assertion token
to fail, thinking the media engine was still playing.

Add some testing infrastructure to allow us to test whether the media element is disabling
display sleep from within layout tests.

  • html/HTMLMediaElement.h:

(WebCore::HTMLMediaElement::isDisablingSleep):

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

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::paused):

  • testing/Internals.cpp:

(WebCore::Internals::elementIsBlockingDisplaySleep):

  • testing/Internals.h:
  • testing/Internals.idl:

LayoutTests:

  • media/media-source/content/test-fragmented-manifest.json: Added.
  • media/media-source/content/test-fragmented.mp4: Added.
  • media/media-source/media-source-loader.js: Added.

(MediaSourceLoader):
(MediaSourceLoader.prototype.loadManifest):
(MediaSourceLoader.prototype.loadManifestSucceeded):
(MediaSourceLoader.prototype.loadManifestFailed):
(MediaSourceLoader.prototype.loadMediaData):
(MediaSourceLoader.prototype.loadMediaDataSucceeded):
(MediaSourceLoader.prototype.loadMediaDataFailed):
(MediaSourceLoader.prototype.type):
(MediaSourceLoader.prototype.duration):
(MediaSourceLoader.prototype.initSegment):
(MediaSourceLoader.prototype.mediaSegmentsLength):
(MediaSourceLoader.prototype.mediaSegment):

  • media/media-source/media-source-stalled-holds-sleep-assertion-expected.txt: Added.
  • media/media-source/media-source-stalled-holds-sleep-assertion.html: Added.
7:49 PM Changeset in webkit [178485] by dburkart@apple.com
  • 4 edits in branches/safari-600.5-branch/Source/WebCore

Merged r175615. <rdar://problem/19424167>

7:46 PM Changeset in webkit [178484] by dburkart@apple.com
  • 14 edits in branches/safari-600.5-branch/Source

Merged r175400. <rdar://problem/19424166>

7:36 PM Changeset in webkit [178483] by dburkart@apple.com
  • 22 edits
    2 copies in branches/safari-600.5-branch/Source/WebKit2

Merged r175288. <rdar://problem/19480393>

7:32 PM Changeset in webkit [178482] by dburkart@apple.com
  • 7 edits
    1 copy in branches/safari-600.5-branch/Source/WebKit2

Merged r175188. <rdar://problem/19480522>

7:04 PM Changeset in webkit [178481] by Alan Bujtas
  • 11 edits
    3 adds in trunk/Source/WebCore

Move LayoutFragment and ClipRect to their own files.
https://bugs.webkit.org/show_bug.cgi?id=140457

Reviewed by Simon Fraser.

Move these classes to their own files to to make RenderLayer.h less heavy.

No change in functionality.

  • WebCore.xcodeproj/project.pbxproj:
  • rendering/ClipRect.cpp: Added.

(WebCore::ClipRect::intersects):

  • rendering/ClipRect.h: Added.

(WebCore::ClipRect::ClipRect):
(WebCore::ClipRect::rect):
(WebCore::ClipRect::setRect):
(WebCore::ClipRect::affectedByRadius):
(WebCore::ClipRect::setAffectedByRadius):
(WebCore::ClipRect::operator==):
(WebCore::ClipRect::operator!=):
(WebCore::ClipRect::intersect):
(WebCore::ClipRect::move):
(WebCore::ClipRect::moveBy):
(WebCore::ClipRect::isEmpty):
(WebCore::ClipRect::intersects):
(WebCore::ClipRect::inflateX):
(WebCore::ClipRect::inflateY):
(WebCore::ClipRect::inflate):
(WebCore::intersection):

  • rendering/LayerFragment.h: Added.

(WebCore::LayerFragment::setRects):
(WebCore::LayerFragment::moveBy):
(WebCore::LayerFragment::intersect):

  • rendering/RenderFlowThread.h:
  • rendering/RenderLayer.cpp:

(WebCore::ClipRect::intersects): Deleted.

  • rendering/RenderLayer.h:

(WebCore::ClipRect::ClipRect): Deleted.
(WebCore::ClipRect::rect): Deleted.
(WebCore::ClipRect::setRect): Deleted.
(WebCore::ClipRect::affectedByRadius): Deleted.
(WebCore::ClipRect::setAffectedByRadius): Deleted.
(WebCore::ClipRect::operator==): Deleted.
(WebCore::ClipRect::operator!=): Deleted.
(WebCore::ClipRect::intersect): Deleted.
(WebCore::ClipRect::move): Deleted.
(WebCore::ClipRect::moveBy): Deleted.
(WebCore::ClipRect::isEmpty): Deleted.
(WebCore::ClipRect::intersects): Deleted.
(WebCore::ClipRect::inflateX): Deleted.
(WebCore::ClipRect::inflateY): Deleted.
(WebCore::ClipRect::inflate): Deleted.
(WebCore::intersection): Deleted.
(WebCore::LayerFragment::LayerFragment): Deleted.
(WebCore::LayerFragment::setRects): Deleted.
(WebCore::LayerFragment::moveBy): Deleted.
(WebCore::LayerFragment::intersect): Deleted.

  • rendering/RenderMultiColumnSet.h:
  • rendering/RenderRegion.h:
  • rendering/RenderTreeAsText.cpp:
7:03 PM Changeset in webkit [178480] by matthew_hanson@apple.com
  • 4 edits in branches/safari-600.4-branch/Source

Merged r178378. rdar://problems/19274499

7:03 PM Changeset in webkit [178479] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.4-branch/Source/WebCore

Merge r178304. rdar://problem/19447156

7:03 PM Changeset in webkit [178478] by matthew_hanson@apple.com
  • 10 edits in branches/safari-600.4-branch/Source

Merged r178290. rdar://problems/19441243

7:03 PM Changeset in webkit [178477] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.4-branch/Source/WebKit/mac

Merged r178126. rdar://problems/19412705

6:54 PM Changeset in webkit [178476] by dburkart@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Merged r175333. <rdar://problem/19424165>

6:49 PM Changeset in webkit [178475] by dburkart@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Merged r175332. <rdar://problem/19424161>

6:46 PM Changeset in webkit [178474] by dburkart@apple.com
  • 3 edits in branches/safari-600.5-branch/Source/WebCore

Merged r175331. <rdar://problem/19424160>

6:43 PM Changeset in webkit [178473] by dburkart@apple.com
  • 4 edits in branches/safari-600.5-branch/Source/WebCore

Merged r175284. <rdar://problem/19424157>

6:40 PM Changeset in webkit [178472] by dburkart@apple.com
  • 7 edits in branches/safari-600.5-branch/Source/WebCore

Merged r175000. <rdar://problem/19424156>

6:16 PM Changeset in webkit [178471] by commit-queue@webkit.org
  • 2 edits
    2 moves in trunk/LayoutTests

[EFL] Change expectations for two layout tests.
https://bugs.webkit.org/show_bug.cgi?id=140391

Patch by Andrzej Badowski <a.badowski@samsung.com> on 2015-01-14
Reviewed by Chris Fleizach.

Currently, two layout tests produce positive results for EFL:

  • accessibility/fieldset-element-expected.html
  • accessibility/negative-tabindex-does-not-expose-label.html.
  • accessibility/fieldset-element-expected.txt: Renamed from LayoutTests/platform/gtk/accessibility/fieldset-element-expected.txt.
  • accessibility/negative-tabindex-does-not-expose-label-expected.txt: Renamed from LayoutTests/platform/gtk/accessibility/negative-tabindex-does-not-expose-label-expected.txt.
  • platform/efl/TestExpectations:

Missing markings removed.

6:10 PM Changeset in webkit [178470] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

[Win] Unreviewed build fix after r178459 and r178462.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Add some

missing exports needed by the test infrastructure.

5:29 PM Changeset in webkit [178469] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.3.18

New tag.

5:16 PM Changeset in webkit [178468] by commit-queue@webkit.org
  • 5 edits
    4 deletes in trunk

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

Broke a few MediaSource tests (Requested by JoePeck on
#webkit).

Reverted changeset:

"[MSE] Implement per TrackBuffer buffered."
https://bugs.webkit.org/show_bug.cgi?id=139813
http://trac.webkit.org/changeset/178438

5:11 PM Changeset in webkit [178467] by dburkart@apple.com
  • 12 edits
    8 copies in branches/safari-600.5-branch

Merged r174823. <rdar://problem/19424155>

5:07 PM Changeset in webkit [178466] by dburkart@apple.com
  • 20 edits
    5 copies in branches/safari-600.5-branch

Merged r174402. <rdar://problem/19478358>

4:49 PM Changeset in webkit [178465] by commit-queue@webkit.org
  • 4 edits in trunk/Tools

Create iOS-EWS server queue
https://bugs.webkit.org/show_bug.cgi?id=140473

Patch by Jake Nielsen <jacob_nielsen@apple.com> on 2015-01-14
Reviewed by Benjamin Poulain.

  • QueueStatusServer/app.yaml: Updates the SVN version number.
  • QueueStatusServer/config/queues.py: Add ios-ews queue.
  • QueueStatusServer/model/queues.py:

(Queue.display_name): Makes sure the display name is pretty!

4:35 PM Changeset in webkit [178464] by weinig@apple.com
  • 9 edits
    1 add in trunk/Source/WebKit2

Convert WKUserScript to be an API::Object bridged object
https://bugs.webkit.org/show_bug.cgi?id=140471

Reviewed by Dan Bernstein.

  • Shared/API/APIObject.h:
  • Shared/Cocoa/APIObject.mm:

(API::Object::newObject):
Add Type::UserScript.

  • UIProcess/API/APIUserScript.h: Added.

Add API object for UserScripts.

  • UIProcess/API/Cocoa/WKUserContentController.mm:

(-[WKUserContentController init]):
(-[WKUserContentController userScripts]):
(-[WKUserContentController addUserScript:]):
(-[WKUserContentController removeAllUserScripts]):
(toWebCoreUserScriptInjectionTime): Deleted.

  • UIProcess/UserContent/WebUserContentControllerProxy.cpp:

(WebKit::WebUserContentControllerProxy::WebUserContentControllerProxy):
(WebKit::WebUserContentControllerProxy::addProcess):
(WebKit::WebUserContentControllerProxy::addUserScript):
(WebKit::WebUserContentControllerProxy::removeAllUserScripts):

  • UIProcess/UserContent/WebUserContentControllerProxy.h:

(WebKit::WebUserContentControllerProxy::userScripts):
Store the WKUserScripts in the WebUserContentControllerProxy instead of the
Objective-C layer WKUserContentController, to allow creation of the object
from either the Objective-C or C++ sides.

  • UIProcess/API/Cocoa/WKUserScript.mm:

(generateIdentifier):
(-[WKUserScript initWithSource:injectionTime:forMainFrameOnly:]):
(-[WKUserScript source]):
(-[WKUserScript injectionTime]):
(-[WKUserScript isForMainFrameOnly]):
(-[WKUserScript _apiObject]):

  • UIProcess/API/Cocoa/WKUserScriptInternal.h:

(API::wrapper):
(API::toWebCoreUserScriptInjectionTime):
(API::toWKUserScriptInjectionTime):
Convert to get properties from the API::UserScript.

  • WebKit2.xcodeproj/project.pbxproj:

Add the new file.

4:21 PM Changeset in webkit [178463] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Add per page connection callbacks to the lifetime observer
https://bugs.webkit.org/show_bug.cgi?id=140475

Reviewed by Andreas Kling.

  • UIProcess/WebProcessLifetimeObserver.cpp:

(WebKit::WebProcessLifetimeObserver::addWebPage):
(WebKit::WebProcessLifetimeObserver::removeWebPage):

  • UIProcess/WebProcessLifetimeObserver.h:

(WebKit::WebProcessLifetimeObserver::webPageWillOpenConnection):
(WebKit::WebProcessLifetimeObserver::webPageDidCloseConnection):

4:18 PM Changeset in webkit [178462] by enrica@apple.com
  • 6 edits
    2 adds in trunk

REGRESSION (r165385): Crash when applying autocorrection exceeds maximum text area length.
https://bugs.webkit.org/show_bug.cgi?id=137902
rdar://problem/18568864

Reviewed by Darin Adler.

Source/WebCore:

Test: editing/text-iterator/invalid-subrange.html

characterSubrange should check the iterator position after each advance.
This changed adds a new method to the Internals object to be able to test this.

  • editing/TextIterator.cpp:

(WebCore::characterSubrange):
(WebCore::TextIterator::subrange):
(WebCore::findPlainText):

  • testing/Internals.cpp:

(WebCore::Internals::subrange):

  • testing/Internals.h:
  • testing/Internals.idl:

LayoutTests:

  • editing/text-iterator/invalid-subrange-expected.txt: Added.
  • editing/text-iterator/invalid-subrange.html: Added.
4:01 PM Changeset in webkit [178461] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

Make WebsiteDataStore a WebProcessLifetimeObserver
https://bugs.webkit.org/show_bug.cgi?id=140472

Reviewed by Andreas Kling.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::~WebsiteDataStore):
(WebKit::WebsiteDataStore::removeData):
(WebKit::WebsiteDataStore::addWebPage): Deleted.
(WebKit::WebsiteDataStore::removeWebPage): Deleted.

  • UIProcess/WebsiteData/WebsiteDataStore.h:
3:55 PM Changeset in webkit [178460] by dburkart@apple.com
  • 4 edits in branches/safari-600.5-branch/Source/WebCore

Merged r174652. <rdar://problem/19424154>

3:50 PM Changeset in webkit [178459] by commit-queue@webkit.org
  • 8 edits
    7 adds in trunk

REGRESSION (r154769): Wrong <title> taken as a tooltip for SVG element.
https://bugs.webkit.org/show_bug.cgi?id=139690.

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-01-14
Reviewed by Daniel Bates.

Source/WebCore:

Before r154769, we were calling Traversal<SVGTitleElement>::firstWithin(), which returns
the first immediate SVGTitleElement child. In r154769, Traversal<SVGTitleElement>::firstWithin()
was replaced by descendantsOfType<SVGTitleElement> which returns all descendants SVGTitleElements.
Then we were returning the first element of these descendants, which may not be an immediate
child of the element, as the title of the SVGElement. This was the reason of this bug. The
fix is to use childrenOfType<SVGTitleElement>() instead, which returns the immediate SVGTitleElement
children of an SVGElement.

Also we were not following exactly the specs for the rootmost SVG element's title value.
According to the W3C specs, for stand-alone SVG documents only, the rootmost SVG element
should not return a title. But we were not returning a title for the rootmost SVG element
always. The fix is to return a empty title for the rootmost SVG element only if topDocument()
of the element isSVGDocument().

NOTE: The main SVG specs http://www.w3.org/TR/SVG/interact.html#hit-testing (W3C Recommendation
16 August 2011) and http://www.w3.org/TR/SVG/struct.html#DescriptionAndTitleElements (W3C
Recommendation 16 August 2011) do not say how the tooltip of an SVG element is calculated. But
the SVG tiny specs http://www.w3.org/TR/SVGTiny12/struct.html#uiTitleDescBehavior (W3C
Recommendation 22 December 2008) however explains well the tooltip calculation for the embedded
and the stand-alone SVG cases. And it seems this what we should rely on.

Test: svg/hittest/svg-standalone-tooltip.svg

svg/hittest/svg-embedded-tooltip.html

  • WebCore.exp.in:
  • rendering/HitTestResult.h:

Make HitTestResult::setInnerNode be WEBCORE_EXPORT

  • svg/SVGElement.cpp:

(WebCore::SVGElement::title):
Replace descendantsOfType<SVGTitleElement>() by childrenOfType<SVGTitleElement>().
Fix the title value of the rootmost SVG element.

  • testing/Internals.cpp:

(WebCore::Internals::toolTipFromElement):

  • testing/Internals.h:
  • testing/Internals.idl:

Add a new internal function toolTipFromElement() which returns the tooltip text for a
given element.

LayoutTests:

  • svg/hittest/resources: Added.
  • svg/hittest/resources/svg-tooltip.svg: Added.

Shared resources to be used by the tests.

  • svg/hittest/resources/svg-tooltip.js: Added.

This code mimics the C++ tooltip calculation and compares its result with what the C++
code returns.

  • svg/hittest/svg-embedded-tooltip-expected.txt: Added.
  • svg/hittest/svg-embedded-tooltip.html: Added.

This test ensures that the tooltip text for SVG elements is calculated correctly when
the SVG is embedded in an HTML either through inline <svg> tag or through an <embed>
tag. In both cases, the rootmost SVG element should return the SVG document title.

  • svg/hittest/svg-standalone-tooltip-expected.txt: Added.
  • svg/hittest/svg-standalone-tooltip.svg: Added.

This test ensures that for stand-alone SVG documents, the tooltip text for SVG elements
is calculated correctly. In this case, the rootmost SVG element should not return a
title since the SVG document title will be displayed in the browser chrome.

3:46 PM Changeset in webkit [178458] by bshafiei@apple.com
  • 5 edits in branches/safari-600.3-branch/Source

Versioning.

3:44 PM Changeset in webkit [178457] by dburkart@apple.com
  • 4 edits in branches/safari-600.5-branch/Source/WebCore

Merged r174460. <rdar://problem/19424153>

3:39 PM Changeset in webkit [178456] by dburkart@apple.com
  • 4 edits in branches/safari-600.5-branch/Source/WebCore

Merged r173791. <rdar://problem/19424150>

3:29 PM Changeset in webkit [178455] by Chris Dumez
  • 3 edits in trunk/Source/WebKit2

[WK2][iOS] Add private API to toggle diagnostic logging setting
https://bugs.webkit.org/show_bug.cgi?id=140464

Reviewed by Dan Bernstein.

Add private API to toggle diagnostic logging setting for iOS.
Previously, there was only a WK2 private C API for this.

  • UIProcess/API/Cocoa/WKPreferences.mm:

(-[WKPreferences _diagnosticLoggingEnabled]):
(-[WKPreferences _setDiagnosticLoggingEnabled:]):

  • UIProcess/API/Cocoa/WKPreferencesPrivate.h:
3:28 PM Changeset in webkit [178454] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

Buildfix after r178434
https://bugs.webkit.org/show_bug.cgi?id=140467

Reviewed by Chris Dumez.

  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertPerspective):

3:24 PM Changeset in webkit [178453] by dburkart@apple.com
  • 5 edits in branches/safari-600.5-branch

Merged r173520. <rdar://problem/19424149>

3:17 PM Changeset in webkit [178452] by andersca@apple.com
  • 8 edits in trunk/Source/WebKit2

Switch VisitedLinkProvider over to WebProcessLifetimeObserver
https://bugs.webkit.org/show_bug.cgi?id=140469

Reviewed by Andreas Kling.

  • UIProcess/VisitedLinkProvider.cpp:

(WebKit::VisitedLinkProvider::~VisitedLinkProvider):
(WebKit::VisitedLinkProvider::removeAll):
(WebKit::VisitedLinkProvider::webProcessWillOpenConnection):
(WebKit::VisitedLinkProvider::webProcessDidCloseConnection):
(WebKit::VisitedLinkProvider::pendingVisitedLinksTimerFired):
(WebKit::VisitedLinkProvider::resizeTable):
(WebKit::VisitedLinkProvider::addProcess): Deleted.
(WebKit::VisitedLinkProvider::removeProcess): Deleted.

  • UIProcess/VisitedLinkProvider.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::processDidFinishLaunching):

  • UIProcess/WebProcessLifetimeObserver.cpp:

(WebKit::WebProcessLifetimeObserver::processes):

  • UIProcess/WebProcessLifetimeObserver.h:
  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::disconnect):
(WebKit::WebProcessProxy::addVisitedLinkProvider): Deleted.
(WebKit::WebProcessProxy::didDestroyVisitedLinkProvider): Deleted.

  • UIProcess/WebProcessProxy.h:
3:13 PM Changeset in webkit [178451] by dburkart@apple.com
  • 3 edits in branches/safari-600.5-branch

Merged r173454. <rdar://problem/19424147>

3:04 PM Changeset in webkit [178450] by dburkart@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Merged r173439. <rdar://problem/19424146>

2:53 PM Changeset in webkit [178449] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Build fix for NFAToDFA on ARM

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-01-14

  • contentextensions/NFAToDFA.cpp:

(WebCore::ContentExtensions::UniqueNodeIdSet::UniqueNodeIdSet):
(WebCore::ContentExtensions::UniqueNodeIdSet::isDeletedValue):

2:51 PM Changeset in webkit [178448] by dburkart@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Merged r173337. <rdar://problem/19424143>

2:37 PM Changeset in webkit [178447] by dburkart@apple.com
  • 75 edits
    4 copies
    3 deletes in branches/safari-600.5-branch

Merged r173318. <rdar://problem/19424143>

2:20 PM Changeset in webkit [178446] by dburkart@apple.com
  • 16 edits
    2 copies in branches/safari-600.5-branch/Source/WebCore

Merged r173197. <rdar://problem/19424142>

2:16 PM Changeset in webkit [178445] by dburkart@apple.com
  • 3 edits in branches/safari-600.5-branch/Source/WebCore

Merged r172651. <rdar://problem/19424141>

2:12 PM Changeset in webkit [178444] by dbates@webkit.org
  • 4 edits in trunk/Tools

[iOS] run-webkit-tests --ios hangs trying to launch iOS Simulator with unavailable runtime
https://bugs.webkit.org/show_bug.cgi?id=140301
<rdar://problem/19389266>

Reviewed by Jon Honeycutt.

Fixes an issue where run-webkit-tests --ios will hang when trying to launch iOS Simulator
with an unavailable runtime.

  • Scripts/webkitpy/layout_tests/run_webkit_tests.py:

(_set_up_derived_options): Modified to access property Simulator.latest_available_runtime,
which was formerly called Simulator.latest_runtime. Additionally, raise an exception if the
specified runtime cannot be used because it is unavailable.

  • Scripts/webkitpy/port/ios.py:

(IOSSimulatorPort.testing_device): Modified to call Simulator.lookup_or_create_device(),
which was formerly named testing_device.

  • Scripts/webkitpy/xcode/simulator.py:

(Device.create): Modified to lookup created device by the UDID returned by simctl, which is
more robust than looking up the simulator device by name and runtime. This approach also
avoids returning the wrong device due to <rdar://problem/19444383> (simctl list shows
unavailable runtimes under the same iOS heading it would use to show it as available).
(Simulator.find_device_by_udid): Added.
(Simulator.device): Added optional parameter should_ignore_unavailable_devices (defaults
to False) to ignore devices that are unavailable (say, because their runtime is unavailable).
(Simulator.available_runtimes): Added.
(Simulator.latest_available_runtime): Renamed; formerly named latest_runtime. Take advantage
of the reverse=True argument to sorted() to sort the list of available runtimes such that the
first element of the sorted list is the runtime with the highest version number.
(Simulator.lookup_or_create_device): Renamed; formerly named testing_device.

1:33 PM Changeset in webkit [178443] by dburkart@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Rollout r178440.

1:03 PM Changeset in webkit [178442] by mmirman@apple.com
  • 1 edit
    1 delete in trunk/Source/JavaScriptCore

Removed accidental commit of "invalid_array.js"
http://trac.webkit.org/changeset/178439

  • tests/stress/invalid_array.js: Removed.
1:00 PM Changeset in webkit [178441] by mmirman@apple.com
  • 8 edits
    2 adds in trunk/Source/JavaScriptCore

Fixes operationPutByIdOptimizes such that they check that the put didn't
change the structure of the object who's property access is being
cached. Also removes uses of the new base value from the cache generation code.
https://bugs.webkit.org/show_bug.cgi?id=139500

Reviewed by Filip Pizlo.

  • jit/JITOperations.cpp:

(JSC::operationPutByIdStrictOptimize): saved the structure before the put.
(JSC::operationPutByIdNonStrictOptimize): ditto.
(JSC::operationPutByIdDirectStrictOptimize): ditto.
(JSC::operationPutByIdDirectNonStrictOptimize): ditto.

  • jit/Repatch.cpp:

(JSC::generateByIdStub):
(JSC::tryCacheGetByID):
(JSC::tryBuildGetByIDList):
(JSC::emitPutReplaceStub):
(JSC::emitPutTransitionStubAndGetOldStructure): Added.
(JSC::tryCachePutByID):
(JSC::repatchPutByID):
(JSC::tryBuildPutByIdList):
(JSC::tryRepatchIn):
(JSC::emitPutTransitionStub): Deleted.

  • jit/Repatch.h:
  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • runtime/JSPropertyNameEnumerator.h:

(JSC::genericPropertyNameEnumerator):

  • runtime/Operations.h:

(JSC::normalizePrototypeChainForChainAccess): restructured to not use the base value.
(JSC::normalizePrototypeChain): restructured to not use the base value.

  • tests/mozilla/mozilla-tests.yaml:
  • tests/stress/proto-setter.js: Added.
  • tests/stress/put-by-id-build-list-order-recurse.js: Added.

Added test that fails without this patch.

12:57 PM Changeset in webkit [178440] by dburkart@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Merged r171316. <rdar://problem/19424112>

12:57 PM Changeset in webkit [178439] by mmirman@apple.com
  • 1 add in trunk/Source/JavaScriptCore/tests/stress/invalid_array.js

added invalid_array test

12:36 PM Changeset in webkit [178438] by commit-queue@webkit.org
  • 5 edits
    4 adds in trunk

[MSE] Implement per TrackBuffer buffered.
https://bugs.webkit.org/show_bug.cgi?id=139813.

Patch by Bartlomiej Gajda <b.gajda@samsung.com> on 2015-01-14
Reviewed by Jer Noble.

Source/WebCore:

Added implementation of SourceBuffer buffered() algorithm as per specification,
and caching mechanism called when samples are added, removed, or MediaSource
readyState is changed.

Tests: media/media-source/media-source-multiple-trackBuffers-buffered-in-ended-state.html

media/media-source/media-source-multiple-trackBuffers-buffered.html

  • Modules/mediasource/MediaSource.cpp:

(WebCore::MediaSource::setReadyState):

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::TrackBuffer::TrackBuffer):
(WebCore::SourceBuffer::SourceBuffer):
(WebCore::SourceBuffer::buffered):
(WebCore::SourceBuffer::invalidateBuffered):
(WebCore::SourceBuffer::recalculateBuffered):
(WebCore::SourceBuffer::sourceBufferPrivateAppendComplete):
(WebCore::SourceBuffer::removeCodedFrames):
(WebCore::SourceBuffer::evictCodedFrames):
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample):
(WebCore::SourceBuffer::bufferedAccountingForEndOfStream):
(WebCore::SourceBuffer::hasCurrentTime):

  • Modules/mediasource/SourceBuffer.h:

LayoutTests:

Added tests which checks how buffered behaves for two trackBuffers in single SourceBuffer
after appends, and with MediaSource readyState switching to ended and back to open.

  • media/media-source/media-source-multiple-trackBuffers-buffered-expected.txt: Added.
  • media/media-source/media-source-multiple-trackBuffers-buffered-in-ended-state-expected.txt: Added.
  • media/media-source/media-source-multiple-trackBuffers-buffered-in-ended-state.html: Added.
  • media/media-source/media-source-multiple-trackBuffers-buffered.html: Added.
12:36 PM Changeset in webkit [178437] by dburkart@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Merged r171215. <rdar://problem/19424110>

12:32 PM Changeset in webkit [178436] by benjamin@webkit.org
  • 10 edits
    1 add in trunk/Source/WebCore

Do not create new set for every sub-operation when converting a NFA to DFA
https://bugs.webkit.org/show_bug.cgi?id=140380

Reviewed by Andreas Kling.

This is the first step toward making the NFA-to-DFA conversion more scalable: instead
of creating new sets for each step of the algorithm, we use two kinds of sets
and never do any copy.

The first new tool to do that is UniqueNodeIdSetImpl. It represents a set of NFA state corresponding to a DFA
state. It is unique per DFA state.

HashableNodeIdSet is a helper tool storing a UniqueNodeIdSetImpl.

The creation of new sets now goes like this:
1) Get a NodeIdSet for each possible transition.
2) For each transition:

2a) Extend the NodeIdSet in place with its epsilon closure.
2b) Get the UniqueNodeIdSetImpl corresponding to the new set we discovered.
2c) If the UniqueNodeIdSetImpl is new, queue it for processing.

  • WebCore.xcodeproj/project.pbxproj:
  • contentextensions/ContentExtensionsDebugging.h: Copied from Source/WebCore/contentextensions/DFANode.h.
  • contentextensions/ContentExtensionsBackend.cpp:

(WebCore::ContentExtensions::ContentExtensionsBackend::setRuleList):

  • contentextensions/ContentExtensionsManager.cpp:

(WebCore::ContentExtensions::ExtensionsManager::loadExtension):
Added some logging to inspect more easily what the clients are sending.

  • contentextensions/DFA.cpp:
  • contentextensions/DFA.h:
  • contentextensions/DFANode.h:
  • contentextensions/NFA.cpp:
  • contentextensions/NFA.h:
  • contentextensions/NFAToDFA.cpp:

(WebCore::ContentExtensions::epsilonClosure):
Instead of returning a new HashSet, extend the input HashSet.

(WebCore::ContentExtensions::UniqueNodeIdSetImpl::buffer):
(WebCore::ContentExtensions::UniqueNodeIdSet::UniqueNodeIdSet):
(WebCore::ContentExtensions::UniqueNodeIdSet::operator=):
(WebCore::ContentExtensions::UniqueNodeIdSet::~UniqueNodeIdSet):
(WebCore::ContentExtensions::UniqueNodeIdSet::operator==):
(WebCore::ContentExtensions::UniqueNodeIdSet::impl):
(WebCore::ContentExtensions::UniqueNodeIdSet::hash):
(WebCore::ContentExtensions::UniqueNodeIdSet::isEmptyValue):
(WebCore::ContentExtensions::UniqueNodeIdSet::isDeletedValue):
(WebCore::ContentExtensions::UniqueNodeIdSetHash::hash):
(WebCore::ContentExtensions::UniqueNodeIdSetHash::equal):
UniqueNodeIdSetImpl is a compact representation of a NodeIdSet corresponding to a DFA node.

It is never built directly, it is only built on demand through NodeIdSetToUniqueNodeIdSetTranslator
from a NodeIdSet.

(WebCore::ContentExtensions::NodeIdSetToUniqueNodeIdSetSource::NodeIdSetToUniqueNodeIdSetSource):
(WebCore::ContentExtensions::NodeIdSetToUniqueNodeIdSetTranslator::hash):
(WebCore::ContentExtensions::NodeIdSetToUniqueNodeIdSetTranslator::equal):
(WebCore::ContentExtensions::NodeIdSetToUniqueNodeIdSetTranslator::translate):
(WebCore::ContentExtensions::SetTransitionsExcludingEpsilon::operator[]):
(WebCore::ContentExtensions::SetTransitionsExcludingEpsilon::size):
(WebCore::ContentExtensions::SetTransitionsExcludingEpsilon::begin):
(WebCore::ContentExtensions::SetTransitionsExcludingEpsilon::end):
(WebCore::ContentExtensions::populateTransitionsExcludingEpsilon):
(WebCore::ContentExtensions::NFAToDFA::convert):
(WebCore::ContentExtensions::setTransitionsExcludingEpsilon): Deleted.
(WebCore::ContentExtensions::HashableNodeIdSet::HashableNodeIdSet): Deleted.
(WebCore::ContentExtensions::HashableNodeIdSet::operator=): Deleted.
(WebCore::ContentExtensions::HashableNodeIdSet::isEmptyValue): Deleted.
(WebCore::ContentExtensions::HashableNodeIdSet::isDeletedValue): Deleted.
(WebCore::ContentExtensions::HashableNodeIdSet::nodeIdSet): Deleted.
(WebCore::ContentExtensions::HashableNodeIdSetHash::hash): Deleted.
(WebCore::ContentExtensions::HashableNodeIdSetHash::equal): Deleted.
(WebCore::ContentExtensions::addDFAState): Deleted.

12:16 PM Changeset in webkit [178435] by commit-queue@webkit.org
  • 7 edits
    3 deletes in trunk

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

Caused 20 JSC Test Failures (Requested by JoePeck on #webkit).

Reverted changeset:

"REGRESSION (r174226): Header on huffingtonpost.com is too
large"
https://bugs.webkit.org/show_bug.cgi?id=140306
http://trac.webkit.org/changeset/178432

12:11 PM Changeset in webkit [178434] by Chris Dumez
  • 17 edits in trunk/Source

Make 'TypeName' parameter unnecessary in CSSPropertyNames.in
https://bugs.webkit.org/show_bug.cgi?id=140347

Reviewed by Darin Adler.

Source/WebCore:

Make 'TypeName' parameter unnecessary in CSSPropertyNames.in by:

  • Removing the static_cast to the destination type in the generated StyleBuilder code and let compiler implicitly convert the CSSPrimitiveValue to the setter's argument type.
  • Updating conditional converters to return a WTF::Optional<> instead of returning a boolean and having an output argument passed by reference. This way, we can use "auto" in the generated StyleBuilder code to deduce the return type.
  • css/CSSPropertyNames.in:

Drop TypeName parameter from all properties as it is no longer needed.

  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertGridTrackSize):
(WebCore::StyleBuilderConverter::convertGridPosition):
(WebCore::StyleBuilderConverter::convertWordSpacing):
(WebCore::StyleBuilderConverter::convertPerspective):
(WebCore::StyleBuilderConverter::convertMarqueeIncrement):
(WebCore::StyleBuilderConverter::convertFilterOperations):
(WebCore::StyleBuilderConverter::convertMaskImageOperations):
Update conditional converters to return an Optional<>.

  • css/makeprop.pl:

(generateValueSetter):
Drop support for TypeName, stop using static_cast to destination
type and update the generated code now that the conditional
converters return an Optional.

  • platform/efl/RenderThemeEfl.cpp:

(WebCore::RenderThemeEfl::systemFont):

  • platform/graphics/Font.cpp:

(WebCore::Font::Font):

  • platform/graphics/FontDescription.h:

(WebCore::FontDescription::setIsItalic):
(WebCore::FontDescription::setIsSmallCaps):
(WebCore::FontDescription::setItalic): Deleted.
(WebCore::FontDescription::setSmallCaps): Deleted.

  • rendering/RenderThemeGtk.cpp:

(WebCore::RenderThemeGtk::systemFont):

  • rendering/RenderThemeIOS.mm:

(WebCore::RenderThemeIOS::systemFont):

  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::systemFont):

  • rendering/RenderThemeSafari.cpp:

(WebCore::RenderThemeSafari::systemFont):

  • rendering/RenderThemeWin.cpp:

(WebCore::fillFontDescription):

  • rendering/mathml/RenderMathMLToken.cpp:

(WebCore::RenderMathMLToken::updateStyle):
Now that we call the RenderStyle setters with a CSSPrimitiveValue
and let it be implicitly converted to the right type, instead of
doing an explicit static_cast, two setters on FontDescription
were ambiguous: setItalic() / setSmallCaps(). Rename the overloads
taking a boolean in argument to setIsItalic() / setIsSmallCaps()
to resolve the ambiguity.

Source/WebKit/mac:

Call FontDescription::setIsItalic() instead of setItalic() as the
call site passes a boolean.

  • WebView/WebHTMLView.mm:

(fontNameForDescription):

Source/WebKit/win:

Call FontDescription::setIsItalic() instead of setItalic() as the
call site passes a boolean.

  • WebKitGraphics.cpp:

(makeFont):

11:42 AM Changeset in webkit [178433] by Brian Burg
  • 3 edits in trunk/Source/JavaScriptCore

Web Inspector: Stopwatch ASSERT when continuing inspector
https://bugs.webkit.org/show_bug.cgi?id=138360

Reviewed by Timothy Hatcher.

We were unconditionally resuming the stopwatch even if we never
paused it in the first place. Maintain a flag for whether the
stopwatch was paused when the debugger last paused.

  • inspector/agents/InspectorDebuggerAgent.cpp:

(Inspector::InspectorDebuggerAgent::didPause):
(Inspector::InspectorDebuggerAgent::didContinue):

  • inspector/agents/InspectorDebuggerAgent.h:
11:38 AM Changeset in webkit [178432] by msaboff@apple.com
  • 7 edits
    3 adds in trunk

REGRESSION (r174226): Header on huffingtonpost.com is too large
https://bugs.webkit.org/show_bug.cgi?id=140306

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

BytecodeGenerator::willResolveToArguments() is used to check to see if we can use the
arguments register or whether we need to resolve "arguments". If the arguments have
been captured, then they are stored in the lexical environment and the arguments
register is not used.
Changed BytecodeGenerator::willResolveToArguments() to also check to see if the arguments
register is captured. Renamed the function to willResolveToArgumentsRegister() to
better indicate what we are checking.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::willResolveToArgumentsRegister):
(JSC::BytecodeGenerator::uncheckedLocalArgumentsRegister):
(JSC::BytecodeGenerator::emitCall):
(JSC::BytecodeGenerator::emitConstruct):
(JSC::BytecodeGenerator::emitEnumeration):
(JSC::BytecodeGenerator::willResolveToArguments): Deleted.

  • bytecompiler/BytecodeGenerator.h:
  • bytecompiler/NodesCodegen.cpp:

(JSC::BracketAccessorNode::emitBytecode):
(JSC::DotAccessorNode::emitBytecode):
(JSC::getArgumentByVal):
(JSC::ApplyFunctionCallDotNode::emitBytecode):
(JSC::ArrayPatternNode::emitDirectBinding):

LayoutTests:

Updated js/arguments-iterator to test changing argument to array values.
Removed tests that changed arguments to a string and an object as they were
bogus and didn't test what the appeared to test.
for .. of works on iterable objects only.

Added new regression test, js/regress-140306.

  • js/arguments-iterator-expected.txt:
  • js/regress-140306-expected.txt: Added.
  • js/regress-140306.html: Added.
  • js/script-tests/arguments-iterator.js:

(testEmptyArrayArguments):
(testArrayArguments):
(testOverwrittenArguments): Deleted.
(testNullArguments): Deleted.
(testNonArrayLikeArguments): Deleted.

  • js/script-tests/regress-140306.js: Added.

(checkArgs):
(applyToArgs):

11:08 AM Changeset in webkit [178431] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

[Win] Unreviewed build fix for DebugSuffix target.

  • WebKit.vcxproj/WebKit/WebKit.vcxproj: Correct build flags for DebugSuffix

target to match Release and Debug builds.

11:03 AM Changeset in webkit [178430] by Brent Fulgham
  • 3 edits in trunk/Source/WebKit

[Win] Build fix after r178255.

Correct path to PaintHooks.asm. This causes a build failure if you perform a
clean build from a new subversion checkout.

  • WebKit.vcxproj/WebKit/WebKit.vcxproj:
  • WebKit.vcxproj/WebKit/WebKit.vcxproj.filters:
10:58 AM Changeset in webkit [178429] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.14

New tag.

10:53 AM Changeset in webkit [178428] by bshafiei@apple.com
  • 5 edits in trunk/Source

Versioning.

10:48 AM Changeset in webkit [178427] by msaboff@apple.com
  • 4 edits
    3 adds in trunk

JavaScript identifier incorrectly parsed if the prefix before an escape sequence is a keyword
https://bugs.webkit.org/show_bug.cgi?id=140420

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

Added new function isIdentPartIncludingEscape() that performs the original
isIdentPart() followed by a check for a valid unicode escape. If there is a
unicode escape, its resolved value is checked with isIdentPart().

  • KeywordLookupGenerator.py:

(Trie.printSubTreeAsC):
(Trie.printAsC):

  • parser/Lexer.cpp:

(JSC::isUnicodeEscapeIdentPart):
(JSC::isIdentPartIncludingEscape):

LayoutTests:

New regression test.

  • js/regress-140420-expected.txt: Added.
  • js/regress-140420.html: Added.
  • js/script-tests/regress-140420.js: Added.

(with):
(this):

10:43 AM Changeset in webkit [178426] by jer.noble@apple.com
  • 3 edits
    2 adds in trunk

Null-deref crash when seeking immediately before looping.
https://bugs.webkit.org/show_bug.cgi?id=140394

Reviewed by Eric Carlson.

Source/WebCore:

It is possible for finishSeek() to be called when a seek() has caused a pending seek task
to be scheduled, but before that pending seek task is run. In this case, if a seek request
is issued, the existing pending seek task will not be cancelled, which will cause a crash
when the pending seek task is run.

When checking whether an existing seek task needs to be cancelled, check the actual timer,
rather than the m_seeking boolean, so that this case is covered.

Test: media/video-ended-seek-crash.html

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::seekWithTolerance):

LayoutTests:

  • media/video-ended-seek-crash-expected.txt: Added.
  • media/video-ended-seek-crash.html: Added.
10:39 AM Changeset in webkit [178425] by andersca@apple.com
  • 6 edits in trunk/Source/WebKit2

Add willOpen and didClose member functions to WebProcessLifetimeObserver
https://bugs.webkit.org/show_bug.cgi?id=140449

Reviewed by Andreas Kling.

  • UIProcess/VisitedLinkProvider.cpp:

(WebKit::VisitedLinkProvider::addVisitedLinkHash):
(WebKit::VisitedLinkProvider::webProcessWillOpenConnection):
(WebKit::VisitedLinkProvider::webProcessDidCloseConnection):

  • UIProcess/VisitedLinkProvider.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::close):

  • UIProcess/WebProcessLifetimeObserver.cpp:

(WebKit::WebProcessLifetimeObserver::addWebPage):
(WebKit::WebProcessLifetimeObserver::removeWebPage):

  • UIProcess/WebProcessLifetimeObserver.h:

(WebKit::WebProcessLifetimeObserver::webProcessWillOpenConnection):
(WebKit::WebProcessLifetimeObserver::webProcessDidCloseConnection):

10:25 AM Changeset in webkit [178424] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[Win] Layout Test fast/css/crash-on-custom-cursor-when-loading.html is failing
https://bugs.webkit.org/show_bug.cgi?id=140425

Reviewed by Anders Carlsson.

  • platform/win/CursorWin.cpp:

(WebCore::createSharedCursor): Return nullptr when operating system
cannot support the requested icon specification.
(WebCore::Cursor::ensurePlatformCursor): Check for 'createSharedCursor'
returning nullptr, and fall back to the default icon construction.

10:01 AM Changeset in webkit [178423] by mitz@apple.com
  • 3 edits in trunk/Source/WebKit2

Added availability annotations to some modern Cocoa SPI.

Rubber-stamped by Anders Carlsson.

  • UIProcess/API/Cocoa/WKPreferencesPrivate.h:
  • UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
9:58 AM Changeset in webkit [178422] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Unreviewed gardening.

  • platform/win/TestExpectations: Add a Crash expectation now that

https://bugs.webkit.org/show_bug.cgi?id=140444 has been filed.

8:13 AM Changeset in webkit [178421] by Csaba Osztrogonác
  • 1 edit
    1 delete in trunk/Tools

Remove WK2 Windows cruft
https://bugs.webkit.org/show_bug.cgi?id=140440

Reviewed by Anders Carlsson.

  • WebKitTestRunner/InjectedBundle/win/ActivateFonts.cpp: Removed.
  • WebKitTestRunner/InjectedBundle/win/InjectedBundleWin.cpp: Removed.
  • WebKitTestRunner/InjectedBundle/win/TestRunnerWin.cpp: Removed.
8:10 AM Changeset in webkit [178420] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WTF

Unreviewed fix after r163330.

  • wtf/Platform.h: Use C style comment.
8:09 AM Changeset in webkit [178419] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WTF

C++ style comment was preventing compile if CPU(ARM_NEON)
https://bugs.webkit.org/show_bug.cgi?id=133827

Patch by Marc Juul <juul@sudomesh.org> on 2015-01-14
Reviewed by Csaba Osztrogonác.

  • wtf/Platform.h:
3:54 AM Changeset in webkit [178418] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebCore

REGRESSION(r178367): [GStreamer] Several media tests time out after r178367
https://bugs.webkit.org/show_bug.cgi?id=140437

Reviewed by Philippe Normand.

Add implementation for MediaPlayerPrivate::rate() to GStreamer
media backend.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::rate):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
2:21 AM Changeset in webkit [178417] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

[GTK] Fix build after r178385
https://bugs.webkit.org/show_bug.cgi?id=140429

Patch by Hunseop Jeong <Hunseop Jeong> on 2015-01-14
Reviewed by Csaba Osztrogonác.

  • UIProcess/API/gtk/WebKitUserContentManager.cpp:

(_WebKitUserContentManagerPrivate::_WebKitUserContentManagerPrivate):

2:18 AM Changeset in webkit [178416] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

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

Wrong fix (Requested by KaL on #webkit).

Reverted changeset:

"Unreviewed GTK build fix after r178385."
http://trac.webkit.org/changeset/178412

1:03 AM Changeset in webkit [178415] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

[GTK] Do not schedule a redraw for the redirected XComposite window when not in accelerated compositing mode
https://bugs.webkit.org/show_bug.cgi?id=140354

Reviewed by Martin Robinson.

The RedirectedXCompositeWindow uses XDamage to be notified when
the XWindow has been modified. Since the redirected window is
created unconditionally we always receive a XDamage notify when
the window is mapped, and we schedule a redraw in the web view
even when the web view is not in accelerated compositing mode.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseRealize): Only call gtk_widget_queue_draw() when
in accelerated compositing mode.

1:00 AM Changeset in webkit [178414] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebKit2

[GTK] Do not resize the redirected XComposite window when not in accelerated compositing mode
https://bugs.webkit.org/show_bug.cgi?id=140353

Reviewed by Martin Robinson.

We create the redirected XComposite window unconditionally, but
with a size of 1x1 to save memory. However, we are always resizing
it, so in the end we always end up with a XWindow allocated for
the same size of the web view, even for web views that never enter
in accelerated compositing mode.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewRenderAcceleratedCompositingResults): Resize the
RedirectedXCompositeWindow to the current web view size to ensure
the sizes match before drawing.
(resizeWebKitWebViewBaseFromAllocation): Only resize the
RedirectedXCompositeWindow when in accelerated compositing mode.

  • UIProcess/gtk/RedirectedXCompositeWindow.cpp:

(WebKit::RedirectedXCompositeWindow::resize): Return early if the
given size is the current size.

12:55 AM Changeset in webkit [178413] by Carlos Garcia Campos
  • 4 edits in trunk/Source/WebKit2

REGRESSION(r177075): Flickering when the WebView is realized
https://bugs.webkit.org/show_bug.cgi?id=140352

Reviewed by Martin Robinson.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseRealize): Pass the parent GdkWindow to the
RedirectedXCompositeWindow constructor.

  • UIProcess/gtk/RedirectedXCompositeWindow.cpp:

(WebKit::supportsXDamageAndXComposite): Get the display from the
given GdkWindow.
(WebKit::RedirectedXCompositeWindow::create): Receive a GdkWindow
instead of the Display and sise that is always 1x1.
(WebKit::RedirectedXCompositeWindow::RedirectedXCompositeWindow):
Use the passed in GdkWindow to get the Display, Visual and Depth
instead of using the window as parent and reparent afterwards.

  • UIProcess/gtk/RedirectedXCompositeWindow.h:
12:34 AM Changeset in webkit [178412] by yoon@igalia.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed GTK build fix after r178385.

WebUserContentControllerProxy is not RefCounted anymore.

  • UIProcess/API/gtk/WebKitUserContentManager.cpp:

(_WebKitUserContentManagerPrivate::_WebKitUserContentManagerPrivate):

12:10 AM Changeset in webkit [178411] by commit-queue@webkit.org
  • 82 edits
    2 moves
    2 adds
    10 deletes in trunk

Unreviewed, rolling out r178390, r178392, r178398, r178400,
r178402, and r178410.
https://bugs.webkit.org/show_bug.cgi?id=140431

Way too many failures to skip (Requested by ap_ on #webkit).

Reverted changesets:

"WebGL2: Support webgl2 context creation."
https://bugs.webkit.org/show_bug.cgi?id=126408
http://trac.webkit.org/changeset/178390

"Unreviewed iOS build fix after r178390."
http://trac.webkit.org/changeset/178392

"[Unreviewed] Windows build fix after r178390."
http://trac.webkit.org/changeset/178398

"[Unreviewed] Speculative test fix after r178390."
http://trac.webkit.org/changeset/178400

"[Unreviewed] Skip webgl tests for temporarily."
https://bugs.webkit.org/show_bug.cgi?id=140423
http://trac.webkit.org/changeset/178402

"[EFL] Fix build after r178390"
https://bugs.webkit.org/show_bug.cgi?id=140424
http://trac.webkit.org/changeset/178410

Note: See TracTimeline for information about the timeline view.