Timeline



Jun 15, 2014:

11:54 PM Changeset in webkit [170001] by benjamin@webkit.org
  • 8 edits
    8 adds in trunk

CSS JIT: add support for the :lang() pseudo class
https://bugs.webkit.org/show_bug.cgi?id=133913

Reviewed by Andreas Kling.

Source/WebCore:
The selector is already very expensive to begin with, just implement it with
a function call.

It is also done after every other filter since it is so inefficient.

Tests: fast/selectors/lang-conflict.html

fast/selectors/lang-empty.html
fast/selectors/lang-specificity-xml.xhtml
fast/selectors/lang-specificity.html

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOne):

  • css/SelectorCheckerTestFunctions.h:

(WebCore::matchesLangPseudoClass):

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::SelectorFragment::SelectorFragment):
(WebCore::SelectorCompiler::addPseudoClassType):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsInLanguage):

  • dom/Element.cpp:

(WebCore::Element::computeInheritedLanguage):

  • dom/ElementData.cpp:

(WebCore::ElementData::findLanguageAttribute):

  • dom/ElementData.h:

LayoutTests:

  • fast/selectors/lang-conflict-expected.txt: Added.
  • fast/selectors/lang-conflict.html: Added.
  • fast/selectors/lang-empty-expected.txt: Added.
  • fast/selectors/lang-empty.html: Added.
  • fast/selectors/lang-specificity-expected.txt: Added.
  • fast/selectors/lang-specificity-xml-expected.txt: Added.
  • fast/selectors/lang-specificity-xml.xhtml: Added.
  • fast/selectors/lang-specificity.html: Added.
9:09 PM Changeset in webkit [170000] by mitz@apple.com
  • 38 edits in trunk/Source/WebKit2

Part 1 of Change GenericCallback<> function parameters into std::function<>
https://bugs.webkit.org/show_bug.cgi?id=133927

Reviewed by Sam Weinig.

  • UIProcess/API/C/WKApplicationCacheManager.cpp:

(WKApplicationCacheManagerGetApplicationCacheOrigins):

  • UIProcess/API/C/WKContext.cpp:

(WKContextGetStatistics):
(WKContextGetStatisticsWithOptions):

  • UIProcess/API/C/WKCookieManager.cpp:

(WKCookieManagerGetHostnamesWithCookies):
(WKCookieManagerGetHTTPCookieAcceptPolicy):

  • UIProcess/API/C/WKDatabaseManager.cpp:

(WKDatabaseManagerGetDatabasesByOrigin):
(WKDatabaseManagerGetDatabaseOrigins):

  • UIProcess/API/C/WKFrame.cpp:

(WKFrameGetMainResourceData):
(WKFrameGetResourceData):
(WKFrameGetWebArchive):

  • UIProcess/API/C/WKKeyValueStorageManager.cpp:

(WKKeyValueStorageManagerGetKeyValueStorageOrigins):
(WKKeyValueStorageManagerGetStorageDetailsByOrigin):

  • UIProcess/API/C/WKMediaCacheManager.cpp:

(WKMediaCacheManagerGetHostnamesWithMediaCache):

  • UIProcess/API/C/WKOriginDataManager.cpp:

(WKOriginDataManagerGetOrigins):

  • UIProcess/API/C/WKPluginSiteDataManager.cpp:

(WKPluginSiteDataManagerGetSitesWithData):

  • UIProcess/API/C/WKResourceCacheManager.cpp:

(WKResourceCacheManagerGetCacheOrigins):

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _getWebArchiveDataWithCompletionHandler:]):

  • UIProcess/API/mac/WKView.mm:

(-[WKView attributedSubstringForProposedRange:completionHandler:]):

  • UIProcess/Plugins/WebPluginSiteDataManager.cpp:

(WebKit::WebPluginSiteDataManager::getSitesWithData):

  • UIProcess/Plugins/WebPluginSiteDataManager.h:
  • UIProcess/WebApplicationCacheManagerProxy.cpp:

(WebKit::WebApplicationCacheManagerProxy::getApplicationCacheOrigins):

  • UIProcess/WebApplicationCacheManagerProxy.h:
  • UIProcess/WebContext.cpp:

(WebKit::WebContext::getStatistics):

  • UIProcess/WebContext.h:
  • UIProcess/WebCookieManagerProxy.cpp:

(WebKit::WebCookieManagerProxy::getHostnamesWithCookies):
(WebKit::WebCookieManagerProxy::getHTTPCookieAcceptPolicy):

  • UIProcess/WebCookieManagerProxy.h:
  • UIProcess/WebDatabaseManagerProxy.cpp:

(WebKit::WebDatabaseManagerProxy::getDatabasesByOrigin):
(WebKit::WebDatabaseManagerProxy::getDatabaseOrigins):

  • UIProcess/WebDatabaseManagerProxy.h:
  • UIProcess/WebFrameProxy.cpp:

(WebKit::WebFrameProxy::getWebArchive):
(WebKit::WebFrameProxy::getMainResourceData):
(WebKit::WebFrameProxy::getResourceData):

  • UIProcess/WebFrameProxy.h:
  • UIProcess/WebKeyValueStorageManager.cpp:

(WebKit::WebKeyValueStorageManager::getKeyValueStorageOrigins):
(WebKit::WebKeyValueStorageManager::getStorageDetailsByOrigin):

  • UIProcess/WebKeyValueStorageManager.h:
  • UIProcess/WebMediaCacheManagerProxy.cpp:

(WebKit::WebMediaCacheManagerProxy::getHostnamesWithMediaCache):

  • UIProcess/WebMediaCacheManagerProxy.h:
  • UIProcess/WebOriginDataManagerProxy.cpp:

(WebKit::WebOriginDataManagerProxy::getOrigins):

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

(WebKit::WebPageProxy::getMainResourceDataOfFrame):
(WebKit::WebPageProxy::getResourceDataFromFrame):
(WebKit::WebPageProxy::getWebArchiveOfFrame):

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

(WebKit::WebResourceCacheManagerProxy::getCacheOrigins):

  • UIProcess/WebResourceCacheManagerProxy.h:
  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView changeSelectionWithGestureAt:withGesture:withState:]):
(-[WKContentView changeSelectionWithTouchesFrom:to:withGesture:withState:]):

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::selectWithGesture):
(WebKit::WebPageProxy::selectWithTwoTouches):

  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::attributedSubstringForCharacterRangeAsync):

9:08 PM Changeset in webkit [169999] by mitz@apple.com
  • 2 edits in trunk/Source/WTF

iOS build fix after r169995.

  • wtf/RetainPtr.h:
8:23 PM Changeset in webkit [169998] by mitz@apple.com
  • 7 edits in trunk/Source/WebKit2

<rdar://problem/17291697> [Cocoa] Can’t tell at policy decision time whether WebKit can handle the request
https://bugs.webkit.org/show_bug.cgi?id=133930

Reviewed by Sam Weinig.

  • Shared/NavigationActionData.cpp:

(WebKit::NavigationActionData::NavigationActionData): Initialize new member canHandleRequest
to false.
(WebKit::NavigationActionData::encode): Encode canHandleRequest.
(WebKit::NavigationActionData::decode): Decode it.

  • Shared/NavigationActionData.h: Declared new boolean member canHandleRequest.
  • UIProcess/API/Cocoa/WKNavigationAction.mm:

(-[WKNavigationAction _initWithNavigationActionData:]): Set new ivar _canHandleRequest from
the action data.
(-[WKNavigationAction _canHandleRequest]): Added this getter.

  • UIProcess/API/Cocoa/WKNavigationActionPrivate.h: Declared new property _canHandleRequest.
  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::createWindow): Set canHandleRequest in the NavigationActionData.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction): Ditto.
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): Ditto.

6:45 PM Changeset in webkit [169997] by ryuan.choi@samsung.com
  • 10 edits in trunk

[EFL][WK2] Change ewk_view_settings_get to ewk_page_group_settings_get
https://bugs.webkit.org/show_bug.cgi?id=133841

Reviewed by Gyuyoung Kim.

Source/WebKit2:
Ewk_Settings object is a member of Ewk_Page_Group.
So, Ewk_Page_Group is better place for the getter of Ewk_Settings.

  • UIProcess/API/efl/ewk_page_group.cpp:

(ewk_page_group_settings_get): Added instead of ewk_view_settings_get.

  • UIProcess/API/efl/ewk_page_group.h:
  • UIProcess/API/efl/ewk_view.cpp:

(ewk_view_settings_get): Deleted.

  • UIProcess/API/efl/ewk_view.h:
  • UIProcess/API/efl/tests/test_ewk2_page_group.cpp:

(TEST_F):

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

(TEST_F):

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

(TEST_F): Deleted.

Tools:

  • MiniBrowser/efl/main.c:

(window_create):

4:38 PM Changeset in webkit [169996] by mitz@apple.com
  • 2 edits in trunk/Tools

Set the svn:ignore property on an Xcode project to ignore user and workspace data.

  • jsc-cli/jsc-cli.xcodeproj: Added property svn:ignore.
4:16 PM Changeset in webkit [169995] by andersca@apple.com
  • 14 edits in trunk/Source

Add an autorelease() member function to RetainPtr
https://bugs.webkit.org/show_bug.cgi?id=133929

Reviewed by Dan Bernstein.

Source/WebCore:

  • bindings/objc/DOM.mm:

(-[DOMNode renderedImage]):
(-[DOMRange renderedImageForcingBlackText:renderedImageForcingBlackText:]):

  • bindings/objc/DOMUIKitExtensions.mm:

(-[DOMHTMLImageElement dataRepresentation:]):

  • platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:

(-[WebCoreResourceHandleAsOperationQueueDelegate connection:willSendRequest:redirectResponse:]):
(-[WebCoreResourceHandleAsOperationQueueDelegate connection:willCacheResponse:]):

Source/WebKit/mac:

  • WebView/WebDataSource.mm:

(-[WebDataSource data]):

  • WebView/WebHTMLView.mm:

(-[WebHTMLView _selectionDraggingImage]):
(-[WebHTMLView selectionImageForcingBlackText:selectionImageForcingBlackText:]):

  • WebView/WebResource.mm:

(-[WebResource data]):

Source/WebKit2:

  • Shared/API/Cocoa/_WKRemoteObjectRegistry.mm:

(-[_WKRemoteObjectRegistry remoteObjectProxyWithInterface:]):

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView navigationDelegate]):
(-[WKWebView UIDelegate]):
(-[WKWebView loadRequest:]):
(-[WKWebView loadHTMLString:baseURL:]):
(-[WKWebView goToBackForwardListItem:]):
(-[WKWebView goBack]):
(-[WKWebView goForward]):
(-[WKWebView reload]):
(-[WKWebView reloadFromOrigin]):
(-[WKWebView _historyDelegate]):

  • WebProcess/WebPage/mac/PlatformCAAnimationRemote.mm:

(WebKit::animationValueFromKeyframeValue):

Source/WTF:

  • wtf/RetainPtr.h:
1:50 PM Changeset in webkit [169994] by mitz@apple.com
  • 5 edits in trunk/Source/WebKit2

Get rid of VoidAPICallback
https://bugs.webkit.org/show_bug.cgi?id=133928

Reviewed by Sam Weinig.

  • UIProcess/API/C/WKPage.cpp:

(WKPageForceRepaint): Wrap the API callback in a generic callback here.

  • UIProcess/API/C/WKPluginSiteDataManager.cpp:

(WKPluginSiteDataManagerClearSiteData): Ditto.
(WKPluginSiteDataManagerClearAllSiteData): Ditto.

  • UIProcess/GenericCallback.h:

(WebKit::GenericCallback::performCallback): Added this helper for 0-argument callbacks.
(WebKit::VoidCallback::create): Deleted.
(WebKit::VoidCallback::~VoidCallback): Deleted.
(WebKit::VoidCallback::performCallback): Deleted.
(WebKit::VoidCallback::invalidate): Deleted.
(WebKit::VoidCallback::VoidCallback): Deleted.
(WebKit::VoidAPICallback::create): Deleted.

  • UIProcess/mac/WKFullScreenWindowController.h:
12:35 PM Changeset in webkit [169993] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed build fix for the GTK+ port after r169990.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::resetState): Pass the error value to
the rest of invalidateCallbackMap calls.

12:12 PM Changeset in webkit [169992] by andersca@apple.com
  • 2 edits in trunk/Tools

Fix build.

  • TestWebKitAPI/Tests/WebKit2ObjC/UserContentTest.mm:

(callRunJavaScriptBlockAndRelease):
(runJavaScriptInMainFrame):
(TEST_F):

11:23 AM Changeset in webkit [169991] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Remove WKPageRunJavaScriptInMainFrame_b
https://bugs.webkit.org/show_bug.cgi?id=133926

Reviewed by Dan Bernstein.

  • UIProcess/API/C/WKPage.cpp:

(callRunJavaScriptBlockAndRelease): Deleted.
(WKPageRunJavaScriptInMainFrame_b): Deleted.

  • UIProcess/API/C/WKPage.h:
11:07 AM Changeset in webkit [169990] by andersca@apple.com
  • 12 edits in trunk/Source/WebKit2

invalidateCallbackMap doesn’t pass the error parameter on to invalidate(), so script completion handler is passed the wrong error
https://bugs.webkit.org/show_bug.cgi?id=133921
<rdar://problem/17316653>

Reviewed by Dan Bernstein.

  • UIProcess/GenericCallback.h:

(WebKit::VoidCallback::performCallback):
(WebKit::VoidCallback::invalidate):
(WebKit::VoidAPICallback::create):
(WebKit::invalidateCallbackMap):

  • UIProcess/Plugins/WebPluginSiteDataManager.cpp:

(WebKit::WebPluginSiteDataManager::invalidate):
(WebKit::WebPluginSiteDataManager::clearSiteData):

  • UIProcess/WebApplicationCacheManagerProxy.cpp:

(WebKit::WebApplicationCacheManagerProxy::contextDestroyed):
(WebKit::WebApplicationCacheManagerProxy::processDidClose):

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::~WebContext):

  • UIProcess/WebCookieManagerProxy.cpp:

(WebKit::WebCookieManagerProxy::contextDestroyed):
(WebKit::WebCookieManagerProxy::processDidClose):

  • UIProcess/WebDatabaseManagerProxy.cpp:

(WebKit::WebDatabaseManagerProxy::contextDestroyed):
(WebKit::WebDatabaseManagerProxy::processDidClose):

  • UIProcess/WebMediaCacheManagerProxy.cpp:

(WebKit::WebMediaCacheManagerProxy::contextDestroyed):
(WebKit::WebMediaCacheManagerProxy::processDidClose):

  • UIProcess/WebOriginDataManagerProxy.cpp:

(WebKit::WebOriginDataManagerProxy::contextDestroyed):
(WebKit::WebOriginDataManagerProxy::processDidClose):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::forceRepaint):
(WebKit::WebPageProxy::resetState):

  • UIProcess/WebResourceCacheManagerProxy.cpp:

(WebKit::WebResourceCacheManagerProxy::contextDestroyed):
(WebKit::WebResourceCacheManagerProxy::processDidClose):

  • UIProcess/mac/WKFullScreenWindowController.mm:

(-[WKFullScreenWindowController dealloc]):
(-[WKFullScreenWindowController finishedExitFullScreenAnimation:]):

9:33 AM Changeset in webkit [169989] by andersca@apple.com
  • 4 edits in trunk/Source/WebCore

Adopt HTTPHeaderName in ResourceResponseBase
https://bugs.webkit.org/show_bug.cgi?id=133919

Reviewed by Sam Weinig.

  • platform/network/HTTPHeaderNames.in:
  • platform/network/ResourceResponseBase.cpp:

(WebCore::ResourceResponseBase::updateHeaderParsedState):
(WebCore::ResourceResponseBase::setHTTPHeaderField):
(WebCore::ResourceResponseBase::addHTTPHeaderField):
(WebCore::ResourceResponseBase::parseCacheControlDirectives):
(WebCore::ResourceResponseBase::hasCacheValidatorFields):
(WebCore::parseDateValueInHeader):
(WebCore::ResourceResponseBase::date):
(WebCore::ResourceResponseBase::age):
(WebCore::ResourceResponseBase::expires):
(WebCore::ResourceResponseBase::lastModified):
(WebCore::ResourceResponseBase::isAttachment):

  • platform/network/ResourceResponseBase.h:
4:04 AM Changeset in webkit [169988] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed build fix for the GTK+ port after r169987.

  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkit_web_view_can_execute_editing_command): The first passed-in parameter
is now a reference to a const String object.

Jun 14, 2014:

7:10 PM Changeset in webkit [169987] by mitz@apple.com
  • 5 edits in trunk/Source/WebKit2

Replace StringImpl* callback parameters with const String&
https://bugs.webkit.org/show_bug.cgi?id=133922

Reviewed by Sam Weinig.

  • UIProcess/API/C/WKPage.cpp:

(toGenericCallbackFunction): Added this helper function to wrap a WKStringRef-returning
API callback in a generic const String&-returning callback.
(WKPageRenderTreeExternalRepresentation):
(WKPageGetSourceForFrame):
(WKPageGetContentsAsString):
(WKPageGetBytecodeProfile):
(WKPageValidateCommand):

  • UIProcess/API/mac/WKView.mm:

(-[WKView validateUserInterfaceItem:]):
(-[WKView startSpeaking:]):

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

(-[WKContentView _define:]):
(-[WKContentView applyAutocorrection:toString:withCompletionHandler:]):

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

Additional iOS build fix.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _define:]):
(selectionChangedWithGesture):
(selectionChangedWithTouch):
(-[WKContentView changeSelectionWithGestureAt:withGesture:withState:]):
(-[WKContentView changeSelectionWithTouchAt:withSelectionTouch:baseIsStart:]):
(-[WKContentView changeSelectionWithTouchesFrom:to:withGesture:withState:]):
(-[WKContentView applyAutocorrection:toString:withCompletionHandler:]):

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

iOS build fix.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _snapshotRect:intoImageOfWidth:completionHandler:]):

4:11 PM Changeset in webkit [169984] by mitz@apple.com
  • 14 edits in trunk/Source/WebKit2

Get rid of GenericAPICallback
https://bugs.webkit.org/show_bug.cgi?id=133909

Reviewed by Sam Weinig.

In preparation for passing callbacks as functions, replace GenericAPICallback::create, which
returned a GenericCallback, with a function template that returns an appropriate callback
function.

  • UIProcess/API/C/WKApplicationCacheManager.cpp:

(WKApplicationCacheManagerGetApplicationCacheOrigins):

  • UIProcess/API/C/WKContext.cpp:

(WKContextGetStatistics):
(WKContextGetStatisticsWithOptions):

  • UIProcess/API/C/WKCookieManager.cpp:

(WKCookieManagerGetHostnamesWithCookies):
(WKCookieManagerGetHTTPCookieAcceptPolicy):

  • UIProcess/API/C/WKDatabaseManager.cpp:

(WKDatabaseManagerGetDatabasesByOrigin):
(WKDatabaseManagerGetDatabaseOrigins):

  • UIProcess/API/C/WKFrame.cpp:

(WKFrameGetMainResourceData):
(WKFrameGetResourceData):
(WKFrameGetWebArchive):

  • UIProcess/API/C/WKKeyValueStorageManager.cpp:

(WKKeyValueStorageManagerGetKeyValueStorageOrigins):
(WKKeyValueStorageManagerGetStorageDetailsByOrigin):

  • UIProcess/API/C/WKMediaCacheManager.cpp:

(WKMediaCacheManagerGetHostnamesWithMediaCache):

  • UIProcess/API/C/WKOriginDataManager.cpp:

(WKOriginDataManagerGetOrigins):

  • UIProcess/API/C/WKPage.cpp:

(WKPageRunJavaScriptInMainFrame):
(WKPageRenderTreeExternalRepresentation):
(WKPageGetSourceForFrame):
(WKPageGetContentsAsString):
(WKPageGetBytecodeProfile):
(WKPageGetSelectionAsWebArchiveData):
(WKPageGetContentsAsMHTMLData):
(WKPageDrawPagesToPDF):

  • UIProcess/API/C/WKPluginSiteDataManager.cpp:

(WKPluginSiteDataManagerGetSitesWithData):

  • UIProcess/API/C/WKResourceCacheManager.cpp:

(WKResourceCacheManagerGetCacheOrigins):

  • UIProcess/GenericCallback.h:

(WebKit::toGenericCallbackFunction): Added. Given a C SPI callback function, returns a generic
callback function that wraps it.

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

Reverted the last change, which broken the Mac build.

  • UIProcess/GenericCallback.h:

(WebKit::invalidateCallbackMap):

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

Tried to fix the GTK build.

  • UIProcess/GenericCallback.h:

(WebKit::invalidateCallbackMap):

2:35 PM Changeset in webkit [169981] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Simplify ResourceRequest constructors
https://bugs.webkit.org/show_bug.cgi?id=133911

Reviewed by Sam Weinig.

  • platform/network/cf/ResourceRequest.h:

(WebCore::ResourceRequest::ResourceRequest):

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

Fix the ARM64 build

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::SelectorCodeGenerator::addFlagsToElementStyleFromContext):

1:38 PM Changeset in webkit [169979] by weinig@apple.com
  • 12 edits in trunk/Source

Store DOM constants directly in the JS object rather than jumping through a custom accessor
https://bugs.webkit.org/show_bug.cgi?id=133898

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

  • runtime/Lookup.h:

(JSC::HashTableValue::attributes):
Switch attributes to be stored as an unsigned rather than an unsigned char, since there is no difference in memory use
and will make adding more flags possibles.

(JSC::HashTableValue::propertyGetter):
(JSC::HashTableValue::propertyPutter):
Change assertion to use BuiltinOrFunctionOrConstant.

(JSC::HashTableValue::constantInteger):
Added.

(JSC::getStaticPropertySlot):
(JSC::getStaticValueSlot):
Use PropertySlot::setValue() for constants during static lookup.

(JSC::reifyStaticProperties):
Put the constant directly on the object when eagerly reifying.

  • runtime/PropertySlot.h:

Add ConstantInteger flag and BuiltinOrFunctionOrConstant helper.

