⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Dec 15, 2013:

10:53 PM Changeset in webkit [160631] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

Add support for maction@toggle
https://bugs.webkit.org/show_bug.cgi?id=120059

Patch by Frédéric Wang <fred.wang@free.fr> on 2013-12-15
Reviewed by Chris Fleizach.

Source/WebCore:

Test: mathml/presentation/maction-toggle.html

  • mathml/MathMLSelectElement.cpp:

(WebCore::MathMLSelectElement::getSelectedChildAndIndex):
(WebCore::MathMLSelectElement::updateSelectedChild):
(WebCore::MathMLSelectElement::defaultEventHandler):
(WebCore::MathMLSelectElement::willRespondToMouseClickEvents):
(WebCore::MathMLSelectElement::toggle):

  • mathml/MathMLSelectElement.h:

LayoutTests:

  • mathml/presentation/maction-toggle-expected.html: Added.
  • mathml/presentation/maction-toggle.html: Added.
10:39 PM Changeset in webkit [160630] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit2

WebKit2 View Gestures: Can't pinch in past the maximum scale
https://bugs.webkit.org/show_bug.cgi?id=125749

Reviewed by Anders Carlsson.

Pinching in past the maximum scale should result in the zoom resisting, but continuing.

  • UIProcess/mac/ViewGestureController.cpp:

(WebKit::resistanceForDelta):
Clean up the logic and apply resistance to pinching in past the maximum.

(WebKit::ViewGestureController::handleMagnificationGesture):
(WebKit::ViewGestureController::endMagnificationGesture):

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom):

10:34 PM Changeset in webkit [160629] by Darin Adler
  • 2 edits in trunk/Source/WebCore

More nullptr in RenderElement
https://bugs.webkit.org/show_bug.cgi?id=125764

Reviewed by Andreas Kling.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::uncachedFirstLineStyle):
(WebCore::RenderElement::updateShapeImage):
(WebCore::RenderElement::destroyLeftoverChildren):
(WebCore::RenderElement::findNextLayer):
Use nullptr in a few more places.

9:56 PM Changeset in webkit [160628] by rniwa@webkit.org
  • 20 edits
    17 adds
    1 delete in trunk

REGRESSION: 2x regression on Dromaeo DOM query tests
https://bugs.webkit.org/show_bug.cgi?id=125377

Reviewed by Filip Pizlo.

PerformanceTests:

Added a micro-benchmark for updating a named property on document.

  • Bindings/update-name-getter.html: Added.
  • Skipped:

Source/JavaScriptCore:

The bug was caused by JSC not JIT'ing property access on "document" due to its type info having
HasImpureGetOwnPropertySlot flag.

Fixed the bug by new type info flag NewImpurePropertyFiresWatchpoints, which allows the baseline
JIT to generate byte code for access properties on an object with named properties (a.k.a.
custom name getter) in DOM. When a new named property appears on the object, VM is notified via
VM::addImpureProperty and fires StructureStubClearingWatchpoint added during the repatch.

  • bytecode/GetByIdStatus.cpp:

(JSC::GetByIdStatus::computeFromLLInt): Take the slow path if we have any object with impure
properties in the prototype chain.
(JSC::GetByIdStatus::computeForChain): Ditto.

  • jit/Repatch.cpp:

(JSC::repatchByIdSelfAccess): Throw away the byte code when a new impure property is added on any
object in the prototype chain via StructureStubClearingWatchpoint.
(JSC::generateProtoChainAccessStub): Ditto.
(JSC::tryCacheGetByID):
(JSC::tryBuildGetByIDList):
(JSC::tryRepatchIn): Ditto.

  • runtime/JSTypeInfo.h: Added NewImpurePropertyFiresWatchpoints.

(JSC::TypeInfo::newImpurePropertyFiresWatchpoints): Added.

  • runtime/Operations.h:

(JSC::normalizePrototypeChainForChainAccess): Don't exit early if VM will be notified of new
impure property even if the object had impure properties.

  • runtime/Structure.h:

(JSC::Structure::takesSlowPathInDFGForImpureProperty): Added. Wraps hasImpureGetOwnPropertySlot and
asserts that newImpurePropertyFiresWatchpoints is true whenever hasImpureGetOwnPropertySlot is true.

  • runtime/VM.cpp:

(JSC::VM::registerWatchpointForImpureProperty): Added.
(JSC::VM::addImpureProperty): Added. HTMLDocument calls it to notify JSC of a new impure property.

  • runtime/VM.h:

Source/WebCore:

The bug was caused by JSC not JIT'ing property accesses on document because of its having
custom named getter (named properties). This resulted in resolution of methods on document
such as getElementById to happen inside the interpreter.

Fixed the bug by using the new JSC type info flag which tells JSC to JIT property access on
document, and then notifying JSC whenever a new named property appeared on document.

