WebKit-https.git
6 years agoTextIndicatorWindow is larger than it needs to be, especially when not bouncing
timothy_horton@apple.com [Mon, 22 Dec 2014 22:17:42 +0000 (22:17 +0000)]
TextIndicatorWindow is larger than it needs to be, especially when not bouncing
https://bugs.webkit.org/show_bug.cgi?id=139876
<rdar://problem/19311017>

Reviewed by Sam Weinig.

* page/TextIndicator.cpp:
(WebCore::TextIndicator::wantsBounce):
(WebCore::TextIndicator::wantsContentCrossfade):
(WebCore::TextIndicator::wantsFadeIn):
* page/TextIndicator.h:
* page/mac/TextIndicatorWindow.mm:
(-[WebTextIndicatorView initWithFrame:textIndicator:margin:]):
(-[WebTextIndicatorView _animationDuration]):
(-[WebTextIndicatorView present]):
(WebCore::TextIndicatorWindow::setTextIndicator):
(-[WebTextIndicatorView _textIndicatorWantsBounce]): Deleted.
(-[WebTextIndicatorView _textIndicatorWantsContentCrossfade]): Deleted.
(-[WebTextIndicatorView _textIndicatorWantsFadeIn]): Deleted.
Move the various switches over TextIndicatorPresentationTransition into TextIndicator.
Adjust the margin; only inflate by the shadow if we're not bouncing.
If we are bouncing, fix the math to more tightly fit the bounce.
Previously we were inflating by way too much, and even when we didn't need to.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177656 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUpdate apple-mac-114 to bot629.
lforschler@apple.com [Mon, 22 Dec 2014 21:45:18 +0000 (21:45 +0000)]
Update apple-mac-114 to bot629.

Unreviewed.

* BuildSlaveSupport/build.webkit.org-config/config.json:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177655 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoReplace Apple bot104 with bot124.
lforschler@apple.com [Mon, 22 Dec 2014 21:37:59 +0000 (21:37 +0000)]
Replace Apple bot104 with bot124.

Unreviewed.

* BuildSlaveSupport/build.webkit.org-config/config.json:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177654 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoREGRESSION: fast/xmlhttprequest/xmlhttprequest-recursive-sync-event.html is flaky
ap@apple.com [Mon, 22 Dec 2014 21:20:23 +0000 (21:20 +0000)]
REGRESSION: fast/xmlhttprequest/xmlhttprequest-recursive-sync-event.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=139840

* TestExpectations: Marking as such.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177653 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFix the iOS build after <https://trac.webkit.org/changeset/177639>
dbates@webkit.org [Mon, 22 Dec 2014 21:12:43 +0000 (21:12 +0000)]
Fix the iOS build after <https://trac.webkit.org/changeset/177639>
(https://bugs.webkit.org/show_bug.cgi?id=139866)

Substitute APISecurityOrigin.h for WebSecurityOrigin.h as the latter was renamed to the former.

* UIProcess/ios/WKGeolocationProviderIOS.mm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177652 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoURTBF after r177649.
ossy@webkit.org [Mon, 22 Dec 2014 20:55:48 +0000 (20:55 +0000)]
URTBF after r177649.

* CMakeLists.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177651 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoLast URTBF after r177639, GTK builds now.
ossy@webkit.org [Mon, 22 Dec 2014 20:48:53 +0000 (20:48 +0000)]
Last URTBF after r177639, GTK builds now.

* UIProcess/API/gtk/WebKitJavascriptResult.cpp:
* UIProcess/API/gtk/WebKitUIClient.cpp:
* UIProcess/API/gtk/WebKitUserContentManager.cpp:
* UIProcess/API/gtk/WebKitUserMediaPermissionRequest.cpp:
(webkitUserMediaPermissionRequestCreate):
* UIProcess/API/gtk/WebKitUserMediaPermissionRequestPrivate.h:
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewRunJavaScriptCallback):
(webkit_web_view_run_javascript):
(resourcesStreamReadCallback):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177650 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoMove more API classes from Shared to Shared/API.
andersca@apple.com [Mon, 22 Dec 2014 20:39:02 +0000 (20:39 +0000)]
Move more API classes from Shared to Shared/API.

Rubber-stamped by Sam Weinig.

* Shared/API/APIArray.cpp: Renamed from Source/WebKit2/Shared/APIArray.cpp.
* Shared/API/APIArray.h: Renamed from Source/WebKit2/Shared/APIArray.h.
* Shared/API/APIClient.h: Renamed from Source/WebKit2/Shared/APIClient.h.
* Shared/API/APIData.cpp: Renamed from Source/WebKit2/Shared/APIData.cpp.
* Shared/API/APIData.h: Renamed from Source/WebKit2/Shared/APIData.h.
* Shared/API/APIError.cpp: Renamed from Source/WebKit2/Shared/APIError.cpp.
* Shared/API/APIError.h: Renamed from Source/WebKit2/Shared/APIError.h.
* Shared/API/APIFrameHandle.cpp: Renamed from Source/WebKit2/Shared/APIFrameHandle.cpp.
* Shared/API/APIFrameHandle.h: Renamed from Source/WebKit2/Shared/APIFrameHandle.h.
* Shared/API/APIGeometry.cpp: Renamed from Source/WebKit2/Shared/APIGeometry.cpp.
* Shared/API/APIGeometry.h: Renamed from Source/WebKit2/Shared/APIGeometry.h.
* Shared/API/APINumber.h: Renamed from Source/WebKit2/Shared/APINumber.h.
* Shared/API/APIObject.cpp: Renamed from Source/WebKit2/Shared/APIObject.cpp.
* Shared/API/APIObject.h: Renamed from Source/WebKit2/Shared/APIObject.h.
* Shared/API/APIPageHandle.cpp: Renamed from Source/WebKit2/Shared/APIPageHandle.cpp.
* Shared/API/APIPageHandle.h: Renamed from Source/WebKit2/Shared/APIPageHandle.h.
* Shared/API/APIString.h: Renamed from Source/WebKit2/Shared/APIString.h.
* Shared/API/APIURL.h: Renamed from Source/WebKit2/Shared/APIURL.h.
* Shared/API/APIURLRequest.cpp: Renamed from Source/WebKit2/Shared/APIURLRequest.cpp.
* Shared/API/APIURLRequest.h: Renamed from Source/WebKit2/Shared/APIURLRequest.h.
* Shared/API/APIURLResponse.cpp: Renamed from Source/WebKit2/Shared/APIURLResponse.cpp.
* Shared/API/APIURLResponse.h: Renamed from Source/WebKit2/Shared/APIURLResponse.h.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177649 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUpdate some inspector test expectations for the new timeout detection.
ap@apple.com [Mon, 22 Dec 2014 20:13:12 +0000 (20:13 +0000)]
Update some inspector test expectations for the new timeout detection.
Also, unmarked some tests that appear stable on bots now.

* platform/mac/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177648 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[iOS] Log using FeatureCounter when a PacheCache entry is not reused because it expired
cdumez@apple.com [Mon, 22 Dec 2014 20:13:07 +0000 (20:13 +0000)]
[iOS] Log using FeatureCounter when a PacheCache entry is not reused because it expired
https://bugs.webkit.org/show_bug.cgi?id=139869
<rdar://problem/19255690>

Reviewed by Darin Adler.

Log using FeatureCounter when a PacheCache entry is not reused because
it expired.

* history/PageCache.cpp:
(WebCore::PageCache::take):
(WebCore::PageCache::get):
* history/PageCache.h:
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::commitProvisionalLoad):
(WebCore::FrameLoader::loadDifferentDocumentItem):
* loader/HistoryController.cpp:
(WebCore::HistoryController::invalidateCurrentItemCachedPage):
* platform/FeatureCounterKeys.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177647 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoOne more URTBF after r177639 to try to make GTK happy.
ossy@webkit.org [Mon, 22 Dec 2014 20:13:02 +0000 (20:13 +0000)]
One more URTBF after r177639 to try to make GTK happy.

* UIProcess/API/gtk/WebKitUserContentManager.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177646 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoURTBF after r177639 to try to make GTK happy.
ossy@webkit.org [Mon, 22 Dec 2014 20:08:08 +0000 (20:08 +0000)]
URTBF after r177639 to try to make GTK happy.

* UIProcess/API/gtk/WebKitJavascriptResult.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177643 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoTry to fix the windows build.
antti@apple.com [Mon, 22 Dec 2014 20:05:00 +0000 (20:05 +0000)]
Try to fix the windows build.

* platform/graphics/win/SimpleFontDataCGWin.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177642 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAdjust TextIndicator shadow parameters
timothy_horton@apple.com [Mon, 22 Dec 2014 19:56:38 +0000 (19:56 +0000)]
Adjust TextIndicator shadow parameters
https://bugs.webkit.org/show_bug.cgi?id=139871
<rdar://problem/19283300>

Reviewed by Sam Weinig.

* page/mac/TextIndicatorWindow.mm:
(-[WebTextIndicatorView initWithFrame:textIndicator:margin:]):
Slightly adjust the shadow and bounce size.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177641 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoURTBF after r177639.
ossy@webkit.org [Mon, 22 Dec 2014 19:47:32 +0000 (19:47 +0000)]
URTBF after r177639.

* TestWebKitAPI/CMakeLists.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177640 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRename a bunch of API classes and move them to Shared/API
andersca@apple.com [Mon, 22 Dec 2014 19:27:07 +0000 (19:27 +0000)]
Rename a bunch of API classes and move them to Shared/API
https://bugs.webkit.org/show_bug.cgi?id=139866

Reviewed by Sam Weinig.

* Shared/API/APISecurityOrigin.h: Renamed from Source/WebKit2/Shared/WebSecurityOrigin.h.
(API::SecurityOrigin::createFromString):
(API::SecurityOrigin::create):
(API::SecurityOrigin::securityOrigin):
(API::SecurityOrigin::SecurityOrigin):
* Shared/API/APISerializedScriptValue.h: Renamed from Source/WebKit2/Shared/WebSerializedScriptValue.h.
(API::SerializedScriptValue::create):
(API::SerializedScriptValue::adopt):
(API::SerializedScriptValue::deserialize):
(API::SerializedScriptValue::dataReference):
(API::SerializedScriptValue::internalRepresentation):
(API::SerializedScriptValue::SerializedScriptValue):
* Shared/API/APIUserContentURLPattern.h: Renamed from Source/WebKit2/Shared/WebUserContentURLPattern.h.
(API::UserContentURLPattern::create):
(API::UserContentURLPattern::host):
(API::UserContentURLPattern::scheme):
(API::UserContentURLPattern::isValid):
(API::UserContentURLPattern::matchesURL):
(API::UserContentURLPattern::matchesSubdomains):
(API::UserContentURLPattern::patternString):
(API::UserContentURLPattern::UserContentURLPattern):
* Shared/API/c/WKSecurityOrigin.cpp:
(WKSecurityOriginGetTypeID):
(WKSecurityOriginCreateFromString):
(WKSecurityOriginCreateFromDatabaseIdentifier):
(WKSecurityOriginCreate):
* Shared/API/c/WKSerializedScriptValue.cpp:
(WKSerializedScriptValueGetTypeID):
(WKSerializedScriptValueCreate):
(WKSerializedScriptValueCreateWithInternalRepresentation):
* Shared/API/c/WKSharedAPICast.h:
(WebKit::toCopiedAPI):
* Shared/API/c/WKUserContentURLPattern.cpp:
(WKUserContentURLPatternGetTypeID):
(WKUserContentURLPatternCreate):
* Shared/SecurityOriginData.cpp:
(WebKit::performAPICallbackWithSecurityOriginDataVector):
* Shared/UserData.cpp:
(WebKit::UserData::encode):
(WebKit::UserData::decode):
* Shared/UserMessageCoders.h:
(WebKit::UserMessageEncoder::baseEncode):
(WebKit::UserMessageDecoder::baseDecode):
* UIProcess/API/APIUIClient.h:
(API::UIClient::exceededDatabaseQuota):
(API::UIClient::decidePolicyForGeolocationPermissionRequest):
(API::UIClient::decidePolicyForUserMediaPermissionRequest):
(API::UIClient::decidePolicyForNotificationPermissionRequest):
* UIProcess/API/C/WKNotification.cpp:
* UIProcess/API/C/WKPage.cpp:
(WKPageSetPageUIClient):
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView evaluateJavaScript:completionHandler:]):
* UIProcess/Cocoa/UIDelegate.h:
* UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::UIClient::exceededDatabaseQuota):
* UIProcess/GenericCallback.h:
* UIProcess/Notifications/WebNotification.cpp:
(WebKit::WebNotification::WebNotification):
* UIProcess/Notifications/WebNotification.h:
(WebKit::WebNotification::origin):
* UIProcess/Notifications/WebNotificationManagerProxy.cpp:
(WebKit::WebNotificationManagerProxy::providerDidUpdateNotificationPolicy):
(WebKit::WebNotificationManagerProxy::providerDidRemoveNotificationPolicies):
* UIProcess/Notifications/WebNotificationManagerProxy.h:
* UIProcess/Notifications/WebNotificationProvider.cpp:
* UIProcess/Notifications/WebNotificationProvider.h:
* UIProcess/PageClient.h:
(WebKit::PageClient::decidePolicyForGeolocationPermissionRequest):
* UIProcess/WebApplicationCacheManagerProxy.cpp:
(WebKit::WebApplicationCacheManagerProxy::deleteEntriesForOrigin):
* UIProcess/WebApplicationCacheManagerProxy.h:
* UIProcess/WebCookieManagerProxy.cpp:
* UIProcess/WebDatabaseManagerProxy.cpp:
(WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin):
(WebKit::WebDatabaseManagerProxy::didGetDatabaseOrigins):
(WebKit::WebDatabaseManagerProxy::deleteDatabaseWithNameForOrigin):
(WebKit::WebDatabaseManagerProxy::deleteDatabasesForOrigin):
(WebKit::WebDatabaseManagerProxy::setQuotaForOrigin):
(WebKit::WebDatabaseManagerProxy::didModifyOrigin):
(WebKit::WebDatabaseManagerProxy::didModifyDatabase):
* UIProcess/WebDatabaseManagerProxy.h:
* UIProcess/WebDatabaseManagerProxyClient.cpp:
(WebKit::WebDatabaseManagerProxyClient::didModifyOrigin):
(WebKit::WebDatabaseManagerProxyClient::didModifyDatabase):
* UIProcess/WebDatabaseManagerProxyClient.h:
* UIProcess/WebKeyValueStorageManager.cpp:
(WebKit::WebKeyValueStorageManager::getKeyValueStorageOrigins):
(WebKit::WebKeyValueStorageManager::getStorageDetailsByOrigin):
(WebKit::WebKeyValueStorageManager::deleteEntriesForOrigin):
* UIProcess/WebKeyValueStorageManager.h:
* UIProcess/WebMediaCacheManagerProxy.cpp:
* UIProcess/WebOriginDataManagerProxy.cpp:
(WebKit::WebOriginDataManagerProxy::didGetOrigins):
(WebKit::WebOriginDataManagerProxy::deleteEntriesForOrigin):
* UIProcess/WebOriginDataManagerProxy.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::runJavaScriptInMainFrame):
(WebKit::WebPageProxy::scriptValueCallback):
(WebKit::WebPageProxy::exceededDatabaseQuota):
(WebKit::WebPageProxy::requestGeolocationPermissionForFrame):
(WebKit::WebPageProxy::requestUserMediaPermissionForFrame):
(WebKit::WebPageProxy::requestNotificationPermission):
* UIProcess/WebPageProxy.h:
* UIProcess/WebResourceCacheManagerProxy.cpp:
(WebKit::WebResourceCacheManagerProxy::clearCacheForOrigin):
* UIProcess/WebResourceCacheManagerProxy.h:
* UIProcess/ios/PageClientImplIOS.h:
* UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::decidePolicyForGeolocationPermissionRequest):
* UIProcess/ios/WKContentView.h:
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/InjectedBundle/API/APIInjectedBundlePageUIClient.h:
(API::InjectedBundle::PageUIClient::didReachApplicationCacheOriginQuota):
(API::InjectedBundle::PageUIClient::didExceedDatabaseQuota):
* WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
* WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
(WebKit::InjectedBundlePageUIClient::didReachApplicationCacheOriginQuota):
(WebKit::InjectedBundlePageUIClient::didExceedDatabaseQuota):
* WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::exceededDatabaseQuota):
(WebKit::WebChromeClient::reachedApplicationCacheOriginQuota):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177639 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoConsistently use "FeatureCounter*Key" naming for FeatureCounter keys
cdumez@apple.com [Mon, 22 Dec 2014 19:21:54 +0000 (19:21 +0000)]
Consistently use "FeatureCounter*Key" naming for FeatureCounter keys
https://bugs.webkit.org/show_bug.cgi?id=139867