Source/WebCore:
Instead of implementing constants as custom accessors that just happen to return a value,
we now store the constant directly in the HashTableValue array (where the GetValueFunc used
to be).

  • For the case where the constant is accessed via the static table (still in use for instances and some prototypes), the static lookup function will set the value on the property slot, instead of passing a function pointer.
  • For the case where the constant is eagerly reified (most prototypes and all constructors) the constant is put directly in the object.

In micro benchmarks this looks to be around a 4x speedup on the use of DOM constants.

This also removes support for constant strings in IDL, which we had no uses of.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader):
Remove code to generate forward declaration of constant accessor functions.

(GenerateImplementation):
Remove code to generate implementation of constant accessor functions.

(GenerateHashTableValueArray):
Plant the constant directly in the value array.

  • bindings/scripts/IDLParser.pm:

(parseConstValue):
Remove support for constant strings.

  • bindings/scripts/test/JS/JSTestInterface.cpp:
  • bindings/scripts/test/JS/JSTestInterface.h:
  • bindings/scripts/test/JS/JSTestObj.cpp:
  • bindings/scripts/test/JS/JSTestObj.h:
  • bindings/scripts/test/ObjC/DOMTestObj.h:
  • bindings/scripts/test/TestObj.idl:

Update test results.

1:33 PM Changeset in webkit [169978] by andersca@apple.com
  • 3 edits in trunk/Source/WebCore

Simplify Document::processHttpEquiv
https://bugs.webkit.org/show_bug.cgi?id=133910

Reviewed by Andreas Kling.

  • dom/Document.cpp:

(WebCore::Document::processHttpEquiv):

  • platform/network/HTTPHeaderNames.in:
12:39 PM Changeset in webkit [169977] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

GCController should return FastMalloc memory to the system.
<https://webkit.org/b/133884>

Reviewed by Anders Carlsson.

Speculative test fix; I'm kinda suspecting that some tests are reporting
more memory used because we did a GC but didn't get around to returning
free pages to the system yet.

  • bindings/js/GCController.cpp:

(WebCore::GCController::garbageCollectNow):

12:13 PM Changeset in webkit [169976] by zandobersek@gmail.com
  • 4 edits in trunk/Source/WebCore

Generate HTTP header names that are required by WebKitWebSrc
https://bugs.webkit.org/show_bug.cgi?id=133906

Reviewed by Anders Carlsson.

WebKitWebSrc implementation sets icy-metadata and transferMode.dlna HTTP headers
on ResourceRequest objects. The two headers are added to HTTPHeaderNames.in, and
a small tweak is added to the generator script to avoid the dot in the second
header's name (which would otherwise generate invalid C++).

  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:

(webKitWebSrcStart):

  • platform/network/HTTPHeaderNames.in:
  • platform/network/create-http-header-name-table:
12:10 PM Changeset in webkit [169975] by andersca@apple.com
  • 5 edits in trunk/Source/WebCore

Replace some uses of ResourceRequestBase::addHTTPHeaderField with setHTTPHeaderField
https://bugs.webkit.org/show_bug.cgi?id=133907

Reviewed by Andreas Kling.

  • Modules/websockets/WebSocketHandshake.cpp:

(WebCore::WebSocketHandshake::clientHandshakeRequest):

  • platform/network/HTTPHeaderNames.in:
  • platform/network/cf/ResourceHandleCFNet.cpp:

(WebCore::applyBasicAuthorizationHeader):

  • platform/network/mac/ResourceHandleMac.mm:

(WebCore::applyBasicAuthorizationHeader):

10:49 AM Changeset in webkit [169974] by andersca@apple.com
  • 15 edits in trunk/Source/WebCore

Add a ResourceRequestBase::setHTTPHeaderField overload that takes a HTTPHeaderName
https://bugs.webkit.org/show_bug.cgi?id=133881

Reviewed by Sam Weinig.

  • WebCore.exp.in:
  • fileapi/FileReaderLoader.cpp:

(WebCore::FileReaderLoader::start):

  • inspector/InspectorResourceAgent.cpp:

(WebCore::InspectorResourceAgent::willSendRequest):

  • loader/CrossOriginAccessControl.cpp:

(WebCore::createAccessControlPreflightRequest):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::addExtraFieldsToRequest):

  • loader/PingLoader.cpp:

(WebCore::PingLoader::loadImage):
(WebCore::PingLoader::sendPing):

  • loader/appcache/ApplicationCacheGroup.cpp:

(WebCore::ApplicationCacheGroup::createResourceHandle):

  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::load):

  • page/EventSource.cpp:

(WebCore::EventSource::connect):

  • platform/network/BlobResourceHandle.cpp:

(WebCore::BlobResourceHandle::doStart):

  • platform/network/HTTPHeaderNames.in:
  • platform/network/ResourceRequestBase.cpp:

(WebCore::ResourceRequestBase::httpHeaderField):
(WebCore::ResourceRequestBase::setHTTPHeaderField):
(WebCore::ResourceRequestBase::httpContentType):
(WebCore::ResourceRequestBase::setHTTPContentType):
(WebCore::ResourceRequestBase::httpReferrer):
(WebCore::ResourceRequestBase::setHTTPReferrer):
(WebCore::ResourceRequestBase::httpOrigin):
(WebCore::ResourceRequestBase::setHTTPOrigin):
(WebCore::ResourceRequestBase::httpUserAgent):
(WebCore::ResourceRequestBase::setHTTPUserAgent):
(WebCore::ResourceRequestBase::httpAccept):
(WebCore::ResourceRequestBase::setHTTPAccept):

  • platform/network/ResourceRequestBase.h:
  • platform/network/mac/ResourceHandleMac.mm:

(WebCore::ResourceHandle::willSendRequest):

10:43 AM Changeset in webkit [169973] by msaboff@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

operationCreateArguments could cause a GC during OSR exit
https://bugs.webkit.org/show_bug.cgi?id=133905

Reviewed by Filip Pizlo.

Defer GC via new wrapper functions for operationCreateArguments and operationCreateInlinedArguments
for use by OSR exit stubs.

  • dfg/DFGOSRExitCompilerCommon.cpp:

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

  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • jit/JITOperations.cpp:
  • jit/JITOperations.h:
10:40 AM Changeset in webkit [169972] by Simon Fraser
  • 5 edits
    6 adds in trunk

Masks disappear when layers become tiled
https://bugs.webkit.org/show_bug.cgi?id=133892
<rdar://problem/17309793>

Reviewed by Tim Horton.

Source/WebCore:
There were several problems with tiled mask layers.

First, when a layer became tiled it failed to re-apply the platform layer
for its mask; fixed by adding MaskLayerChanged to the set of flags in
swapFromOrToTiledLayer().

Secondly, in CA, a mask layer's superlayer is the layer which is it masking,
so the if (oldLayer->superlayer())... code in swapFromOrToTiledLayer() would
erroneously try to swap out a sublayer on the superlayer with the mask.

Thirdly, the mask layer is updated after its host layer, but when the mask layer
become tiled, there was no code that updated the mask platform layer on its
host layer. Fix by:

  1. setting a bit on a layer to note that it's being used as a mask.
  2. setting the parent of such a layer to its host layer (mimicking CA)
  3. when the mask becomes tiled, dirtying the MaskLayerChanged bit on its parent and adding a clause to commitLayerChangesAfterSublayers() to update the mask layer.

Finally, ASSERTION FAILED: owningGraphicsLayer()->isCommittingChanges() would
fire because we failed to set the m_isCommittingChanges flag while committing
the mask layer. Fix by moving the TemporaryChange<bool> that sets this flag
into commitLayerChangesBeforeSublayers() and commitLayerChangesAfterSublayers().

Also used safe casts in more places in GraphicsLayerCA.

Tests: compositing/masks/become-tiled-mask.html

compositing/masks/cease-tiled-mask.html
compositing/masks/tiled-mask.html

  • platform/graphics/GraphicsLayer.cpp:

(WebCore::GraphicsLayer::GraphicsLayer):
(WebCore::GraphicsLayer::removeFromParent):
(WebCore::GraphicsLayer::setMaskLayer):

  • platform/graphics/GraphicsLayer.h:

(WebCore::GraphicsLayer::setIsMaskLayer):
(WebCore::GraphicsLayer::isMaskLayer):
(WebCore::GraphicsLayer::setMaskLayer): Deleted.

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::removeFromParent):
(WebCore::GraphicsLayerCA::setMaskLayer):
(WebCore::GraphicsLayerCA::recursiveVisibleRectChangeRequiresFlush):
(WebCore::GraphicsLayerCA::recursiveCommitChanges):
(WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
(WebCore::GraphicsLayerCA::commitLayerChangesAfterSublayers):
(WebCore::GraphicsLayerCA::updateSublayerList):
(WebCore::GraphicsLayerCA::ensureStructuralLayer):
(WebCore::GraphicsLayerCA::updateMaskLayer):
(WebCore::GraphicsLayerCA::replicatedLayerRoot):
(WebCore::GraphicsLayerCA::createFilterAnimationsFromKeyframes):
(WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
(WebCore::GraphicsLayerCA::propagateLayerChangeToReplicas):
(WebCore::GraphicsLayerCA::fetchCloneLayers):

LayoutTests:
Tests for masking as they go into and out of tiled mode.

  • compositing/masks/become-tiled-mask-expected.html: Added.
  • compositing/masks/become-tiled-mask.html: Added.
  • compositing/masks/cease-tiled-mask-expected.html: Added.
  • compositing/masks/cease-tiled-mask.html: Added.
  • compositing/masks/tiled-mask-expected.html: Added.
  • compositing/masks/tiled-mask.html: Added.
10:12 AM Changeset in webkit [169971] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix build.

  • UIProcess/API/mac/WKView.mm:

(-[WKView selectedRangeWithCompletionHandler:]):
(-[WKView markedRangeWithCompletionHandler:]):
(-[WKView hasMarkedTextWithCompletionHandler:]):
(-[WKView attributedSubstringForProposedRange:completionHandler:]):
(-[WKView firstRectForCharacterRange:completionHandler:]):
(-[WKView characterIndexForPoint:completionHandler:]):

9:06 AM Changeset in webkit [169970] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[Curl] Compile errors related to http headers.
https://bugs.webkit.org/show_bug.cgi?id=133901

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-06-14
Reviewed by Brent Fulgham.

Http headers should now be specified with an enum, not a string.

  • platform/network/curl/CurlCacheEntry.cpp:

(WebCore::CurlCacheEntry::parseResponseHeaders):

  • platform/network/curl/MultipartHandle.cpp:

(WebCore::MultipartHandle::didReceiveResponse):

8:53 AM Changeset in webkit [169969] by zandobersek@gmail.com
  • 4 edits in trunk/Source/WebKit2

Unreviewed build fix for the GTK+ port.
Fixing the callback lambda parameters after r169962.

  • UIProcess/API/gtk/WebKitPrintOperation.cpp:

(webkitPrintOperationPrintPagesForFrame):

  • UIProcess/API/gtk/WebKitWebResource.cpp:

(webkit_web_resource_get_data):

  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkit_web_view_can_execute_editing_command):
(webkit_web_view_run_javascript):
(resourcesStreamReadCallback):
(webkit_web_view_save):
(webkit_web_view_save_to_file):

8:43 AM Changeset in webkit [169968] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix after r169960.

  • platform/graphics/ca/PlatformCALayer.cpp: Add missing include

for snprintf on Windows.

3:18 AM Changeset in webkit [169967] by gyuyoung.kim@samsung.com
  • 2 edits in trunk

[EFL] Remove duplicated compiler flag
https://bugs.webkit.org/show_bug.cgi?id=133838

Reviewed by Anders Carlsson.

In r169798, literal-suffix was added for EFL port in order to fix build break. However,
it added to common compiler options. So, it is duplicated.

  • Source/cmake/WebKitHelpers.cmake:
2:04 AM Changeset in webkit [169966] by Csaba Osztrogonác
  • 6 edits in trunk/Source

Source/WebCore: URTBF after r169943 and r169946.

  • platform/network/HTTPHeaderMap.h: Removed maybe accidental deletion of the only one add function.
  • platform/network/HTTPHeaderNames.in: Added Sec-WebSocket-Key.

Source/WebKit2: URTBF after r169943 and r169946, use the format of set/get.

  • UIProcess/InspectorServer/WebInspectorServer.cpp:

(WebKit::WebInspectorServer::didReceiveUnrecognizedHTTPRequest):

  • UIProcess/InspectorServer/WebSocketServerConnection.cpp:

(WebKit::WebSocketServerConnection::readHTTPMessage):
(WebKit::WebSocketServerConnection::upgradeToWebSocketServerConnection):

1:01 AM Changeset in webkit [169965] by fred.wang@free.fr
  • 20 edits
    10 deletes in trunk

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

Assertion in mathml/roots-removeChild.html (Requested by fredw
on #webkit).

Reverted changeset:

"Draw radicals with glyphs for better rendering"
https://bugs.webkit.org/show_bug.cgi?id=119038
http://trac.webkit.org/changeset/169963

Patch by Commit Queue <commit-queue@webkit.org> on 2014-06-14

Jun 13, 2014:

11:31 PM Changeset in webkit [169964] by akling@apple.com
  • 2 edits in trunk/Source/WebKit2

REGRESSION (r167635): Reference leak in NetworkResourceLoader while loads are being deferred.
<https://webkit.org/b/133894>
<rdar://problem/17312299>

Don't self-ref() in start() until we actually start; if page loads are being
deferred, start() will be called again once deferral stops.

This was causing us to leak the entire NetworkResourceLoader object graph.

Reviewed by Brady Eidson.

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::start):

11:18 PM Changeset in webkit [169963] by fred.wang@free.fr
  • 20 edits
    10 adds in trunk

Draw radicals with glyphs for better rendering
https://bugs.webkit.org/show_bug.cgi?id=119038

Reviewed by Chris Fleizach.

Source/WebCore:
We rewrite RenderMathMLRoot in order to fix bugs with SVG transforms and dynamic modification of children and allow drawing with an OpenType MATH table.
The drawing of the radical sign (without the top bar) is now moved to a RenderMathMLRadicalOperator class inheriting from RenderMathMLOperator.
This class fallbacks to the original drawing with graphic primitives if an OpenType MATH table is not available.

Tests: mathml/opentype/roots-LatinModern.html

mathml/presentation/mroot-transform.html

  • CMakeLists.txt: add files to build system.
  • WebCore.vcxproj/WebCore.vcxproj: ditto.
  • WebCore.vcxproj/WebCore.vcxproj.filters: ditto.
  • WebCore.xcodeproj/project.pbxproj: ditto
  • css/mathml.css: remove rules for msqrt/mroot. The "script level" in mroot is not incremented by 2 as specified in the spec.

(math, mrow, mfenced, merror, mphantom, mstyle, menclose):
(mroot > *:last-child):
(math, mrow, mfenced, msqrt, mroot, merror, mphantom, mstyle, menclose): Deleted.
(msqrt > *): Deleted.
(mroot): Deleted. This rule was causing bug 126516.
(mroot > * + *): Deleted.

  • rendering/RenderObject.h: Add two new isRenderMathML* functions for dynamic casting.

(WebCore::RenderObject::isRenderMathMLRadicalOperator):
(WebCore::RenderObject::isRenderMathMLRootWrapper):

  • rendering/mathml/RenderMathMLOperator.cpp: Accept a set of operator dictionary flags, all disabled by default. This is to allow anonymous radicas, which don't have any flag.

isFencedOperator() is now replaced with the more general isAnonymous() since we allow anonymous radical operator fors msqrt/mroot.
(WebCore::RenderMathMLOperator::RenderMathMLOperator):
(WebCore::RenderMathMLOperator::setOperatorFlagFromAttribute):
(WebCore::RenderMathMLOperator::setOperatorPropertiesFromOpDictEntry):
(WebCore::RenderMathMLOperator::SetOperatorProperties):
(WebCore::RenderMathMLOperator::updateTokenContent):

  • rendering/mathml/RenderMathMLOperator.h: Allow class to be overriden, redefine the anonymous constructor, remove isFencedOperator().
  • rendering/mathml/RenderMathMLRadicalOperator.cpp: Added.

(WebCore::RenderMathMLRadicalOperator::RenderMathMLRadicalOperator):
(WebCore::RenderMathMLRadicalOperator::stretchTo):
(WebCore::RenderMathMLRadicalOperator::SetOperatorProperties):
(WebCore::RenderMathMLRadicalOperator::computePreferredLogicalWidths):
(WebCore::RenderMathMLRadicalOperator::computeLogicalHeight):
(WebCore::RenderMathMLRadicalOperator::paint):
(WebCore::RenderMathMLRadicalOperator::trailingSpaceError):

  • rendering/mathml/RenderMathMLRadicalOperator.h: Added.
  • rendering/mathml/RenderMathMLRoot.cpp: Rewritten. Some parts to use graphic primitives are moved to RenderMathMLRadicalOperator.cpp.

(WebCore::RenderMathMLRoot::RenderMathMLRoot):
(WebCore::RenderMathMLRoot::baseWrapper):
(WebCore::RenderMathMLRoot::radicalWrapper):
(WebCore::RenderMathMLRoot::indexWrapper):
(WebCore::RenderMathMLRoot::radicalOperator):
(WebCore::RenderMathMLRoot::restructureWrappers):
(WebCore::RenderMathMLRoot::addChild):
(WebCore::RenderMathMLRoot::styleDidChange):
(WebCore::RenderMathMLRoot::updateFromElement):
(WebCore::RenderMathMLRoot::updateStyle):
(WebCore::RenderMathMLRoot::firstLineBaseline):
(WebCore::RenderMathMLRoot::layout):
(WebCore::RenderMathMLRoot::paint):
(WebCore::RenderMathMLRootWrapper::createAnonymousWrapper):
(WebCore::RenderMathMLRootWrapper::removeChildWithoutRestructuring):
(WebCore::RenderMathMLRootWrapper::removeChild):
(WebCore::RenderMathMLRoot::paddingTop): Deleted.
(WebCore::RenderMathMLRoot::paddingBottom): Deleted.
(WebCore::RenderMathMLRoot::paddingLeft): Deleted.
(WebCore::RenderMathMLRoot::paddingRight): Deleted.
(WebCore::RenderMathMLRoot::paddingBefore): Deleted.
(WebCore::RenderMathMLRoot::paddingAfter): Deleted.
(WebCore::RenderMathMLRoot::paddingStart): Deleted.
(WebCore::RenderMathMLRoot::paddingEnd): Deleted.
(WebCore::RenderMathMLRoot::index): Deleted.

  • rendering/mathml/RenderMathMLRoot.h: Rewritten.

(WebCore::RenderMathMLRootWrapper::RenderMathMLRootWrapper):

LayoutTests:
We update the reference for some tests with radicals and enable the tests for addition/removal of children in an msqrt/mroot element.
We also add a test for bug 126516 (SVG transforms not applied to mroot) and a new test for radical drawing using an OpenType MATH table.

  • TestExpectations: enable the tests for addition/removal of children.
  • mathml/opentype/roots-LatinModern.html: Added.
  • mathml/presentation/mroot-transform-expected.html: Added.
  • mathml/presentation/mroot-transform.html: Added.
  • platform/efl/TestExpectations: mark failures for bad references.
  • platform/efl/mathml/opentype/roots-LatinModern-expected.txt: Added.
  • platform/gtk/mathml/opentype/roots-LatinModern-expected.png: Added.
  • platform/gtk/mathml/opentype/roots-LatinModern-expected.txt: Added.
  • platform/gtk/mathml/presentation/mo-stretch-expected.png: update reference.
  • platform/gtk/mathml/presentation/mo-stretch-expected.txt: update reference.
  • platform/gtk/mathml/presentation/roots-expected.png: update reference.
  • platform/gtk/mathml/presentation/roots-expected.txt: update reference.
  • platform/mac/TestExpectations: mark failures for bad references.
  • platform/mac/mathml/opentype/roots-LatinModern-expected.txt: Added.
  • platform/win/TestExpectations: mark failures for bad references.
  • platform/win/mathml/opentype/roots-LatinModern-expected.txt: Added.
10:32 PM Changeset in webkit [169962] by mitz@apple.com
  • 10 edits in trunk/Source/WebKit2

Make GenericCallback variadic
https://bugs.webkit.org/show_bug.cgi?id=133897

Reviewed by Sam Weinig.

Also eliminated legacy callback functions and all CallbackBase derived classes outside of
GenericCallback.h.

  • UIProcess/API/C/WKPage.cpp:

(WKPageValidateCommand): Changed legacy callback (with leading bool parameter) into modern
callback (with trailing error parameter).
(WKPageComputePagesForPrinting): Ditto.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _getWebArchiveDataWithCompletionHandler:]): Ditto.
(-[WKWebView _snapshotRect:intoImageOfWidth:completionHandler:]): Ditto.

  • UIProcess/API/Cocoa/_WKThumbnailView.mm:

(-[_WKThumbnailView _requestSnapshotIfNeeded]): Ditto.

  • UIProcess/API/mac/WKView.mm:

(-[WKView validateUserInterfaceItem:]): Ditto.
(-[WKView startSpeaking:]): Ditto.

  • UIProcess/AutoCorrectionCallback.h: Replaced CallbackBase derived classes with

GenericCallback specializations.

  • UIProcess/GenericCallback.h:
  • Made GenericCallback variadic:

(WebKit::GenericCallback::performCallbackWithReturnValue):
(WebKit::GenericCallback::invalidate):
(WebKit::GenericAPICallback::create):

  • Replaced CallbackBase derived classes with GenericCallback specializations:

(WebKit::GenericCallback::create): Deleted.
(WebKit::ComputedPagesCallback::create): Deleted.
(WebKit::ComputedPagesCallback::~ComputedPagesCallback): Deleted.
(WebKit::ComputedPagesCallback::performCallbackWithReturnValue): Deleted.
(WebKit::ComputedPagesCallback::invalidate): Deleted.
(WebKit::ComputedPagesCallback::ComputedPagesCallback): Deleted.
(WebKit::ImageCallback::create): Deleted.
(WebKit::ImageCallback::~ImageCallback): Deleted.
(WebKit::ImageCallback::performCallbackWithReturnValue): Deleted.
(WebKit::ImageCallback::invalidate): Deleted.
(WebKit::ImageCallback::ImageCallback): Deleted.

  • UIProcess/WebPageProxy.h: Replaced CallbackBase derived classes with GenericCallback