Tests: js/dom/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps-2.html

js/dom/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps-3.html
js/dom/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps-4.html
js/dom/prototype-chain-caching-with-impure-get-own-property-slot-traps-2.html
js/dom/prototype-chain-caching-with-impure-get-own-property-slot-traps-3.html
js/dom/prototype-chain-caching-with-impure-get-own-property-slot-traps-4.html

  • bindings/js/JSDOMBinding.cpp:

(WebCore::addImpureProperty): Wraps VM::addImpureProperty.

  • bindings/js/JSDOMBinding.h:
  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader): Added the support for NewImpurePropertyFiresWatchpoints.

  • bindings/scripts/IDLAttributes.txt: Ditto.
  • html/HTMLDocument.cpp:

(WebCore::HTMLDocument::addDocumentNamedItem): Calls addImpureProperty.

  • html/HTMLDocument.idl: Added NewImpurePropertyFiresWatchpoints.

LayoutTests:

Added more regression tests for throwing away byte code when a new named property appears.

  • js/dom/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps-expected: Rebaselined.
  • js/dom/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps.html: Fixed the test to use dfgShouldBe.
  • js/dom/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps-2-expected.txt: Added.
  • js/dom/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps-2.html: Added.
  • js/dom/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps-3-expected.txt: Added.
  • js/dom/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps-3.html: Added.
  • js/dom/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps-4-expected.txt: Added.
  • js/dom/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps-4.html: Added.
  • js/dom/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps-5-expected.txt: Added.
  • js/dom/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps-5.html: Added.
  • js/dom/prototype-chain-caching-with-impure-get-own-property-slot-traps-2-expected.txt: Added.
  • js/dom/prototype-chain-caching-with-impure-get-own-property-slot-traps-2.html: Added.
  • js/dom/prototype-chain-caching-with-impure-get-own-property-slot-traps-3-expected.txt: Added.
  • js/dom/prototype-chain-caching-with-impure-get-own-property-slot-traps-3.html: Added.
  • js/dom/prototype-chain-caching-with-impure-get-own-property-slot-traps-4-expected.txt: Added.
  • js/dom/prototype-chain-caching-with-impure-get-own-property-slot-traps-4.html: Added.
  • js/dom/prototype-chain-caching-with-impure-get-own-property-slot-traps-5-expected.txt: Added.
  • js/dom/prototype-chain-caching-with-impure-get-own-property-slot-traps-5.html: Added.
  • js/dom/script-tests/dfg-prototype-chain-caching-with-impure-get-own-property-slot-traps.js: Removed.
8:58 PM Changeset in webkit [160627] by commit-queue@webkit.org
  • 5 edits
    2 adds in trunk/Tools

Refactor option handling in WebKitTestRunner.
https://bugs.webkit.org/show_bug.cgi?id=123185

Patch by Tamas Gergely <tgergely.u-szeged@partner.samsung.com> on 2013-12-15
Reviewed by Darin Adler.

Option handling is refactored (according to the FIXME) that allows
to automatically generate the help message.

  • WebKitTestRunner/CMakeLists.txt:
  • WebKitTestRunner/GNUmakefile.am:
  • WebKitTestRunner/Options.cpp: Added.

(WTR::Options::Options):
(WTR::handleOptionTimeout):
(WTR::handleOptionNoTimeout):
(WTR::handleOptionNoTimeoutAtAll):
(WTR::handleOptionVerbose):
(WTR::handleOptionGcBetweenTests):
(WTR::handleOptionPixelTests):
(WTR::handleOptionPrintSupportedFeatures):
(WTR::handleOptionComplexText):
(WTR::handleOptionAcceleratedDrawing):
(WTR::handleOptionRemoteLayerTree):
(WTR::handleOptionUnmatched):
(WTR::OptionsHandler::OptionsHandler):
(WTR::Option::Option):
(WTR::Option::matches):
(WTR::OptionsHandler::parse):
(WTR::OptionsHandler::printHelp):

  • WebKitTestRunner/Options.h: Added.
  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::initialize):

  • WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
8:04 PM Changeset in webkit [160626] by mitz@apple.com
  • 3 edits in trunk/Source/WebKit2

[Cocoa] Expose the certificate chain for the main frame
https://bugs.webkit.org/show_bug.cgi?id=125760

Reviewed by Sam Weinig.

  • UIProcess/API/Cocoa/WKBrowsingContextController.h: Declared certificateChain property.
  • UIProcess/API/Cocoa/WKBrowsingContextController.mm:

(-[WKBrowsingContextController certificateChain]): Added this getter, which calls through
to WebFrameProxy::certificateInfo.

7:28 PM Changeset in webkit [160625] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[WIn] Unreviewed build fix after r160599

  • rendering/RenderMediaControls.cpp:

(WebCore::determineState): RenderObject::theme now returns
a reference.

6:28 PM Changeset in webkit [160624] by Brent Fulgham
  • 3 edits
    2 deletes in trunk/Source

Source/WebCore: [Win] Unreviewed build fix

The build system continues to attempt to build QTMovieWin, even
though it is excluded from the build solution. I'm actually
removing the project files to prevent this.

  • WebCore.vcxproj/QTMovieWin/QTMovieWin.vcxproj: Removed.
  • WebCore.vcxproj/QTMovieWin/QTMovieWin.vcxproj.filters: Removed.

Source/WebKit: [Win] Unreviewed build fix.

  • WebKit.vcxproj/WebKit.sln: Remove reference to QTMovieWin,

which we do not wish to build.

2:34 PM Changeset in webkit [160623] by rwlbuis@webkit.org
  • 5 edits in trunk

[CSS Shapes] shape-outside animation does not handle 'auto' well
https://bugs.webkit.org/show_bug.cgi?id=125700

Reviewed by Dirk Schulze.

Source/WebCore:

Handle the case where we are blending/animating with a null ShapeValue due to 'auto'.

Adapted LayoutTests/fast/shapes/shape-outside-floats/shape-outside-animation.html for testing this.

  • page/animation/CSSPropertyAnimation.cpp:

(WebCore::blendFunc):

LayoutTests:

Test a shape-outside animation where one keyframe uses 'auto'.

  • fast/shapes/shape-outside-floats/shape-outside-animation-expected.txt:
  • fast/shapes/shape-outside-floats/shape-outside-animation.html:
1:13 PM Changeset in webkit [160622] by aestes@apple.com
  • 57 edits in trunk/Source/WebKit/mac

[iOS] Upstream changes to WebKit Public and Private headers
https://bugs.webkit.org/show_bug.cgi?id=125745

Reviewed by Dan Bernstein.

  • Configurations/WebKit.xcconfig: Ignore headers that are completely

excluded on iOS. This prevents empty headers from being installed into
the iOS SDK.

  • DOM/WebDOMOperationsPrivate.h: Upstream iOS changes.
  • History/WebBackForwardListPrivate.h: Ditto.
  • History/WebHistoryItem.h: Ditto.
  • History/WebHistoryItemPrivate.h: Ditto.
  • Misc/WebCache.h: Ditto.
  • Misc/WebIconDatabase.h: Ditto.
  • Misc/WebIconDatabasePrivate.h: Ditto.
  • Misc/WebKitNSStringExtras.h: Ditto.
  • Misc/WebLocalizableStrings.h: Ditto.
  • Misc/WebNSEventExtras.h: Ditto.
  • Misc/WebNSFileManagerExtras.h: Ditto.
  • Misc/WebNSPasteboardExtras.h: Ditto.
  • Misc/WebNSURLExtras.h: Ditto.
  • Misc/WebNSViewExtras.h: Ditto.
  • Misc/WebNSWindowExtras.h: Ditto.
  • Panels/WebPanelAuthenticationHandler.h: Ditto.
  • Plugins/WebPlugin.h: Ditto.
  • Plugins/WebPluginContainer.h: Ditto.
  • Plugins/WebPluginContainerPrivate.h: Ditto.
  • Plugins/WebPluginDatabase.h: Ditto.
  • Plugins/WebPluginPrivate.h: Ditto.
  • Plugins/WebPluginViewFactory.h: Ditto.
  • Plugins/WebPluginsPrivate.h: Ditto.
  • Storage/WebDatabaseManagerPrivate.h: Ditto.
  • WebCoreSupport/WebApplicationCache.h: Ditto.
  • WebCoreSupport/WebJavaScriptTextInputPanel.h: Ditto.
  • WebCoreSupport/WebKeyGenerator.h: Ditto.
  • WebCoreSupport/WebSecurityOriginPrivate.h: Ditto.
  • WebView/WebDashboardRegion.h: Ditto.
  • WebView/WebDataSource.h: Ditto.
  • WebView/WebDataSourcePrivate.h: Ditto.
  • WebView/WebDocument.h: Ditto.
  • WebView/WebDocumentPrivate.h: Ditto.
  • WebView/WebDynamicScrollBarsView.h: Ditto.
  • WebView/WebEditingDelegate.h: Ditto.
  • WebView/WebEditingDelegatePrivate.h: Ditto.
  • WebView/WebFormDelegate.h: Ditto.
  • WebView/WebFrameLoadDelegate.h: Ditto.
  • WebView/WebFramePrivate.h: Ditto.
  • WebView/WebFrameView.h: Ditto.
  • WebView/WebFrameViewPrivate.h: Ditto.
  • WebView/WebHTMLRepresentation.h: Ditto.
  • WebView/WebHTMLView.h: Ditto.
  • WebView/WebHTMLViewPrivate.h: Ditto.
  • WebView/WebPolicyDelegate.h: Ditto.
  • WebView/WebPreferenceKeysPrivate.h: Ditto.
  • WebView/WebPreferences.h: Ditto.
  • WebView/WebPreferencesPrivate.h: Ditto.
  • WebView/WebRenderLayer.h: Ditto.
  • WebView/WebResourceLoadDelegatePrivate.h: Ditto.
  • WebView/WebResourcePrivate.h: Ditto.
  • WebView/WebUIDelegate.h: Ditto.
  • WebView/WebUIDelegatePrivate.h: Ditto.
  • WebView/WebView.h: Ditto.
  • WebView/WebViewPrivate.h: Ditto.