Reviewed by Darin Adler.

Consistently use "FeatureCounter*Key" naming for FeatureCounter keys.

* loader/FrameLoader.cpp:
(WebCore::logNavigationWithFeatureCounter):
* platform/FeatureCounterKeys.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177638 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoGeneric font code should not know about SVG font missing glyph
antti@apple.com [Mon, 22 Dec 2014 19:14:58 +0000 (19:14 +0000)]
Generic font code should not know about SVG font missing glyph
https://bugs.webkit.org/show_bug.cgi?id=139864

Reviewed by Andreas Kling and Myles Maxfield.

The defined missing glyph is an SVG font concept and should be handled in SVG code.

* platform/graphics/FontGlyphs.cpp:
(WebCore::FontGlyphs::glyphDataForSystemFallback):
(WebCore::FontGlyphs::glyphDataForVariant):

    Return null glyph instead of the missing glyph (the missing glyph was already a null glyph in all non-svg-font cases).
    Use early return style.

* platform/graphics/FontGlyphs.h:
* platform/graphics/SegmentedFontData.cpp:
* platform/graphics/SimpleFontData.cpp:
(WebCore::SimpleFontData::platformGlyphInit):
* platform/graphics/SimpleFontData.h:

    Remove the missingGlyph member.

* platform/graphics/WidthIterator.cpp:
(WebCore::WidthIterator::advanceInternal):

    Explicitly skip over null glyphs. Before they had non-null fontData and would get skipped implicitly.

* platform/graphics/mac/SimpleFontDataMac.mm:
* rendering/svg/SVGTextRunRenderingContext.cpp:
(WebCore::missingGlyphForFont):

    Get the missing glyph from the SVG font element.

(WebCore::SVGTextRunRenderingContext::glyphDataForCharacter):

    Return the missing glyph if the normal lookup didn't produce results.

* svg/SVGFontData.cpp:
(WebCore::SVGFontData::initializeFontData):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177637 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAllow the WebContext's history client to coexist with WKWebView's history delegate
weinig@apple.com [Mon, 22 Dec 2014 19:04:45 +0000 (19:04 +0000)]
Allow the WebContext's history client to coexist with WKWebView's history delegate
https://bugs.webkit.org/show_bug.cgi?id=139857

Reviewed by Anders Carlsson.

- Renames API::HistoryClient to API::LegacyContextHistoryClient to make it clear what it is for.
- Re-routes the history client functions from the WebProcessProxy to the WebPageProxy.
- Add history client functions to API::LoaderClient and implement them for NavigationState's
  LoaderClient subclass. Removes the need for WKProcessPool to have to setup a history client and
  forward to the NavigationState.