specializations.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView requestAutocorrectionRectsForString:withCompletionHandler:]): Changed
legacy callback (with leading bool parameter) into modern callback (with trailing error
parameter).
(-[WKContentView requestDictationContext:]): Ditto.
(-[WKContentView requestAutocorrectionContextWithCompletionHandler:]): Ditto.

  • UIProcess/mac/WKPrintingView.mm:

(-[WKPrintingView _preparePDFDataForPrintingOnSecondaryThread]): Ditto.
(-[WKPrintingView _askPageToComputePageRects]): Ditto.
(-[WKPrintingView _drawPreview:]): Ditto.

10:09 PM Changeset in webkit [169961] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed; fix the build.

  • Shared/mac/RemoteLayerBackingStore.mm:

(WebKit::RemoteLayerBackingStore::drawInContext):

7:59 PM Changeset in webkit [169960] by Brent Fulgham
  • 9 edits in trunk/Source/WebCore

Move utility functions from WebLayer to PlatformCALayer
https://bugs.webkit.org/show_bug.cgi?id=133887
<rdar://problem/17309622>

Reviewed by Simon Fraser.

Move some utility functions from WebLayer.h/.mm to PlatformCALayer.
Provide ObjC implementation in PlatformCALayerMac. A future patch will
provide corresponding Windows versions.

  • WebCore.exp.in:
  • platform/graphics/ca/PlatformCALayer.cpp:

(WebCore::PlatformCALayer::drawRepaintIndicator):

  • platform/graphics/ca/PlatformCALayer.h:
  • platform/graphics/ca/TileController.cpp:

(WebCore::TileController::blankPixelCountForTiles):

  • platform/graphics/ca/TileGrid.cpp:

(WebCore::TileGrid::platformCALayerPaintContents):

  • platform/graphics/ca/mac/PlatformCALayerMac.mm:

(PlatformCALayer::collectRectsToPaint):
(PlatformCALayer::drawLayerContents):
(PlatformCALayer::frameForLayer):

  • platform/graphics/mac/WebLayer.h:
  • platform/graphics/mac/WebLayer.mm:

(-[WebLayer drawInContext:]):
(WebCore::collectRectsToPaint): Deleted.
(WebCore::drawLayerContents): Deleted.
(WebCore::drawRepaintIndicator): Deleted.
(WebCore::frameForLayer): Deleted.

5:35 PM Changeset in webkit [169959] by achristensen@apple.com
  • 4 edits in trunk/Source

Unreviewed disabling css jit on armv7. It's not quite ready yet.

Source/WebCore:

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::SelectorCodeGenerator::modulo):
Removed extra comma.

Source/WTF:

  • wtf/Platform.h:

Disable css jit on armv7.

5:18 PM Changeset in webkit [169958] by achristensen@apple.com
  • 2 edits in trunk/Source/WTF

Enable css jit for armv7 on iOS.
https://bugs.webkit.org/show_bug.cgi?id=133890
<rdar://problem/17310631>

Reviewed by Andreas Kling.

  • wtf/Platform.h:

Enable css jit for ARM thumb on iOS.

5:04 PM Changeset in webkit [169957] by mhock@apple.com
  • 2 edits in trunk/Source/WebKit2

Clean up layers in RemoteLayerTreeHost::clearLayers().
https://bugs.webkit.org/show_bug.cgi?id=133888

Reviewed by Tim Horton.

  • UIProcess/mac/RemoteLayerTreeHost.mm:

(WebKit::RemoteLayerTreeHost::clearLayers):

4:37 PM CommitterTips edited by akling@apple.com
(diff)
4:37 PM Changeset in webkit [169956] by achristensen@apple.com
  • 2 edits in trunk/Source/WebCore

Make css jit compile on armv7.
https://bugs.webkit.org/show_bug.cgi?id=133889

Reviewed by Benjamin Poulain.

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::moduloHelper):
(WebCore::SelectorCompiler::SelectorCodeGenerator::modulo):
Implement modulo using a function call for now.

4:01 PM Changeset in webkit [169955] by andersca@apple.com
  • 5 edits in trunk/Source/WebCore

Use the callOnMainThread version that takes an std::function in BlobResourceHandle::start()
https://bugs.webkit.org/show_bug.cgi?id=133886

Reviewed by Andreas Kling.

Also replace a couple of NSAutoreleasePools with @autoreleasepool and an OwnPtr with an std::unique_ptr.

  • page/scrolling/mac/ScrollingThreadMac.mm:

(WebCore::ScrollingThread::threadRunLoopSourceCallback):

  • platform/mac/SharedTimerMac.mm:

(WebCore::PowerObserver::PowerObserver):
(WebCore::timerFired):
(WebCore::setSharedTimerFireInterval):
(WebCore::PowerObserver::create): Deleted.
(WebCore::PowerObserver::didReceiveSystemPowerNotification): Deleted.

  • platform/network/BlobResourceHandle.cpp:

(WebCore::BlobResourceHandle::start):
(WebCore::delayedStartBlobResourceHandle): Deleted.

  • platform/network/BlobResourceHandle.h:
3:52 PM Changeset in webkit [169954] by weinig@apple.com
  • 36 edits in trunk/Source/WebCore

Constructors should eagerly reify their properties too
https://bugs.webkit.org/show_bug.cgi?id=133822

Reviewed by Andreas Kling.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateConstructorDeclaration):
Constructors should never need to use the lazy property HashTable, so we can just
remove its getOwnPropertySlot completely.

(ConstructorHasProperties):
Add helper to determine if we need to reify any properties.

(GenerateConstructorHelperMethods):
Reify if needed, and remove the implementation of getOwnPropertySlot.

  • bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
  • bindings/scripts/test/JS/JSTestActiveDOMObject.h:
  • bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
  • bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
  • bindings/scripts/test/JS/JSTestEventConstructor.cpp:
  • bindings/scripts/test/JS/JSTestEventConstructor.h:
  • bindings/scripts/test/JS/JSTestEventTarget.cpp:
  • bindings/scripts/test/JS/JSTestEventTarget.h:
  • bindings/scripts/test/JS/JSTestException.cpp:
  • bindings/scripts/test/JS/JSTestException.h:
  • bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
  • bindings/scripts/test/JS/JSTestGenerateIsReachable.h:
  • bindings/scripts/test/JS/JSTestInterface.cpp:
  • bindings/scripts/test/JS/JSTestInterface.h:
  • bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
  • bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
  • bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
  • bindings/scripts/test/JS/JSTestNamedConstructor.h:
  • bindings/scripts/test/JS/JSTestNode.cpp:
  • bindings/scripts/test/JS/JSTestNode.h:
  • bindings/scripts/test/JS/JSTestNondeterministic.cpp:
  • bindings/scripts/test/JS/JSTestNondeterministic.h:
  • bindings/scripts/test/JS/JSTestObj.cpp:
  • bindings/scripts/test/JS/JSTestObj.h:
  • bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
  • bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
  • bindings/scripts/test/JS/JSTestTypedefs.cpp:
  • bindings/scripts/test/JS/JSTestTypedefs.h:
  • bindings/scripts/test/JS/JSattribute.cpp:
  • bindings/scripts/test/JS/JSattribute.h:
  • bindings/scripts/test/JS/JSreadonly.cpp:
  • bindings/scripts/test/JS/JSreadonly.h:

Update tests.

3:26 PM Changeset in webkit [169953] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Make css jit allocator smarter.
https://bugs.webkit.org/show_bug.cgi?id=133834

Patch by Alex Christensen <achristensen@webkit.org> on 2014-06-13
Reviewed by Benjamin Poulain.

  • cssjit/RegisterAllocator.h:

(WebCore::RegisterAllocator::allocateRegister):
(WebCore::RegisterAllocator::deallocateRegister):
(WebCore::RegisterAllocator::reserveCalleeSavedRegisters):
(WebCore::LocalRegister::LocalRegister):
(WebCore::RegisterAllocator::RegisterAllocator):
Use a Deque for the registers. Allocate from the front and deallocate to the back to cycle the register usage.
(WebCore::RegisterAllocator::allocateRegisterWithPreference):
(WebCore::LocalRegisterWithPreference::LocalRegisterWithPreference):
Added the ability to specify that we prefer a certain register if it is available while allocating.
These functions always return a register. It is just a different register than preferred if the preferred register is not available.

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributeValueExactMatching):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributeFunctionCallValueMatching):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsActive):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsHovered):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsNthChild):
Whenever we are allocating a register for the second argument, we should specify that we
prefer to have argumentGPR1 to reduce register swapping when preparing for a function call.
This cannot be done for argumentGPR0 because elementAddressRegister is argumentGPR0 and it is always allocated.

3:24 PM Changeset in webkit [169952] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

set setUsesExternalPlaybackWhileExternalScreenIsActive based on fullscreen mode
https://bugs.webkit.org/show_bug.cgi?id=133829

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-06-13
Reviewed by Eric Carlson.

When playing inline and external screen is active, don't use external playback.

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

declare updateDisableExternalPlayback()

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer):
call updateDisableExternalPlayback when player is created
(WebCore::MediaPlayerPrivateAVFoundationObjC::setVideoFullscreenLayer):
call updateDisableExternalPlayback when fullscreen mode changes
(WebCore::MediaPlayerPrivateAVFoundationObjC::updateDisableExternalPlayback):
update setUsesExternalPlaybackWhileExternalScreenIsActive based on fullscreen mode

3:18 PM Changeset in webkit [169951] by mhahnenberg@apple.com
  • 4 edits in trunk/Source

OSR exit should barrier the Executables for all InlineCallFrames, not just those on the stack at the time of exit
https://bugs.webkit.org/show_bug.cgi?id=133880

Reviewed by Filip Pizlo.

Source/JavaScriptCore:
We could have exited due to a value received from an inlined block that's no longer on
the stack, so we should just barrier all InlineCallFrames.

  • dfg/DFGOSRExitCompilerCommon.cpp:

(JSC::DFG::adjustAndJumpToTarget):

Source/WTF:

  • wtf/Bag.h:

(WTF::Bag::iterator::operator!=): Add != to the Bag iterator so we can use it in range-based iteration.

2:49 PM Changeset in webkit [169950] by fpizlo@apple.com
  • 20 edits
    8 adds
    2 deletes in branches/ftlopt

[ftlopt] A DFG inlined ById access variant should not speak of a chain, but only of what structures to test the base for, whether to use a constant as an alternate base for the actual access, and what structures to check on what additional cell constants
https://bugs.webkit.org/show_bug.cgi?id=133821

Reviewed by Mark Hahnenberg.

Source/JavaScriptCore:

This allows us to efficiently cache accesses that differ only in the prototypes on the path
from the base to the prototype that has the field.

It also simplifies a bunch of code - IntendedStructureChain is now just an intermediate
data structure.

  • CMakeLists.txt:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bytecode/ConstantStructureCheck.cpp: Added.

(JSC::ConstantStructureCheck::dumpInContext):
(JSC::ConstantStructureCheck::dump):
(JSC::structureFor):
(JSC::areCompatible):
(JSC::mergeInto):

  • bytecode/ConstantStructureCheck.h: Added.

(JSC::ConstantStructureCheck::ConstantStructureCheck):
(JSC::ConstantStructureCheck::operator!):
(JSC::ConstantStructureCheck::constant):
(JSC::ConstantStructureCheck::structure):

  • bytecode/GetByIdStatus.cpp:

(JSC::GetByIdStatus::computeForStubInfo):

  • bytecode/GetByIdVariant.cpp:

(JSC::GetByIdVariant::GetByIdVariant):
(JSC::GetByIdVariant::operator=):
(JSC::GetByIdVariant::attemptToMerge):
(JSC::GetByIdVariant::dumpInContext):

  • bytecode/GetByIdVariant.h:

(JSC::GetByIdVariant::constantChecks):
(JSC::GetByIdVariant::alternateBase):
(JSC::GetByIdVariant::GetByIdVariant): Deleted.
(JSC::GetByIdVariant::chain): Deleted.

  • bytecode/PutByIdVariant.cpp:

(JSC::PutByIdVariant::dumpInContext):

  • bytecode/PutByIdVariant.h:

(JSC::PutByIdVariant::transition):
(JSC::PutByIdVariant::constantChecks):
(JSC::PutByIdVariant::structureChain): Deleted.

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::emitChecks):
(JSC::DFG::ByteCodeParser::handleGetById):
(JSC::DFG::ByteCodeParser::handlePutById):
(JSC::DFG::ByteCodeParser::cellConstantWithStructureCheck): Deleted.
(JSC::DFG::ByteCodeParser::structureChainIsStillValid): Deleted.
(JSC::DFG::ByteCodeParser::emitPrototypeChecks): Deleted.

  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::foldConstants):
(JSC::DFG::ConstantFoldingPhase::emitGetByOffset):
(JSC::DFG::ConstantFoldingPhase::emitPutByOffset):
(JSC::DFG::ConstantFoldingPhase::addStructureTransitionCheck):

  • dfg/DFGDesiredStructureChains.cpp: Removed.
  • dfg/DFGDesiredStructureChains.h: Removed.
  • dfg/DFGGraph.h:

(JSC::DFG::Graph::watchpoints):
(JSC::DFG::Graph::chains): Deleted.

  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::isStillValid):
(JSC::DFG::Plan::checkLivenessAndVisitChildren):
(JSC::DFG::Plan::cancel):

  • dfg/DFGPlan.h:
  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileMultiGetByOffset):

  • runtime/IntendedStructureChain.cpp:

(JSC::IntendedStructureChain::gatherChecks):

  • runtime/IntendedStructureChain.h:

(JSC::IntendedStructureChain::at):
(JSC::IntendedStructureChain::operator[]):

LayoutTests:

  • js/regress/poly-chain-access-different-prototypes-expected.txt: Added.
  • js/regress/poly-chain-access-different-prototypes-simple-expected.txt: Added.
  • js/regress/poly-chain-access-different-prototypes-simple.html: Added.
  • js/regress/poly-chain-access-different-prototypes.html: Added.
  • js/regress/script-tests/poly-chain-access-different-prototypes-simple.js: Added.
  • js/regress/script-tests/poly-chain-access-different-prototypes.js: Added.
2:30 PM Changeset in webkit [169949] by fpizlo@apple.com
  • 8 edits in branches/ftlopt/Source/JavaScriptCore

[ftlopt] Constant folding and strength reduction should work in SSA
https://bugs.webkit.org/show_bug.cgi?id=133839

Reviewed by Oliver Hunt.

  • dfg/DFGAtTailAbstractState.cpp:

(JSC::DFG::AtTailAbstractState::AtTailAbstractState):
(JSC::DFG::AtTailAbstractState::forNode):

  • dfg/DFGAtTailAbstractState.h:
  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::foldConstants):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::convertToConstant):

  • dfg/DFGIntegerCheckCombiningPhase.cpp:

(JSC::DFG::IntegerCheckCombiningPhase::rangeKeyAndAddend): Fix an unrelated regression that this uncovered.

  • dfg/DFGLICMPhase.cpp:

(JSC::DFG::LICMPhase::LICMPhase):

  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::compileInThreadImpl):

2:13 PM Changeset in webkit [169948] by Brent Fulgham
  • 2 edits
    4 moves in trunk/Source/WebCore

Convert LayerPool and TileCoverageMap from ObjC to C++
https://bugs.webkit.org/show_bug.cgi?id=133862
<rdar://problem/17302883>

Reviewed by Simon Fraser.

This just moves two ObjC files from the mac subdirectory to the parent and
revises the project to build them as C++.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/ca/LayerPool.cpp: Copied from platform/graphics/ca/mac/LayerPool.mm.
  • platform/graphics/ca/LayerPool.h: Copied from platform/graphics/ca/mac/LayerPool.h.
  • platform/graphics/ca/TileCoverageMap.cpp: Copied from platform/graphics/ca/mac/TileCoverageMap.mm.
  • platform/graphics/ca/TileCoverageMap.h: Copied from platform/graphics/ca/mac/TileCoverageMap.h.
  • platform/graphics/ca/mac/LayerPool.h: Removed.
  • platform/graphics/ca/mac/LayerPool.mm: Removed.
  • platform/graphics/ca/mac/TileCoverageMap.h: Removed.
  • platform/graphics/ca/mac/TileCoverageMap.mm: Removed.
1:43 PM Changeset in webkit [169947] by commit-queue@webkit.org
  • 7 edits in trunk/Source

Make css jit compile for armv7.
https://bugs.webkit.org/show_bug.cgi?id=133596

Patch by Alex Christensen <achristensen@webkit.org> on 2014-06-13
Reviewed by Benjamin Poulain.

Source/JavaScriptCore:

  • assembler/MacroAssembler.h:

Use branchPtr on ARM_THUMB2.

  • assembler/MacroAssemblerARMv7.h:

(JSC::MacroAssemblerARMv7::addPtrNoFlags):
(JSC::MacroAssemblerARMv7::or32):
(JSC::MacroAssemblerARMv7::test32):
(JSC::MacroAssemblerARMv7::branch):
(JSC::MacroAssemblerARMv7::branchPtr):
Added macros necessary for css jit.

Source/WebCore:

  • cssjit/FunctionCall.h:

(WebCore::FunctionCall::swapArguments):
Implemented for ARM_THUMB2 and removed allocator hack.

  • cssjit/RegisterAllocator.h:

Added list of ARM_THUMB2 general purpose registers.
(WebCore::RegisterAllocator::isValidRegister):
Added ARM register range and corrected ARM64 register range now that r15 is tempRegister.

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::SelectorCodeGenerator::compile):
Return CannotCompile if compiling fails because of lack of registers.
(WebCore::SelectorCompiler::SelectorCodeGenerator::generatePrologue):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateEpilogue):
Implemented for ARM_THUMB2.
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
Return false if the selector cannot be compiled because of lack of registers.
(WebCore::SelectorCompiler::SelectorCodeGenerator::addFlagsToElementStyleFromContext):
Added code using 32-bit operations and used macro assembler for 64-bit operations.
(WebCore::SelectorCompiler::SelectorCodeGenerator::modulo):
Implemented for APPLE_ARMV7S, where sdiv is not a template in the assembler.
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributesMatching):
Use addPtr instead of add64.

1:37 PM Changeset in webkit [169946] by andersca@apple.com
  • 9 edits in trunk/Source

Add a HTTPHeaderMap::get overload that takes an HTTPHeaderName
https://bugs.webkit.org/show_bug.cgi?id=133877

Reviewed by Andreas Kling.

Source/WebCore:

  • Modules/websockets/WebSocketHandshake.cpp:

(WebCore::WebSocketHandshake::serverWebSocketProtocol):
(WebCore::WebSocketHandshake::serverSetCookie):
(WebCore::WebSocketHandshake::serverSetCookie2):
(WebCore::WebSocketHandshake::serverUpgrade):
(WebCore::WebSocketHandshake::serverConnection):
(WebCore::WebSocketHandshake::serverWebSocketAccept):

  • WebCore.exp.in:
  • platform/network/HTTPHeaderMap.cpp:

(WebCore::HTTPHeaderMap::get):

  • platform/network/HTTPHeaderMap.h:
  • platform/network/HTTPHeaderNames.in:
  • plugins/PluginView.cpp:

(WebCore::PluginView::handlePost):

Source/WebKit2:

  • WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:

(WebKit::parsePostBuffer):

1:34 PM Changeset in webkit [169945] by fred.wang@free.fr
  • 20 edits
    10 deletes in trunk

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

This patch raises assertions on mac (Requested by fredw on
#webkit).

Reverted changeset:

"Draw radicals with glyphs for better rendering"
https://bugs.webkit.org/show_bug.cgi?id=119038
http://trac.webkit.org/changeset/169939

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

12:54 PM Changeset in webkit [169944] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, fix ARMv7.

  • assembler/MacroAssemblerARMv7.h:

(JSC::MacroAssemblerARMv7::abortWithReason):

12:35 PM Changeset in webkit [169943] by andersca@apple.com
  • 6 edits in trunk/Source/WebCore

Add a HTTPHeaderMap::set overload that takes a HTTPHeaderName
https://bugs.webkit.org/show_bug.cgi?id=133874

Reviewed by Tim Horton.

  • platform/network/HTTPHeaderMap.cpp:

(WebCore::HTTPHeaderMap::set):

  • platform/network/HTTPHeaderMap.h:
  • platform/network/cf/ResourceRequestCFNet.cpp:

(WebCore::ResourceRequest::doUpdatePlatformHTTPBody):

  • platform/network/mac/ResourceRequestMac.mm:

(WebCore::ResourceRequest::doUpdatePlatformHTTPBody):

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::send):

11:56 AM Changeset in webkit [169942] by fpizlo@apple.com
  • 8 edits in trunk/Source/JavaScriptCore

Even better diagnostics from DFG traps
https://bugs.webkit.org/show_bug.cgi?id=133836

Reviewed by Oliver Hunt.

We now stuff the DFG::NodeType into a register before bailing. Also made the
DFGBailed abort reason a bit more specific. As planned, the new abort reasons use
different numbers than any previous abort reasons.

  • assembler/AbortReason.h:
  • assembler/MacroAssemblerARM64.h:

(JSC::MacroAssemblerARM64::abortWithReason):

  • assembler/MacroAssemblerARMv7.h:

(JSC::MacroAssemblerARMv7::abortWithReason):

  • assembler/MacroAssemblerX86.h:

(JSC::MacroAssemblerX86::abortWithReason):

  • assembler/MacroAssemblerX86_64.h:

(JSC::MacroAssemblerX86_64::abortWithReason):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::SpeculativeJIT):
(JSC::DFG::SpeculativeJIT::bail):
(JSC::DFG::SpeculativeJIT::compileCurrentBlock):

  • dfg/DFGSpeculativeJIT.h:
11:56 AM Changeset in webkit [169941] by andersca@apple.com
  • 5 edits in trunk/Source/WebCore

Add a HTTPHeaderMap::find overload that takes a HTTPHeaderName
https://bugs.webkit.org/show_bug.cgi?id=133872

Reviewed by Andreas Kling.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::responseReceived):

  • platform/network/HTTPHeaderMap.cpp:

(WebCore::HTTPHeaderMap::get):
(WebCore::HTTPHeaderMap::find):

  • platform/network/HTTPHeaderMap.h:
  • platform/network/HTTPHeaderNames.in:
11:48 AM Changeset in webkit [169940] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.

Added some flaky and failing tests to TestExpectations.

