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

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

Note: See TracTimeline for information about the timeline view.