* UIProcess/API/APIHistoryClient.h: Removed.
* UIProcess/API/APILegacyContextHistoryClient.h: Copied from Source/WebKit2/UIProcess/API/APIHistoryClient.h.
(API::LegacyContextHistoryClient::~LegacyContextHistoryClient):
(API::LegacyContextHistoryClient::didNavigateWithNavigationData):
(API::LegacyContextHistoryClient::didPerformClientRedirect):
(API::LegacyContextHistoryClient::didPerformServerRedirect):
(API::LegacyContextHistoryClient::didUpdateHistoryTitle):
(API::LegacyContextHistoryClient::populateVisitedLinks):
(API::HistoryClient::~HistoryClient): Deleted.
(API::HistoryClient::didNavigateWithNavigationData): Deleted.
(API::HistoryClient::didPerformClientRedirect): Deleted.
(API::HistoryClient::didPerformServerRedirect): Deleted.
(API::HistoryClient::didUpdateHistoryTitle): Deleted.
(API::HistoryClient::populateVisitedLinks): Deleted.
* UIProcess/API/APILoaderClient.h:
(API::LoaderClient::didNavigateWithNavigationData):
(API::LoaderClient::didPerformClientRedirect):
(API::LoaderClient::didPerformServerRedirect):
(API::LoaderClient::didUpdateHistoryTitle):
* UIProcess/API/C/WKContext.cpp:
(WKContextSetHistoryClient):
* UIProcess/API/Cocoa/WKProcessPool.mm:
(-[WKProcessPool _initWithConfiguration:]):
* UIProcess/API/mac/WKView.mm:
* UIProcess/Cocoa/HistoryClient.h: Removed.
* UIProcess/Cocoa/HistoryClient.mm: Removed.
* UIProcess/Cocoa/NavigationState.h:
* UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::LoaderClient::didNavigateWithNavigationData):
(WebKit::NavigationState::LoaderClient::didPerformClientRedirect):
(WebKit::NavigationState::LoaderClient::didPerformServerRedirect):
(WebKit::NavigationState::LoaderClient::didUpdateHistoryTitle):
(WebKit::NavigationState::didNavigateWithNavigationData): Deleted.
(WebKit::NavigationState::didPerformClientRedirect): Deleted.
(WebKit::NavigationState::didPerformServerRedirect): Deleted.
(WebKit::NavigationState::didUpdateHistoryTitle): Deleted.
* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext):
(WebKit::WebContext::setHistoryClient):
(WebKit::WebContext::populateVisitedLinks):
* UIProcess/WebContext.h:
(WebKit::WebContext::historyClient):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didNavigateWithNavigationData):
(WebKit::WebPageProxy::didPerformClientRedirect):
(WebKit::WebPageProxy::didPerformServerRedirect):
(WebKit::WebPageProxy::didUpdateHistoryTitle):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::didNavigateWithNavigationData): Deleted.
(WebKit::WebProcessProxy::didPerformClientRedirect): Deleted.
(WebKit::WebProcessProxy::didPerformServerRedirect): Deleted.
(WebKit::WebProcessProxy::didUpdateHistoryTitle): Deleted.
* UIProcess/WebProcessProxy.h:
* UIProcess/WebProcessProxy.messages.in:
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::updateGlobalHistory):
(WebKit::WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
(WebKit::WebFrameLoaderClient::setTitle):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177636 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRemove a Slow expectation for js/promises-tests/promises-tests-2-3-3.html,
ap@apple.com [Mon, 22 Dec 2014 18:40:17 +0000 (18:40 +0000)]
Remove a Slow expectation for js/promises-tests/promises-tests-2-3-3.html,
as we now skip the test.

* TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177635 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[GTK] another outdated comment
commit-queue@webkit.org [Mon, 22 Dec 2014 18:15:39 +0000 (18:15 +0000)]
[GTK] another outdated comment
https://bugs.webkit.org/show_bug.cgi?id=139863

Patch by Michael Catanzaro <mcatanzaro@igalia.com> on 2014-12-22
Reviewed by Darin Adler.

Remove outdated comment. We nowadays block untrusted connections by
default.

* WebProcess/gtk/WebProcessMainGtk.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177634 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agojs/promises-tests/promises-tests-2-3-3.html sometimes crashes under DFG::SpeculativeJ...
ap@apple.com [Mon, 22 Dec 2014 17:39:09 +0000 (17:39 +0000)]
js/promises-tests/promises-tests-2-3-3.html sometimes crashes under DFG::SpeculativeJIT::compile
https://bugs.webkit.org/show_bug.cgi?id=139865
rdar://problem/19326058

* TestExpectations: Skip it.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177633 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[EFL] MiniBrowser steals web view's focus
g.czajkowski@samsung.com [Mon, 22 Dec 2014 15:30:08 +0000 (15:30 +0000)]
[EFL] MiniBrowser steals web view's focus
https://bugs.webkit.org/show_bug.cgi?id=139482

Reviewed by Gyuyoung Kim.

Although we set focus on ewk_view while MiniBrowser initialization
Ecore steals it in a favor of main window. As a result
focused element on web page is unable to receive events.

* MiniBrowser/efl/main.c:
(window_create):
Prevent window from stealing web view's focus on start up.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177632 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[CSS Grid Layout] Get rid of legacy WebKitCSSGridLayoutEnabled
rego@igalia.com [Mon, 22 Dec 2014 11:31:47 +0000 (11:31 +0000)]
[CSS Grid Layout] Get rid of legacy WebKitCSSGridLayoutEnabled
https://bugs.webkit.org/show_bug.cgi?id=139860

Reviewed by Sergio Villar Senin.

Remove the missing bits regarding WebKitCSSGridLayoutEnabled.
Most of it was already removed in r168416.

* fast/css-grid-layout/grid-item-margin-auto-columns-rows-horizontal-ltr.html:
* fast/css-grid-layout/grid-item-margin-auto-columns-rows-horizontal-rtl.html:
* fast/css-grid-layout/grid-item-margin-auto-columns-rows-vertical-ltr.html:
* fast/css-grid-layout/grid-item-margin-auto-columns-rows-vertical-rtl.html:
* fast/css-grid-layout/grid-shorthand-get-set.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177631 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoMove "Auto" CSS properties to the new StyleBuilder
cdumez@apple.com [Mon, 22 Dec 2014 10:38:57 +0000 (10:38 +0000)]
Move "Auto" CSS properties to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=139858

Reviewed by Antti Koivisto.

Move "Auto" CSS properties from DeprecatedStyleBuilder to the new
StyleBuilder, by adding support in the generator for using hasAutoXXX()
/ setHasAutoXXX() methods on RenderStyle.

No new tests, no web-exposed behavior change.

* css/CSSPropertyNames.in:
* css/DeprecatedStyleBuilder.cpp:
(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
(WebCore::ApplyPropertyAuto::setValue): Deleted.
(WebCore::ApplyPropertyAuto::value): Deleted.
(WebCore::ApplyPropertyAuto::hasAuto): Deleted.
(WebCore::ApplyPropertyAuto::setAuto): Deleted.
(WebCore::ApplyPropertyAuto::applyInheritValue): Deleted.
(WebCore::ApplyPropertyAuto::applyInitialValue): Deleted.
(WebCore::ApplyPropertyAuto::applyValue): Deleted.
(WebCore::ApplyPropertyAuto::createHandler): Deleted.
* css/StyleBuilderCustom.h:
(WebCore::StyleBuilderCustom::applyInitialColumnGap):
(WebCore::StyleBuilderCustom::applyInheritColumnGap):
(WebCore::StyleBuilderCustom::applyValueColumnGap):
* css/makeprop.pl:
(getNameForMethods):
(getAutoGetter):
(getAutoSetter):
(generateInitialValueSetter):
(generateInheritValueSetter):
(generateValueSetter):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177630 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoHTMLSelectElement add() should support adding group of options element (HTMLOptGroupE...
commit-queue@webkit.org [Mon, 22 Dec 2014 02:00:04 +0000 (02:00 +0000)]
HTMLSelectElement add() should support adding group of options element (HTMLOptGroupElement).
https://bugs.webkit.org/show_bug.cgi?id=139806

Patch by Shivakumar JM <shiva.jm@samsung.com> on 2014-12-21
Reviewed by Darin Adler.

Source/WebCore:

HTMLSelectElement add() should support adding group of options (optgroup) element.

Test: fast/dom/HTMLSelectElement/select-add-optgroup.html

* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::add):

LayoutTests:

* fast/dom/HTMLSelectElement/select-add-optgroup-expected.txt: Added.
* fast/dom/HTMLSelectElement/select-add-optgroup.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177629 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFix missing assertion in r177623.
cdumez@apple.com [Mon, 22 Dec 2014 01:52:23 +0000 (01:52 +0000)]
Fix missing assertion in r177623.
https://bugs.webkit.org/show_bug.cgi?id=139334

Reviewed by Darin Adler.

ValueWithCalculation::setCalculation() was meant to include an
"isCalculation()" assertion but I inadvertently omitted the
ASSERT() around the statement.

* css/CSSParser.h:
(WebCore::CSSParser::ValueWithCalculation::setCalculation):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177628 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAX: Hidden aria table crash
rgabor@webkit.org [Sun, 21 Dec 2014 23:56:55 +0000 (23:56 +0000)]
AX: Hidden aria table crash
https://bugs.webkit.org/show_bug.cgi?id=139856

Reviewed by Chris Fleizach.

Source/WebCore:

Change axCaption to pointer and check it's value because
AXObjectCache::getOrCreate() can return with nullptr.

Test: accessibility/aria-hidden-crash.html

* accessibility/AccessibilityTable.cpp:
(WebCore::AccessibilityTable::addChildren):

LayoutTests:

Add layout test to cover this crash.

* accessibility/aria-hidden-crash-expected.txt: Added.
* accessibility/aria-hidden-crash.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177627 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUpdate expectations for two WebGL tests to match what bots see.
ap@apple.com [Sun, 21 Dec 2014 22:11:53 +0000 (22:11 +0000)]
Update expectations for two WebGL tests to match what bots see.

* platform/mac/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177626 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[iOS] avoid WebVideoFullscreenManager crash
eric.carlson@apple.com [Sun, 21 Dec 2014 17:01:04 +0000 (17:01 +0000)]
[iOS] avoid WebVideoFullscreenManager crash
https://bugs.webkit.org/show_bug.cgi?id=139852
<rdar://problem/19319302>

Reviewed by Darin Adler.

* WebProcess/ios/WebVideoFullscreenManager.mm:
(WebKit::WebVideoFullscreenManager::didExitFullscreen): NULL-check m_layerHostingContext and m_page.
(WebKit::WebVideoFullscreenManager::setVideoLayerFrameFenced): NULL-check m_layerHostingContext.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177625 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFix WebKit2 build with newer clang compiler
ddkilzer@apple.com [Sun, 21 Dec 2014 10:49:50 +0000 (10:49 +0000)]
Fix WebKit2 build with newer clang compiler

Fixes the following build error:

    In file included from DerivedSources/WebKit2/WebVideoFullscreenManagerProxyMessageReceiver.cpp:32:
    Source/WebKit2/Platform/IPC/HandleMessage.h:16:25: error: non-const lvalue reference to type 'Vector<[3 * ...]>' cannot bind to a temporary of type 'Vector<[3 * ...]>'
        (object->*function)(std::get<ArgsIndex>(std::forward<ArgsTuple>(args))...);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Source/WebKit2/Platform/IPC/HandleMessage.h:22:5: note: in instantiation of function template specialization 'IPC::callMemberFunctionImpl<WebKit::WebVideoFullscreenManagerProxy, void (WebKit::WebVideoFullscreenManagerProxy::*)(WTF::Vector<std::__1::pair<double, double>, 0, WTF::CrashOnOverflow> &), std::__1::tuple<WTF::Vector<std::__1::pair<double, double>, 0, WTF::CrashOnOverflow> >, 0>' requested here
        callMemberFunctionImpl(object, function, std::forward<ArgsTuple>(args), ArgsIndicies());
        ^
    Source/WebKit2/Platform/IPC/HandleMessage.h:120:5: note: in instantiation of function template specialization 'IPC::callMemberFunction<WebKit::WebVideoFullscreenManagerProxy, void (WebKit::WebVideoFullscreenManagerProxy::*)(WTF::Vector<std::__1::pair<double, double>, 0, WTF::CrashOnOverflow> &), std::__1::tuple<WTF::Vector<std::__1::pair<double, double>, 0, WTF::CrashOnOverflow> >, std::make_index_sequence<1> >' requested here
        callMemberFunction(WTF::move(arguments), object, function);
        ^
    DerivedSources/WebKit2/WebVideoFullscreenManagerProxyMessageReceiver.cpp:55:14: note: in instantiation of function template specialization 'IPC::handleMessage<Messages::WebVideoFullscreenManagerProxy::SetSeekableRangesVector, WebKit::WebVideoFullscreenManagerProxy, void (WebKit::WebVideoFullscreenManagerProxy::*)(WTF::Vector<std::__1::pair<double, double>, 0, WTF::CrashOnOverflow> &)>' requested here
            IPC::handleMessage<Messages::WebVideoFullscreenManagerProxy::SetSeekableRangesVector>(decoder, this, &WebVideoFullscreenManagerProxy::setSeekableRangesVector);
                 ^

* UIProcess/ios/WebVideoFullscreenManagerProxy.h:
* UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
(WebKit::WebVideoFullscreenManagerProxy::setSeekableRangesVector):
Make Vector<std::pair<double, double>>& argument const because a
temporary is not allowed to bind to a non-const reference.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177624 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoGet rid of error-prone ReleaseParsedCalcValueCondition argument in CSSParser
cdumez@apple.com [Sun, 21 Dec 2014 02:56:23 +0000 (02:56 +0000)]
Get rid of error-prone ReleaseParsedCalcValueCondition argument in CSSParser
https://bugs.webkit.org/show_bug.cgi?id=139334

Reviewed by Darin Adler.

Get rid of error-prone ReleaseParsedCalcValueCondition argument in
CSSParser that determines the the m_parsedCalculation member should
be released.

Instead, introduce a new ValueWithCalculation type which wraps a
CSSParserValue and an optional parsed calculation value. This way,
the parsed calculation value is now associated with its CSSParserValue.
This makes it very difficult to use a parsed calculation value for the
wrong CSSParserValue. The API is also easier to use as developers no
longer need to explicitly indicate if the calculation value should be
released or not.

No new tests, no web-behavior change.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177623 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[iOS] add optimized fullscreen API
eric.carlson@apple.com [Sat, 20 Dec 2014 18:28:37 +0000 (18:28 +0000)]
[iOS] add optimized fullscreen API
https://bugs.webkit.org/show_bug.cgi?id=139833
<rdar://problem/18844486>

Reviewed by Simon Fraser.

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig: Add ENABLE_VIDEO_PRESENTATION_MODE.

Source/WebCore:

* Configurations/FeatureDefines.xcconfig: Add ENABLE_VIDEO_PRESENTATION_MODE.

* Modules/mediacontrols/MediaControlsHost.cpp:
(WebCore::MediaControlsHost::optimizedFullscreenSupported): Deleted.
(WebCore::MediaControlsHost::fullscreenMode): Deleted.
* Modules/mediacontrols/MediaControlsHost.h:
* Modules/mediacontrols/MediaControlsHost.idl:

* Modules/mediacontrols/mediaControlsiOS.js:
(ControllerIOS.prototype.addVideoListeners): Listen for 'webkitpresentationmodechanged'.
(ControllerIOS.prototype.removeVideoListeners): Stop listening for 'webkitpresentationmodechanged'.
(ControllerIOS.prototype.configureInlineControls): Call video element instead of using the now
    removed host property.
(ControllerIOS.prototype.updateControls): Ditto.
(ControllerIOS.prototype.presentationMode): New, return webkitPresentationMode when possible.
(ControllerIOS.prototype.handleFullscreenButtonClicked): Use webkitSetPresentationMode when possible.
(ControllerIOS.prototype.handleOptimizedFullscreenButtonClicked): Use video element instead of
    using the now removed host method.
(ControllerIOS.prototype.handlePresentationModeChange): New, react to presentation mode changes.
(ControllerIOS.prototype.handleFullscreenChange): Call handlePresentationModeChange.

* dom/EventNames.h: Add webkitpresentationmodechanged.

* html/HTMLAttributeNames.in: Add onwebkitpresentationmodechanged.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::enterFullscreen): Early return when asked to change to the current
    mode. Call fullscreenModeChanged() instead of whacking the instance variable directly.
(WebCore::HTMLMediaElement::exitFullscreen): Ditto.
* html/HTMLMediaElement.h:
(WebCore::HTMLMediaElement::fullscreenModeChanged): Make virtual.

* html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::parseAttribute): Deal with onwebkitpresentationmodechange.
(WebCore::presentationModeFullscreen): New.
(WebCore::presentationModeOptimized): Ditto.
(WebCore::presentationModeInline): Ditto.
(WebCore::HTMLVideoElement::webkitSupportsPresentationMode): Ditto.
(WebCore::HTMLVideoElement::webkitSetPresentationMode): Ditto.
(WebCore::HTMLVideoElement::webkitPresentationMode): Ditto.
(WebCore::HTMLVideoElement::fullscreenModeChanged): Ditto.
* html/HTMLVideoElement.h:
* html/HTMLVideoElement.idl:

* platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(WebVideoFullscreenInterfaceAVKit::setIsOptimized): Simplify the logic a bit. Don't report
    a mode change when

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig:  Add ENABLE_VIDEO_PRESENTATION_MODE.

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig: Add ENABLE_VIDEO_PRESENTATION_MODE.

Source/WTF:

* wtf/Platform.h: Define ENABLE_VIDEO_PRESENTATION_MODE.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177622 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoSwitch from using PLATFORM_NAME to SDK selectors in WebCore, WebInspectorUI, WebKit...
ddkilzer@apple.com [Sat, 20 Dec 2014 17:26:56 +0000 (17:26 +0000)]
Switch from using PLATFORM_NAME to SDK selectors in WebCore, WebInspectorUI, WebKit, WebKit2
<http://webkit.org/b/139463>

Reviewed by Mark Rowe.

Source/JavaScriptCore:

* Configurations/JavaScriptCore.xcconfig:
- Simplify SECTORDER_FLAGS.

Source/WebCore:

Also remove all uses of SQLITE3_HEADER_SEARCH_PATHS and
WEBCORE_SQLITE3_HEADER_SEARCH_PATHS which were phased out in
r132859 and needed for Leopard.

* Configurations/Base.xcconfig:
- Only set GCC_ENABLE_OBJC_GC, GCC_MODEL_TUNING and TOOLCHAINS
  on OS X.
- Set GCC_OPTIMIZATION_LEVEL_normal based on SDK.
- Simplify SQLITE3_HEADER_SEARCH_PATHS.
* Configurations/DebugRelease.xcconfig:
- Only set MACOSX_DEPLOYMENT_TARGET and SDKROOT on OS X.
* Configurations/Version.xcconfig:
- Set SYSTEM_VERSION_PREFIX separately for iOS and OS X.
* Configurations/WebCore.xcconfig:
- Set EXPORTED_SYMBOLS_FILE_i386, EXPORTED_SYMBOLS_FILE_x86_64,
  FRAMEWORK_SEARCH_PATHS, INSTALL_PATH, DYLIB_INSTALL_NAME_BASE,
  OTHER_LDFLAGS, SECTORDER_FLAGS, NORMAL_WEBCORE_FRAMEWORKS_DIR,
  WEBCORE_FRAMEWORKS_DIR, NORMAL_PRODUCTION_FRAMEWORKS_DIR,
  PRODUCTION_FRAMEWORKS_DIR,
  JAVASCRIPTCORE_PRIVATE_HEADERS_DIR_Production and
  EXCLUDED_SOURCE_FILE_NAMES based on SDK.
- Make sure DYLIB_INSTALL_NAME_BASE and OTHER_LDFLAGS are
  overrideable by WebCoreTestSupport.xcconfig.
* Configurations/WebCoreTestSupport.xcconfig:
- Set PRIVATE_HEADERS_FOLDER_PATH_Production and
  INSTALL_PATH_Production based on SDK.
- Override SECT_ORDER_FLAGS from WebCore.xcconfig.

Source/WebInspectorUI:

* Configurations/Base.xcconfig:
- Only set TOOLCHAINS on OS X.
* Configurations/DebugRelease.xcconfig:
- Only set MACOSX_DEPLOYMENT_TARGET and SDKROOT on OS X.
* Configurations/Version.xcconfig:
- Set SYSTEM_VERSION_PREFIX separately for iOS and OS X.
* Configurations/WebInspectorUIFramework.xcconfig:
- Set NORMAL_PRODUCTION_FRAMEWORKS_DIR,
  PRODUCTION_FRAMEWORKS_DIR and
  JAVASCRIPTCORE_PRIVATE_HEADERS_DIR_Production by SDK.

Source/WebKit/mac:

* Configurations/Base.xcconfig:
- Only set GCC_ENABLE_OBJC_GC, GCC_MODEL_TUNING and TOOLCHAINS
  on OS X.
- Set GCC_OPTIMIZATION_LEVEL_normal based on SDK.
* Configurations/DebugRelease.xcconfig:
- Only set MACOSX_DEPLOYMENT_TARGET and SDKROOT on OS X.
- Set WEBKIT_SYSTEM_INTERFACE_LIBRARY based on SDK.
* Configurations/Version.xcconfig:
- Set SYSTEM_VERSION_PREFIX separately for iOS and OS X.
* Configurations/WebKitLegacy.xcconfig:
- Set EXCLUDED_SOURCE_FILE_NAMES, EXPORTED_SYMBOLS_FILE_x86_64,
  FRAMEWORK_SEARCH_PATHS, OTHER_CFLAGS, INSTALL_PATH,
  DYLIB_INSTALL_NAME_BASE, OTHER_LDFLAGS, SECTORDER_FLAGS,
  NORMAL_WEBKIT_LEGACY_FRAMEWORKS_DIR,
  WEBKIT_LEGACY_FRAMEWORKS_DIR, NORMAL_PRODUCTION_FRAMEWORKS_DIR,
  PRODUCTION_FRAMEWORKS_DIR, PRODUCTION_ROOT,
  WEBCORE_PRIVATE_HEADERS_DIR_Production and
  WEBKITSYSTEMINTERFACE_STATIC_LIBRARY_HEADERS_FOLDER_PATH_engineering
  based on SDK.