1:08 PM Changeset in webkit [160621] by aestes@apple.com
  • 8 edits in trunk/Source

[iOS] Upstream changes to FeatureDefines.xcconfig
https://bugs.webkit.org/show_bug.cgi?id=125742

Reviewed by Dan Bernstein.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:
10:27 AM Changeset in webkit [160620] by mitz@apple.com
  • 3 edits in trunk/Tools

32-bit build fix.

  • TestWebKitAPI/mac/TestBrowsingContextLoadDelegate.h:
  • TestWebKitAPI/mac/TestBrowsingContextLoadDelegate.mm:
10:16 AM Changeset in webkit [160619] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

Build fix for 32-bit clients.

  • UIProcess/API/Cocoa/WKBrowsingContextLoadDelegate.h:
8:40 AM Changeset in webkit [160618] by Darin Adler
  • 4 edits
    2 adds in trunk

Crash in CSSImageGeneratorValue and RenderScrollbar
https://bugs.webkit.org/show_bug.cgi?id=125702

Reviewed by Alexey Proskuryakov.

Source/WebCore:

This crash had two causes at two different levels. The crash fixes both.

At the RenderScrollbar level, we were setting up a new renderer, a
RenderScrollbarPart, and never calling initializeStyle. This meant that
we did not do proper style setup, which meant we did not end up calling
CSSImageGeneratorValue::addClient and so had a removeClient that was not
properly balanced by an addClient. This is the primary bug.

At the CSSImageGeneratorValue level, the addClient and removeClient
functions were not properly handling possibly-mismatched calls. It was
easy to fix the functions to work even if the calls are not perfectly
matched up, which makes the consequences of a missed addClient call
much less dire, no longer messing up reference counting. Fixing this
mitigates the risk if we made this same mistake elsewhere, although I
could not find any other places with some quick searches.

Test: fast/css/scrollbar-image-crash.html

  • css/CSSImageGeneratorValue.cpp:

(WebCore::CSSImageGeneratorValue::addClient): Only call ref if this will
add the first client.
(WebCore::CSSImageGeneratorValue::removeClient): Only call deref if this
removes the last client. Also added an assertion that can fire if we call
removeClient without first calling addClient, which is illegal. However,
the function handles that case without over-deref'ing itself.

  • rendering/RenderScrollbar.cpp:

(WebCore::RenderScrollbar::updateScrollbarPart): Simplify the logic for
needRenderer a bit. Use initializeStyle rather than setStyle when first
creating the RenderScrollbarPart. Also use add and take properly so we
don't do extra hash lookups the old code did with get/set and get/remove.

LayoutTests:

  • fast/css/scrollbar-image-crash-expected.txt: Added.
  • fast/css/scrollbar-image-crash.html: Added.
4:48 AM Changeset in webkit [160617] by Michał Pakuła vel Rutka
  • 3 edits in trunk/Source/WebKit2

Unreviewed EFL build fix after r160608.

  • UIProcess/WebGrammarDetail.cpp:

(WebKit::WebGrammarDetail::WebGrammarDetail):
(WebKit::WebGrammarDetail::guesses):

  • UIProcess/WebTextCheckerClient.cpp:

(WebKit::WebTextCheckerClient::guessesForWord):

Dec 14, 2013:

10:32 PM Changeset in webkit [160616] by commit-queue@webkit.org
  • 4 edits
    1 copy in trunk/Source/WebKit2

Add page load delegate for WebProcessPlugInBrowsingContextController.
https://bugs.webkit.org/show_bug.cgi?id=125697

Add page load delegate for WebProcessPlugInBrowsingContextController so that a
WebProcess injected bundle can listen to page load events.

Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2013-12-14
Reviewed by Sam Weinig.

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h: Added.
  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.h:
  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:

(didStartProvisionalLoadForFrame):
(didFinishLoadForFrame):
(globalObjectIsAvailableForFrame):
(setUpPageLoaderClient):
(-[WKWebProcessPlugInBrowserContextController loadDelegate]):
(-[WKWebProcessPlugInBrowserContextController setLoadDelegate:]):