Patch by Enrique Ocaña González <eocanha@igalia.com> on 2014-06-13

  • platform/gtk/TestExpectations:
11:14 AM WebKitGTK/KeepingTheTreeGreen edited by eocanha@igalia.com
(diff)
11:08 AM Changeset in webkit [169939] by fred.wang@free.fr
  • 20 edits
    10 adds in trunk

Draw radicals with glyphs for better rendering
https://bugs.webkit.org/show_bug.cgi?id=119038

Reviewed by Chris Fleizach.

Source/WebCore:
We rewrite RenderMathMLRoot in order to fix bugs with SVG transforms and dynamic modification of children and allow drawing with an OpenType MATH table.
The drawing of the radical sign (without the top bar) is now moved to a RenderMathMLRadicalOperator class inheriting from RenderMathMLOperator.
This class fallbacks to the original drawing with graphic primitives if an OpenType MATH table is not available.

Tests: mathml/opentype/roots-LatinModern.html

mathml/presentation/mroot-transform.html

  • CMakeLists.txt: add files to build system.
  • WebCore.vcxproj/WebCore.vcxproj: ditto.
  • WebCore.vcxproj/WebCore.vcxproj.filters: ditto.
  • WebCore.xcodeproj/project.pbxproj: ditto
  • css/mathml.css: remove rules for msqrt/mroot. The "script level" in mroot is not incremented by 2 as specified in the spec.

(math, mrow, mfenced, merror, mphantom, mstyle, menclose):
(mroot > *:last-child):
(math, mrow, mfenced, msqrt, mroot, merror, mphantom, mstyle, menclose): Deleted.
(msqrt > *): Deleted.
(mroot): Deleted. This rule was causing bug 126516.
(mroot > * + *): Deleted.

  • rendering/RenderObject.h: Add two new isRenderMathML* functions for dynamic casting.

(WebCore::RenderObject::isRenderMathMLRadicalOperator):
(WebCore::RenderObject::isRenderMathMLRootWrapper):

  • rendering/mathml/RenderMathMLOperator.cpp: Accept a set of operator dictionary flags, all disabled by default. This is to allow anonymous radicas, which don't have any flag.

isFencedOperator() is now replaced with the more general isAnonymous() since we allow anonymous radical operator fors msqrt/mroot.
(WebCore::RenderMathMLOperator::RenderMathMLOperator):
(WebCore::RenderMathMLOperator::setOperatorFlagFromAttribute):
(WebCore::RenderMathMLOperator::setOperatorPropertiesFromOpDictEntry):
(WebCore::RenderMathMLOperator::SetOperatorProperties):
(WebCore::RenderMathMLOperator::updateTokenContent):

  • rendering/mathml/RenderMathMLOperator.h: Allow class to be overriden, redefine the anonymous constructor, remove isFencedOperator().
  • rendering/mathml/RenderMathMLRadicalOperator.cpp: Added.

(WebCore::RenderMathMLRadicalOperator::RenderMathMLRadicalOperator):
(WebCore::RenderMathMLRadicalOperator::stretchTo):
(WebCore::RenderMathMLRadicalOperator::SetOperatorProperties):
(WebCore::RenderMathMLRadicalOperator::computePreferredLogicalWidths):
(WebCore::RenderMathMLRadicalOperator::computeLogicalHeight):
(WebCore::RenderMathMLRadicalOperator::paint):
(WebCore::RenderMathMLRadicalOperator::trailingSpaceError):

  • rendering/mathml/RenderMathMLRadicalOperator.h: Added.
  • rendering/mathml/RenderMathMLRoot.cpp: Rewritten. Some parts to use graphic primitives are moved to RenderMathMLRadicalOperator.cpp.

(WebCore::RenderMathMLRoot::RenderMathMLRoot):
(WebCore::RenderMathMLRoot::baseWrapper):
(WebCore::RenderMathMLRoot::radicalWrapper):
(WebCore::RenderMathMLRoot::indexWrapper):
(WebCore::RenderMathMLRoot::radicalOperator):
(WebCore::RenderMathMLRoot::restructureWrappers):
(WebCore::RenderMathMLRoot::addChild):
(WebCore::RenderMathMLRoot::styleDidChange):
(WebCore::RenderMathMLRoot::updateFromElement):
(WebCore::RenderMathMLRoot::updateStyle):
(WebCore::RenderMathMLRoot::firstLineBaseline):
(WebCore::RenderMathMLRoot::layout):
(WebCore::RenderMathMLRoot::paint):
(WebCore::RenderMathMLRootWrapper::createAnonymousWrapper):
(WebCore::RenderMathMLRootWrapper::removeChildWithoutRestructuring):
(WebCore::RenderMathMLRootWrapper::removeChild):
(WebCore::RenderMathMLRoot::paddingTop): Deleted.
(WebCore::RenderMathMLRoot::paddingBottom): Deleted.
(WebCore::RenderMathMLRoot::paddingLeft): Deleted.
(WebCore::RenderMathMLRoot::paddingRight): Deleted.
(WebCore::RenderMathMLRoot::paddingBefore): Deleted.
(WebCore::RenderMathMLRoot::paddingAfter): Deleted.
(WebCore::RenderMathMLRoot::paddingStart): Deleted.
(WebCore::RenderMathMLRoot::paddingEnd): Deleted.
(WebCore::RenderMathMLRoot::index): Deleted.

  • rendering/mathml/RenderMathMLRoot.h: Rewritten.

(WebCore::RenderMathMLRootWrapper::RenderMathMLRootWrapper):

LayoutTests:
We update the reference for some tests with radicals and enable the tests for addition/removal of children in an msqrt/mroot element.
We also add a test for bug 126516 (SVG transforms not applied to mroot) and a new test for radical drawing using an OpenType MATH table.

  • TestExpectations: enable the tests for addition/removal of children.
  • mathml/opentype/roots-LatinModern.html: Added.
  • mathml/presentation/mroot-transform-expected.html: Added.
  • mathml/presentation/mroot-transform.html: Added.
  • platform/efl/TestExpectations: mark failures for bad references.
  • platform/efl/mathml/opentype/roots-LatinModern-expected.txt: Added.
  • platform/gtk/mathml/opentype/roots-LatinModern-expected.png: Added.
  • platform/gtk/mathml/opentype/roots-LatinModern-expected.txt: Added.
  • platform/gtk/mathml/presentation/mo-stretch-expected.png: update reference.
  • platform/gtk/mathml/presentation/mo-stretch-expected.txt: update reference.
  • platform/gtk/mathml/presentation/roots-expected.png: update reference.
  • platform/gtk/mathml/presentation/roots-expected.txt: update reference.
  • platform/mac/TestExpectations: mark failures for bad references.
  • platform/mac/mathml/opentype/roots-LatinModern-expected.txt: Added.
  • platform/win/TestExpectations: mark failures for bad references.
  • platform/win/mathml/opentype/roots-LatinModern-expected.txt: Added.
11:04 AM Changeset in webkit [169938] by mitz@apple.com
  • 5 edits in trunk/Source/WebKit2

[iOS] Networking process always decodes keys
https://bugs.webkit.org/show_bug.cgi?id=133863

Reviewed by Anders Carlsson.

  • Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.h:

(WebKit::XPCServiceInitializer): Call checkEntitlements on iOS, too.

  • Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.mm:

(WebKit::XPCServiceInitializerDelegate::checkEntitlements): On iOS, allow decoding keys
if the application has the appropriate keychain access group.

  • Shared/cf/ArgumentCodersCF.cpp:

(IPC::setAllowsDecodingSecKeyRef): Added. Sets static bool.
(IPC::decode): Check the secKeyRefDecodingAllowed bool before decoding a key.

  • Shared/cf/ArgumentCodersCF.h:
10:33 AM Changeset in webkit [169937] by andersca@apple.com
  • 10 edits in trunk/Source

Add overloads of HTTPHeaderMap::find and remove that take enums
https://bugs.webkit.org/show_bug.cgi?id=133823

Reviewed by Sam Weinig.

Source/WebCore:

  • WebCore.exp.in:

Update symbols.

  • WebCore.xcodeproj/project.pbxproj:

Make HTTPHeaderNames.h private.

  • platform/network/HTTPHeaderMap.cpp:

(WebCore::HTTPHeaderMap::contains):
Convert the enum value to a string and call the contains overload that takes a string.

(WebCore::HTTPHeaderMap::remove):
Convert the enum value to a string and call the remove overload that takes a string.

  • platform/network/HTTPHeaderMap.h:

Add new overloads taking HTTPHeaderName and mark the versions taking string literals as deleted.

  • platform/network/HTTPHeaderNames.in:

Add new header names.

  • platform/network/ResourceRequestBase.cpp:

(WebCore::ResourceRequestBase::clearHTTPAuthorization):
(WebCore::ResourceRequestBase::clearHTTPContentType):
(WebCore::ResourceRequestBase::clearHTTPReferrer):
(WebCore::ResourceRequestBase::clearHTTPOrigin):
(WebCore::ResourceRequestBase::clearHTTPUserAgent):
(WebCore::ResourceRequestBase::clearHTTPAccept):
Update functions to use HTTPHeaderName enums.

(WebCore::ResourceRequestBase::isConditional):
(WebCore::ResourceRequestBase::makeUnconditional):
Simplify these.

Source/WebKit2:

  • WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:

(WebKit::parsePostBuffer):
Update for WebCore changes.

10:32 AM WebKitGTK/KeepingTheTreeGreen edited by ltilve@igalia.com
(diff)
9:35 AM WebKitGTK/2.4.x edited by sergio@webkit.org
UA bug: replaced link for trunk by link for stable (diff)
9:12 AM Changeset in webkit [169936] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Source/WebCore: [ATK] Fix text inside "span" block in "a" block was not accessible.
https://bugs.webkit.org/show_bug.cgi?id=132349

Patch by Jarek Czekalski <Jarek Czekalski> on 2014-06-13
Reviewed by Mario Sanchez Prada.

  • accessibility/atk/WebKitAccessibleWrapperAtk.cpp: Add link role to the list of roles whose objects always expose atk_text interface.

LayoutTests: [ATK] Add test for accessibility of text inside "span" block in "a" block.
https://bugs.webkit.org/show_bug.cgi?id=132349

Patch by Jarek Czekalski <Jarek Czekalski> on 2014-06-13
Reviewed by Mario Sanchez Prada.

  • platform/gtk/accessibility/text-in-span-block-in-a-block-expected.txt: Added.
  • platform/gtk/accessibility/text-in-span-block-in-a-block.html: Added.
7:25 AM WebKitGTK/2.4.x edited by vjaquez@igalia.com
point to the changesets rather than the bugs (diff)
6:33 AM Changeset in webkit [169935] by berto@igalia.com
  • 2 edits in trunk/Source/WebCore

[GTK] GLContextEGL.cpp: conflicting declaration 'typedef ptrdiff_t GLintptr'
https://bugs.webkit.org/show_bug.cgi?id=133550

Reviewed by Gustavo Noronha Silva.

Cairo includes some definitions from GLX that conflict with the
ones provided by our GLES2 headers (GLintptr, GLsizeiptr).

Since GLContextEGL doesn't use any GLX functions we can safely
disable the inclusion of those functions in that source file.

  • platform/graphics/egl/GLContextEGL.cpp:
6:09 AM Changeset in webkit [169934] by Manuel Rego Casasnovas
  • 12 edits
    2 adds in trunk/Source/WebCore

[CSS Grid Layout] Introduce an explicit type for resolved grid positions
https://bugs.webkit.org/show_bug.cgi?id=131732

Reviewed by Sergio Villar Senin.

We were using simple size_t integers to represent resolved grid
positions in our internal data structures. This change allows us to
clarify the code, avoid potential off by one mistakes, and move the
resolving code to a central place.

A new class GridResolvedPosition has been created and the related
methods have been moved there from RenderGrid.
GridSpan is now defined by two GridResolvedPosition, so all the code
using it has been modified to adapt it to GridResolvedPosition.

No new tests as it is already covered by current tests
(fast/css-grid-layout/).

  • CMakeLists.txt:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSGridTemplateAreasValue.cpp:

(WebCore::stringForPosition):

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseGridTemplateAreasRow):

  • css/StyleResolver.cpp:

(WebCore::createImplicitNamedGridLinesFromGridArea):

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::computeUsedBreadthOfGridTracks):
(WebCore::RenderGrid::computeNormalizedFractionBreadth):
(WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForItems):
(WebCore::RenderGrid::insertItemIntoGrid):
(WebCore::RenderGrid::placeItemsOnGrid):
(WebCore::RenderGrid::populateExplicitGridAndOrderIterator):
(WebCore::RenderGrid::placeSpecifiedMajorAxisItemsOnGrid):
(WebCore::RenderGrid::placeAutoMajorAxisItemOnGrid):
(WebCore::RenderGrid::autoPlacementMajorAxisDirection):
(WebCore::RenderGrid::autoPlacementMinorAxisDirection):
(WebCore::RenderGrid::gridAreaBreadthForChild):
(WebCore::RenderGrid::findChildLogicalPosition):
(WebCore::RenderGrid::explicitGridColumnCount): Deleted.
(WebCore::RenderGrid::explicitGridRowCount): Deleted.
(WebCore::isColumnSide): Deleted.
(WebCore::isStartSide): Deleted.
(WebCore::RenderGrid::explicitGridSizeForSide): Deleted.
(WebCore::RenderGrid::resolveGridPositionsFromAutoPlacementPosition): Deleted.
(WebCore::gridLinesForSide): Deleted.
(WebCore::implicitNamedGridLineForSide): Deleted.
(WebCore::isNonExistentNamedLineOrArea): Deleted.
(WebCore::RenderGrid::adjustGridPositionsFromStyle): Deleted.
(WebCore::RenderGrid::resolveGridPositionsFromStyle): Deleted.
(WebCore::RenderGrid::resolveNamedGridLinePositionFromStyle): Deleted.
(WebCore::RenderGrid::resolveGridPositionFromStyle): Deleted.
(WebCore::RenderGrid::resolveGridPositionAgainstOppositePosition): Deleted.
(WebCore::RenderGrid::resolveNamedGridLinePositionAgainstOppositePosition): Deleted.
(WebCore::firstNamedGridLineBeforePosition): Deleted.
(WebCore::RenderGrid::resolveRowStartColumnStartNamedGridLinePositionAgainstOppositePosition): Deleted.
(WebCore::RenderGrid::resolveRowEndColumnEndNamedGridLinePositionAgainstOppositePosition): Deleted.

  • rendering/RenderGrid.h:
  • rendering/style/GridCoordinate.h:

(WebCore::GridSpan::GridSpan):
(WebCore::GridSpan::operator==):

  • rendering/style/GridPosition.h:

(WebCore::GridPosition::adjustGridPositionForRowEndColumnEndSide): Deleted.
(WebCore::GridPosition::adjustGridPositionForSide): Deleted.

  • rendering/style/GridResolvedPosition.cpp: Added.

(WebCore::isColumnSide):
(WebCore::isStartSide):
(WebCore::explicitGridSizeForSide):
(WebCore::GridResolvedPosition::resolveGridPositionsFromAutoPlacementPosition):
(WebCore::gridLinesForSide):
(WebCore::implicitNamedGridLineForSide):
(WebCore::isNonExistentNamedLineOrArea):
(WebCore::GridResolvedPosition::adjustGridPositionsFromStyle):
(WebCore::GridResolvedPosition::resolveGridPositionsFromStyle):
(WebCore::GridResolvedPosition::resolveNamedGridLinePositionFromStyle):
(WebCore::GridResolvedPosition::resolveGridPositionFromStyle):
(WebCore::GridResolvedPosition::resolveGridPositionAgainstOppositePosition):
(WebCore::GridResolvedPosition::resolveNamedGridLinePositionAgainstOppositePosition):
(WebCore::firstNamedGridLineBeforePosition):
(WebCore::GridResolvedPosition::resolveRowStartColumnStartNamedGridLinePositionAgainstOppositePosition):
(WebCore::GridResolvedPosition::resolveRowEndColumnEndNamedGridLinePositionAgainstOppositePosition):

  • rendering/style/GridResolvedPosition.h: Added.

(WebCore::GridResolvedPosition::adjustGridPositionForRowEndColumnEndSide):
(WebCore::GridResolvedPosition::adjustGridPositionForSide):
(WebCore::GridResolvedPosition::GridResolvedPosition):
(WebCore::GridResolvedPosition::operator++):
(WebCore::GridResolvedPosition::operator==):
(WebCore::GridResolvedPosition::operator<):
(WebCore::GridResolvedPosition::operator>):
(WebCore::GridResolvedPosition::operator<=):
(WebCore::GridResolvedPosition::operator>=):
(WebCore::GridResolvedPosition::toInt):
(WebCore::GridResolvedPosition::next):

5:58 AM WebKitGTK/2.4.x edited by berto@igalia.com
(diff)
4:53 AM WebKitGTK/2.4.x edited by sergio@webkit.org
added 133403 (diff)
3:16 AM Changeset in webkit [169933] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

[EFL] Change expectations for two failing layout tests.
https://bugs.webkit.org/show_bug.cgi?id=133805

Unreviewed EFL gradening.

Patch by Andrzej Badowski <a.badowski@samsung.com> on 2014-06-13

  • platform/efl/TestExpectations:
  • platform/efl/fast/multicol/newmulticol/client-rects-expected.txt:
2:01 AM Changeset in webkit [169932] by calvaris@igalia.com
  • 2 edits in trunk/Tools

Create MSE and EME watchlist
https://bugs.webkit.org/show_bug.cgi?id=133810

Reviewed by Eric Carlson.

  • Scripts/webkitpy/common/config/watchlist: Create MSEEME

definition and add Eric Carlson and myself to it.

Jun 12, 2014:

11:40 PM Changeset in webkit [169931] by Carlos Garcia Campos
  • 10 edits
    3 deletes in trunk

[GTK] Remove all deprecated API from GObject DOM bindings
https://bugs.webkit.org/show_bug.cgi?id=133728

Reviewed by Martin Robinson.

Source/WebCore:
Remove all deprecated symbols from the GObject DOM bindings,
keeping the deprecation infraestructure for future API breaks.

  • PlatformGTK.cmake: Remove WebKitDOMDeprecated files from the

build.

  • bindings/gobject/WebKitDOMDeprecated.cpp: Removed.
  • bindings/gobject/WebKitDOMDeprecated.h: Removed.
  • bindings/gobject/WebKitDOMDeprecated.symbols: Removed.
  • bindings/gobject/webkitdom.symbols: Updated to the current API.
  • bindings/scripts/CodeGeneratorGObject.pm:

(SkipFunction): Remove exceptions for deprecated API.
(GetFunctionDeprecationInformation): Ditto.
(GetEffectiveFunctionName): Ditto.

  • bindings/scripts/test/GObject/WebKitDOMTestEventTarget.cpp:

(webkit_dom_test_event_target_dispatch_event): Deleted.

  • bindings/scripts/test/GObject/WebKitDOMTestEventTarget.h:
  • bindings/scripts/test/GObject/WebKitDOMTestEventTarget.symbols:
  • dom/Element.idl: Remove GObject exception.

Tools:

  • gtk/webkitdom.py:

(WebKitDOMDocGenerator): Remove all deleted classes from the list.
(WebKitDOMDocGeneratorSections.init): Fix a typo in member initialization.

9:56 PM Changeset in webkit [169930] by Simon Fraser
  • 2 edits in trunk/Source/JavaScriptCore

Fix assertions under JSC::setNeverInline() when running js tests in WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=133840

Reviewed by Filip Pizlo.

Fix ASSERT(exec->vm().currentThreadIsHoldingAPILock()); under JSC::setNeverInline()
when running DFG tests.

  • API/JSCTestRunnerUtils.cpp:

(JSC::numberOfDFGCompiles):
(JSC::setNeverInline):

9:20 PM Changeset in webkit [169929] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit2

[iOS][WK2] Do not update the viewport configuration on load until the first viewport arguments is received
https://bugs.webkit.org/show_bug.cgi?id=133719
<rdar://problem/17008149>

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-06-12
Reviewed by Simon Fraser.

When pages are loaded from the page cache, we were updating the viewport to the initial values
in WebPage::dynamicViewportSizeUpdate(), then update the viewport again when the page's viewport argument
are received.

The problem is that was messing up with text autosizing. The page would relayout with the default viewport
configuration, adopt the text autosizing parameters from that size, then remain in that state when
the actual viewport configuration would be set.

With this patch, the viewport configuration is updated from the values in WebCore instead of with default values.
For new documents, this is strictly equivalent. For documents coming from the page cache, the values are from
the previous state of the page, which ensure we do not restart negotiating a viewport configuration from scratch.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::didCommitLoad):

8:58 PM Changeset in webkit [169928] by Alan Bujtas
  • 17 edits in trunk

Subpixel rendering: Make <input type=> and <button> elements' decoration subpixel aware.
https://bugs.webkit.org/show_bug.cgi?id=133812
<rdar://problem/17286309>

Reviewed by Simon Fraser.

Enable <input type=> and <button> decoration painting on subpixel positions.
The theme size is still integral, but its position is snapped to device pixels.
Theme's label, the InlineTextBox is already subpixel position aware.
webkit.org/b/132005 tracks the rest of the themes.

Source/WebCore:
Not testable.

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::boundingBoxForQuads): Keep integral snapping for now.

  • platform/Theme.h:

(WebCore::Theme::paint):
(WebCore::Theme::inflateControlPaintRect):

  • platform/mac/ThemeMac.h:
  • platform/mac/ThemeMac.mm:

(WebCore::inflateRect):
(WebCore::configureToggleButton):
(WebCore::sharedRadioCell):
(WebCore::sharedCheckboxCell):
(WebCore::paintToggleButton):
(WebCore::setUpButtonCell):
(WebCore::button):
(WebCore::paintButton):
(WebCore::paintStepper):
(WebCore::ThemeMac::inflateControlPaintRect):
(WebCore::ThemeMac::paint):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::addVisualOverflowFromTheme): Keep integral snapping for now.

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::addRegionsVisualOverflowFromTheme): Keep integral snapping for now.

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::paint):
(WebCore::RenderTheme::adjustRepaintRect):

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

(WebCore::RenderThemeMac::adjustRepaintRect):