- Fix PRODUCTION_ROOT to actually be set properly.
- Simplify EXPORTED_SYMBOLS_FILE_i386.

* migrate-headers.sh:
- Get rid of unused WEBKIT2_FRAMEWORKS_DIR variable.
- Change WEBCORE_PRIVATE_HEADERS_DIR_macosx_Production to
  WEBCORE_PRIVATE_HEADERS_DIR_Production based on changes to
  WebKitLegacy.xcconfig.

Source/WebKit2:

* Configurations/All.xcconfig:
- Only set EXCLUDED_SOURCE_FILE_NAMES on iOS.
* Configurations/Base.xcconfig:
- Only set FRAMEWORK_CONTENT_DIRECTORY, GCC_ENABLE_OBJC_GC and
  TOOLCHAINS on OS X.
* Configurations/BaseLegacyProcess.xcconfig:
- Only set SKIP_INSTALL on iOS.
* Configurations/BaseTarget.xcconfig:
- Set WEBKIT_FRAMEWORKS_DIR and UMBRELLA_FRAMEWORKS_DIR based on
  SDK, and simply them.
* Configurations/BaseXPCService.xcconfig:
- Set INSTALL_PATH_ACTUAL_Normal based on SDK.
* Configurations/DebugRelease.xcconfig:
- Only set MACOSX_DEPLOYMENT_TARGET and SDKROOT on OS X.
- Set WEBKIT_SYSTEM_INTERFACE_LIBRARY based on SDK.
* Configurations/NetworkProcess.xcconfig:
- Only set EXCLUDED_SHIM_FILE_NAME and CODE_SIGN_ENTITLEMENTS on
  iOS.
* Configurations/NetworkService.Development.xcconfig:
- Set INFOPLIST_FILE based on SDK.
- Simplify CODE_SIGN_ENTITLEMENTS for iOS.
* Configurations/NetworkService.xcconfig:
- Set INFOPLIST_FILE based on SDK.
- Simplify CODE_SIGN_ENTITLEMENTS for iOS.
* Configurations/PluginProcess.xcconfig:
- Only set EXCLUDED_SHIM_FILE_NAME and SKIP_INSTALL on iOS.
* Configurations/PluginProcessShim.xcconfig:
- Set OTHER_LDFLAGS based on SDK.
* Configurations/PluginService.32.xcconfig:
- Only set VALID_ARCHS on OS X.
- Set OTHER_LDFLAGS based on platform-specific values.
- Only set SKIP_INSTALL on iOS.
* Configurations/PluginService.64.xcconfig:
- Set ARCHS based on SDK.
- Set OTHER_LDFLAGS based on platform-specific values.
- Only set SKIP_INSTALL on iOS.
* Configurations/PluginService.Development.xcconfig:
- Only set SKIP_INSTALL on iOS.
- Set OTHER_LDFLAGS based on platform-specific values.
* Configurations/SecItemShim.xcconfig:
- Set OTHER_LDFLAGS based on platform-specific values.
* Configurations/Version.xcconfig:
- Set SYSTEM_VERSION_PREFIX separately for iOS and OS X.
* Configurations/WebContentProcess.xcconfig:
- Only set EXCLUDED_SHIM_FILE_NAME on iOS.
- Only set CODE_SIGN_ENTITLEMENTS on iOS Simulator.
* Configurations/WebContentService.Development.xcconfig:
- Set INFOPLIST_FILE and BUNDLE_LOCALIZATION_KEY based on SDK.
- Only set CODE_SIGN_ENTITLEMENTS on iOS hardware.
- Set OTHER_LDFLAGS based on platform-specific values.
* Configurations/WebContentService.xcconfig: Ditto.
* Configurations/WebKit.xcconfig:
- Set FRAMEWORK_AND_LIBRARY_LDFLAGS, SECTORDER_FLAGS, and
  WK_API_AVAILABILITY_ENABLED based on SDK.
- Set OTHER_LDFLAGS based on platform-specific values.
- Only set EXCLUDED_SOURCE_FILE_NAMES on iOS.
* Configurations/WebKit2.xcconfig:
- Set INSTALL_PATH, INSTALL_PATH_ACTUAL, DYLIB_INSTALL_NAME_BASE,
  NORMAL_WEBKIT2_FRAMEWORKS_DIR, WEBKIT2_FRAMEWORKS_DIR and
  NORMAL_PRODUCTION_FRAMEWORKS_DIR based on SDK.
- Set SKIP_INSTALL on iOS.
* Configurations/WebProcessShim.xcconfig:
- Set OTHER_LDFLAGS based on platform-specific values.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177621 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[SVG -> OTF Converter] Make placeholders more robust
mmaxfield@apple.com [Sat, 20 Dec 2014 04:41:57 +0000 (04:41 +0000)]
[SVG -> OTF Converter] Make placeholders more robust
https://bugs.webkit.org/show_bug.cgi?id=139836

Reviewed by Dan Bernstein.

This patch creates a Placeholder object which hides the complexity of
populating offsets to subtables.

No new tests because there is no behavior change.

* svg/SVGToOTFFontConversion.cpp:
(WebCore::SVGToOTFFontConverter::Placeholder::Placeholder):
(WebCore::SVGToOTFFontConverter::Placeholder::populate):
(WebCore::SVGToOTFFontConverter::Placeholder::~Placeholder):
(WebCore::SVGToOTFFontConverter::appendArabicReplacementSubtable):
(WebCore::SVGToOTFFontConverter::appendGSUBTable):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177620 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoBuild fix.
jberlin@webkit.org [Sat, 20 Dec 2014 04:39:03 +0000 (04:39 +0000)]
Build fix.

* UIProcess/mac/WebInspectorProxyMac.mm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177619 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoSimplify the build fixes from r177615 and r177617.
jberlin@webkit.org [Sat, 20 Dec 2014 04:30:19 +0000 (04:30 +0000)]
Simplify the build fixes from r177615 and r177617.

Rubber-stamped by Dan Bernstein.

* UIProcess/mac/WebInspectorProxyMac.mm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177618 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAnother attempt at a speculative build fix.
jberlin@webkit.org [Sat, 20 Dec 2014 03:55:04 +0000 (03:55 +0000)]
Another attempt at a speculative build fix.

* UIProcess/mac/WebInspectorProxyMac.mm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177617 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFix initial / inherit support for '-webkit-perspective-origin' CSS property
cdumez@apple.com [Sat, 20 Dec 2014 03:41:47 +0000 (03:41 +0000)]
Fix initial / inherit support for '-webkit-perspective-origin' CSS property
https://bugs.webkit.org/show_bug.cgi?id=139843

Reviewed by Simon Fraser.

Source/WebCore:

Fix initial / inherit support for '-webkit-perspective-origin' CSS
property. These previously had no effect.

This patch updates the code to be consistent with
'-webkit-transform-origin' and gets rid of the code in
DeprecatedStyleBuilder as it isn't used.

Test: fast/css/perspective-origin-initial-inherit.html

* css/DeprecatedStyleBuilder.cpp:
(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
(WebCore::ApplyPropertyPerspectiveOrigin::applyInheritValue): Deleted.
(WebCore::ApplyPropertyPerspectiveOrigin::applyInitialValue): Deleted.
(WebCore::ApplyPropertyPerspectiveOrigin::applyValue): Deleted.
(WebCore::ApplyPropertyPerspectiveOrigin::createHandler): Deleted.
* css/StyleProperties.cpp:
(WebCore::StyleProperties::getPropertyValue):
(WebCore::StyleProperties::asText):
* css/StylePropertyShorthand.cpp:
(WebCore::webkitPerspectiveOriginShorthand):
(WebCore::shorthandForProperty):
(WebCore::matchingShorthandsForLonghand):
* css/StylePropertyShorthand.h:
* css/StyleResolver.cpp:
(WebCore::StyleResolver::applyProperty):

LayoutTests:

Add layout test to cover 'initial' / 'inherit' support for
'-webkit-perspective-origin' CSS property.

* fast/css/perspective-origin-initial-inherit-expected.txt: Added.
* fast/css/perspective-origin-initial-inherit.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177616 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoSpeculative build fix after r177610.
jberlin@webkit.org [Sat, 20 Dec 2014 02:39:28 +0000 (02:39 +0000)]
Speculative build fix after r177610.

* UIProcess/mac/WebInspectorProxyMac.mm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177615 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoPerf dashboard should support authentication via a slave password
rniwa@webkit.org [Sat, 20 Dec 2014 02:38:04 +0000 (02:38 +0000)]
Perf dashboard should support authentication via a slave password
https://bugs.webkit.org/show_bug.cgi?id=139837

Reviewed by Andreas Kling.

For historical reasons, perf dashboard conflated builders and build slaves. As a result we ended up
having to add multiple builders with the same password when a single build slave is shared among them.

This patch introduces the concept of build_slave into the perf dashboard to end this madness.

* init-database.sql: Added build_slave table as well as references to it in builds and reports.

* public/admin/build-slaves.php: Added.

* public/admin/builders.php: Added the support for updating passwords.

* public/include/admin-header.php:
(update_field): Takes an extra argument when a new value needs to be supplied by the caller instead of
being retrieved from $_POST.
(AdministrativePage::render_table): Use array_get to retrieve a value out of the database row since
the raw may not exist (e.g. new_password).
(AdministrativePage::render_form_to_add): Added the support for post_insertion. Don't render the form
control here when this flag evaluates to TRUE.

* public/include/report-processor.php:
(ReportProcessor::process): Added the logic to authenticate with slaveName and slavePassword if those
values are present in the report. In addition, try authenticating builderName with slavePassword if
builderPassword is not specified. When neither password is specified, exit with BuilderNotFound.
Also insert the slave or the builder whichever is missing after we've successfully authenticated.
(ReportProcessor::construct_build_data): Takes a builder ID and an optional slave ID instead of
a builder row.
(ReportProcessor::store_report): Store the slave ID with the report.
(ReportProcessor::resolve_build_id): Exit with MismatchingBuildSlave when the slave associated with
the matching build is different from what's being reported.

* tests/api-report.js: Added a bunch of tests to test the new features of /api/report.
(.addSlave): Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177614 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Win] Revise DRT logic to match Mac.
bfulgham@apple.com [Sat, 20 Dec 2014 01:21:38 +0000 (01:21 +0000)]
[Win] Revise DRT logic to match Mac.

Rubberstamped by Anders Carlsson.

Update the Windows logic to perform initialization of preferences and WebKit
settings to match Mac. Also make sure that we only ever emit #EOF tokens under
the same circumstances as the Mac version.

* DumpRenderTree/win/DumpRenderTree.cpp:
(dump):
(resetWebPreferencesToConsistentValues):
(setDefaultsToConsistentValuesForTesting):
(resetWebViewToConsistentStateBeforeTesting):
(sizeWebViewForCurrentTest):
(runTest):
(createWebViewAndOffscreenWindow):
(allocateGlobalControllers):
(prepareConsistentTestingEnvironment):
(main):
(resetDefaultsToConsistentValues): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177613 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[iOS] Add didEnterFullscreen / didExitFullscreen callbacks to WKUIDelegatePrivate
cdumez@apple.com [Sat, 20 Dec 2014 01:11:44 +0000 (01:11 +0000)]
[iOS] Add didEnterFullscreen / didExitFullscreen callbacks to WKUIDelegatePrivate
https://bugs.webkit.org/show_bug.cgi?id=139835
<rdar://problem/19312042>

Reviewed by Anders Carlsson.

Add didEnterFullscreen / didExitFullscreen callbacks to WKUIDelegatePrivate
so that they can be implemented in MobileSafari.

* UIProcess/API/APIUIClient.h:
(API::UIClient::didEnterFullscreen):
(API::UIClient::didExitFullscreen):
* UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
* UIProcess/Cocoa/UIDelegate.h:
* UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::setDelegate):
(WebKit::UIDelegate::UIClient::didEnterFullscreen):
(WebKit::UIDelegate::UIClient::didExitFullscreen):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didEnterFullscreen):
(WebKit::WebPageProxy::didExitFullscreen):
* UIProcess/WebPageProxy.h:
* UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
(WebKit::WebVideoFullscreenManagerProxy::didExitFullscreen):
(WebKit::WebVideoFullscreenManagerProxy::didEnterFullscreen):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177612 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFix pink background on CoreAnimation plug-ins in WebKit1
simon.fraser@apple.com [Sat, 20 Dec 2014 01:02:02 +0000 (01:02 +0000)]
Fix pink background on CoreAnimation plug-ins in WebKit1
https://bugs.webkit.org/show_bug.cgi?id=139845
rdar://problem/19313075

Reviewed by Tim Horton.

r154078 left in some debugging code that set a pink background on plug-in hosting
layers. Remove it.

* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(-[WebHostedNetscapePluginView createPluginLayer]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177611 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWeb Inspector: Inspector does not reopen correctly after Inspector Process crashes
commit-queue@webkit.org [Sat, 20 Dec 2014 00:57:55 +0000 (00:57 +0000)]
Web Inspector: Inspector does not reopen correctly after Inspector Process crashes
https://bugs.webkit.org/show_bug.cgi?id=139838

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-12-19
Reviewed by Timothy Hatcher.

When the WebContentProcess holding the Inspector Frontend crashes, we
would properly tear down the inspector objects. However, the next time
the inspector is opened, when creating the new page in the Inspector
Page Group, a WebPageProxy is created with a Terminated WebProcessProxy.

That Terminated WebProcessProxy is automatically replaced with the next
load request is given. The newly created process was missing the
message listeners and assumed URL access settings that the
WebInspectorProxy had set on the old process.

So, WebInspectorProxy now listens for and resets the process properties
when the inspector process is recreated.

* UIProcess/WebInspectorProxy.h:
* UIProcess/WebInspectorProxy.cpp:
(WebKit::WebInspectorProxy::didRelaunchInspectorPageProcess):
Reset process properties when the process is relaunched.

(WebKit::WebInspectorProxy::createInspectorPage):
(WebKit::WebInspectorProxy::didClose):
Save connection identifier if we need to establish connections later.

* UIProcess/mac/WebInspectorProxyMac.mm:
(-[WKWebInspectorProxyObjCAdapter didRelaunchProcess]):
(-[WKWebInspectorWKView _didRelaunchProcess]):
(WebKit::WebInspectorProxy::closeTimerFired):
(WebKit::WebInspectorProxy::platformCreateInspectorPage):
Send WebInspectorProxy a message when the process underlying the
WKView is relaunched.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177610 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed, rolling out r177599.
commit-queue@webkit.org [Sat, 20 Dec 2014 00:52:35 +0000 (00:52 +0000)]
Unreviewed, rolling out r177599.
https://bugs.webkit.org/show_bug.cgi?id=139846

this breaks so many things (Requested by thorton_ on #webkit).

Reverted changeset:

"TextIndicator's window can be pushed down if it intersects
the menu bar"
https://bugs.webkit.org/show_bug.cgi?id=139841
http://trac.webkit.org/changeset/177599

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177609 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoGet rid of the hardcoded set of structs in the message generation script
andersca@apple.com [Sat, 20 Dec 2014 00:46:42 +0000 (00:46 +0000)]
Get rid of the hardcoded set of structs in the message generation script
https://bugs.webkit.org/show_bug.cgi?id=139844

Reviewed by Tim Horton.

Instead, make it possible to use 'struct' in front of the type name to declare that the type is a struct.

* DatabaseProcess/DatabaseProcess.messages.in:
* DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in:
* NetworkProcess/NetworkProcess.messages.in:
* PluginProcess/PluginProcess.messages.in:
* PluginProcess/WebProcessConnection.messages.in:
* Scripts/webkit/messages.py:
(struct_or_class):
(forward_declarations_for_namespace):
(forward_declarations_and_headers):
* Scripts/webkit/model.py:
(Parameter.__init__):
* Scripts/webkit/parser.py:
(parse_parameters_string):
* UIProcess/Storage/StorageManager.messages.in:
* UIProcess/WebContext.messages.in:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/WebProcessProxy.messages.in:
* WebProcess/ApplicationCache/WebApplicationCacheManager.messages.in:
* WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in:
* WebProcess/OriginData/WebOriginDataManager.messages.in:
* WebProcess/ResourceCache/WebResourceCacheManager.messages.in:
* WebProcess/WebPage/DrawingArea.messages.in:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebProcess.messages.in:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177608 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed. Rollout r177605.
roger_fong@apple.com [Sat, 20 Dec 2014 00:38:56 +0000 (00:38 +0000)]
Unreviewed. Rollout r177605.

* EWSTools/start-queue-win.sh:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177607 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed. Try running EWS scripts without —no-confirm, since it defaults to true.
roger_fong@apple.com [Sat, 20 Dec 2014 00:26:20 +0000 (00:26 +0000)]
Unreviewed. Try running EWS scripts without —no-confirm, since it defaults to true.
* EWSTools/start-queue-win.sh:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177605 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFix the build.
timothy_horton@apple.com [Sat, 20 Dec 2014 00:22:25 +0000 (00:22 +0000)]
Fix the build.

* UIProcess/API/mac/WKView.mm:
(-[WKView _setIgnoresNonWheelEvents:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177604 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[iOS] Add WebKitSystemInterface for iOS 8.1
dbates@webkit.org [Sat, 20 Dec 2014 00:17:37 +0000 (00:17 +0000)]
[iOS] Add WebKitSystemInterface for iOS 8.1
https://bugs.webkit.org/show_bug.cgi?id=139831

Reviewed by Alexey Proskuryakov.

Tools:

Implement support in copy-webkitlibraries-to-product-directory to copy
WebKitSystemInterface for iOS to the product directory and have build-webkit
pass --wksi to copy-webkitlibraries-to-product-directory when building for iOS.

* Scripts/build-webkit:
* Scripts/copy-webkitlibraries-to-product-directory:

WebKitLibraries:

Towards building the iOS WebKit port using the public SDK, add the
WebKitSystemInterface for iOS version 8.1.

* WebKitSystemInterfaceIOS.h: Added.
* libWebKitSystemInterfaceIOSDevice8.1.a: Added.
* libWebKitSystemInterfaceIOSSimulator8.1.a: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177603 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[iOS] Add WebKitSystemInterface for iOS 8.1
dbates@webkit.org [Sat, 20 Dec 2014 00:15:15 +0000 (00:15 +0000)]
[iOS] Add WebKitSystemInterface for iOS 8.1
https://bugs.webkit.org/show_bug.cgi?id=139831

Reviewed by Alexey Proskuryakov.

Implement support in copy-webkitlibraries-to-product-directory to copy
WebKitSystemInterface for iOS to the product directory and have build-webkit
pass --wksi to copy-webkitlibraries-to-product-directory when building for iOS.

* Scripts/build-webkit:
* Scripts/copy-webkitlibraries-to-product-directory:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177602 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoPreview popovers don't show an arrow for large links
bdakin@apple.com [Sat, 20 Dec 2014 00:13:14 +0000 (00:13 +0000)]
Preview popovers don't show an arrow for large links
https://bugs.webkit.org/show_bug.cgi?id=139842
-and corresponding-
<rdar://problem/19301470>

Reviewed by Tim Horton.

This patch addresses the case where the link is so large that there is no
available space on any side once you factor in screen padding. In that case, we
should give up early on not obscuring the link.
* UIProcess/mac/WKPreviewPopoverAnimationController.mm:
(-[WKPreviewPopoverAnimationController _targetSizeForPagePreview]):
(-[WKPreviewPopoverAnimationController _effectivePaddingWithPreviewPadding:]):
(-[WKPreviewPopoverAnimationController _maxSpaceAvailableOnYEdgeForOriginRect:withScreenRect:previewPadding:]):
(-[WKPreviewPopoverAnimationController _maxSpaceAvailableOnXEdgeForOriginRect:withScreenRect:previewPadding:]):
(-[WKPreviewPopoverAnimationController _preferredPopoverSizeWithPreviewPadding:forTargetSize:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177601 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWKView's ignoresNonWheelEvents should ignore immediate actions
timothy_horton@apple.com [Fri, 19 Dec 2014 23:54:14 +0000 (23:54 +0000)]
WKView's ignoresNonWheelEvents should ignore immediate actions
https://bugs.webkit.org/show_bug.cgi?id=139839
<rdar://problem/19312111>

Reviewed by Anders Carlsson.

* UIProcess/API/mac/WKView.mm:
(-[WKView initWithFrame:context:configuration:webView:]):
(-[WKView _setIgnoresNonWheelEvents:]):
Install/uninstall the immediate action gesture recognizer when
toggling ignoresNonWheelEvents.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177600 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoTextIndicator's window can be pushed down if it intersects the menu bar
timothy_horton@apple.com [Fri, 19 Dec 2014 23:53:37 +0000 (23:53 +0000)]
TextIndicator's window can be pushed down if it intersects the menu bar
https://bugs.webkit.org/show_bug.cgi?id=139841
<rdar://problem/19311017>

Reviewed by Anders Carlsson.

* page/mac/TextIndicatorWindow.mm:
(WebCore::TextIndicatorWindow::setTextIndicator):
Ensure that the textIndicatorWindow sits above the menubar, and re-set
its frame so that it moves under the menubar if required.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177599 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoREGRESSION (177368): Some tests started to immediately time out
ap@apple.com [Fri, 19 Dec 2014 23:25:46 +0000 (23:25 +0000)]
REGRESSION (177368): Some tests started to immediately time out
https://bugs.webkit.org/show_bug.cgi?id=139826

Reviewed by Daniel Bates.

Tools:

* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: (WTR::InjectedBundle::done):
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: (WTR::InjectedBundlePage::dump):
Move invalidateWaitToDumpWatchdogTimer() call from dump() to done(). When a test
ends in a load failure, we don't dump, so we used to leak the timer.

* WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::notifyDone):
Added a comment.

LayoutTests:

* platform/wk2/TestExpectations: The culprit was this test that I unskipped to see
whether it passes. It in fact does pass, so let's remove the expectation entirely.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177598 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoPlug leak below LLVMCopyStringRepOfTargetData().
akling@apple.com [Fri, 19 Dec 2014 22:14:20 +0000 (22:14 +0000)]
Plug leak below LLVMCopyStringRepOfTargetData().
<https://webkit.org/b/139832>

Reviewed by Michael Saboff.

LLVMCopyStringRepOfTargetData() returns a strdup()'ed string, so make sure
to free() it after we're done using it.

* ftl/FTLCompile.cpp:
(JSC::FTL::mmAllocateDataSection):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177597 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoURTBF after r177593.
ossy@webkit.org [Fri, 19 Dec 2014 22:09:58 +0000 (22:09 +0000)]
URTBF after r177593.

* PluginProcess/PluginProcess.h:
* PluginProcess/unix/PluginProcessUnix.cpp:
(WebKit::PluginProcess::platformInitializePluginProcess):
* Shared/WebProcessCreationParameters.h:
* WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
* WebProcess/WebProcess.h:
* WebProcess/soup/WebProcessSoup.cpp:
(WebKit::WebProcess::platformInitializeWebProcess):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177596 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[WinCairo] Crash after failing to create GL context in accelerated compositing mode.
commit-queue@webkit.org [Fri, 19 Dec 2014 22:06:14 +0000 (22:06 +0000)]
[WinCairo] Crash after failing to create GL context in accelerated compositing mode.
https://bugs.webkit.org/show_bug.cgi?id=139830

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-12-19
Reviewed by Alex Christensen.

There is missing a null pointer check.

* WebCoreSupport/AcceleratedCompositingContext.cpp:
(AcceleratedCompositingContext::initialize):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177595 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Win] Build fix after r177588.
bfulgham@apple.com [Fri, 19 Dec 2014 21:51:39 +0000 (21:51 +0000)]
[Win] Build fix after r177588.

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Fix
symbol declaration.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177594 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUse WebCore::MachSendRights for the compositing render server port
andersca@apple.com [Fri, 19 Dec 2014 21:48:38 +0000 (21:48 +0000)]
Use WebCore::MachSendRights for the compositing render server port
https://bugs.webkit.org/show_bug.cgi?id=139834

Reviewed by Tim Horton.

Source/WebCore:

* WebCore.exp.in:

Source/WebKit2:

* Platform/IPC/HandleMessage.h:
(IPC::callMemberFunctionImpl):
* Platform/mac/LayerHostingContext.h:
* Platform/mac/LayerHostingContext.mm:
(WebKit::LayerHostingContext::createForPort):
* PluginProcess/PluginControllerProxy.h:
* PluginProcess/PluginProcess.cpp:
(WebKit::PluginProcess::PluginProcess):
(WebKit::PluginProcess::initializePluginProcess):
* PluginProcess/PluginProcess.h:
(WebKit::PluginProcess::compositingRenderServerPort):
* PluginProcess/mac/PluginControllerProxyMac.mm:
(WebKit::PluginControllerProxy::compositingRenderServerPort):
* PluginProcess/mac/PluginProcessMac.mm:
(WebKit::PluginProcess::platformInitializePluginProcess):
* Shared/Plugins/PluginProcessCreationParameters.cpp:
* Shared/Plugins/PluginProcessCreationParameters.h:
* Shared/WebCoreArgumentCoders.h:
* Shared/WebProcessCreationParameters.h:
* Shared/mac/WebCoreArgumentCodersMac.mm:
(IPC::ArgumentCoder<MachSendRight>::encode):
* UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
(WebKit::PluginProcessProxy::platformInitializePluginProcess):
* UIProcess/mac/WebContextMac.mm:
(WebKit::WebContext::platformInitializeWebProcess):
* WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
(WebKit::NPN_GetValue):
* WebProcess/Plugins/Netscape/NetscapePlugin.h:
* WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
(WebKit::NetscapePlugin::compositingRenderServerPort):
(WebKit::NetscapePlugin::setLayerHostingMode):
* WebProcess/Plugins/PluginController.h:
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::compositingRenderServerPort):
* WebProcess/Plugins/PluginView.h:
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::WebProcess):
(WebKit::WebProcess::initializeWebProcess):
* WebProcess/WebProcess.h:
(WebKit::WebProcess::compositingRenderServerPort):
* WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177593 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Win] Unreviewed gardening.
bfulgham@apple.com [Fri, 19 Dec 2014 21:26:07 +0000 (21:26 +0000)]
[Win] Unreviewed gardening.

Unskip a test that started working after r177542. Also clear up some
lint warnings about the TestExpectations file.

* platform/win/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177592 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[iOS] Log how often media element playback happens using FeatureCounter
cdumez@apple.com [Fri, 19 Dec 2014 21:07:35 +0000 (21:07 +0000)]
[iOS] Log how often media element playback happens using FeatureCounter
https://bugs.webkit.org/show_bug.cgi?id=139819
<rdar://problem/19309988>

Reviewed by Eric Carlson.

Log using FeatureCounter how often we start loading for audio / video
elements, and how often they end up being played.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement):
Add flag to identify when a media element starts playing for the first
time.

(WebCore::HTMLMediaElement::loadResource):
Log when a media element starts loading.

(WebCore::HTMLMediaElement::updatePlayState):
Log when a media element starts playing for the first time.

* html/HTMLMediaElement.h:
Add flag to identify when a media element starts playing for the first
time.

* platform/FeatureCounterKeys.h:
Add FeatureCounter keys for HTMLMediaElement loading / playback.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177591 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agomedia/video-seek-past-end-paused.html frequently times out on Mavericks
ap@apple.com [Fri, 19 Dec 2014 19:50:57 +0000 (19:50 +0000)]
media/video-seek-past-end-paused.html frequently times out on Mavericks
https://bugs.webkit.org/show_bug.cgi?id=139825