10:20 PM Changeset in webkit [160615] by commit-queue@webkit.org
  • 12 edits in trunk/Source/WebCore

CTTE: SVGResourcesCache::cachedResourcesForRenderObject() should take a reference
https://bugs.webkit.org/show_bug.cgi?id=125743

Patch by Sam Weinig <sam@webkit.org> on 2013-12-14
Reviewed by Dan Bernstein.

  • rendering/svg/RenderSVGContainer.cpp:

(WebCore::RenderSVGContainer::selfWillPaint):

  • rendering/svg/RenderSVGImage.cpp:

(WebCore::RenderSVGImage::imageChanged):

  • rendering/svg/RenderSVGResource.cpp:

(WebCore::requestPaintingResource):
(WebCore::removeFromCacheAndInvalidateDependencies):
(WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation):

  • rendering/svg/RenderSVGResourceClipper.cpp:

(WebCore::RenderSVGResourceClipper::applyClippingToContext):

  • rendering/svg/RenderSVGRoot.cpp:

(WebCore::RenderSVGRoot::paintReplaced):

  • rendering/svg/RenderSVGShape.cpp:

(WebCore::RenderSVGShape::shouldGenerateMarkerPositions):
(WebCore::RenderSVGShape::markerRect):
(WebCore::RenderSVGShape::drawMarkers):

  • rendering/svg/SVGRenderSupport.cpp:

(WebCore::invalidateResourcesOfChildren):
(WebCore::SVGRenderSupport::layoutChildren):
(WebCore::SVGRenderSupport::intersectRepaintRectWithResources):
(WebCore::SVGRenderSupport::filtersForceContainerLayout):
(WebCore::SVGRenderSupport::pointInClippingArea):

  • rendering/svg/SVGRenderingContext.cpp:

(WebCore::SVGRenderingContext::prepareToRenderSVGContent):

  • rendering/svg/SVGResourcesCache.cpp:

(WebCore::SVGResourcesCache::cachedResourcesForRenderObject):
(WebCore::SVGResourcesCache::clientLayoutChanged):
(WebCore::SVGResourcesCache::clientDestroyed):

  • rendering/svg/SVGResourcesCache.h:
  • rendering/svg/SVGResourcesCycleSolver.cpp:

(WebCore::SVGResourcesCycleSolver::resourceContainsCycles):

9:56 PM Changeset in webkit [160614] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

[Win] Unreviewed build fix

QTMovieWin should not be build at the moment, but some builders
are continuing to attempt it. This change marks the project
file as excluded from building.

  • WebKit.vcxproj/WebKit.sln: Mark QTMovieWin as excluded from build.
9:41 PM Changeset in webkit [160613] by fpizlo@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

FTL should *really* know when things are flushed
https://bugs.webkit.org/show_bug.cgi?id=125747

Reviewed by Sam Weinig.

Fix more codegen badness. This makes V8v7's crypto am3() function run faster in the FTL
than in DFG. This means that even if we just compile those functions in V8v7 that don't
make calls, the FTL gives us a 2% speed-up over the DFG. That's pretty good considering
that we have still more optimizations to fix and we can make calls work.

  • dfg/DFGSSAConversionPhase.cpp:

(JSC::DFG::SSAConversionPhase::run):

  • ftl/FTLCompile.cpp:

(JSC::FTL::fixFunctionBasedOnStackMaps):

9:29 PM Changeset in webkit [160612] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Disable media tests while we sort out QTSDK issues.
Unreviewed patch to get test bots green

  • platform/win/TestExpectations
8:47 PM Changeset in webkit [160611] by timothy_horton@apple.com
  • 2 edits
    1 add in trunk/Tools

stylebot should warn when FeatureDefines differ
https://bugs.webkit.org/show_bug.cgi?id=125748

Reviewed by Dan Bernstein.

Add a stylebot checker that ensures that FeatureDefines.xcconfig files
are always exactly equal (and warns people adding new FeatureDefines.xcconfig files,
an unlikely occurrance, to add them to the list).