LayoutTests:

  • platform/mac-mountainlion/compositing/contents-opaque/control-layer-expected.txt:
  • platform/mac/compositing/contents-opaque/control-layer-expected.txt:
6:53 PM Changeset in webkit [169927] by Brent Fulgham
  • 4 edits in trunk/Source

[Win] Avoid fork bomb during build
https://bugs.webkit.org/show_bug.cgi?id=133837
<rdar://problem/17296034>

Reviewed by Tim Horton.

../JavaScriptCore:

reasonable default value when the 'num-cpus' script is not available.

../WebCore:

  • WebCore.vcxproj/build-generated-files.sh: Use a reasonable

default value when the 'num-cpus' script is not available.

6:49 PM Changeset in webkit [169926] by barraclough@apple.com
  • 13 edits in trunk/Source

Add support for thread/WorkQueue QoS
https://bugs.webkit.org/show_bug.cgi?id=130688

Reviewed by Anders Carlson & Simon Fraser.

Source/WebCore:
WebCore's ScrollingThread should be UserInteractive.

  • page/scrolling/ScrollingThread.cpp:

(WebCore::ScrollingThread::threadCallback):

  • ScrollingThread should be UserInteractive

Source/WebKit2:
The EventDispatcher's WorkQueue should be UserInteractive.

  • Platform/WorkQueue.cpp:

(WorkQueue::create):

  • pass QOS to constructor.

(WorkQueue::WorkQueue):

  • pass QOS to platformInitialize.
  • Platform/WorkQueue.h:
    • added enum, arguments.
  • Platform/efl/WorkQueueEfl.cpp:

(WorkQueue::platformInitialize):

  • has extra argument.
  • Platform/gtk/WorkQueueGtk.cpp:

(WorkQueue::platformInitialize):

  • has extra argument.
  • Platform/mac/WorkQueueMac.cpp:

(platformQOS):

  • map from enum to platform type.

(WorkQueue::platformInitialize):

  • set the QoS of the dispatch queue.
  • WebProcess/WebPage/EventDispatcher.cpp:

(WebKit::EventDispatcher::EventDispatcher):

  • EventDispatcher's WorkQueue should be UserInteractive.
  • config.h:
    • added HAVE_QOS_CLASSES

Source/WTF:
Add the ability to mark threads as UserInteractive.

  • wtf/Threading.cpp:

(WTF::setCurrentThreadIsUserInteractive):

  • added method to set QoS of current thread to UserInteractive.
  • wtf/Threading.h:
    • added declaration.
5:55 PM Changeset in webkit [169925] by Simon Fraser
  • 2 edits in trunk/Tools

[iOS] Fix the view being half offscreen in WebKitTestRunner on iOS
https://bugs.webkit.org/show_bug.cgi?id=133835

Reviewed by Tim Horton.

Don't do the _fakeOrigin stuff when -initWithFrame: is calling -setFrame:

  • WebKitTestRunner/ios/PlatformWebViewIOS.mm:

(-[WebKitTestRunnerWindow initWithFrame:]):
(-[WebKitTestRunnerWindow setFrame:]):

5:55 PM Changeset in webkit [169924] by Simon Fraser
  • 2 edits in trunk/Source/WebKit2

[iOS] Tiny hack to fix WebKitTestRunner view visibility
https://bugs.webkit.org/show_bug.cgi?id=133833

Reviewed by Tim Horton.

PageClientImplIOS in WebKitTestRunner has a null m_webView, so isViewInWindow
was returning false, which confused things.

Fix by falling back to a check on the content view if the m_webView is nil.

  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::isViewVisible):
(WebKit::PageClientImpl::isViewInWindow):

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

[Mac] Build fix after r169919.

  • WebCore.xcodeproj/project.pbxproj: The 'TileController.h' file must be a private header.
5:07 PM Changeset in webkit [169922] by aestes@apple.com
  • 2 edits in trunk/Source/WebCore

[Mac] Speculative build fix after r169921.

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

(WebCore::SourceBufferPrivateAVFObjC::destroyRenderers):

4:49 PM Changeset in webkit [169921] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[MSE][Mac] Stop observing the sample buffer renderers when destroying them.
https://bugs.webkit.org/show_bug.cgi?id=133831

Reviewed by Beth Dakin.

Release our retain on our AVSampleBufferDisplayLayer and AVSampleBufferAudioRenderer by stopping
our observation of its properties when removing them from the SourceBufferPrivateAVFObjC object.

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

(WebCore::SourceBufferPrivateAVFObjC::destroyRenderers):

4:30 PM Changeset in webkit [169920] by mark.lam@apple.com
  • 7 edits in trunk/Source/JavaScriptCore

Remove some dead / unused code.
<https://webkit.org/b/133828>

Reviewed by Filip Pizlo.

  • builtins/BuiltinExecutables.cpp:

(JSC::BuiltinExecutables::createBuiltinExecutable):

  • bytecode/UnlinkedCodeBlock.cpp:

(JSC::UnlinkedFunctionExecutable::UnlinkedFunctionExecutable):

  • bytecode/UnlinkedCodeBlock.h:

(JSC::UnlinkedFunctionExecutable::create):

  • bytecompiler/BytecodeGenerator.h:

(JSC::BytecodeGenerator::makeFunction):

  • parser/Parser.h:

(JSC::DepthManager::DepthManager): Deleted.
(JSC::DepthManager::~DepthManager): Deleted.

  • runtime/CodeCache.cpp:

(JSC::CodeCache::getFunctionExecutableFromGlobalCode):

4:10 PM Changeset in webkit [169919] by Brent Fulgham
  • 2 edits
    4 moves in trunk/Source/WebCore

Correct file locations after r169914. These should have been
in platform/graphics/ca.

Rubberstamped by Tim Horton.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/ca/TileController.cpp: Copied from platform/graphics/ca/mac/TileController.cpp.
  • platform/graphics/ca/TileController.h: Copied from platform/graphics/ca/mac/TileController.h.
  • platform/graphics/ca/TileGrid.cpp: Copied from platform/graphics/ca/mac/TileGrid.cpp.
  • platform/graphics/ca/TileGrid.h: Copied from platform/graphics/ca/mac/TileGrid.h.
  • platform/graphics/ca/mac/TileController.cpp: Removed.
  • platform/graphics/ca/mac/TileController.h: Removed.
  • platform/graphics/ca/mac/TileGrid.cpp: Removed.
  • platform/graphics/ca/mac/TileGrid.h: Removed.
3:48 PM Changeset in webkit [169918] by Lucas Forschler
  • 2 edits in tags/Safari-538.40/Source/WebCore

Merged r169917.

3:44 PM Changeset in webkit [169917] by aestes@apple.com
  • 2 edits in trunk/Source/WebCore

Fix the build after r169913.

  • loader/HistoryController.cpp:

(WebCore::HistoryController::restoreScrollPositionAndViewState):

3:41 PM Changeset in webkit [169916] by bshafiei@apple.com
  • 3 edits in tags/Safari-538.40/Source/WebCore

Merged r169913. <rdar://problem/17032752>

3:36 PM Changeset in webkit [169915] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Collect correct web timing data from CFNetwork.
https://bugs.webkit.org/show_bug.cgi?id=133824
<rdar://problem/17273654>

Patch by Alex Christensen <achristensen@webkit.org> on 2014-06-12
Reviewed by Simon Fraser.

Covered by existing web timing tests.

  • platform/network/mac/ResourceHandleMac.mm:

(WebCore::ResourceHandle::getConnectionTimingData):
Use _kCFNTimingDataFetchStart as the reference start time key.

3:34 PM Changeset in webkit [169914] by Brent Fulgham
  • 5 edits
    2 moves in trunk/Source/WebCore

Convert TileController and TileGrid from ObjC to C++
https://bugs.webkit.org/show_bug.cgi?id=133819
<rdar://problem/17291841>

Reviewed by Tim Horton.

Convert TileGrid.mm and TileController.mm into C++ implementations. This required creating a 'frameForLayer'
wrapper to call the 'frame' method of the CALayer object.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/ca/mac/TileController.cpp: Copied from platform/graphics/ca/mac/TileController.mm.

(WebCore::TileController::blankPixelCountForTiles):

  • platform/graphics/ca/mac/TileController.mm: Removed.
  • platform/graphics/ca/mac/TileGrid.cpp: Copied from platform/graphics/ca/mac/TileGrid.mm.
  • platform/graphics/ca/mac/TileGrid.h:
  • platform/graphics/ca/mac/TileGrid.mm: Removed.
  • platform/graphics/mac/WebLayer.h:
  • platform/graphics/mac/WebLayer.mm:

(WebCore::frameForLayer): Wrapper function to hide ObjC call from C++ compilation unit.

3:24 PM Changeset in webkit [169913] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

[iOS WK2] Fix crash on back/foward swipe
https://bugs.webkit.org/show_bug.cgi?id=133826
<rdar://problem/17032752>

Reviewed by Tim Horton.

AsyncScrollingCoordinator::frameViewForScrollingNode() would crash with a null root
state node, because HistoryController::restoreScrollPositionAndViewState() tried
to restore scroll position (via restoreViewState()) before hooking up the scrolling
coordinator.

Fix by doing the scrollingCoordinator->frameViewRootLayerDidChange() before
calling restoreViewState().

Also add a defensive null-check on the root state node in updateScrollPositionAfterAsyncScrollTimerFired().

  • loader/HistoryController.cpp:

(WebCore::HistoryController::restoreScrollPositionAndViewState):

  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::frameViewForScrollingNode):

2:21 PM Changeset in webkit [169912] by beidson@apple.com
  • 3 edits in trunk/Source/WebKit2

Add SPI for image controls and service controls preferences.
<rdar://problem/17292209> and https://bugs.webkit.org/show_bug.cgi?id=133820

Reviewed by Anders Carlsson.

  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetServiceControlsEnabled):
(WKPreferencesGetServiceControlsEnabled):
(WKPreferencesSetImageControlsEnabled):
(WKPreferencesGetImageControlsEnabled):

  • UIProcess/API/C/WKPreferencesRefPrivate.h:
1:54 PM Changeset in webkit [169911] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Add a space after the comma.

  • platform/network/HTTPHeaderMap.cpp:

(WebCore::HTTPHeaderMap::add):

1:40 PM Changeset in webkit [169910] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

[Mac] Allow reading com.apple.universalaccess preferences
https://bugs.webkit.org/show_bug.cgi?id=133817
<rdar://problem/17028261>

Reviewed by Anders Carlsson.

  • WebProcess/com.apple.WebProcess.sb.in:
1:34 PM Changeset in webkit [169909] by Brent Fulgham
  • 5 edits in trunk/Source/WebKit/win

[Win] Avoid crashes in code that converted CFDictionaries to HashMap
https://bugs.webkit.org/show_bug.cgi?id=133813
<rdar://problem/17291647>

Reviewed by Tim Horton.

  • WebHistory.cpp: Add empty string checks to avoid crashes in

hash function.
(WebHistory::removeItem):
(WebHistory::addItem):
(WebHistory::visitedURL):
(WebHistory::itemForURL):
(WebHistory::removeItemForURLString):
(WebHistory::itemForURLString):

  • WebPreferences.cpp: Ditto.

(WebPreferences::getInstanceForIdentifier):
(WebPreferences::setInstance):
(WebPreferences::removeReferenceForIdentifier):

  • WebView.cpp: Ditto. Also convert OwnPtr uses in this file

to std::unique_ptr.
(WebView::close):
(WebView::handleMouseEvent):
(WebView::registerEmbeddedViewMIMEType):
(WebView::shouldUseEmbeddedView):
(WebView::enterFullscreenForNode):
(WebView::fullScreenController):

  • WebView.h:
1:23 PM Changeset in webkit [169908] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix build.

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<HTTPHeaderMap>::decode):
(CoreIPC::ArgumentCoder<ResourceRequest>::decode):

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

[GTK] Unreviewed GTK gardening.

Patch by Carlos Alberto Lopez Perez <clopez@igalia.com> on 2014-06-12

  • platform/gtk/TestExpectations: Report and mark new failures and

timeouts.

  • platform/gtk/fast/forms/placeholder-position-expected.txt:

Rebaseline test after r169780.

12:50 PM Changeset in webkit [169906] by andersca@apple.com
  • 6 edits in trunk/Source/WebCore

Move header value merging to HTTPHeaderMap
https://bugs.webkit.org/show_bug.cgi?id=133815

Reviewed by Andreas Kling.

  • platform/network/HTTPHeaderMap.cpp:

(WebCore::HTTPHeaderMap::set):
(WebCore::HTTPHeaderMap::add):

  • platform/network/HTTPHeaderMap.h:
  • platform/network/ResourceRequestBase.cpp:

(WebCore::ResourceRequestBase::addHTTPHeaderField):

  • platform/network/ResourceResponseBase.cpp:

(WebCore::ResourceResponseBase::addHTTPHeaderField):

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::setRequestHeaderInternal):

12:07 PM Changeset in webkit [169905] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

Fixed a harmless error message when rewrite-availability-macros.sh is run in a clean build.

Rubber-stamped by Anders Carlsson.

  • mac/rewrite-availability-macros.sh:
11:50 AM Changeset in webkit [169904] by andersca@apple.com
  • 12 edits
    1 add in trunk/Source/WebCore

Add ShapeValue.cpp and move ShapeValue::isImageValid() there
https://bugs.webkit.org/show_bug.cgi?id=133809

Reviewed by Antti Koivisto.

This gets rid of CachedImage.h (and ResourceRequest and friends) from RenderStyle.h.

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

(WebCore::shapePropertyValue):

  • css/CSSCrossfadeValue.cpp:
  • css/CSSFilterImageValue.cpp:
  • css/StyleResolver.h:
  • page/animation/CSSPropertyAnimation.cpp:

(WebCore::blendFunc):

  • rendering/ShapeValue.cpp: Added.

(WebCore::ShapeValue::isImageValid):

  • rendering/shapes/ShapeOutsideInfo.cpp:

(WebCore::referenceBox):
(WebCore::ShapeOutsideInfo::computedShape):
(WebCore::ShapeOutsideInfo::isEnabledFor):

  • rendering/style/ShapeValue.h:

(WebCore::ShapeValue::type):
(WebCore::ShapeValue::setImage):
(WebCore::ShapeValue::ShapeValue):
(WebCore::ShapeValue::isImageValid): Deleted.

11:38 AM WebKitGTK/KeepingTheTreeGreen edited by clopez@igalia.com
(diff)
11:37 AM WebKitGTK/KeepingTheTreeGreen edited by clopez@igalia.com
(diff)
11:22 AM Changeset in webkit [169903] by mhahnenberg@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

Move structureHasRareData out of TypeInfo
https://bugs.webkit.org/show_bug.cgi?id=133800

Reviewed by Andreas Kling.

StructureHasRareData was originally put in TypeInfo to avoid making Structure bigger,
but we have a few spare bits in Structure so it would be nice to remove this hack.

  • runtime/JSTypeInfo.h:

(JSC::TypeInfo::newImpurePropertyFiresWatchpoints):
(JSC::TypeInfo::structureHasRareData): Deleted.

  • runtime/Structure.cpp:

(JSC::Structure::Structure):
(JSC::Structure::allocateRareData):
(JSC::Structure::cloneRareDataFrom):

  • runtime/Structure.h:

(JSC::Structure::previousID):
(JSC::Structure::objectToStringValue):
(JSC::Structure::setObjectToStringValue):
(JSC::Structure::setPreviousID):
(JSC::Structure::clearPreviousID):
(JSC::Structure::previous):
(JSC::Structure::rareData):

  • runtime/StructureInlines.h:

(JSC::Structure::setEnumerationCache):
(JSC::Structure::enumerationCache):

10:42 AM Changeset in webkit [169902] by fpizlo@apple.com
  • 9 edits
    6 adds in branches/ftlopt

[ftlopt] DFG get_by_id should inline chain accesses with a slightly polymorphic base
https://bugs.webkit.org/show_bug.cgi?id=133751

Reviewed by Mark Hahnenberg.

Source/JavaScriptCore:

  • bytecode/GetByIdStatus.cpp:

(JSC::GetByIdStatus::appendVariant):
(JSC::GetByIdStatus::computeForStubInfo):

  • bytecode/GetByIdVariant.cpp:

(JSC::GetByIdVariant::attemptToMerge):

  • bytecode/GetByIdVariant.h:
  • bytecode/PutByIdStatus.cpp:

(JSC::PutByIdStatus::computeFor):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::emitPrototypeChecks):
(JSC::DFG::ByteCodeParser::handleGetById):
(JSC::DFG::ByteCodeParser::handlePutById):

  • runtime/IntendedStructureChain.cpp:

(JSC::IntendedStructureChain::IntendedStructureChain):
(JSC::IntendedStructureChain::isStillValid):
(JSC::IntendedStructureChain::isNormalized):
(JSC::IntendedStructureChain::terminalPrototype):
(JSC::IntendedStructureChain::operator==):
(JSC::IntendedStructureChain::visitChildren):
(JSC::IntendedStructureChain::dumpInContext):
(JSC::IntendedStructureChain::chain): Deleted.

  • runtime/IntendedStructureChain.h:

(JSC::IntendedStructureChain::prototype):
(JSC::IntendedStructureChain::operator!=):
(JSC::IntendedStructureChain::head): Deleted.

LayoutTests:

  • js/regress/poly-chain-access-expected.txt: Added.
  • js/regress/poly-chain-access-simpler-expected.txt: Added.
  • js/regress/poly-chain-access-simpler.html: Added.
  • js/regress/poly-chain-access.html: Added.
  • js/regress/script-tests/poly-chain-access-simpler.js: Added.
  • js/regress/script-tests/poly-chain-access.js: Added.
10:33 AM Changeset in webkit [169901] by Lucas Forschler
  • 2 edits in tags/Safari-538.40/Source/WTF

Merged r169900.

9:35 AM Changeset in webkit [169900] by ap@apple.com
  • 2 edits in trunk/Source/WTF

Fix Mac after r169880.

This revision added a C++ comment to Platform.h, which breaks sandbox profile
preprocessing.

Also, I do not believe that this comment was entirely accurate - we've always used
this technique with GCC, so there has to be more to it. So, I just removed the comment.

  • wtf/Platform.h:
9:13 AM Changeset in webkit [169899] by Brent Fulgham
  • 6 edits in branches/safari-537.60-branch/Source

Unreviewed build fix. (Merge r167685)

Source/JavaScriptCore:

  • DerivedSources.make: Specify path to Perl/Python to avoid

build failures under Python 2.7+.

Source/WebCore:

  • DerivedSources.make: Specify path to Perl/Python to avoid

build failures under Python 2.7+.

Source/WTF:

  • WTF.vcxproj/WTFGenerated.make: Specify path to Perl/Python

to avoid build failures under Python 2.7+.

7:53 AM Changeset in webkit [169898] by Alan Bujtas
  • 11 edits in trunk/Source/WebCore

Subpixel rendering: Make <select> element's decoration subpixel aware.
https://bugs.webkit.org/show_bug.cgi?id=133781
<rdar://problem/17272083>

Reviewed by Simon Fraser.

Enable <select> decoration painting on subpixel positions.
The theme size is still integral, but its position is snapped to device pixels.
Theme's label, the InlineTextBox is already subpixel position aware.
webkit.org/b/132005 tracks the rest of the themes.

Not testable.

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::paint):

  • rendering/RenderTheme.h:

(WebCore::RenderTheme::paintMenuList):

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

(WebCore::inflateRect):
(WebCore::RenderThemeMac::adjustRepaintRect):
(WebCore::RenderThemeMac::paintMenuList):
(WebCore::RenderThemeMac::progressBarRectForBounds):
(WebCore::RenderThemeMac::setPopupButtonCellState):
(WebCore::RenderThemeMac::inflateRect): Deleted.

7:09 AM Changeset in webkit [169897] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[MSE][Mac] Crash in MediaSourcePrivateAVFObjC::naturalSize()
https://bugs.webkit.org/show_bug.cgi?id=133789

Reviewed by Eric Carlson.

Add null-check to proctect against being queried for the naturalSize before we have a
m_mediaSourcePrivate.

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

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::naturalSize):

7:07 AM Changeset in webkit [169896] by berto@igalia.com
  • 2 edits in trunk/Source/WebCore

[GTK] fails to build with --disable-webgl --disable-accelerated-compositing
https://bugs.webkit.org/show_bug.cgi?id=131267

Reviewed by Philippe Normand.

Add missing headers needed for Float32Array::create().

  • Modules/webaudio/AudioBuffer.cpp:
7:06 AM WebKitGTK/KeepingTheTreeGreen edited by clopez@igalia.com
(diff)
7:04 AM Changeset in webkit [169895] by Lucas Forschler
  • 5 edits in trunk/Source

Versioning.

7:03 AM Changeset in webkit [169894] by Lucas Forschler
  • 1 copy in tags/Safari-538.40

New Tag.

6:25 AM WebKitGTK/2.4.x edited by vjaquez@igalia.com
changed bug id to trac changset (diff)
5:53 AM Changeset in webkit [169893] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[GTK] Performance tests should be always ran with WKTR.
https://bugs.webkit.org/show_bug.cgi?id=133780

Patch by Carlos Alberto Lopez Perez <clopez@igalia.com> on 2014-06-12
Reviewed by Ryosuke Niwa.

  • Scripts/webkitpy/performance_tests/perftestsrunner.py:

(PerfTestsRunner.init): Enable webkit_test_runner when port
is GTK.

5:47 AM Changeset in webkit [169892] by svillar@igalia.com
  • 4 edits in trunk

[GTK] REGRESSION: application name is not correctly appended to the UA
https://bugs.webkit.org/show_bug.cgi?id=133793

Reviewed by Carlos Garcia Campos.

Source/WebCore:
We must use a blank to separate the default UA provided by WebKitGtk
from the application name coming from the public API.

Added an extra test case to the API tests to catch regressions.

  • platform/gtk/UserAgentGtk.cpp:

(WebCore::standardUserAgent):

Tools:

  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitSettings.cpp:

(testWebKitSettingsUserAgent):

5:41 AM Changeset in webkit [169891] by zandobersek@gmail.com
  • 3 edits in trunk/Source/WebCore

WorkerRunLoop::Task::performTask should take in WorkerGlobalScope* to avoid downcasting
https://bugs.webkit.org/show_bug.cgi?id=133616