* platform/mac/TestExpectations: Added an expectation.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177589 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRef-ify TextIterator API.
akling@apple.com [Fri, 19 Dec 2014 19:48:06 +0000 (19:48 +0000)]
Ref-ify TextIterator API.
<https://webkit.org/b/139823>

Reviewed by Antti Koivisto.

Source/WebCore:

Change TextIterator functions that always return Range objects to return
Ref<Range> instead of PassRefPtr<Range>.

One API (rangeFromLocationAndLength) may return nullptr, so its return type
is now RefPtr<Range>.

* editing/TextIterator.cpp:
(WebCore::TextIterator::range):
(WebCore::TextIterator::node):
(WebCore::SimplifiedBackwardsTextIterator::range):
(WebCore::CharacterIterator::range):
(WebCore::characterSubrange):
(WebCore::BackwardsCharacterIterator::range):
(WebCore::TextIterator::subrange):
(WebCore::TextIterator::rangeFromLocationAndLength):
(WebCore::TextIterator::getLocationAndLengthFromRange):
(WebCore::collapsedToBoundary):
(WebCore::findPlainText):
* editing/TextIterator.h:

Source/WebKit/mac:

* WebView/WebTextIterator.mm:
(-[WebTextIterator currentRange]):

Source/WebKit2:

* WebProcess/InjectedBundle/API/mac/WKDOMTextIterator.mm:
(-[WKDOMTextIterator currentRange]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177588 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWeb Inspector: CRASH in inspector-protocol/debugger/terminate-dedicated-worker-while...
commit-queue@webkit.org [Fri, 19 Dec 2014 19:42:24 +0000 (19:42 +0000)]
Web Inspector: CRASH in inspector-protocol/debugger/terminate-dedicated-worker-while-paused.html
https://bugs.webkit.org/show_bug.cgi?id=139792

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-12-19
Reviewed by Timothy Hatcher.

* bindings/js/WorkerScriptDebugServer.cpp:
(WebCore::WorkerScriptDebugServer::removeListener):
When removing listeners, we could be during WorkerGlobalObject shutdown
and WorkerGlobalObject::script may be null.

* workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerMessagingProxy::WorkerMessagingProxy):
(WebCore::WorkerMessagingProxy::postMessageToPageInspector):
This postTask may happen after m_pageInspector has been cleared, so
only execute it if m_pageInspector is still valid.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177587 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoDrop useless HTMLMediaElement::m_previousProgress member
cdumez@apple.com [Fri, 19 Dec 2014 19:37:59 +0000 (19:37 +0000)]
Drop useless HTMLMediaElement::m_previousProgress member
https://bugs.webkit.org/show_bug.cgi?id=139822

Reviewed by Eric Carlson.

Drop HTMLMediaElement::m_previousProgress member and it is not used or
even initialized.

* html/HTMLMediaElement.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177586 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoWeb Inspector: CRASH inspector-protocol/debugger/breakpoint-action-detach.html
commit-queue@webkit.org [Fri, 19 Dec 2014 19:37:19 +0000 (19:37 +0000)]
Web Inspector: CRASH inspector-protocol/debugger/breakpoint-action-detach.html
https://bugs.webkit.org/show_bug.cgi?id=139797

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-12-19
Reviewed by Mark Lam.

Source/JavaScriptCore:

* debugger/Debugger.h:
* debugger/Debugger.cpp:
(JSC::Debugger::isAttached):
Check if we are the debugger for a particular global object.
(JSC::Debugger::pauseIfNeeded):
Pass the global object on when hitting a brekapoint.

* inspector/ScriptDebugServer.h:
* inspector/ScriptDebugServer.cpp:
(Inspector::ScriptDebugServer::handleBreakpointHit):
Stop evaluting breakpoint actions if a previous action caused the
debugger to detach from this global object.
(Inspector::ScriptDebugServer::handlePause):
Standardize on passing JSGlobalObject parameter first.

Source/WebKit/mac:

* WebView/WebScriptDebugger.h:
* WebView/WebScriptDebugger.mm:
(WebScriptDebugger::handlePause):
Standardize on passing JSGlobalObject parameter first.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177585 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agofast/speechsynthesis/speech-synthesis-cancel.html times out very frequently
ap@apple.com [Fri, 19 Dec 2014 19:34:19 +0000 (19:34 +0000)]
fast/speechsynthesis/speech-synthesis-cancel.html times out very frequently
https://bugs.webkit.org/show_bug.cgi?id=139824

* platform/mac-wk2/TestExpectations: Added an expectation.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177584 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoMove some entries for tests that are slow in debug to root TestExpectations file.
ap@apple.com [Fri, 19 Dec 2014 19:26:50 +0000 (19:26 +0000)]
Move some entries for tests that are slow in debug to root TestExpectations file.

* TestExpectations:
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac-wk2/TestExpectations:
* platform/mac/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177583 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Win] Endless compiler warnings created by DFGEdge.h.
mark.lam@apple.com [Fri, 19 Dec 2014 19:26:36 +0000 (19:26 +0000)]
[Win] Endless compiler warnings created by DFGEdge.h.
<https://webkit.org/b/139801>

Reviewed by Brent Fulgham.

Add a cast to fix the type just the way the 64-bit version does.

* dfg/DFGEdge.h:
(JSC::DFG::Edge::makeWord):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177582 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[iOS] Log how successful the memory cache is using FeatureCounter
cdumez@apple.com [Fri, 19 Dec 2014 19:15:36 +0000 (19:15 +0000)]
[iOS] Log how successful the memory cache is using FeatureCounter
https://bugs.webkit.org/show_bug.cgi?id=139802

Reviewed by Andreas Kling.

Log how successful the memory cache is using FeatureCounter and why we
choose not to use the resource in the memory cache when it is present.

* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestResource):
(WebCore::CachedResourceLoader::determineRevalidationPolicy):
* platform/FeatureCounterKeys.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177581 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed, rolling out r177574.
commit-queue@webkit.org [Fri, 19 Dec 2014 19:07:41 +0000 (19:07 +0000)]
Unreviewed, rolling out r177574.
https://bugs.webkit.org/show_bug.cgi?id=139821

"Broke Production builds by installing
libWebCoreTestSupport.dylib in the wrong directory" (Requested
by ddkilzer on #webkit).

Reverted changeset:

"Switch from using PLATFORM_NAME to SDK selectors in WebCore,
WebInspectorUI, WebKit, WebKit2"
https://bugs.webkit.org/show_bug.cgi?id=139463
http://trac.webkit.org/changeset/177574

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177580 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoSource/WebKit/win:
bfulgham@apple.com [Fri, 19 Dec 2014 18:58:55 +0000 (18:58 +0000)]
Source/WebKit/win:
[Win] Add accessor for serializing HTTP loads.
https://bugs.webkit.org/show_bug.cgi?id=139817

Reviewed by Mark Lam.

* Interfaces/IWebViewPrivate.idl: Add new method.
* WebView.cpp:
(WebView::setLoadResourcesSerially): Provide implementation.
* WebView.h:

Tools:
[Win] Add accessor for serializing HTTP loads
https://bugs.webkit.org/show_bug.cgi?id=139817

Reviewed by Mark Lam.

* DumpRenderTree/win/DumpRenderTree.cpp: Reset serialized HTTP loads in our reset method.
* DumpRenderTree/win/TestRunnerWin.cpp: Provide implementation for serializing HTTP. Also
remove some redundant code from the destructor.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177579 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoREGRESSION(174226): Captured arguments in a using function compiled by the DFG have...
msaboff@apple.com [Fri, 19 Dec 2014 18:48:25 +0000 (18:48 +0000)]
REGRESSION(174226): Captured arguments in a using function compiled by the DFG have the initial value when the closure was invoked
https://bugs.webkit.org/show_bug.cgi?id=139808

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

There are three changes here.
1) Create a VariableWatchpointSet for captured arguments variables.
2) Properly use the VariableWatchpointSet* found in op_put_to_scope in the 64 bit LLInt code.
3) Add the same putLocalClosureVar path to the 32 bit LLInt code that exists in the 64 bit version.

* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::BytecodeGenerator):
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:

LayoutTests:

New regression test.

* js/regress-139808-expected.txt: Added.
* js/regress-139808.html: Added.
* js/script-tests/regress-139808.js: Added.
(theClosureFunction.rot13):
(theClosureFunction):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177578 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUpdte WebKit2 test expectations based on what bots see now.
ap@apple.com [Fri, 19 Dec 2014 18:43:33 +0000 (18:43 +0000)]
Updte WebKit2 test expectations based on what bots see now.

* TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac-wk2/TestExpectations:
* platform/mac/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177577 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoOnly when the SVG is inline and only when a shape is referenced before it is defined...
commit-queue@webkit.org [Fri, 19 Dec 2014 18:36:27 +0000 (18:36 +0000)]
Only when the SVG is inline and only when a shape is referenced before it is defined, this shape will not be drawn.
https://bugs.webkit.org/show_bug.cgi?id=139451.

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2014-12-19
Reviewed by Antti Koivisto.

Source/WebCore:

Tests: svg/in-html/defs-after-use.html.

When parsing the children of an SVG element is finished, we need to notify the
other SVG elements which have incomplete shadow trees because of early referencing
to this element. The referencing elements need to rebuild their shadow trees and
make new copies of the this element and its sub-tree.

This is the case where a <use> tag references target elements before these target
elements are defined. Updating the shadow DOM tree of a <use> element should update
the corresponding shadow render tree as well.

* svg/SVGElement.cpp:
(WebCore::SVGElement::finishParsingChildren):
Invalidate all the referencing elements of a target element whose sub-tree has
just finished parsing.

LayoutTests:

Ensure that when a <use> element inside an inline SVG references another
target SVG element, which has not been defined yet, gets its shadow DOM
tree updated once the target element is created. Updating the shadow DOM
tree of the <use> element should update the corresponding shadow render
tree as well.

* svg/in-html/defs-after-use-expected.html: Added.
* svg/in-html/defs-after-use.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177576 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoClean up a fix for performance test bot failing to build
ap@apple.com [Fri, 19 Dec 2014 17:57:21 +0000 (17:57 +0000)]
Clean up a fix for performance test bot failing to build
https://bugs.webkit.org/show_bug.cgi?id=139818

Reviewed by Csaba Osztrogonác.

The "_1" in step name was annoying.

* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(CleanBuildIfScheduled.start):
(RunAndUploadPerfTests):
(DownloadAndPerfTestFactory.__init__):
(DownloadAndPerfTestWebKit2Factory.__init__):
(CleanBuildUnconditionally): Deleted.
(CleanBuildUnconditionally.start): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177575 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoSwitch from using PLATFORM_NAME to SDK selectors in WebCore, WebInspectorUI, WebKit...
ddkilzer@apple.com [Fri, 19 Dec 2014 17:23:10 +0000 (17:23 +0000)]
Switch from using PLATFORM_NAME to SDK selectors in WebCore, WebInspectorUI, WebKit, WebKit2
<http://webkit.org/b/139463>

Reviewed by Mark Rowe.

Source/JavaScriptCore:

* Configurations/JavaScriptCore.xcconfig:
- Simplify SECTORDER_FLAGS.

Source/WebCore:

Also remove all uses of SQLITE3_HEADER_SEARCH_PATHS and
WEBCORE_SQLITE3_HEADER_SEARCH_PATHS which were phased out in
r132859 and needed for Leopard.

* Configurations/Base.xcconfig:
- Only set GCC_ENABLE_OBJC_GC, GCC_MODEL_TUNING and TOOLCHAINS
  on OS X.
- Set GCC_OPTIMIZATION_LEVEL_normal based on SDK.
- Simplify SQLITE3_HEADER_SEARCH_PATHS.
* Configurations/DebugRelease.xcconfig:
- Only set MACOSX_DEPLOYMENT_TARGET and SDKROOT on OS X.
* Configurations/Version.xcconfig:
- Set SYSTEM_VERSION_PREFIX separately for iOS and OS X.
* Configurations/WebCore.xcconfig:
- Set EXPORTED_SYMBOLS_FILE_i386, EXPORTED_SYMBOLS_FILE_x86_64,
  FRAMEWORK_SEARCH_PATHS, INSTALL_PATH, DYLIB_INSTALL_NAME_BASE,
  OTHER_LDFLAGS, SECTORDER_FLAGS, NORMAL_WEBCORE_FRAMEWORKS_DIR,
  WEBCORE_FRAMEWORKS_DIR, NORMAL_PRODUCTION_FRAMEWORKS_DIR,
  PRODUCTION_FRAMEWORKS_DIR,
  JAVASCRIPTCORE_PRIVATE_HEADERS_DIR_Production and
  EXCLUDED_SOURCE_FILE_NAMES based on SDK.
- Make sure DYLIB_INSTALL_NAME_BASE and OTHER_LDFLAGS are
  overrideable by WebCoreTestSupport.xcconfig.
* Configurations/WebCoreTestSupport.xcconfig:
- Set PRIVATE_HEADERS_FOLDER_PATH_Production and
  INSTALL_PATH_Production based on SDK.
- Override SECT_ORDER_FLAGS from WebCore.xcconfig.

Source/WebInspectorUI:

* Configurations/Base.xcconfig:
- Only set TOOLCHAINS on OS X.
* Configurations/DebugRelease.xcconfig:
- Only set MACOSX_DEPLOYMENT_TARGET and SDKROOT on OS X.
* Configurations/Version.xcconfig:
- Set SYSTEM_VERSION_PREFIX separately for iOS and OS X.
* Configurations/WebInspectorUIFramework.xcconfig:
- Set NORMAL_PRODUCTION_FRAMEWORKS_DIR,
  PRODUCTION_FRAMEWORKS_DIR and
  JAVASCRIPTCORE_PRIVATE_HEADERS_DIR_Production by SDK.