It's a bit nontraditional for stylebot because it will warn on existing errors in the tree,
but that is the most straightforward way to implement it (and we're at zero diffs right now).

  • Scripts/webkitpy/style/checker.py:

(_all_categories):
(FileType):
(CheckerDispatcher._file_type):
(CheckerDispatcher._create_checker):

  • Scripts/webkitpy/style/checkers/featuredefines.py: Added.

(FeatureDefinesChecker):
(FeatureDefinesChecker.init):
(FeatureDefinesChecker.check):

7:08 PM Changeset in webkit [160610] by fpizlo@apple.com
  • 3 edits in branches/jsCStack/Source/JavaScriptCore

FTL should *really* know when things are flushed
https://bugs.webkit.org/show_bug.cgi?id=125747

Not yet reviewed.

Fix more codegen badness. This makes V8v7's crypto am3() function run faster in the FTL
than in DFG. This means that even if we just compile those functions in V8v7 that don't
make calls, the FTL gives us a 2% speed-up over the DFG. That's pretty good considering
that we have still more optimizations to fix and we can make calls work.

  • dfg/DFGSSAConversionPhase.cpp:

(JSC::DFG::SSAConversionPhase::run):

  • ftl/FTLCompile.cpp:

(JSC::FTL::fixFunctionBasedOnStackMaps):

5:16 PM Changeset in webkit [160609] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

[iOS] Implement NetworkProcess::allowSpecificHTTPSCertificateForHost
https://bugs.webkit.org/show_bug.cgi?id=125744

Reviewed by Sam Weinig.

  • NetworkProcess/ios/NetworkProcessIOS.mm:

(WebKit::NetworkProcess::allowSpecificHTTPSCertificateForHost): Implemented by calling
+[NSURLRequest setAllowsSpecificHTTPSCertificate:forHost:].

5:09 PM Changeset in webkit [160608] by weinig@apple.com
  • 43 edits
    1 move in trunk/Source/WebKit2

[WK2] Rename WebString to API::String
https://bugs.webkit.org/show_bug.cgi?id=125726

Reviewed by Anders Carlsson.

  • Shared/API/Cocoa/WKRemoteObjectCoder.mm:
  • Shared/API/Cocoa/WKRemoteObjectRegistry.mm:
  • Shared/API/c/WKPluginInformation.cpp:
  • Shared/API/c/WKSharedAPICast.h:
  • Shared/API/c/WKString.cpp:
  • Shared/API/c/cf/WKStringCF.mm:
  • Shared/APIArray.cpp:
  • Shared/APIArray.h:
  • Shared/APIString.h: Copied from Source/WebKit2/Shared/WebString.h.
  • Shared/Cocoa/WKNSString.h:
  • Shared/Cocoa/WKNSString.mm:
  • Shared/ImmutableDictionary.cpp:
  • Shared/Plugins/Netscape/PluginInformation.cpp:
  • Shared/Plugins/Netscape/mac/PluginInformationMac.mm:
  • Shared/UserData.cpp:
  • Shared/UserMessageCoders.h:
  • Shared/WebArchiveResource.h:
  • Shared/WebOpenPanelParameters.cpp:
  • Shared/WebRenderLayer.cpp:
  • Shared/WebRenderObject.cpp:
  • Shared/WebString.h: Removed.
  • UIProcess/API/C/WKCredential.cpp:
  • UIProcess/API/C/WKDatabaseManager.cpp:
  • UIProcess/API/C/WKPage.cpp:
  • UIProcess/API/C/mac/WKContextPrivateMac.mm:
  • UIProcess/API/Cocoa/WKBrowsingContextGroup.mm:
  • UIProcess/APINavigationData.h:
  • UIProcess/Authentication/WebCredential.h:
  • UIProcess/Notifications/WebNotificationManagerProxy.cpp:
  • UIProcess/Plugins/PlugInAutoStartProvider.cpp:
  • UIProcess/Plugins/WebPluginSiteDataManager.cpp:
  • UIProcess/WebContext.cpp:
  • UIProcess/WebDatabaseManagerProxy.cpp:
  • UIProcess/WebFormClient.cpp:
  • UIProcess/WebLoaderClient.cpp:
  • UIProcess/WebPageGroup.cpp:
  • UIProcess/WebUIClient.cpp:
  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
  • WebProcess/InjectedBundle/InjectedBundle.cpp:
  • WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
  • WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
  • WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
  • WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
4:43 PM Changeset in webkit [160607] by fpizlo@apple.com
  • 2 edits in branches/jsCStack/Source/JavaScriptCore

Unreviewed, revert r156746, "FTL: split overflow checks into non-overflow arithmetic and an additional call to the overflow intrinsic check."

This introduces redundancies that LLVM can't handle. Reverting this change brings the
FTL up to being on-par with the DFG on V8v7/encrypt.

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileAddSub):
(JSC::FTL::LowerDFGToLLVM::compileArithMul):
(JSC::FTL::LowerDFGToLLVM::compileArithNegate):

4:21 PM Changeset in webkit [160606] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

Clean up the project after r160487

  • WebCore.xcodeproj/project.pbxproj: Moved reference to Security.framework from the top

level of the project to the Frameworks group, and made it SDK-relative.

4:11 PM Changeset in webkit [160605] by aestes@apple.com
  • 6 edits in trunk/Source

Unify FeatureDefines.xcconfig
https://bugs.webkit.org/show_bug.cgi?id=125741