Reviewed by Andreas Kling.

  • workers/WorkerRunLoop.cpp:

(WebCore::WorkerRunLoop::Task::performTask): Demand the context parameter to be a pointer
to WorkerGlobalScope instead of ScriptExecutionContext, avoiding an unnecessary downcast.
In the future this complete code path should use a reference to WorkerGlobalScope instead
of a pointer.

  • workers/WorkerRunLoop.h:
5:03 AM WebKitGTK/2.4.x edited by berto@igalia.com
(diff)
4:39 AM Changeset in webkit [169890] by commit-queue@webkit.org
  • 4 edits in trunk/LayoutTests

[EFL] Change expectations for three failing js/dom layout tests.
https://bugs.webkit.org/show_bug.cgi?id=133743

Unreviewed EFL gardening.

Patch by Andrzej Badowski <a.badowski@samsung.com> on 2014-06-12

  • platform/efl/js/dom/global-constructors-attributes-dedicated-worker-expected.txt:
  • platform/efl/js/dom/global-constructors-attributes-expected.txt:
  • platform/efl/js/dom/global-constructors-attributes-shared-worker-expected.txt:
3:10 AM Changeset in webkit [169889] by commit-queue@webkit.org
  • 2 edits
    3 adds in trunk/Source/JavaScriptCore

Allow enum guards to be generated from the replay json files
https://bugs.webkit.org/show_bug.cgi?id=133399

Patch by Zsolt Borbely <zsborbely.u-szeged@partner.samsung.com> on 2014-06-12
Reviewed by Csaba Osztrogonác.

  • replay/scripts/CodeGeneratorReplayInputs.py:

(Type.init):
(InputsModel.parse_type_with_framework_name):
(Generator.generate_header):
(Generator.generate_implementation):

  • replay/scripts/tests/expected/generate-enum-with-guard.json-TestReplayInputs.cpp: Added.

(Test::HandleWheelEvent::HandleWheelEvent):
(Test::HandleWheelEvent::~HandleWheelEvent):
(JSC::InputTraits<Test::HandleWheelEvent>::type):
(JSC::InputTraits<Test::HandleWheelEvent>::encode):
(JSC::InputTraits<Test::HandleWheelEvent>::decode):
(JSC::EncodingTraits<WebCore::PlatformWheelEventPhase>::encodeValue):
(JSC::EncodingTraits<WebCore::PlatformWheelEventPhase>::decodeValue):

  • replay/scripts/tests/expected/generate-enum-with-guard.json-TestReplayInputs.h: Added.

(JSC::InputTraits<Test::HandleWheelEvent>::queue):
(Test::HandleWheelEvent::platformEvent):

  • replay/scripts/tests/generate-enum-with-guard.json: Added.
2:41 AM Changeset in webkit [169888] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] Change expectations for three failing layout tests.
https://bugs.webkit.org/show_bug.cgi?id=133738

Unreviewed EFL layout tests gardening.

Patch by Andrzej Badowski <a.badowski@samsung.com> on 2014-06-12

  • platform/efl/TestExpectations:
2:25 AM Changeset in webkit [169887] by svillar@igalia.com
  • 4 edits in trunk

[GTK] Unsupported browser in www.icloud.com
https://bugs.webkit.org/show_bug.cgi?id=133403

Reviewed by Martin Robinson.

Source/WebCore:
We claim to be Safari (among others) to ensure maximum
compatibility with existing web sites. Valid Safari UA strings do
always (since Safari 3.0) contain the string "Version/X" before
the "Safari/X" part. We were wrongly only adding it in very
specific cases and we were placing it at the wrong position as it
must precede the "Safari/X" part.

From now on we unconditionally prepend the "Version/X" string to
the "Safari/X" part as we always claim to be Safari. This makes
the NeedsSafariVersion6 quirk invalid. This not only fixes
"unsupported browser" issues in icloud.com, but also in
globalforestwatch.com and live.com among many others.

Apart from that I'm bumping the Safari Version in the UA to 8.0 as
we're already claiming to be "Safari/538.35"" which corresponds to
Safari 8 beta.

  • platform/gtk/UserAgentGtk.cpp:

(WebCore::buildUserAgentString):
(WebCore::standardUserAgentForURL):

Tools:

  • TestWebKitAPI/Tests/WebCore/gtk/UserAgentQuirks.cpp:

(TestWebKitAPI::TEST): removed a test for the NeedsSafariVersion6
quirk that was removed.

1:50 AM Changeset in webkit [169886] by Carlos Garcia Campos
  • 13 edits in trunk/Source/JavaScriptCore

Unreviewed. Fix GTK+ build after r169823.

Include StructureInlines.h in a few more files to fix linking
issues due to JSC::Structure::get undefined symbol.

  • runtime/ArrayIteratorConstructor.cpp:
  • runtime/ArrayIteratorPrototype.cpp:
  • runtime/JSConsole.cpp:
  • runtime/JSMapIterator.cpp:
  • runtime/JSSet.cpp:
  • runtime/JSSetIterator.cpp:
  • runtime/JSWeakMap.cpp:
  • runtime/MapIteratorPrototype.cpp:
  • runtime/MapPrototype.cpp:
  • runtime/SetIteratorPrototype.cpp:
  • runtime/SetPrototype.cpp:
  • runtime/WeakMapPrototype.cpp:
1:01 AM Changeset in webkit [169885] by Csaba Osztrogonác
  • 2 edits in trunk/Source/JavaScriptCore

[EFL] One more URTBF after r169823 to make ARM64 build happy too.

  • runtime/JSMap.cpp:
12:37 AM Changeset in webkit [169884] by Carlos Garcia Campos
  • 4 edits in trunk/Source/WebKit2

[GTK] Remove view mode API
https://bugs.webkit.org/show_bug.cgi?id=133725

Reviewed by Martin Robinson.

It currently does nothing because support for view source mode was
removed from WebCore.

  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkitWebViewSetProperty):
(webkitWebViewGetProperty):
(webkit_web_view_class_init):
(webkit_web_view_set_view_mode): Deleted.
(webkit_web_view_get_view_mode): Deleted.

  • UIProcess/API/gtk/WebKitWebView.h:
  • UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
12:25 AM Changeset in webkit [169883] by psolanki@apple.com
  • 5 edits in trunk/Source

Avoid creating a CFData when checking if a resource is file backed
https://bugs.webkit.org/show_bug.cgi?id=133783

Reviewed by Andreas Kling.

Source/WebCore:
Export SharedBuffer::hasPlatformData().

No new tests because no functional changes.

  • WebCore.exp.in:
  • platform/SharedBuffer.h:

Source/WebKit2:
When a resource is file backed, we have it as a single CFDataRef in SharedBuffer. Add an
early return in tryGetShareableHandleFromSharedBuffer() so we don't end up creating a new
CFDataRef if we don't already have one in SharedBuffer. If we had to create a CFDataRef, the
it can't have been a file backed resource.

  • NetworkProcess/mac/NetworkResourceLoaderMac.mm:

(WebKit::NetworkResourceLoader::tryGetShareableHandleFromSharedBuffer):

Jun 11, 2014:

11:36 PM Changeset in webkit [169882] by dburkart@apple.com
  • 3 edits in tags/Safari-538.39.41/WebKitLibraries

Rolling out r169873

11:36 PM Changeset in webkit [169881] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Source/WebKit2

Fix build break on EFL and GTK ports since r169820
https://bugs.webkit.org/show_bug.cgi?id=133786

Reviewed by Philippe Normand.

ENABLE_PRIMARY_SNAPSHOTTED_PLUGIN_HEURISTIC macro are missing in PluginView::pluginSnapshotTimerFired().

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::pluginSnapshotTimerFired):

11:18 PM Changeset in webkit [169880] by Csaba Osztrogonác
  • 5 edits in trunk/Source

[EFL][GTK] Ultimate fix not to have build failures
in the future because of "#if TARGET_OS_IPHONE" guards.

Unreviewed buildfix.

Source/WebKit2:
Revert the previous wrong fix attempt r169879.

  • WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
  • WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:

Source/WTF:

  • wtf/Platform.h: Define TARGET_OS_IPHONE to 0 on EFL and GTK.
10:45 PM Changeset in webkit [169879] by Csaba Osztrogonác
  • 3 edits in trunk/Source/WebKit2

Fix build break on EFL port since r169869
https://bugs.webkit.org/show_bug.cgi?id=133785

Unreviewed, fix a build break on EFL port.

Patch by Gyuyoung Kim <gyuyoung.kim@samsung.com> on 2014-06-11

  • WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: Use defined(TARGET_OS_IPHONE).
  • WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h: ditto.
10:22 PM Changeset in webkit [169878] by commit-queue@webkit.org
  • 2 edits in trunk

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

rollout wrong build fix approach for EFL port (Requested by
gyuyoung on #webkit).

Reverted changeset:

"Unreviewed, EFL build fix since r169869."
http://trac.webkit.org/changeset/169877

10:03 PM Changeset in webkit [169877] by gyuyoung.kim@samsung.com
  • 2 edits in trunk

Unreviewed, EFL build fix since r169869.

Additionally literal-suffix is removed in EFL compile flag, because it is duplicated.

  • Source/cmake/WebKitHelpers.cmake: Treat undef error as build warning.
8:24 PM Changeset in webkit [169876] by bshafiei@apple.com
  • 2 edits in tags/Safari-538.39.41/Source/WebCore

Re-merged r169855. <rdar://problem/16746383>

8:12 PM Changeset in webkit [169875] by bshafiei@apple.com
  • 2 edits in tags/Safari-538.39.41/Source/WebCore

Re-merged r169843. <rdar://problem/16746383>

8:09 PM Changeset in webkit [169874] by bshafiei@apple.com
  • 11 edits in tags/Safari-538.39.41/Source/WebCore

Re-merged r169830. <rdar://problem/16746383>

7:55 PM Changeset in webkit [169873] by bshafiei@apple.com
  • 3 edits in tags/Safari-538.39.41/WebKitLibraries

Re-merged r169817. <rdar://problem/17009091>

7:24 PM Changeset in webkit [169872] by mmaxfield@apple.com
  • 4 edits
    2 adds in trunk

SVGGlyphToPathTranslator ASSERTs when encountering a missing glyph in an SVG font
https://bugs.webkit.org/show_bug.cgi?id=133528

Reviewed by Simon Fraser.

Source/WebCore:
Turns out this assertion is benign. We can take an early out of advance() (which
is then handled properly by Font::dashesForIntersectionsWithRect()

Test: svg/custom/skip-underline-missing-glyph.html

  • platform/graphics/mac/FontMac.mm:

(WebCore::Font::dashesForIntersectionsWithRect): Rather than skip partial results,
don't skip anything at all to be consistent.

  • rendering/svg/SVGTextRunRenderingContext.cpp:

(WebCore::SVGGlyphToPathTranslator::advance): Take an early out to avoid an ASSERT.

LayoutTests:
Make sure that no ASSERT occurs in this situation. In addition, make sure that the
whole element doesn't get skip:ink gaps. This will need to be updated when we
support SVG + non-SVG mixed runs.

  • svg/custom/skip-underline-missing-glyph-expected.html: Added
  • svg/custom/skip-underline-missing-glyph.html: Added
7:11 PM Changeset in webkit [169871] by dburkart@apple.com
  • 3 edits in tags/Safari-538.39.41/WebKitLibraries

Roll out changes from 17009091

7:10 PM Changeset in webkit [169870] by dburkart@apple.com
  • 12 edits in tags/Safari-538.39.41/Source/WebCore

Roll out changes for 16746383.

7:03 PM Changeset in webkit [169869] by Simon Fraser
  • 14 edits in trunk

[iOS WK2] Give WebKitTestRunner a viewport configuration with initial scale=1 for testing
https://bugs.webkit.org/show_bug.cgi?id=133779

Reviewed by Benjamin Poulain.

Source/WebCore:

Add a "testing" viewport configuration with initial scale of 1.

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

(WebCore::ViewportConfiguration::testingParameters):

  • page/ViewportConfiguration.h:

Source/WebKit2:

Support a custom viewport configuration for testing, on iOS.

  • UIProcess/API/ios/WKViewIOS.mm:

(-[WKView _frameOrBoundsChanged]): Call setViewportConfigurationMinimumLayoutSize()
just as WKWebView does.

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

(WKBundlePageSetUseTestingViewportConfiguration): New SPI to set a viewport config for testing.

  • WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h: Ditto.
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):

  • WebProcess/WebPage/WebPage.h:

(WebKit::WebPage::setUseTestingViewportConfiguration):
(WebKit::WebPage::isUsingTestingViewportConfiguration):

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::resetViewportDefaultConfiguration):

Tools:

Tell the WebPage to use the testing viewport configuration from the injected bundle.

  • WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:

(WTR::InjectedBundle::didReceiveMessage): Code cleanup.

  • WebKitTestRunner/InjectedBundle/cocoa/InjectedBundlePageCocoa.mm:

(WTR::InjectedBundlePage::platformDidStartProvisionalLoadForFrame): Call WKBundlePageSetUseTestingViewportConfiguration()
on iOS.

5:46 PM Changeset in webkit [169868] by psolanki@apple.com
  • 2 edits in trunk/Source/WebCore

Keep CFDataRefs in SharedBuffer instead of merging them
https://bugs.webkit.org/show_bug.cgi?id=133775

Reviewed by Alexey Proskuryakov.

Instead of merging the CFDataRefs into one buffer, save them in as CFDataRefs in
SharedBuffer. They will get merged when code calls buffer() later on.

No new tests because no functional changes.

  • platform/network/cf/ResourceHandleCFNet.cpp:

(WebCore::ResourceHandle::handleDataArray):

5:39 PM Performance Tests edited by clopez@igalia.com
Update ports and links (diff)
5:32 PM Changeset in webkit [169867] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/mac

WebFrameNetworkContext should not have a sourceApplicationIdentifier in WK1.
https://bugs.webkit.org/show_bug.cgi?id=133772

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-06-11
Reviewed by Jer Noble.

Return empty string from sourceApplicationIdentifier for WK1.

  • WebCoreSupport/WebFrameNetworkingContext.mm:

(WebFrameNetworkingContext::sourceApplicationIdentifier):

5:30 PM Changeset in webkit [169866] by ap@apple.com
  • 4 edits in trunk

editing/selection/selection-in-iframe-removed-crash.html or selection-invalid-offset.html crashes intermittently
https://bugs.webkit.org/show_bug.cgi?id=111521
<rdar://problem/15159351>

Reviewed by Brady Eidson.

Source/WebCore:
Covered by existing tests.

  • loader/DocumentLoader.cpp: (WebCore::DocumentLoader::commitData): Bail out if the

load was canceled from under receivedFirstData(). Since this is where we commit the
load, there are ample opportunities for scripts or clients to do anything.

LayoutTests:

  • platform/mac/TestExpectations: Removed expectations for the tests.
5:30 PM Changeset in webkit [169865] by dburkart@apple.com
  • 3 edits in tags/Safari-538.39.41/Source/WebCore

Merged r169855.

5:25 PM Changeset in webkit [169864] by fpizlo@apple.com
  • 15 edits in branches/ftlopt/Source/JavaScriptCore

Readded native calling to the FTL and Split the DFG nodes
Call and Construct into NativeCall and NativeConstruct
to better represent their semantics.
https://bugs.webkit.org/show_bug.cgi?id=133660

Reviewed by Filip Pizlo.

  • dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): Added NativeCall and NativeConstruct case
  • dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::addCall): added NativeCall case. (JSC::DFG::ByteCodeParser::handleCall): set to return NativeCall or NativeConstruct instead of Call or Construct in the presence of a native function.
  • dfg/DFGClobberize.h: (JSC::DFG::clobberize): added NativeCall and NativeConstruct case.
  • dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): added NativeCall and NativeConstruct case.
  • dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): added NativeCall and NativeConstruct case.
  • dfg/DFGNode.h: (JSC::DFG::Node::hasHeapPrediction): added NativeCall and NativeConstruct case. (JSC::DFG::Node::canBeKnownFunction): changed to NativeCall and NativeConstruct. (JSC::DFG::Node::hasKnownFunction): changed to NativeCall and NativeConstruct.
  • dfg/DFGNodeType.h: added NativeCall and NativeConstruct.
  • dfg/DFGPredictionPropagationPhase.cpp: (JSC::DFG::PredictionPropagationPhase::propagate): added NativeCall and NativeConstruct case.
  • dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): added NativeCall and NativeConstruct case.
  • dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): ditto (JSC::DFG::SpeculativeJIT::compile): ditto
  • dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): ditto (JSC::DFG::SpeculativeJIT::compile): ditto
  • ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): ditto
  • ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::lower): ditto (JSC::FTL::LowerDFGToLLVM::compileNode): ditto. (JSC::FTL::LowerDFGToLLVM::compileNativeCallOrConstruct): Added. (JSC::FTL::LowerDFGToLLVM::compileCallOrConstruct): removed NativeCall and NativeConstruct functionality. (JSC::FTL::LowerDFGToLLVM::didOverflowStack): added NativeCall and NativeConstruct case.
  • runtime/JSCJSValue.h: added JS_EXPORT_PRIVATE to toInteger as it is apparently needed.

Patch by Matthew Mirman <mmirman@apple.com> on 2014-06-11

5:14 PM Changeset in webkit [169863] by timothy_horton@apple.com
  • 10 edits in trunk/Source/WebKit2

Remove unused VisibleContentRectUpdateInfo update ID
https://bugs.webkit.org/show_bug.cgi?id=133777

Reviewed by Benjamin Poulain.

Remove some unused code.

  • Shared/VisibleContentRectUpdateInfo.cpp:

(WebKit::VisibleContentRectUpdateInfo::encode):
(WebKit::VisibleContentRectUpdateInfo::decode):

  • Shared/VisibleContentRectUpdateInfo.h:

(WebKit::VisibleContentRectUpdateInfo::VisibleContentRectUpdateInfo):
(WebKit::operator==):
(WebKit::VisibleContentRectUpdateInfo::updateID): Deleted.

  • Shared/mac/RemoteLayerTreeTransaction.h:

(WebKit::RemoteLayerTreeTransaction::setLastVisibleContentRectUpdateID): Deleted.
(WebKit::RemoteLayerTreeTransaction::lastVisibleContentRectUpdateID): Deleted.

  • Shared/mac/RemoteLayerTreeTransaction.mm:

(WebKit::RemoteLayerTreeTransaction::encode):
(WebKit::RemoteLayerTreeTransaction::decode):

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::nextVisibleContentRectUpdateID): Deleted.
(WebKit::WebPageProxy::lastVisibleContentRectUpdateID): Deleted.

  • UIProcess/ios/WKContentView.mm:

(-[WKContentView didUpdateVisibleRect:unobscuredRect:unobscuredRectInScrollViewCoordinates:scale:minimumScale:inStableState:isChangingObscuredInsetsInteractively:]):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):
(WebKit::WebPage::willCommitLayerTree):

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

(WebKit::WebPage::updateVisibleContentRects):

5:14 PM Changeset in webkit [169862] by Alan Bujtas
  • 3 edits
    2 adds in trunk

Subpixel rendering: RenderBox's content clipping should clip on device pixel boundary.
https://bugs.webkit.org/show_bug.cgi?id=133767
<rdar://problem/17272365>

Reviewed by Simon Fraser.

Push RenderBox's content clipping to device pixel boundaries. Integral snapping makes
content cut off prematurely.

Source/WebCore:
Test: fast/inline-block/hidpi-margin-top-with-subpixel-value-and-overflow-hidden.html

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::pushContentsClip):

LayoutTests:

  • fast/inline-block/hidpi-margin-top-with-subpixel-value-and-overflow-hidden-expected.html: Added.
  • fast/inline-block/hidpi-margin-top-with-subpixel-value-and-overflow-hidden.html: Added.
4:57 PM Changeset in webkit [169861] by andersca@apple.com
  • 4 edits in trunk/Source/WebCore

Remove XHRReplayData::addHeader
https://bugs.webkit.org/show_bug.cgi?id=133776

Reviewed by Antti Koivisto.

Just pass the HTTP header map to XHRReplayData::create directly.

  • inspector/InspectorResourceAgent.cpp:

(WebCore::InspectorResourceAgent::willLoadXHR):

  • inspector/NetworkResourcesData.cpp:

(WebCore::XHRReplayData::create):
(WebCore::XHRReplayData::XHRReplayData):
(WebCore::XHRReplayData::addHeader): Deleted.

  • inspector/NetworkResourcesData.h:
4:53 PM Changeset in webkit [169860] by Lucas Forschler
  • 5 edits in branches/safari-537.60-branch/Source

Versioning.

4:49 PM Changeset in webkit [169859] by Lucas Forschler
  • 1 copy in tags/Safari-537.60.18

New Tag.

4:43 PM Changeset in webkit [169858] by dburkart@apple.com
  • 5 edits in tags/Safari-538.39.41/Source

Version bump.

4:42 PM Changeset in webkit [169857] by dburkart@apple.com
  • 2 edits in tags/Safari-538.39.41/Source/WebCore

Merge r169843.

4:17 PM Changeset in webkit [169856] by Brent Fulgham
  • 3 edits in branches/safari-537.60-branch/Source/WebCore

Merge r169842.

2014-06-11 Brent Fulgham <Brent Fulgham>

[Win] Avoid deadlock with AVFoundation
https://bugs.webkit.org/show_bug.cgi?id=133762
<rdar://problem/17128248>

Reviewed by Eric Carlson.

Always invoke our notifications asynchronously so that we do not
execute long-running code while holding the AVFWrapper map mutex
lock. AVFoundationCF callbacks can deadlock if we call into AVF
while holding this lock.

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: (WebCore::MediaPlayerPrivateAVFoundation::scheduleMainThreadNotification):
  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp: (WebCore::AVFWrapper::legibleOutputCallback): Correct bad assertion.
4:12 PM Changeset in webkit [169855] by aestes@apple.com
  • 3 edits in trunk/Source/WebCore

Fix the Mac build.

  • WebCore.exp.in: Exported ZN7WebCore19ResourceRequestBase15setHTTPReferrerERKN3WTF6StringE
  • platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm: Moved ivar declarations to @interface to account for the 32-bit legacy runtime.
4:06 PM Changeset in webkit [169854] by mitz@apple.com
  • 3 edits
    2 adds in trunk/Source/WebKit2