Source/WebKit/mac:

* Configurations/Base.xcconfig:
- Only set GCC_ENABLE_OBJC_GC, GCC_MODEL_TUNING and TOOLCHAINS
  on OS X.
- Set GCC_OPTIMIZATION_LEVEL_normal based on SDK.
* Configurations/DebugRelease.xcconfig:
- Only set MACOSX_DEPLOYMENT_TARGET and SDKROOT on OS X.
- Set WEBKIT_SYSTEM_INTERFACE_LIBRARY based on SDK.
* Configurations/Version.xcconfig:
- Set SYSTEM_VERSION_PREFIX separately for iOS and OS X.
* Configurations/WebKitLegacy.xcconfig:
- Set EXCLUDED_SOURCE_FILE_NAMES, EXPORTED_SYMBOLS_FILE_x86_64,
  FRAMEWORK_SEARCH_PATHS, OTHER_CFLAGS, INSTALL_PATH,
  DYLIB_INSTALL_NAME_BASE, OTHER_LDFLAGS, SECTORDER_FLAGS,
  NORMAL_WEBKIT_LEGACY_FRAMEWORKS_DIR,
  WEBKIT_LEGACY_FRAMEWORKS_DIR, NORMAL_PRODUCTION_FRAMEWORKS_DIR,
  PRODUCTION_FRAMEWORKS_DIR, PRODUCTION_ROOT,
  WEBCORE_PRIVATE_HEADERS_DIR_Production and
  WEBKITSYSTEMINTERFACE_STATIC_LIBRARY_HEADERS_FOLDER_PATH_engineering
  based on SDK.
- Fix PRODUCTION_ROOT to actually be set properly.
- Simplify EXPORTED_SYMBOLS_FILE_i386.

* migrate-headers.sh:
- Get rid of unused WEBKIT2_FRAMEWORKS_DIR variable.
- Change WEBCORE_PRIVATE_HEADERS_DIR_macosx_Production to
  WEBCORE_PRIVATE_HEADERS_DIR_Production based on changes to
  WebKitLegacy.xcconfig.

Source/WebKit2:

* Configurations/All.xcconfig:
- Only set EXCLUDED_SOURCE_FILE_NAMES on iOS.
* Configurations/Base.xcconfig:
- Only set FRAMEWORK_CONTENT_DIRECTORY, GCC_ENABLE_OBJC_GC and
  TOOLCHAINS on OS X.
* Configurations/BaseLegacyProcess.xcconfig:
- Only set SKIP_INSTALL on iOS.
* Configurations/BaseTarget.xcconfig:
- Set WEBKIT_FRAMEWORKS_DIR and UMBRELLA_FRAMEWORKS_DIR based on
  SDK, and simply them.
* Configurations/BaseXPCService.xcconfig:
- Set INSTALL_PATH_ACTUAL_Normal based on SDK.
* Configurations/DebugRelease.xcconfig:
- Only set MACOSX_DEPLOYMENT_TARGET and SDKROOT on OS X.
- Set WEBKIT_SYSTEM_INTERFACE_LIBRARY based on SDK.
* Configurations/NetworkProcess.xcconfig:
- Only set EXCLUDED_SHIM_FILE_NAME and CODE_SIGN_ENTITLEMENTS on
  iOS.
* Configurations/NetworkService.Development.xcconfig:
- Set INFOPLIST_FILE based on SDK.
- Simplify CODE_SIGN_ENTITLEMENTS for iOS.
* Configurations/NetworkService.xcconfig:
- Set INFOPLIST_FILE based on SDK.
- Simplify CODE_SIGN_ENTITLEMENTS for iOS.
* Configurations/PluginProcess.xcconfig:
- Only set EXCLUDED_SHIM_FILE_NAME and SKIP_INSTALL on iOS.
* Configurations/PluginProcessShim.xcconfig:
- Set OTHER_LDFLAGS based on SDK.
* Configurations/PluginService.32.xcconfig:
- Only set VALID_ARCHS on OS X.
- Set OTHER_LDFLAGS based on platform-specific values.
- Only set SKIP_INSTALL on iOS.
* Configurations/PluginService.64.xcconfig:
- Set ARCHS based on SDK.
- Set OTHER_LDFLAGS based on platform-specific values.
- Only set SKIP_INSTALL on iOS.
* Configurations/PluginService.Development.xcconfig:
- Only set SKIP_INSTALL on iOS.
- Set OTHER_LDFLAGS based on platform-specific values.
* Configurations/SecItemShim.xcconfig:
- Set OTHER_LDFLAGS based on platform-specific values.
* Configurations/Version.xcconfig:
- Set SYSTEM_VERSION_PREFIX separately for iOS and OS X.
* Configurations/WebContentProcess.xcconfig:
- Only set EXCLUDED_SHIM_FILE_NAME on iOS.
- Only set CODE_SIGN_ENTITLEMENTS on iOS Simulator.
* Configurations/WebContentService.Development.xcconfig:
- Set INFOPLIST_FILE and BUNDLE_LOCALIZATION_KEY based on SDK.
- Only set CODE_SIGN_ENTITLEMENTS on iOS hardware.
- Set OTHER_LDFLAGS based on platform-specific values.
* Configurations/WebContentService.xcconfig: Ditto.
* Configurations/WebKit.xcconfig:
- Set FRAMEWORK_AND_LIBRARY_LDFLAGS, SECTORDER_FLAGS, and
  WK_API_AVAILABILITY_ENABLED based on SDK.
- Set OTHER_LDFLAGS based on platform-specific values.
- Only set EXCLUDED_SOURCE_FILE_NAMES on iOS.
* Configurations/WebKit2.xcconfig:
- Set INSTALL_PATH, INSTALL_PATH_ACTUAL, DYLIB_INSTALL_NAME_BASE,
  NORMAL_WEBKIT2_FRAMEWORKS_DIR, WEBKIT2_FRAMEWORKS_DIR and
  NORMAL_PRODUCTION_FRAMEWORKS_DIR based on SDK.
- Set SKIP_INSTALL on iOS.
* Configurations/WebProcessShim.xcconfig:
- Set OTHER_LDFLAGS based on platform-specific values.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177574 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Win64] Unreviewed build fix.
alex.christensen@flexsim.com [Fri, 19 Dec 2014 10:02:54 +0000 (10:02 +0000)]
[Win64] Unreviewed build fix.

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
Fixed some 64-bit linker symbols.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177573 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoClean up StyleBuilderCustom and DeprecatedStyleBuilder
cdumez@apple.com [Fri, 19 Dec 2014 08:57:30 +0000 (08:57 +0000)]
Clean up StyleBuilderCustom and DeprecatedStyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=139807

Reviewed by Antti Koivisto.

Clean up StyleBuilderCustom and DeprecatedStyleBuilder.

* css/DeprecatedStyleBuilder.cpp:

- Remove unnecessary header includes.

(WebCore::ApplyPropertyPerspectiveOrigin::applyInheritValue):
(WebCore::ApplyPropertyPerspectiveOrigin::applyInitialValue):
(WebCore::ApplyPropertyPerspectiveOrigin::applyValue):
(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
(WebCore::ApplyPropertyExpanding::applyInheritValue): Deleted.
(WebCore::ApplyPropertyExpanding::applyInitialValue): Deleted.
(WebCore::ApplyPropertyExpanding::applyValue): Deleted.
(WebCore::ApplyPropertyExpanding::createHandler): Deleted.

- Rename ApplyPropertyExpanding to ApplyPropertyPerspectiveOrigin as
  PerspectiveOrigin is the only remaining user of this class. This also
  allows us to simplify the implementation a lot.

(WebCore::ApplyPropertyDefaultBase::setValue): Deleted.
(WebCore::ApplyPropertyDefaultBase::value): Deleted.
(WebCore::ApplyPropertyDefaultBase::initial): Deleted.
(WebCore::ApplyPropertyDefaultBase::applyInheritValue): Deleted.
(WebCore::ApplyPropertyDefaultBase::applyInitialValue): Deleted.
(WebCore::ApplyPropertyDefaultBase::applyValue): Deleted.

- There is no longer any user of this templated class.

* css/StyleBuilderCustom.h:

- Introduce a macro that declares all 3 handlers (inherit, initial and
  value) in the StyleBuilderCustom class. This greatly reduces the
  number of lines in this class.
- Also alphabetize the handlers.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177572 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoREGRESSION(r177535): It broke the GTK performance bot
ossy@webkit.org [Fri, 19 Dec 2014 08:24:14 +0000 (08:24 +0000)]
REGRESSION(r177535): It broke the GTK performance bot
https://bugs.webkit.org/show_bug.cgi?id=139811

Reviewed by Carlos Garcia Campos.

Trigger clean build only on mac platform.

* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(DownloadAndPerfTestFactory.__init__):
(DownloadAndPerfTestWebKit2Factory.__init__):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177569 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoFix build break on EFL and GTK since r177523
gyuyoung.kim@samsung.com [Fri, 19 Dec 2014 07:45:20 +0000 (07:45 +0000)]
Fix build break on EFL and GTK since r177523
https://bugs.webkit.org/show_bug.cgi?id=139805

Reviewed by Csaba Osztrogonác.

* wtf/Ref.h: Include <wtf/StdLibExtras.h> to use std::exchange().

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177568 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoMore gardening for flaky tests that are now properly reported as timing oout.
ap@apple.com [Fri, 19 Dec 2014 07:44:32 +0000 (07:44 +0000)]
More gardening for flaky tests that are now properly reported as timing oout.

* platform/mac/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177567 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agodispatch to main thread before accessing playerController() in WebVideoFullscreenInte...
commit-queue@webkit.org [Fri, 19 Dec 2014 07:08:48 +0000 (07:08 +0000)]
dispatch to main thread before accessing playerController() in WebVideoFullscreenInterfaceAVKit::setCanPlayFastReverse
https://bugs.webkit.org/show_bug.cgi?id=139809

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-12-18
Reviewed by Dan Bernstein.

This prevents a race in playerController().

* platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(WebVideoFullscreenInterfaceAVKit::setCanPlayFastReverse):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177566 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoiOS build fix.
jhoneycutt@apple.com [Fri, 19 Dec 2014 06:14:30 +0000 (06:14 +0000)]
iOS build fix.

* UIProcess/mac/WKPreviewPopoverAnimationController.mm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177565 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoMore speculative build fixing.
jberlin@webkit.org [Fri, 19 Dec 2014 04:35:32 +0000 (04:35 +0000)]
More speculative build fixing.

* WebCore.exp.in:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177563 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed, moved myself to the list of committers.
hyuki.kim@samsung.com [Fri, 19 Dec 2014 03:43:41 +0000 (03:43 +0000)]
Unreviewed, moved myself to the list of committers.

* Scripts/webkitpy/common/config/contributors.json:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177561 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoSpeculative build-fix after r177522.
jberlin@webkit.org [Fri, 19 Dec 2014 03:29:16 +0000 (03:29 +0000)]
Speculative build-fix after r177522.

* UIProcess/mac/WKPreviewPopoverAnimationController.mm:
(-[WKPreviewPopoverAnimationController setPreviewOverrideImage:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177560 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoRef-ify various Document-related things.
akling@apple.com [Fri, 19 Dec 2014 03:11:36 +0000 (03:11 +0000)]
Ref-ify various Document-related things.
<https://webkit.org/b/139796>

Reviewed by Anders Carlsson.

Source/WebCore:

* bindings/objc/DOMHTML.mm:
(-[DOMHTMLDocument createDocumentFragmentWithText:]):
* dom/CDATASection.cpp:
(WebCore::CDATASection::create):
(WebCore::CDATASection::virtualCreate):
* dom/CDATASection.h:
* dom/Comment.cpp:
(WebCore::Comment::create):
* dom/Comment.h:
* dom/Document.cpp:
(WebCore::Document::create):
(WebCore::Document::createDocumentFragment):
(WebCore::Document::createTextNode):
(WebCore::Document::createComment):
(WebCore::Document::createEditingTextNode):
(WebCore::Document::createCSSStyleDeclaration):
(WebCore::Document::createElement):
(WebCore::Document::createRange):
(WebCore::Document::createParser):
(WebCore::Document::cloneNodeInternal):
(WebCore::Document::cloneDocumentWithoutChildren):
* dom/Document.h:
(WebCore::Document::create):
(WebCore::Document::createXHTML):
(WebCore::Document::createNonRenderedPlaceholder):
* dom/DocumentFragment.cpp:
(WebCore::DocumentFragment::create):
* dom/DocumentFragment.h:
* dom/DocumentType.h:
* dom/EntityReference.cpp:
(WebCore::EntityReference::create):
* dom/EntityReference.h:
* dom/Text.cpp:
(WebCore::Text::create):
(WebCore::Text::createEditingText):
(WebCore::Text::splitText):
(WebCore::Text::virtualCreate):
(WebCore::Text::createWithLengthLimit):
* dom/Text.h:
* editing/markup.cpp:
(WebCore::replaceChildrenWithText):
* html/FTPDirectoryDocument.cpp:
(WebCore::FTPDirectoryDocument::createParser):
* html/FTPDirectoryDocument.h:
* html/HTMLDocument.cpp:
(WebCore::HTMLDocument::createParser):
(WebCore::HTMLDocument::cloneDocumentWithoutChildren):
* html/HTMLDocument.h:
(WebCore::HTMLDocument::create):
(WebCore::HTMLDocument::createSynthesizedDocument):
* html/ImageDocument.cpp:
(WebCore::ImageDocument::createParser):
* html/ImageDocument.h:
* html/MediaDocument.cpp:
(WebCore::MediaDocument::createParser):
* html/MediaDocument.h:
* html/PluginDocument.cpp:
(WebCore::PluginDocument::createParser):
* html/PluginDocument.h:
* html/TextDocument.cpp:
(WebCore::TextDocument::createParser):
* html/TextDocument.h:
* html/parser/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::insertTextNode):
* html/parser/HTMLDocumentParser.h:
(WebCore::HTMLDocumentParser::create):
* loader/SinkDocument.cpp:
(WebCore::SinkDocument::createParser):
* loader/SinkDocument.h:
* svg/SVGDocument.cpp:
(WebCore::SVGDocument::cloneDocumentWithoutChildren):
* svg/SVGDocument.h:
* xml/parser/XMLDocumentParser.h:
(WebCore::XMLDocumentParser::create):
* xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLParserContext::createStringParser):
(WebCore::XMLParserContext::createMemoryParser):

Source/WebKit/mac:

* WebView/WebFrame.mm:
(-[WebFrame _replaceSelectionWithNode:selectReplacement:smartReplace:matchStyle:]):

Source/WebKit2:

* WebProcess/InjectedBundle/API/mac/WKDOMDocument.mm:
(-[WKDOMDocument createTextNode:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177559 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[WinCairo] Compile error in code for creating GL context.
commit-queue@webkit.org [Fri, 19 Dec 2014 03:04:53 +0000 (03:04 +0000)]
[WinCairo] Compile error in code for creating GL context.
https://bugs.webkit.org/show_bug.cgi?id=139782

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-12-18
Reviewed by Alex Christensen.

The GLContext::createContextForWindow method has changed return type to std::unique_ptr.

* WebCoreSupport/AcceleratedCompositingContext.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177558 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoSpeculative build fix.
bdakin@apple.com [Fri, 19 Dec 2014 02:11:58 +0000 (02:11 +0000)]
Speculative build fix.

* UIProcess/ProcessThrottler.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177553 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAdd strong typing to RefCounter interface, return value as a bool.
barraclough@apple.com [Fri, 19 Dec 2014 01:42:20 +0000 (01:42 +0000)]
Add strong typing to RefCounter interface, return value as a bool.
https://bugs.webkit.org/show_bug.cgi?id=139776

Unreviewed style fixes.

* wtf/RefCounter.h:
(WTF::=):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177549 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUse MachSendRight in WebKit2
barraclough@apple.com [Fri, 19 Dec 2014 01:40:55 +0000 (01:40 +0000)]
Use MachSendRight in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=139800

Patch by Anders Carlsson <andersca@apple.com> on 2014-12-18
Reviewed by Tim Horton.

* Platform/IPC/ArgumentEncoder.h:
(IPC::ArgumentEncoder::encode):
(IPC::ArgumentEncoder::operator<<):
* Shared/WebCoreArgumentCoders.h:
* Shared/mac/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::encode):
(WebKit::RemoteLayerBackingStore::decode):
* Shared/mac/WebCoreArgumentCodersMac.mm:
(IPC::ArgumentCoder<MachSendRight>::encode):
(IPC::ArgumentCoder<MachSendRight>::decode):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177548 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Win] Unreviewed build correction after r177513.
bfulgham@apple.com [Fri, 19 Dec 2014 01:28:46 +0000 (01:28 +0000)]
[Win] Unreviewed build correction after r177513.

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Correct for new
method signature.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177546 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUnreviewed build fix.
bfulgham@apple.com [Fri, 19 Dec 2014 01:17:53 +0000 (01:17 +0000)]
Unreviewed build fix.

* jsc.cpp: Remove typo.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177545 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Win] Build correction after r177541.
bfulgham@apple.com [Fri, 19 Dec 2014 01:15:30 +0000 (01:15 +0000)]
[Win] Build correction after r177541.