Rubber-stamped by Dan Bernstein.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig: Enable ENABLE_MEDIA_SOURCE.

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig: Remove a stray space in

FEATURE_DEFINES.

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig: Remove a space in

FEATURE_DEFINES and fix a typo in ENABLE_CSS3_TEXT_DECORATION.

3:57 PM Changeset in webkit [160604] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

iOS build fix.

  • UIProcess/API/Cocoa/WKBrowsingContextController.h: Declared

observedRenderingProgressEvents as nonatomic.

3:28 PM Changeset in webkit [160603] by mitz@apple.com
  • 3 edits in trunk/Source/WebKit2

[Cocoa] Expose WebContext::allowSpecificHTTPSCertificateForHost
https://bugs.webkit.org/show_bug.cgi?id=125738

Reviewed by Mark Rowe.

  • UIProcess/API/Cocoa/WKProcessGroup.mm:

(-[WKProcessGroup _setAllowsSpecificHTTPSCertificate:forHost:]): Added. Calls through to
WebContext::allowSpecificHTTPSCertificateForHost.

  • UIProcess/API/Cocoa/WKProcessGroupPrivate.h: Declared new method.
3:24 PM Changeset in webkit [160602] by mitz@apple.com
  • 4 edits in trunk/Source/WebKit2

[Cocoa] Expose some layout milestones
https://bugs.webkit.org/show_bug.cgi?id=125721

Reviewed by Sam Weinig.

  • UIProcess/API/Cocoa/WKBrowsingContextController.h:

(WKRenderingProgressEvents): Declared new enum.
(@interface WKBrowsingContextController): Declared new observedRenderingProgressEvents
property.

  • UIProcess/API/Cocoa/WKBrowsingContextController.mm:

(layoutMilestones): Added helper to translate rendering progress events into layout
milestones.
(-[WKBrowsingContextController setObservedRenderingProgressEvents:]): Added this setter.
Sets the ivar and calls WebPageProxy::listenForLayoutMilestones.
(renderingProgressEvents): Added helper to translate layout milestones into rendering
progress events.
(didLayout): Implemented this WKPageLoaderClient callback by calling the load delegate.
(setUpPageLoaderClient): Set the above callback in the client structure.

  • UIProcess/API/Cocoa/WKBrowsingContextLoadDelegate.h: Declared new delegate method.
1:49 PM Changeset in webkit [160601] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

Clarify Owners’ role
https://bugs.webkit.org/show_bug.cgi?id=125739

Reviewed by Anders Carlsson.

  • Owners: Clarify that a patch authored by an Owner does not have to be reviewed by one, as

decided during the 2013 WebKit Contributors Meeting.

1:38 PM Changeset in webkit [160600] by fpizlo@apple.com
  • 31 edits in branches/jsCStack

cStack: Calling into FTL-generated code should be fast
https://bugs.webkit.org/show_bug.cgi?id=125649

Not yet reviewed.

  • assembler/AbstractMacroAssembler.h:
  • bytecode/StructureStubInfo.h:
  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::cachedGetById):
(JSC::DFG::SpeculativeJIT::cachedPutById):

  • ftl/FTLAbbreviations.h:

(JSC::FTL::arrayType):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLCompile.cpp:

(JSC::FTL::fixFunctionBasedOnStackMaps):

  • ftl/FTLExitValue.h:

(JSC::FTL::ExitValue::withVirtualRegister):

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

(JSC::FTL::JITCode::initializeEntrypoint):
(JSC::FTL::JITCode::initializeAddressForCall):
(JSC::FTL::JITCode::addressForCall):
(JSC::FTL::JITCode::executableAddressAtOffset):

  • ftl/FTLJITCode.h:
  • ftl/FTLJITFinalizer.cpp:

(JSC::FTL::JITFinalizer::finalizeFunction):

  • ftl/FTLLink.cpp:

(JSC::FTL::link):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::lower):
(JSC::FTL::LowerDFGToLLVM::compileGetById):
(JSC::FTL::LowerDFGToLLVM::compilePutById):
(JSC::FTL::LowerDFGToLLVM::buildExitArguments):
(JSC::FTL::LowerDFGToLLVM::payloadFor):
(JSC::FTL::LowerDFGToLLVM::tagFor):
(JSC::FTL::LowerDFGToLLVM::addressFor):

  • ftl/FTLOSRExitCompiler.cpp:

(JSC::FTL::compileStub):

  • ftl/FTLOutput.h:

(JSC::FTL::Output::ptrToInt):

  • ftl/FTLSlowPathCall.cpp:

(JSC::FTL::callOperation):

  • ftl/FTLSlowPathCall.h:
  • ftl/FTLState.h:
  • ftl/FTLThunks.cpp:

(JSC::FTL::osrExitGenerationThunkGenerator):

  • ftl/FTLThunks.h:
  • heap/Heap.cpp:

(JSC::Heap::collectIfNecessaryOrDefer):

  • heap/Heap.h:

(JSC::Heap::isDeferred):

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::tagFor):
(JSC::AssemblyHelpers::payloadFor):

  • jit/JITInlineCacheGenerator.cpp:

(JSC::JITByIdGenerator::JITByIdGenerator):
(JSC::JITPutByIdGenerator::JITPutByIdGenerator):

  • jit/JITInlineCacheGenerator.h:

(JSC::JITGetByIdGenerator::JITGetByIdGenerator):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emit_op_get_by_id):
(JSC::JIT::emit_op_put_by_id):

  • jit/Repatch.cpp:

(JSC::tryBuildGetByIDList):
(JSC::emitPutTransitionStub):

  • runtime/JSCJSValue.h:
  • runtime/Options.h:
10:58 AM Changeset in webkit [160599] by akling@apple.com
  • 42 edits in trunk/Source

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

There's always a RenderTheme, and not a single call site was checking
for null pointers anyway. Updated RenderObject::theme() as well.

Reviewed by Antti Koivisto.

10:05 AM Changeset in webkit [160598] by weinig@apple.com
  • 53 edits in trunk/Source/WebCore

CTTE: Convert Element and RenderObject iterator usage to use range-based for loops
https://bugs.webkit.org/show_bug.cgi?id=125731

Reviewed by Andreas Kling.

Perform straight forward conversions. A few stragglers that do odd things remain.

9:53 AM Changeset in webkit [160597] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Small string improvements to JSInjectedScriptHost::type and other bindings
https://bugs.webkit.org/show_bug.cgi?id=125722

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2013-12-14
Reviewed by Timothy Hatcher.

  • bindings/js/JSInjectedScriptHostCustom.cpp:

(WebCore::JSInjectedScriptHost::type):
Use SmallStrings, jsNontrivialString and ASCIILiteral.

  • bindings/js/JSJavaScriptCallFrameCustom.cpp:

(WebCore::JSJavaScriptCallFrame::type):
Use jsNontrivialString.

  • bridge/c/c_instance.cpp:

(JSC::Bindings::CInstance::stringValue):
Use jsNontrivialString and ASCIILiteral.

4:40 AM Changeset in webkit [160596] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

Move a couple of inlines from RenderObject to RenderElement.
<https://webkit.org/b/125734>

Take most of the inline functions on RenderObject that call style()
and move them over to RenderElement where style() is branchless.

Reviewed by Antti Koivisto.

4:39 AM Changeset in webkit [160595] by akling@apple.com
  • 6 edits in trunk/Source/WebCore

RenderElement::rendererForRootBackground() should return a reference.
<https://webkit.org/b/125735>

This function always finds a renderer to return.

Reviewed by Antti Koivisto.

2:13 AM Changeset in webkit [160594] by mrowe@apple.com
  • 4 edits in trunk/Source

Build fix after r160557.

Source/JavaScriptCore:

r160557 added the first generated header to JavaScriptCore that needs to be installed in to
the framework wrapper. Sadly JavaScriptCore's Derived Sources target was not set to generate
headers when invoked as part of the installhdrs action. This resulted in the build failing
due to Xcode being unable to find the header file to install. The fix for this is to configure
the Derived Sources target to use JavaScriptCore.xcconfig, which sets INSTALLHDRS_SCRIPT_PHASE
to YES and allows Xcode to generate derived sources during the installhdrs action.

Enabling INSTALLHDRS_SCRIPT_PHASE required tweaking the Generate Derived Sources script build
phase to skip running code related to offlineasm that depends on JSCLLIntOffsetExtractor
having been compiled, which isn't the case at installhdrs time.

Source/WebCore:

  • Configurations/WebCore.xcconfig: Find JavaScriptCore.framework below SDKROOT so that we'll pick

up the built version in production builds rather than the system version.

1:03 AM Changeset in webkit [160593] by b.long@cablelabs.com
  • 3 edits in trunk/Source/WebCore

[GStreamer] Use GMutexLocker instead of g_mutex_lock
https://bugs.webkit.org/show_bug.cgi?id=125588

Reviewed by Philippe Normand.

No new tests because this is just code simplification.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::MediaPlayerPrivateGStreamerBase::updateTexture):
(WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
(WebCore::MediaPlayerPrivateGStreamerBase::paint):

  • platform/graphics/gstreamer/VideoSinkGStreamer.cpp:

(webkitVideoSinkTimeoutCallback):
(webkitVideoSinkRender):
(unlockBufferMutex):
(webkitVideoSinkUnlockStop):
(webkitVideoSinkStart):

Note: See TracTimeline for information about the timeline view.