[Cocoa] Move CompletionHandlerCallChecker into a separate file
https://bugs.webkit.org/show_bug.cgi?id=133774

Reviewed by Anders Carlsson.

  • Shared/Cocoa/CompletionHandlerCallChecker.h: Added.
  • Shared/Cocoa/CompletionHandlerCallChecker.mm: Added.

(WebKit::CompletionHandlerCallChecker::create):
(WebKit::CompletionHandlerCallChecker::CompletionHandlerCallChecker):
(WebKit::CompletionHandlerCallChecker::~CompletionHandlerCallChecker):
(WebKit::CompletionHandlerCallChecker::didCallCompletionHandler):
(WebKit::CompletionHandlerCallChecker::classImplementingDelegateMethod):

  • UIProcess/Cocoa/UIDelegate.mm:

(WebKit::CompletionHandlerCallChecker::create): Deleted.
(WebKit::CompletionHandlerCallChecker::~CompletionHandlerCallChecker): Deleted.
(WebKit::CompletionHandlerCallChecker::didCallCompletionHandler): Deleted.
(WebKit::CompletionHandlerCallChecker::CompletionHandlerCallChecker): Deleted.
(WebKit::CompletionHandlerCallChecker::classImplementingDelegateMethod): Deleted.

  • WebKit2.xcodeproj/project.pbxproj:
3:55 PM Changeset in webkit [169853] by mhahnenberg@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Inline caching should try to flatten uncacheable dictionaries
https://bugs.webkit.org/show_bug.cgi?id=133683

Reviewed by Geoffrey Garen.

There exists a body of JS code that deletes properties off of objects (especially function/constructor objects),
which puts them into an uncacheable dictionary state. This prevents all future inline caching for these objects.
If properties are deleted out of the object during its initialization, we can enable caching for that object by
attempting to flatten it when we see we're trying to do inline caching with that object. We then record that we
performed this flattening optimization in the object's Structure. If it ever re-enters the uncacheable dictionary
state then we can just give up on caching that object.

In refactoring some of the code in tryCacheGetById and tryBuildGetByIdList to reduce some duplication, I added
the InlineCacheAction enum, a new way to indicate the success or failure of an inline caching attempt. I changed
the other inline caching functions to return this enum rather than the opaque booleans that we were previously
returning.

  • jit/Repatch.cpp:

(JSC::actionForCell):
(JSC::tryCacheGetByID):
(JSC::repatchGetByID):
(JSC::tryBuildGetByIDList):
(JSC::buildGetByIDList):
(JSC::tryCachePutByID):
(JSC::repatchPutByID):
(JSC::tryBuildPutByIdList):
(JSC::buildPutByIdList):
(JSC::tryRepatchIn):
(JSC::repatchIn):

  • runtime/Structure.cpp:

(JSC::Structure::Structure):
(JSC::Structure::flattenDictionaryStructure):

  • runtime/Structure.h:

(JSC::Structure::hasBeenFlattenedBefore):

3:52 PM Changeset in webkit [169852] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

Make FrameView 8 bytes smaller
https://bugs.webkit.org/show_bug.cgi?id=133771

Reviewed by Anders Carlsson.

m_borderX and m_borderY were historical cruft.

  • page/FrameView.cpp:

(WebCore::FrameView::reset):

  • page/FrameView.h:
3:49 PM Changeset in webkit [169851] by mhock@apple.com
  • 6 edits in trunk/Source/WebKit2

[iOS] Clear UIProcess visual state after WebProcess crash
https://bugs.webkit.org/show_bug.cgi?id=133664
<rdar://problem/16952742>

Reviewed by Benjamin Poulain.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _didRelaunchProcess]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::didRelaunchProcess):

  • UIProcess/mac/RemoteLayerTreeHost.h:
  • UIProcess/mac/RemoteLayerTreeHost.mm:

(WebKit::RemoteLayerTreeHost::~RemoteLayerTreeHost):
(WebKit::RemoteLayerTreeHost::clearLayers):

3:47 PM Changeset in webkit [169850] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Implement swipeWithEvent for non-fluid swipes
https://bugs.webkit.org/show_bug.cgi?id=133766
<rdar://problem/17126889>

Reviewed by Anders Carlsson.

  • UIProcess/API/mac/WKView.mm:

(-[WKView swipeWithEvent:]):
On non-fluid swipes, go back or forward depending on the swipe direction.

3:41 PM Changeset in webkit [169849] by ddkilzer@apple.com
  • 3 edits
    3 adds in trunk

WindowFeatures arguments shoud ignore invalid characters in values
<http://webkit.org/b/133703>
<rdar://problem/17254118>

Reviewed by Andy Estes.

Source/WebCore:

Test: fast/dom/Window/window-property-invalid-characters-ignored.html

  • page/WindowFeatures.cpp:

(WebCore::WindowFeatures::WindowFeatures): Set |length| based on
|buffer|, not |features|. Switch to using a for loop. Switch
to unsigned types since we are working with positive offsets
into a String.

LayoutTests:

  • fast/dom/Window/resources/window-property-invalid-characters-ignored.html: Added.
  • fast/dom/Window/window-property-invalid-characters-ignored-expected.txt: Added.
  • fast/dom/Window/window-property-invalid-characters-ignored.html: Added.
3:40 PM Changeset in webkit [169848] by ddkilzer@apple.com
  • 3 edits
    2 adds in trunk

Viewport arguments should ignore invalid characters in values
<http://webkit.org/b/133555>
<rdar://problem/17179650>

Reviewed by Daniel Bates.

Source/WebCore:

Test: fast/viewport/viewport-warnings-7.html

  • dom/Document.cpp:

(WebCore::Document::processArguments): Set |length| based on
|buffer|, not |features|. Switch to using a for loop. Switch
to unsigned types since we are working with positive offsets
into a String.

LayoutTests:

  • fast/viewport/viewport-warnings-7-expected.txt: Added.
  • fast/viewport/viewport-warnings-7.html: Added.
3:34 PM Changeset in webkit [169847] by andersca@apple.com
  • 3 edits in trunk/Source/WebCore

Move some HTTP header field accessors to ResourceRequestBase.cpp
https://bugs.webkit.org/show_bug.cgi?id=133773

Reviewed by Andreas Kling.

This will avoid having to include HTTPHeaderNames.h from ResourceRequestBase.h.

  • platform/network/ResourceRequestBase.cpp:

(WebCore::ResourceRequestBase::httpContentType):
(WebCore::ResourceRequestBase::setHTTPContentType):
(WebCore::ResourceRequestBase::httpReferrer):
(WebCore::ResourceRequestBase::setHTTPReferrer):
(WebCore::ResourceRequestBase::httpOrigin):
(WebCore::ResourceRequestBase::setHTTPOrigin):
(WebCore::ResourceRequestBase::httpUserAgent):
(WebCore::ResourceRequestBase::setHTTPUserAgent):
(WebCore::ResourceRequestBase::httpAccept):
(WebCore::ResourceRequestBase::setHTTPAccept):

  • platform/network/ResourceRequestBase.h:

(WebCore::ResourceRequestBase::httpContentType): Deleted.
(WebCore::ResourceRequestBase::setHTTPContentType): Deleted.
(WebCore::ResourceRequestBase::httpReferrer): Deleted.
(WebCore::ResourceRequestBase::setHTTPReferrer): Deleted.
(WebCore::ResourceRequestBase::httpOrigin): Deleted.
(WebCore::ResourceRequestBase::setHTTPOrigin): Deleted.
(WebCore::ResourceRequestBase::httpUserAgent): Deleted.
(WebCore::ResourceRequestBase::setHTTPUserAgent): Deleted.
(WebCore::ResourceRequestBase::httpAccept): Deleted.
(WebCore::ResourceRequestBase::setHTTPAccept): Deleted.

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

[Cocoa] Xcode cannot infer that the WebKit target implicitly depends on WebCore.framework
https://bugs.webkit.org/show_bug.cgi?id=133765

Reviewed by Anders Carlsson.

  • Configurations/WebKit.xcconfig: Move linking against WebCore from OTHER_LDFLAGS here...
  • WebKit2.xcodeproj/project.pbxproj: ...to the Link Binary With Libraries build phase here.
3:08 PM Changeset in webkit [169845] by Simon Fraser
  • 7 edits in trunk/Tools

WTR cleanup: push per-test viewport configuration into TestController, where platforms can customize it
https://bugs.webkit.org/show_bug.cgi?id=133770

Reviewed by Anders Carlsson.

Push the per-test view configuration up to TestController, so that platforms
can modify the behavior. This also allows platform-specific changes (e.g.
for threaded scrolling) to made without #ifefs.

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::updateWebViewSizeForTest):
(WTR::TestController::updateWindowScaleForTest):
(WTR::shouldUseFixedLayout):
(WTR::TestController::updateLayoutTypeForTest):
(WTR::TestController::platformConfigureViewForTest):
(WTR::TestController::configureViewForTest):

  • WebKitTestRunner/TestController.h:
  • WebKitTestRunner/TestInvocation.cpp:

(WTR::TestInvocation::invoke):
(WTR::sizeWebViewForCurrentTest): Deleted.
(WTR::changeWindowScaleIfNeeded): Deleted.
(WTR::shouldUseThreadedScrolling): Deleted.
(WTR::updateThreadedScrollingForCurrentTest): Deleted.
(WTR::shouldUseFixedLayout): Deleted.
(WTR::updateLayoutType): Deleted.

  • WebKitTestRunner/TestInvocation.h:

(WTR::TestInvocation::pathOrURL):

  • WebKitTestRunner/ios/TestControllerIOS.mm:

(WTR::shouldMakeViewportFlexible):
(WTR::TestController::platformConfigureViewForTest):

  • WebKitTestRunner/mac/TestControllerMac.mm:

(WTR::shouldUseThreadedScrolling):
(WTR::TestController::platformConfigureViewForTest):

3:01 PM Changeset in webkit [169844] by andersca@apple.com
  • 4 edits in trunk/Source/WebCore

Remove some more unneeded member functions from HTTPHeaderMap
https://bugs.webkit.org/show_bug.cgi?id=133768

Reviewed by Simon Fraser.

  • loader/CrossOriginAccessControl.cpp:

(WebCore::createAccessControlPreflightRequest):

  • platform/network/HTTPHeaderMap.cpp:

(WebCore::HTTPHeaderMap::find): Deleted.
(WebCore::HTTPHeaderMap::keys): Deleted.

  • platform/network/HTTPHeaderMap.h:
2:57 PM Changeset in webkit [169843] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviwed Mac release build fix; mark the keyPath parameter as unused.

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

(-[WebAVSampleBufferErrorListener observeValueForKeyPath:ofObject:change:context:]):

2:49 PM WebKitGTK/KeepingTheTreeGreen edited by ltilve@igalia.com
(diff)
2:43 PM Changeset in webkit [169842] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[Win] Avoid deadlock with AVFoundation
https://bugs.webkit.org/show_bug.cgi?id=133762
<rdar://problem/17128248>

Reviewed by Eric Carlson.

Always invoke our notifications asynchronously so that we do not
execute long-running code while holding the AVFWrapper map mutex
lock. AVFoundationCF callbacks can deadlock if we call into AVF
while holding this lock.

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:

(WebCore::MediaPlayerPrivateAVFoundation::scheduleMainThreadNotification):

2:42 PM Changeset in webkit [169841] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

[CMake] One more URTBF after r169826.

  • CMakeLists.txt: Generate files to the proper place.
2:38 PM Changeset in webkit [169840] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Tools

[EFL] Add dependencies packages to efl install-dependencies file
https://bugs.webkit.org/show_bug.cgi?id=133720

Reviewed by Csaba Osztrogonác.

After r169785, EFL port starts to use efl 1.9 ver. EFL port needs to
install doxygen and libssl-dev because efl 1.9 depends on those libraries.

  • efl/install-dependencies:
2:33 PM Changeset in webkit [169839] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

[CMake]URTBF after r169826.

  • CMakeLists.txt: Typo fix.
2:32 PM Changeset in webkit [169838] by dburkart@apple.com
  • 11 edits in tags/Safari-538.39.41/Source/WebCore

Merge r169830.

2:29 PM Changeset in webkit [169837] by zoltan@webkit.org
  • 2 edits in trunk/Tools

Unreviewed. Moving myself to the list of reviewers.

  • Scripts/webkitpy/common/config/contributors.json:
2:28 PM Changeset in webkit [169836] by andersca@apple.com
  • 4 edits in trunk/Source/WebCore

Get rid of an unneeded HTTPHeaderMap::remove overload
https://bugs.webkit.org/show_bug.cgi?id=133763

Reviewed by Andreas Kling.

Change HTTPHeaderMap::remove to return whether an entry was removed or not and simplify
ResourceRequestBase::clearHTTPAuthorization.

  • platform/network/HTTPHeaderMap.cpp:

(WebCore::HTTPHeaderMap::remove):

  • platform/network/HTTPHeaderMap.h:
  • platform/network/ResourceRequestBase.cpp:

(WebCore::ResourceRequestBase::clearHTTPAuthorization):

2:28 PM Changeset in webkit [169835] by dburkart@apple.com
  • 3 edits in tags/Safari-538.39.41/WebKitLibraries

Update WKSI for <rdar://problem/17009091>.

Rubber stamped by Eric Carlson.

  • libWebKitSystemInterfaceMavericks.a:
  • libWebKitSystemInterfaceMountainLion.a:
2:28 PM Changeset in webkit [169834] by Csaba Osztrogonác
  • 2 edits in trunk/Source/JavaScriptCore

[EFL] URTBF after r169823.

  • bindings/ScriptValue.cpp: Missing include added.
2:21 PM Changeset in webkit [169833] by dburkart@apple.com
  • 1 copy in tags/Safari-538.39.41

Tagging.

2:11 PM Changeset in webkit [169832] by ddkilzer@apple.com
  • 2 edits
    9 adds in trunk/LayoutTests

[iOS] Enable fast/viewport tests
<http://webkit.org/b/133754>

Reviewed by Andy Estes.

  • platform/ios-sim/Skipped:
  • Stop skipping fast/viewport tests.
  • platform/ios-sim/fast/viewport/viewport-legacy-handheldfriendly-expected.txt: Added.
  • platform/ios-sim/fast/viewport/viewport-legacy-mobileoptimized-2-expected.txt: Added.
  • platform/ios-sim/fast/viewport/viewport-legacy-mobileoptimized-3-expected.txt: Added.
  • platform/ios-sim/fast/viewport/viewport-legacy-mobileoptimized-expected.txt: Added.
  • platform/ios-sim/fast/viewport/viewport-legacy-ordering-5-expected.txt: Added.
  • platform/ios-sim/fast/viewport/viewport-legacy-ordering-6-expected.txt: Added.
  • platform/ios-sim/fast/viewport/viewport-legacy-xhtmlmp-expected.txt: Added.
  • platform/ios-sim/fast/viewport/viewport-legacy-xhtmlmp-remove-and-add-expected.txt: Added.
  • iOS never supported these "legacy" viewport modes, so add platform-specific results with current behavior.
2:04 PM Changeset in webkit [169831] by rniwa@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Remove an unnecessary asObject(this) call inside JSObject::fastGetOwnPropertySlot.

Rubber-stamped by Andreas Kling.

  • runtime/JSObject.h:

(JSC::JSObject::fastGetOwnPropertySlot):

2:02 PM Changeset in webkit [169830] by jer.noble@apple.com
  • 11 edits in trunk/Source/WebCore

[EME][Mac] Propagate errors from AVSampleBufferDisplayLayer through to MSE
https://bugs.webkit.org/show_bug.cgi?id=133747

Reviewed by Eric Carlson.

Abstract out the delivery of errors in MediaKeySession into its own method, which can be triggered by
CDMSession objects through the CDMSessionClient interface:

  • Modules/encryptedmedia/MediaKeySession.cpp:

(WebCore::MediaKeySession::keyRequestTimerFired):
(WebCore::MediaKeySession::addKeyTimerFired):
(WebCore::MediaKeySession::sendMessage):
(WebCore::MediaKeySession::sendError):

  • Modules/encryptedmedia/MediaKeySession.h:
  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveRenderingError):

  • Modules/mediasource/SourceBuffer.h:
  • platform/graphics/SourceBufferPrivateClient.h:
  • platform/graphics/CDMSession.h:

Add an Objective-C object which can listen for error KVO notifications:

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

(WebCore::SourceBufferPrivateAVFObjCErrorClient::~SourceBufferPrivateAVFObjCErrorClient):

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

(-[WebAVSampleBufferErrorListener initWithParent:WebCore::]):
(-[WebAVSampleBufferErrorListener dealloc]):
(-[WebAVSampleBufferErrorListener invalidate]):
(-[WebAVSampleBufferErrorListener beginObservingLayer:]):
(-[WebAVSampleBufferErrorListener stopObservingLayer:]):
(-[WebAVSampleBufferErrorListener beginObservingRenderer:]):
(-[WebAVSampleBufferErrorListener stopObservingRenderer:]):
(-[WebAVSampleBufferErrorListener observeValueForKeyPath:ofObject:change:context:]):
(-[WebAVSampleBufferErrorListener layerFailedToDecode:]):
(WebCore::SourceBufferPrivateAVFObjC::SourceBufferPrivateAVFObjC):
(WebCore::SourceBufferPrivateAVFObjC::trackDidChangeEnabled):
(WebCore::SourceBufferPrivateAVFObjC::registerForErrorNotifications):
(WebCore::SourceBufferPrivateAVFObjC::unregisterForErrorNotifications):
(WebCore::SourceBufferPrivateAVFObjC::layerDidReceiveError):
(WebCore::SourceBufferPrivateAVFObjC::rendererDidReceiveError):

Register for the new error notifications:

  • platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.h:

(WebCore::CDMSessionMediaSourceAVFObjC::~CDMSessionMediaSourceAVFObjC): Moved to source file.

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

(WebCore::CDMSessionMediaSourceAVFObjC::CDMSessionMediaSourceAVFObjC): Register for error notifications.
(WebCore::CDMSessionMediaSourceAVFObjC::~CDMSessionMediaSourceAVFObjC): Unregister for error notifications.
(WebCore::CDMSessionMediaSourceAVFObjC::layerDidReceiveError): Pass through to CDMSessionClient.
(WebCore::CDMSessionMediaSourceAVFObjC::rendererDidReceiveError): Ditto.

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

Don't force CharacterData to override getOwnPropertySlot.
<https://webkit.org/b/133717>

This was preventing us from taking the GetByVal fast path for Text nodes
since they inherit from CharacterData and having a "length" attribute
meant we gave them a custom getOwnPropertySlot, despite not actually
needing it for anything.

Reviewed by Anders Carlsson.

  • bindings/scripts/CodeGeneratorJS.pm:

(AttributeShouldBeOnInstance):

1:46 PM Changeset in webkit [169828] by ap@apple.com
  • 2 edits in trunk/LayoutTests

inspector-protocol/debugger/breakpoint-action-detach.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=133761

  • TestExpectations: Skipped it. Updated bug number for another inspector-protocol

test while at it.

1:43 PM Changeset in webkit [169827] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit2

[wk2] Don't dispatch view state changes immediately
https://bugs.webkit.org/show_bug.cgi?id=133713

Reviewed by Simon Fraser.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::viewStateDidChange):
(WebKit::WebPageProxy::dispatchViewStateChange):
(WebKit::WebPageProxy::updateViewState): Deleted.

  • UIProcess/WebPageProxy.h:

On PLATFORM(COCOA), wait until just before CA is going to commit the UI process layer
tree to dispatch view state changes to the Web process. This avoids sending multiple
view state change messages to the Web process within one run-loop cycle, for example
when a view is moved around in the view hierarchy but the view state otherwise remains the same.

1:42 PM Changeset in webkit [169826] by andersca@apple.com
  • 5 edits
    2 adds in trunk/Source/WebCore

Add a script that generates a gperf hash for HTTP header names
https://bugs.webkit.org/show_bug.cgi?id=133760

Reviewed by Andreas Kling.

This is the first step towards getting rid of AtomicString from HTTPHeaderMap.

  • CMakeLists.txt:
  • DerivedSources.make:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/network/HTTPHeaderNames.in: Added.
  • platform/network/create-http-header-name-table: Added.

(HTTPHeaderName):

1:37 PM Changeset in webkit [169825] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit2

Make it possible for waitForAndDispatchImmediately to bail if a sync message comes in from the other direction
https://bugs.webkit.org/show_bug.cgi?id=133708

Reviewed by Anders Carlsson.

  • Platform/IPC/Connection.cpp:

(IPC::WaitForMessageState):
(IPC::Connection::Connection):
(IPC::Connection::waitForMessage):
(IPC::Connection::processIncomingMessage):
(IPC::Connection::connectionDidClose):

  • Platform/IPC/Connection.h:

(IPC::Connection::waitForAndDispatchImmediately):
Remove the waitForMessageMap, and assert that we're only ever waiting for one message at a time.
This simplifies this code a bit, and we never wait on more than one message at a time, so it was unnecessary.

Add a flag to waitForAndDispatchImmediately, InterruptWaitingIfSyncMessageArrives, which will cause
waitForAndDispatchImmediately to bail if a sync message arrives, to avoid pointlessly blocking both processes
for the entire timeout.

1:21 PM Changeset in webkit [169824] by rniwa@webkit.org
  • 6 edits in trunk/Source

Turning on DUMP_PROPERTYMAP_STATS causes a build failure
https://bugs.webkit.org/show_bug.cgi?id=133673

Reviewed by Andreas Kling.

Source/JavaScriptCore:
Rewrote the property map statistics code because the old code wasn't building,
and it was also mixing numbers for lookups and insertions/removals.

New logging code records the number of calls to PropertyTable::find (finds) and
PropertyTable::get/PropertyTable::findWithString separately so that we can quantify
the number of probing during updates and lookups.

  • jsc.cpp:
  • runtime/PropertyMapHashTable.h:

(JSC::PropertyTable::find):
(JSC::PropertyTable::get):
(JSC::PropertyTable::findWithString):
(JSC::PropertyTable::add):
(JSC::PropertyTable::remove):
(JSC::PropertyTable::reinsert):
(JSC::PropertyTable::rehash):

  • runtime/Structure.cpp:

(JSC::PropertyMapStatisticsExitLogger::PropertyMapStatisticsExitLogger):
(JSC::PropertyMapStatisticsExitLogger::~PropertyMapStatisticsExitLogger):