* wtf/RefCounter.h:
(WTF::RefCounter::Token<T>::Token): Revise constructor inlines to correct
syntax error.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177544 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoUse MachSendRight in WebKit2
andersca@apple.com [Fri, 19 Dec 2014 01:02:58 +0000 (01:02 +0000)]
Use MachSendRight in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=139800

Reviewed by Tim Horton.

Source/WebCore:

* WebCore.exp.in:
* platform/cocoa/MachSendRight.h:
(WebCore::MachSendRight::MachSendRight):
(WebCore::MachSendRight::sendRight):
* platform/graphics/cocoa/IOSurface.h:
* platform/graphics/cocoa/IOSurface.mm:
(IOSurface::createFromSendRight):
(IOSurface::createFromMachPort): Deleted.

Source/WebKit2:

* Platform/IPC/ArgumentEncoder.h:
(IPC::ArgumentEncoder::encode):
(IPC::ArgumentEncoder::operator<<):
* Shared/WebCoreArgumentCoders.h:
* Shared/mac/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::encode):
(WebKit::RemoteLayerBackingStore::decode):
* Shared/mac/WebCoreArgumentCodersMac.mm:
(IPC::ArgumentCoder<MachSendRight>::encode):
(IPC::ArgumentCoder<MachSendRight>::decode):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177543 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years ago[Win] Update DumpRenderTree to more closely match Mac version
bfulgham@apple.com [Fri, 19 Dec 2014 01:00:23 +0000 (01:00 +0000)]
[Win] Update DumpRenderTree to more closely match Mac version
https://bugs.webkit.org/show_bug.cgi?id=139799

Reviewed by Tim Horton.

Source/WebKit/win:

* Interfaces/IWebSecurityOrigin.idl: Add initializer from URL.
* Interfaces/WebKit.idl: Add CLSID so we can instantiate a
WebSecurityOrigin from COM.
* WebApplicationCache.h: Decorate class declaration with CLSID
to support COM introspection.
* WebSecurityOrigin.cpp: Get rid of meaningless STDMETHODCALLTYPE
declarations inside implementation.
(WebSecurityOrigin::QueryInterface):
(WebSecurityOrigin::AddRef):
(WebSecurityOrigin::Release):
(WebSecurityOrigin::protocol):
(WebSecurityOrigin::host):
(WebSecurityOrigin::port):
(WebSecurityOrigin::usage):
(WebSecurityOrigin::quota):
(WebSecurityOrigin::setQuota):
(WebSecurityOrigin::initWithURL): Added.
* WebSecurityOrigin.h:

Tools:

* DumpRenderTree/win/AccessibilityControllerWin.cpp:
(AccessibilityController::accessibleElementById): Correct
use of BSTR to avoid leak.
* DumpRenderTree/win/DumpRenderTree.cpp: Reorder methods and
update to match Mac version more closely.
(dumpFramesAsText):
(dump):
(resetDefaultsToConsistentValues):
(resetWebViewToConsistentStateBeforeTesting):
(sizeWebViewForCurrentTest):
(runTest):
(openWindows):
(windowToWebViewMap):
(createWebViewAndOffscreenWindow):
(sharedCFURLCache):
(initializeGlobalsFromCommandLineOptions):
(main):
* DumpRenderTree/win/TestRunnerWin.cpp: Ditto.
(TestRunner::addDisallowedURL):
(TestRunner::applicationCacheDiskUsageForOrigin):
(TestRunner::syncLocalStorage):
(TestRunner::localStorageDiskUsageForOrigin):
(TestRunner::observeStorageTrackerNotifications):
(TestRunner::clearApplicationCacheForOrigin):
(TestRunner::originsWithApplicationCache):
(TestRunner::deleteAllLocalStorage):
(TestRunner::setStorageDatabaseIdleInterval):
(TestRunner::closeIdleLocalStorageDatabases):
(TestRunner::originsWithLocalStorage):
(TestRunner::deleteLocalStorageForOrigin):
(TestRunner::copyDecodedHostName):
(TestRunner::copyEncodedHostName):
(TestRunner::keepWebHistory):
(TestRunner::numberOfPendingGeolocationPermissionRequests):
(TestRunner::setAppCacheMaximumSize):
(TestRunner::setCustomPolicyDelegate):
(TestRunner::goBack):
(TestRunner::setDefersLoading):
(TestRunner::setDomainRelaxationForbiddenForURLScheme):
(TestRunner::setMockDeviceOrientation):
(TestRunner::setMockGeolocationPosition):
(TestRunner::setMockGeolocationPositionUnavailableError):
(TestRunner::setIconDatabaseEnabled):
(TestRunner::setMainFrameIsFirstResponder):
(TestRunner::setSpatialNavigationEnabled):
(TestRunner::setPluginsEnabled):
(TestRunner::setAutomaticLinkDetectionEnabled):
(TestRunner::setUseDashboardCompatibilityMode):
(TestRunner::dispatchPendingLoadRequests):
(TestRunner::findString):
(TestRunner::setCacheModel):
(TestRunner::apiTestNewWindowDataLoadBaseURL):
(TestRunner::setWebViewEditable):
(TestRunner::authenticateSession):
(TestRunner::abortModal):
(TestRunner::setSerializeHTTPLoads):
(TestRunner::addChromeInputField):
(TestRunner::removeChromeInputField):
(TestRunner::focusWebView):
(TestRunner::setBackingScaleFactor):
(TestRunner::grantWebNotificationPermission):
(TestRunner::denyWebNotificationPermission):
(TestRunner::removeAllWebNotificationPermissions):
(TestRunner::simulateWebNotificationClick):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177542 268f45cc-cd09-0410-ab3c-d52691b4dbfc

6 years agoAdd strong typing to RefCounter interface, return value as a bool.
barraclough@apple.com [Fri, 19 Dec 2014 00:51:47 +0000 (00:51 +0000)]
Add strong typing to RefCounter interface, return value as a bool.
https://bugs.webkit.org/show_bug.cgi?id=139776

Reviewed by Geoff Garen.

Currently all token vended by a RefCounter have the same type - Ref<RefCounter::Count>.
This means there is no compile time type checking to prevent mistakes. Update the count()
method to token<>(), templated on type used to identify the token being returned.
Calls to token<T>() will return a result of type RefCounter::Token<T>.

There are a few problems with the fact the counter will return you an exact count of the
number of outstanding tokens:
  - It is desirable to only fire the callback on zero-edge changes; it is more consistent
    to do so if the value is only readable as a boolean.
  - It is desirable to provide the value as an argument to the callback, however to make
    this useful for integer values it is also necessary to indicate the direction of change
    (0->1 is often interesting where 2->1 is not).
  - There is a mismatch between the precision of returning a count, and the inherent
    imprecision of a token based mechanism, where it may be difficult to guarantee
    absolutely no unnecessary refcount churn, and thus unintentional counter values.

Source/WebCore:

* page/PageThrottler.cpp:
(WebCore::m_mediaActivityCounter):
(WebCore::m_pageLoadActivityCounter):
    - lambdas now passed the value.
(WebCore::PageThrottler::mediaActivityToken):
(WebCore::PageThrottler::pageLoadActivityToken):
    - count() -> token<>().
* page/PageThrottler.h:
    - specify tpoken type for PageActivityAssertionToken.

Source/WebKit2:

Removed PluginProcessManager::m_processSuppressionEnabled. Now the callback only fires on
zero-edge transitions we no longer need this to filter changes.

* UIProcess/Plugins/PluginProcessManager.cpp:
(WebKit::PluginProcessManager::PluginProcessManager):
    - updateProcessSuppressionState -> updateProcessSuppressionDisabled.
* UIProcess/Plugins/PluginProcessManager.h:
(WebKit::PluginProcessManager::processSuppressionDisabledForPageCount): Deleted.
(WebKit::PluginProcessManager::processSuppressionDisabledToken):
    - processSuppressionDisabledForPageCount -> processSuppressionDisabledToken.
(WebKit::PluginProcessManager::processSuppressionEnabled): Deleted.
(WebKit::PluginProcessManager::processSuppressionDisabled):
    - processSuppressionEnabled -> processSuppressionDisabled.
* UIProcess/Plugins/PluginProcessProxy.cpp:
(WebKit::PluginProcessProxy::didFinishLaunching):
    - processSuppressionEnabled -> processSuppressionDisabled.
* UIProcess/Plugins/mac/PluginProcessManagerMac.mm:
(WebKit::PluginProcessManager::updateProcessSuppressionState): Deleted.
(WebKit::PluginProcessManager::updateProcessSuppressionDisabled):
    - updateProcessSuppressionState -> updateProcessSuppressionDisabled
* UIProcess/ProcessThrottler.h:
    - added UserObservablePageToken, ProcessSuppressionDisabledToken types.
* UIProcess/WebContext.cpp:
(WebKit::WebContext::WebContext):
(WebKit::m_processSuppressionDisabledForPageCounter):
    - lambda now has bool argument.
* UIProcess/WebContext.h:
(WebKit::WebContext::userObservablePageCount):
(WebKit::WebContext::processSuppressionDisabledForPageCount):
    - count() -> token<>(), changed return type.
* UIProcess/WebPageProxy.h:
    - changed types of token members.
* UIProcess/mac/WebContextMac.mm:
(WebKit::WebContext::updateProcessSuppressionState):
    renamed m_pluginProcessManagerProcessSuppressionDisabledCount -> m_pluginProcessManagerProcessSuppressionDisabledToken.

Source/WTF:

* wtf/RefCounter.cpp:
(WTF::RefCounter::Count::ref):
(WTF::RefCounter::Count::deref):
    - only call the callback on zero-edge changes; provide the value.
(WTF::RefCounter::RefCounter):
    - callback now takes a bool argument.
* wtf/RefCounter.h:
(WTF::RefCounter::Token::Token):
    - New opaque type to reference the RefCounter::Count.
(WTF::RefCounter::Token::operator!):
    - ! operator checks for null / anasigned Tokens.
(WTF::RefCounter::RefCounter):
    - callback now takes a bool argument.
(WTF::RefCounter::token):
    - renamed from count(), templated on type of token returned.
(WTF::RefCounter::value):
    - now returns a bool.
(WTF::RefCounter::Token<T>::Token):
(WTF::=):
    - Tokens can be copied & assigned.
(WTF::RefCounter::count): Deleted.
    - renamed to token<>().

Tools:

* TestWebKitAPI/Tests/WTF/RefCounter.cpp:
(TestWebKitAPI::TEST):
    - update API test.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@177541 268f45cc-cd09-0410-ab3c-d52691b4dbfc