Source/WTF:
Added DEFINE_GLOBAL_FOR_LOGGING to allow running a destructor in logging code
that needs to be enabled in release builds (e.g. for JavaScriptCore).

  • wtf/StdLibExtras.h:
1:16 PM Changeset in webkit [169823] by akling@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

Always inline JSValue::get() and Structure::get().
<https://webkit.org/b/133755>

Reviewed by Ryosuke Niwa.

These functions get really hot, so ask the compiler to be more
aggressive about inlining them.

~28% speed-up on Ryosuke's microbenchmark for accessing nextSibling
through GetByVal.

  • runtime/JSArrayIterator.cpp:
  • runtime/JSCJSValue.cpp:
  • runtime/JSCJSValueInlines.h:

(JSC::JSValue::get):

  • runtime/JSPromiseDeferred.cpp:
  • runtime/StructureInlines.h:

(JSC::Structure::get):

1:15 PM Changeset in webkit [169822] by rniwa@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Structure::get should instantiate DeferGC only when materializing property map
https://bugs.webkit.org/show_bug.cgi?id=133727

Rubber-stamped by Andreas Kling.

Make materializePropertyMapIfNecessary always inline.

This is ~12% improvement on the microbenchmark attached in the bug.

  • runtime/Structure.h:

(JSC::Structure::materializePropertyMapIfNecessary):
(JSC::Structure::materializePropertyMapIfNecessaryForPinning):

1:13 PM Changeset in webkit [169821] by oliver@apple.com
  • 2 edits in trunk/Source/WebKit2

Restrict database process profile
https://bugs.webkit.org/show_bug.cgi?id=133750

Reviewed by Alexey Proskuryakov.

Make the sandbox profile much more restrictive.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.Databases.sb:
12:59 PM Changeset in webkit [169820] by roger_fong@apple.com
  • 5 edits in trunk/Source/WebKit2

Don't snapshot offscreen plugins that would normally be considered primary plugins after they are moved in view.
https://bugs.webkit.org/show_bug.cgi?id=133667.
<rdar://problem/16743250>

Reviewed by Tim Horton.

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::PluginView):
(WebKit::PluginView::pluginSnapshotTimerFired):
Set the display state to Playing if the following is true:
The plugin in question is large enough to be considered the primary snapshot and either:
a) The maximum number of snapshot retries has been reached and no good snapshot has been found.
b) The plugin is moved to be on-screen while the snapshot attempts are in progress.

  • WebProcess/Plugins/PluginView.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::plugInIntersectsSearchRect): Re-factor out intersection logic.
(WebKit::WebPage::plugInIsPrimarySize): Re-factor out primary plugin size logic.
(WebKit::WebPage::determinePrimarySnapshottedPlugIn): Use the above two methods here.

  • WebProcess/WebPage/WebPage.h:
12:55 PM Changeset in webkit [169819] by fpizlo@apple.com
  • 2 edits in branches/ftlopt/Source/JavaScriptCore

Ensured Native Calls and Construct and associated checks
are only emitted during ftl mode.
https://bugs.webkit.org/show_bug.cgi?id=133718

Patch by Matthew Mirman <mmirman@apple.com> on 2014-06-11
Reviewed by Filip Pizlo.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleCall): Added check for ftl mode
before attaching the native function to Call or Construct.

12:49 PM Changeset in webkit [169818] by andersca@apple.com
  • 7 edits in trunk/Source/WebKit2

Move more WKPreferences to WKWebViewConfiguration
https://bugs.webkit.org/show_bug.cgi?id=133756
<rdar://problem/17271468>

Reviewed by Tim Horton.

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

(-[WKPreferences setMinimumFontSize:]):
(-[WKPreferences suppressesIncrementalRendering]): Deleted.
(-[WKPreferences setSuppressesIncrementalRendering:]): Deleted.
(-[WKPreferences allowsInlineMediaPlayback]): Deleted.
(-[WKPreferences setAllowsInlineMediaPlayback:]): Deleted.
(-[WKPreferences mediaPlaybackRequiresUserAction]): Deleted.
(-[WKPreferences setMediaPlaybackRequiresUserAction:]): Deleted.
(-[WKPreferences mediaPlaybackAllowsAirPlay]): Deleted.
(-[WKPreferences setMediaPlaybackAllowsAirPlay:]): Deleted.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]):

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

(-[WKWebViewConfiguration copyWithZone:]):

  • WebKit2.xcodeproj/project.pbxproj:
12:31 PM Changeset in webkit [169817] by jer.noble@apple.com
  • 3 edits in trunk/WebKitLibraries

Update WKSI for <rdar://problem/17009091>.

Rubber stamped by Eric Carlson.

  • libWebKitSystemInterfaceMavericks.a:
  • libWebKitSystemInterfaceMountainLion.a:
12:29 PM Changeset in webkit [169816] by rniwa@webkit.org
  • 5 edits in trunk/Source/JavaScriptCore

Structure::get should instantiate DeferGC only when materializing property map
https://bugs.webkit.org/show_bug.cgi?id=133727

Reviewed by Geoffrey Garen.

DeferGC instances in Structure::get was added in http://trac.webkit.org/r157539 in order to avoid
collecting the property table newly created by materializePropertyMapIfNecessary since GC can happen
when GCSafeConcurrentJITLocker goes out of scope.

However, always instantiating DeferGC inside Structure::get introduced a new performance bottleneck
in JSObject::getPropertySlot because frequently incrementing and decrementing a counter in vm.m_heap
and running a release assertion inside Heap::incrementDeferralDepth() is expensive.

Work around this by instantiating DeferGC only when we're actually calling materializePropertyMap,
and immediately storing a pointer to the newly created property table in the stack before DeferGC
goes out of scope so that the property table will be marked.

This shows 13-16% improvement on the microbenchmark attached in the bug.

  • runtime/JSCJSValue.cpp:
  • runtime/JSObject.h:

(JSC::JSObject::fastGetOwnPropertySlot):

  • runtime/Structure.h:

(JSC::Structure::materializePropertyMapIfNecessary):

  • runtime/StructureInlines.h:

(JSC::Structure::get):

11:40 AM Changeset in webkit [169815] by akling@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Some JSValue::get() micro-optimzations.
<https://webkit.org/b/133739>

Tighten some of the property lookup code to improve performance of the
eagerly reified prototype attributes:

  • Instead of converting the property name to an integer at every step in the prototype chain, move that to a separate pass at the end since it should be a rare case.
  • Cache the StructureIDTable in a local instead of fetching it from the Heap on every step.
  • Make fillCustomGetterPropertySlot inline. It was out-of-lined based on the assumption that clients would mostly be cacheable GetByIds, and it gets pretty hot (~1%) in GetByVal.
  • Pass the Structure directly to fillCustomGetterPropertySlot instead of refetching it from the StructureIDTable.

Reviewed by Geoff Garen.

  • runtime/JSObject.cpp:

(JSC::JSObject::fillCustomGetterPropertySlot): Deleted.

  • runtime/JSObject.h:

(JSC::JSObject::inlineGetOwnPropertySlot):
(JSC::JSObject::fillCustomGetterPropertySlot):
(JSC::JSObject::getOwnPropertySlot):
(JSC::JSObject::fastGetOwnPropertySlot):
(JSC::JSObject::getPropertySlot):
(JSC::JSObject::getOwnPropertySlotSlow): Deleted.

11:36 AM Changeset in webkit [169814] by Brent Fulgham
  • 3 edits in trunk/Source/WebCore

ROLLOUT: r153510: Broke Table borders on Wikipedia
https://bugs.webkit.org/show_bug.cgi?id=132802
<rdar://problem/16792562>

  • rendering/RenderTableCell.cpp:

(WebCore::RenderTableCell::paintCollapsedBorders):
(WebCore::RenderTableCell::alignLeftRightBorderPaintRect): Deleted.
(WebCore::RenderTableCell::alignTopBottomBorderPaintRect): Deleted.

  • rendering/RenderTableCell.h:
11:06 AM Changeset in webkit [169813] by enrica@apple.com
  • 2 edits in trunk/Source/WebKit2

WebKit2 iOS: Unable to open UI menu for "open in new tab" for links on yahoo.com.
https://bugs.webkit.org/show_bug.cgi?id=133749
<rdar://problem/17165992>

Reviewed by Brady Eidson.

The URL returned to the UIProcess as string needs to be encoded.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::getPositionInformation):

10:44 AM Changeset in webkit [169812] by andersca@apple.com
  • 7 edits in trunk/Source/WebKit2

Move suppressesIncrementalRendering to WKWebViewConfiguration
https://bugs.webkit.org/show_bug.cgi?id=133707
<rdar://problem/17271468>

Reviewed by Sam Weinig.

  • UIProcess/API/Cocoa/WKPreferences.h:

Get rid of suppressesIncrementalRendering.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]):
Set the suppressesIncrementalRenderingKey key in webPageConfiguration.preferenceValues.

  • UIProcess/API/Cocoa/WKWebViewConfiguration.h:

Add suppressesIncrementalRendering.

  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm:

(-[WKWebViewConfiguration copyWithZone:]):
Assign suppressesIncrementalRendering.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
Copy webPageConfiguration.preferenceValues to m_configurationPreferenceValues.

(WebKit::WebPageProxy::preferencesStore):
If m_configurationPreferenceValues is empty, just return m_preferences->store(). Otherwise,
copy the store and apply the configuration preference values.

(WebKit::WebPageProxy::preferencesDidChange):
Call preferencesStore() so we'll get the configuration preference values as well.

(WebKit::WebPageProxy::creationParameters):
Ditto.

  • UIProcess/WebPageProxy.h:
10:27 AM Changeset in webkit [169811] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebCore

[Curl] Empty headers in request response.
https://bugs.webkit.org/show_bug.cgi?id=133483

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-06-11
Reviewed by Brent Fulgham.

When a request is taken from the cache, its cached response headers are empty, if the cache entry was created in the same session.
It is only when the cache entry is loaded from disc, that the response headers are properly set.
We need to set the cached response headers in both cases.
There is also an issue if two jobs are loading the same url at the same time.
Both jobs will then write to the cache content file, and create invalid content.
This can be fixed by only letting the first request write to the content file.

  • platform/network/curl/CurlCacheEntry.cpp:

(WebCore::CurlCacheEntry::CurlCacheEntry):
(WebCore::CurlCacheEntry::isLoading): Added method to check if cache entry is loading the content.
(WebCore::CurlCacheEntry::saveResponseHeaders): Set the cached response headers when response is saved.
(WebCore::CurlCacheEntry::invalidate): To be on the safe side, close content file when entry is invalidated.
(WebCore::CurlCacheEntry::parseResponseHeaders): Made parameter const.

  • platform/network/curl/CurlCacheEntry.h: Keep track of which job is creating this cache entry.

(WebCore::CurlCacheEntry::getJob):

  • platform/network/curl/CurlCacheManager.cpp:

(WebCore::CurlCacheManager::loadIndex): When cache entry is loaded from disc, there is no associated job.
(WebCore::CurlCacheManager::didReceiveResponse): Bail out if cache entry is already currently loading,
otherwise associate this job with the new cache entry.
(WebCore::CurlCacheManager::didFinishLoading): Changed parameter type.
(WebCore::CurlCacheManager::isCached): Don't report the url as cached if it's currently loading content.
(WebCore::CurlCacheManager::didReceiveData): Don't write to the content file if the entry is not associated with the job.
(WebCore::CurlCacheManager::didFail): Changed parameter type.

  • platform/network/curl/CurlCacheManager.h: Changed parameter type.
  • platform/network/curl/ResourceHandleManager.cpp: Ditto.

(WebCore::writeCallback):
(WebCore::ResourceHandleManager::downloadTimerCallback):

10:03 AM Changeset in webkit [169810] by weinig@apple.com
  • 19 edits in trunk/Source/WebCore

REGRESSION (r133705): Layout Test js/dom/webidl-type-mapping.html is failing
https://bugs.webkit.org/show_bug.cgi?id=133736

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):
Turns out we can't remove the HashTable yet after all, as JavaScriptCore
relies on hasSetterOrReadonlyProperties bit to make put work correctly. We
can, however, skip creating the table, and just use the value array during
reification.

9:12 AM Changeset in webkit [169809] by Chris Fleizach
  • 2 edits in trunk/Source/WebCore

AX: iOS: VoiceOver ignores input type = date in Safari on iOS7
https://bugs.webkit.org/show_bug.cgi?id=133709

Reviewed by Mario Sanchez Prada.

The date field on iOS appears as a popup button, which is not a type we had encountered for <input> types.
This returns an appropriate role in that case.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::determineAccessibilityRole):

8:37 AM Changeset in webkit [169808] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Tools

[EFL] Drop to maintain EFL 32bit release bot
https://bugs.webkit.org/show_bug.cgi?id=133710

Reviewed by Csaba Osztrogonác.

  • BuildSlaveSupport/build.webkit.org-config/config.json: Removed EFL 32bit bot.
8:36 AM Changeset in webkit [169807] by Antti Koivisto
  • 4 edits
    2 adds in trunk/Source/WebKit2

Wrap NSURLRequest in bundle API
https://bugs.webkit.org/show_bug.cgi?id=133732
<rdar://problem/17267217>

Reviewed by Andreas Kling.

Patch by Dan Bernstein.

We don't want to construct actual NSURLRequests in the web process side unless really needed as it is slow.

  • Shared/Cocoa/APIObject.mm:

(API::Object::newObject):

  • Shared/Cocoa/WKNSURLRequest.h: Added.

(WebKit::wrapper):

  • Shared/Cocoa/WKNSURLRequest.mm: Added.


Add a wrapper object that initializes the underlying NSURLRequest on-demand.

(-[WKNSURLRequest _web_createTarget]):
(-[WKNSURLRequest URL]):
(-[WKNSURLRequest copyWithZone:]):

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:

(willSendRequestForFrame):
(didInitiateLoadForResource):

7:42 AM Changeset in webkit [169806] by commit-queue@webkit.org
  • 1 edit
    1 add
    2 deletes in trunk/LayoutTests

[GTK] Unreviewed GTK gardening

Add missing GTK expectations file after test added at r169390, and removed specific
ones for tests now passing with default ones after r169403.

Patch by Lorenzo Tilve <ltilve@igalia.com> on 2014-06-11

  • platform/gtk/fast/dom/webtiming-document-open-expected.txt: Removed.
  • platform/gtk/fast/dom/webtiming-navigate-within-document-expected.txt: Removed.
  • platform/gtk/fast/multicol/pagination/nested-transforms-expected.txt: Added.
7:30 AM Changeset in webkit [169805] by mitz@apple.com
  • 10 edits in trunk/Source/WebKit2

<rdar://problem/17218629> [Cocoa] WKWebView’s canGoBack and canGoForward properties are not KVO-compliant
https://bugs.webkit.org/show_bug.cgi?id=133722

Reviewed by Anders Carlsson.

  • UIProcess/API/Cocoa/WKBrowsingContextController.mm: Added no-op overrides of new

PageLoadStateObserver member functions.

  • UIProcess/API/Cocoa/WKWebView.h: Documented the canGoBack and canGoForward properties as

being KVO-compliant.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView canGoBack]): Changed to get the return value from the page load state.
(-[WKWebView canGoForward]): Ditto.

  • UIProcess/Cocoa/NavigationState.h:
  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::willChangeCanGoBack): Override this new PageLoadStateObserver
member function by sending the appropriate KVO change message to the WKWebView.
(WebKit::NavigationState::didChangeCanGoBack): Ditto.
(WebKit::NavigationState::willChangeCanGoForward): Ditto.
(WebKit::NavigationState::didChangeCanGoForward): Ditto.

  • UIProcess/PageLoadState.cpp:

(WebKit::PageLoadState::commitChanges): Check for changes to canGoBack and canGoForward
and call the observers if needed.
(WebKit::PageLoadState::canGoBack): Added. Returns the value from the committed state.
(WebKit::PageLoadState::setCanGoBack): Added. Sets the value in the uncommitted state.
(WebKit::PageLoadState::canGoForward): Added. Returns the value from the committed state.
(WebKit::PageLoadState::setCanGoForward): Added. Sets the value in the uncommitted state.

  • UIProcess/PageLoadState.h:

(WebKit::PageLoadState::Data::Data): Added canGoBack and canGoForward boolean members.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didChangeBackForwardList): Update the page load state with the new
state of canGoBack and canGoForward.

  • UIProcess/WebPageProxy.h: Removed unused member variables m_canGoBack and m_canGoForward.
5:50 AM Changeset in webkit [169804] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] Updated expectations for accessibility/lists.html test
https://bugs.webkit.org/show_bug.cgi?id=132818

Patch by Rohit Kumar <kumar.rohit@samsung.com> on 2014-06-11
Reviewed by Mario Sanchez Prada.

  • platform/efl-wk1/accessibility/lists-expected.txt:
5:22 AM Changeset in webkit [169803] by zandobersek@gmail.com
  • 3 edits in trunk/Source/WebKit2

Avoid Vector copies in WebNotificationManagerProxy::providerDidCloseNotifications(), FindController::findStringMatches()
https://bugs.webkit.org/show_bug.cgi?id=133676

Reviewed by Andreas Kling.

  • UIProcess/Notifications/WebNotificationManagerProxy.cpp:

(WebKit::WebNotificationManagerProxy::providerDidCloseNotifications): Move the newly-created
Vector object into the HashMap<>::add() call.

  • WebProcess/WebPage/FindController.cpp:

(WebKit::FindController::findStringMatches): Movethe newly-create Vector object into the
Vector<>::append() call.

5:20 AM Changeset in webkit [169802] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebCore

Avoid FontGlyphsCacheKey copy in FontGlyphsCacheEntry constructor
https://bugs.webkit.org/show_bug.cgi?id=133674

Reviewed by Andreas Kling.

  • platform/graphics/Font.cpp:

(WebCore::FontGlyphsCacheEntry::FontGlyphsCacheEntry): The FontGlyphsCacheKey
variable is already passed-in as an rvalue reference, so it should be moved
into the constructor of the corresponding member variable instead of copied.

4:56 AM Changeset in webkit [169801] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

[EFL][WK2] Add missing test cases for EWK2ViewTest.
https://bugs.webkit.org/show_bug.cgi?id=133715

Patch by Shivakumar JM <shiva.jm@samsung.com> on 2014-06-11
Reviewed by Gyuyoung Kim.

Add missing test cases for ewk_view.h APIs, ewk_view_stop(), ewk_view_html_string_load(), ewk_view_theme_get(),
ewk_view_feed_touch_event(), ewk_view_text_find_highlight_clear(), ewk_view_text_find(), ewk_view_text_matches_count(),
ewk_view_page_contents_get(), ewk_view_script_execute().

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

(TEST_F):

3:46 AM Changeset in webkit [169800] by aestes@apple.com
  • 2 edits in trunk/Source/WebCore

Fix the build after after r169789 on platforms that build with -Wunused-const-variable

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHashTable): Don't create the value array if it'll never be used.

12:38 AM Changeset in webkit [169799] by Carlos Garcia Campos
  • 15 edits
    1 add in trunk

[GTK] Use a different user agent string depending on the site
https://bugs.webkit.org/show_bug.cgi?id=132681

Reviewed by Anders Carlsson.

Source/WebCore:
We have changed the user agent string several times to try to fix
broken websites that require specific things in the UA string to
properly work. But everytime we change the UA string to fix a
website we break others. We could use different UA string
depending on the website. UserAgentGtk code has also been cleaned
up, using NeverDestroyed instead of DEPRECATED_DEFINE_STATIC_LOCAL
and avoiding unneeded conversions to UTF-8.

  • platform/gtk/UserAgentGtk.cpp:

(WebCore::UserAgentQuirks::UserAgentQuirks): New helper private
class to handle user agent quirks.
(WebCore::UserAgentQuirks::add):
(WebCore::UserAgentQuirks::contains):
(WebCore::UserAgentQuirks::isEmpty):
(WebCore::platformForUAString): Bring back this method that was
removed to always pretend to be Macintosh.
(WebCore::platformVersionForUAString): Return a different platform
version depending on the actual platform.
(WebCore::versionForUAString): Return the WebKit version.
(WebCore::buildUserAgentString): Helper function to build the user
agent taking into account the UserAgentQuirks received.
(WebCore::standardUserAgentStatic): Standard user agent string
when no quirks are present.
(WebCore::standardUserAgent):
(WebCore::standardUserAgentForURL): New method that returns the
user agent string for the given URL.

  • platform/gtk/UserAgentGtk.h:

Source/WebKit2:

  • UIProcess/API/gtk/WebKitSettings.cpp:

(webkit_settings_class_init): Enable site specific quirks setting
by default.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::userAgent): Pass the given URL to WebPage.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::userAgent): Try to get the user agent for the
URL received falling back to the current one otherwise.

  • WebProcess/WebPage/WebPage.h:

(WebKit::WebPage::platformUserAgent): Added.

  • WebProcess/WebPage/efl/WebPageEfl.cpp:

(WebKit::WebPage::platformUserAgent): Return null String.

  • WebProcess/WebPage/gtk/WebPageGtk.cpp:

(WebKit::WebPage::platformUserAgent): Use WebCore::standardUserAgentForURL() when site specific quirks
setting is enabled.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::platformUserAgent): Return null String.

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::platformUserAgent): Return null String.

Tools:
Add a unit test to check user agent quirks.

  • TestWebKitAPI/PlatformGTK.cmake:
  • TestWebKitAPI/Tests/WebCore/gtk/UserAgentQuirks.cpp: Added.

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitSettings.cpp:

(testWebKitSettings): Site specific quirks setting is now enabled
by default.

12:13 AM Changeset in webkit [169798] by gyuyoung.kim@samsung.com
  • 2 edits in trunk

Unreviewed, EFL build fix. Treat literal-suffix error as build warning.

  • Source/cmake/WebKitHelpers.cmake:
12:02 AM Changeset in webkit [169797] by achristensen@apple.com
  • 4 edits in trunk/Source

[Win] Unreviewed build fix.

Source/WebCore:

  • platform/network/curl/ResourceRequest.h:

Include missing PassOwnPtr.h.

Source/WebKit:

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

Fixed 64-bit linker symbol.

Note: See TracTimeline for information about the timeline view.