WebKit-https.git
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

6 years agoDisable retries on Mac Release WK2 testers
ap@apple.com [Fri, 19 Dec 2014 00:27:20 +0000 (00:27 +0000)]
Disable retries on Mac Release WK2 testers
https://bugs.webkit.org/show_bug.cgi?id=139798

Reviewed by Simon Fraser.

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

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

6 years agoTry to fix some builds.
timothy_horton@apple.com [Fri, 19 Dec 2014 00:12:03 +0000 (00:12 +0000)]
Try to fix some builds.

* UIProcess/mac/WKPreviewPopoverAnimationController.mm:

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

6 years agoHTMLFormControlElement and HTMLObjectElement need not to look for an ancestor on...
benjamin@webkit.org [Fri, 19 Dec 2014 00:03:08 +0000 (00:03 +0000)]
HTMLFormControlElement and HTMLObjectElement need not to look for an ancestor on construction
https://bugs.webkit.org/show_bug.cgi?id=139791

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-12-18
Reviewed by Alexey Proskuryakov.

The objects are being constructed, they have not been inserted into the tree yet.
There is not chance of finding the owner form at this point,
that is done when inserting the node into the tree.

* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::HTMLFormControlElement):
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::HTMLObjectElement):

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

6 years agoAX: Recursive crash at WebCore::accessibleNameForNode
cfleizach@apple.com [Thu, 18 Dec 2014 23:51:26 +0000 (23:51 +0000)]
AX: Recursive crash at WebCore::accessibleNameForNode
https://bugs.webkit.org/show_bug.cgi?id=139616

Reviewed by Mario Sanchez Prada.

Source/WebCore:

An image that uses aria-labelledby to reference its own parent can lead to a recursion crash.
There needs to be some information we can pass through these methods to ensure we don't hit this case.

Test: accessibility/accessibility-description-crash.html

* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::alternativeText):
(WebCore::AccessibilityNodeObject::textUnderElement):
(WebCore::accessibleNameForNode):
(WebCore::AccessibilityNodeObject::accessibilityDescriptionForElements):
* accessibility/AccessibilityObject.h:
(WebCore::AccessibilityTextUnderElementMode::AccessibilityTextUnderElementMode):

LayoutTests:

* accessibility/accessibility-description-crash-expected.txt: Added.
* accessibility/accessibility-description-crash.html: Added.

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

6 years agoAX: Heuristic: Avoid exposing an element as clickable if mouse event delegation is...
cfleizach@apple.com [Thu, 18 Dec 2014 23:25:27 +0000 (23:25 +0000)]
AX: Heuristic: Avoid exposing an element as clickable if mouse event delegation is handled on an element with any explicit ARIA role, including presentation.
https://bugs.webkit.org/show_bug.cgi?id=133613

Reviewed by Mario Sanchez Prada.

Source/WebCore:

This adds a heuristic to avoid a problem we have where too many objects that say they respond to press actions for accessibility.
It results from people installing click handlers on container nodes and then lots of static text objects are "clickable" in the eyes of VoiceOver.

What we can do is avoid this determination if the element is presentational.

Test: platform/mac/accessibility/press-action-for-presentational-descendants.html

* accessibility/AccessibilityObject.cpp:
(WebCore::nodeHasPresentationRole):
(WebCore::AccessibilityObject::supportsPressAction):
* accessibility/AccessibilityObject.h:
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper accessibilityActionNames]):

LayoutTests:

* platform/mac/accessibility/press-action-for-presentational-descendants-expected.txt: Added.
* platform/mac/accessibility/press-action-for-presentational-descendants.html: Added.

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

6 years agoPerf tests frequently fail saying "build not up to date"
ap@apple.com [Thu, 18 Dec 2014 23:22:44 +0000 (23:22 +0000)]
Perf tests frequently fail saying "build not up to date"
https://bugs.webkit.org/show_bug.cgi?id=139786

Illegitimately yet authoritatively reviewed by Lucas Forschler.

Undo the rest of the first fix, and implement the behavior differently.

is_clean isn't automatically forwarded from config.json to properties.

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

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

6 years agoFix build.
andersca@apple.com [Thu, 18 Dec 2014 23:14:23 +0000 (23:14 +0000)]
Fix build.

* UIProcess/API/mac/WKViewInternal.h:

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

6 years agoRoll out part of the previous patch - BuildAndPerfTestWebKit2 is used by Efl.
ap@apple.com [Thu, 18 Dec 2014 23:06:18 +0000 (23:06 +0000)]
Roll out part of the previous patch - BuildAndPerfTestWebKit2 is used by Efl.
I thought that it was unused because grepping for BuildAndPerfTestWebKit2Factory
found nothing.

* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(BuildAndPerfTestFactory):
(BuildAndPerfTestWebKit2Factory):

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

6 years agoAX: event.target should sometimes be a descendant element on AXPress-triggered mouse...
cfleizach@apple.com [Thu, 18 Dec 2014 22:59:22 +0000 (22:59 +0000)]
AX: event.target should sometimes be a descendant element on AXPress-triggered mouse clicks
https://bugs.webkit.org/show_bug.cgi?id=135689

Reviewed by Mario Sanchez Prada.

Source/WebCore:

When trying to find the right sub-node to target, we need to go back up the parent chain to find
an Element, in case we land on a Text node for example.

Test: accessibility/press-target-uses-text-descendant-node.html

* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::press):

LayoutTests:

* accessibility/press-target-uses-text-descendant-node-expected.txt: Added.
* accessibility/press-target-uses-text-descendant-node.html: Added.

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

6 years agoAdd missing availability annotation on @property _featureCounterEnabled
cdumez@apple.com [Thu, 18 Dec 2014 22:59:15 +0000 (22:59 +0000)]
Add missing availability annotation on @property _featureCounterEnabled
https://bugs.webkit.org/show_bug.cgi?id=139794
<rdar://problem/19266254>

Rubber-stamped by Dan Bernstein.

Follow-up to r177526 adding availability annotation on @property
_featureCounterEnabled.

* UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:

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

6 years agoNew perf dashboard should not duplicate author information in each commit
rniwa@webkit.org [Thu, 18 Dec 2014 22:53:52 +0000 (22:53 +0000)]
New perf dashboard should not duplicate author information in each commit
https://bugs.webkit.org/show_bug.cgi?id=139756

Reviewed by Darin Adler.

Instead of each commit having author name and email, make it reference a newly added committers table.
Also replace "email" by "account" since some repositories don't use emails as account names.

This improves the keyword search performance in commits.php since LIKE now runs on committers table,
which only contains as many rows as there are accounts in each repository, instead of commits table
which contains every commit ever happened in each repository.

To migrate an existing database into match the new schema, run:

BEGIN;

INSERT INTO committers (committer_repository, committer_name, committer_email)
    (SELECT DISTINCT commit_repository, commit_author_name, commit_author_email
        FROM commits WHERE commit_author_email IS NOT NULL);

ALTER TABLE commits ADD COLUMN commit_committer integer REFERENCES committers ON DELETE CASCADE;

UPDATE commits SET commit_committer = committer_id FROM committers
    WHERE commit_repository = committer_repository AND commit_author_email = committer_email;

ALTER TABLE commits DROP COLUMN commit_author_name CASCADE;
ALTER TABLE commits DROP COLUMN commit_author_email CASCADE;

COMMIT;

* init-database.sql: Added committers table, and replaced author columns in commits table by a foreign
reference to committers. Also added the missing drop table statements.

* public/api/commits.php:
(main): Fetch the corresponding committers row for a single commit. Also wrap a single commit by
an array here instead of doing it in format_commit.
(fetch_commits_between): Updated queries to JOIN commits with committers.
(format_commit): Takes both commit and committers rows. Also don't wrap the result in an array as that
is now done in main.

* public/api/report-commits.php:
(main): Store the reported committer information or update the existing entry if there is one.

* tests/admin-regenerate-manifest.js: Fixed tests.

* tests/api-report-commits.js: Ditto. Also added a test for updating an existing committer entry.

* tools/pull-svn.py: Renamed email to account.
(main):
(fetch_commit_and_resolve_author):
(fetch_commit):
(resolve_author_name_from_account):
(resolve_author_name_from_email): Deleted.

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

6 years agoPerf tests frequently fail saying "build not up to date"
ap@apple.com [Thu, 18 Dec 2014 22:51:09 +0000 (22:51 +0000)]
Perf tests frequently fail saying "build not up to date"
https://bugs.webkit.org/show_bug.cgi?id=139786

Reviewed by Ryosuke Niwa.

Perf tests only build DumpRenderTree, not WebKit itself. Just clean the build
directory to get rid of stale precompiled headers, and let it rebuild
DumpRenderTree each time, that's fast.

Also, removed unused "build and perf test" code.

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

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

6 years agoNeed to re-enable action menus
bdakin@apple.com [Thu, 18 Dec 2014 22:36:38 +0000 (22:36 +0000)]
Need to re-enable action menus
https://bugs.webkit.org/show_bug.cgi?id=139795
-and corresponding-
rdar://problem/19299367

Reviewed by Tim Horton.

Re-enable the menus by un-commenting the code to create the menu and controller.
Source/WebKit/mac:

* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):

Source/WebKit2:

* UIProcess/API/mac/WKView.mm:
(-[WKView initWithFrame:context:configuration:webView:]):

performActionMenuHitTest already takes a parameter indicating whether the hit test
is for an immediate action or not. The callback didPerformActionMenuHitTest needs
that information too so that it knows whether to call into the
ActionMenuController or the ImmediateActionController.
(-[WKView _didPerformActionMenuHitTest:forImmediateAction:userData:]):
(-[WKView _didPerformActionMenuHitTest:userData:]): Deleted.
* UIProcess/API/mac/WKViewInternal.h:
* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didPerformActionMenuHitTest):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/mac/PageClientImpl.h:
* UIProcess/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::didPerformActionMenuHitTest):
* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::performActionMenuHitTestAtLocation):

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

6 years agoUnify the Mac and iOS implementations of FontPlatformData a bit
weinig@apple.com [Thu, 18 Dec 2014 22:32:43 +0000 (22:32 +0000)]
Unify the Mac and iOS implementations of FontPlatformData a bit
https://bugs.webkit.org/show_bug.cgi?id=139721

Reviewed by Anders Carlsson.

Source/WebCore:

This is a first pass of unifying the Mac and iOS implementations of FontPlatformData.
Notable changes:
- Change the storage of the platform font to be CTFontRef across the board. Adds NSFont
  setter/getter/constructor as a temporary measures during the transition away from NSFont.
- Removes duplicate code that only differed by whether the type was NSFont or CTFontRef.
- Reduces the number of #ifdefs.

* platform/graphics/FontPlatformData.cpp:
(WebCore::FontPlatformData::FontPlatformData):
(WebCore::FontPlatformData::operator=):
(WebCore::FontPlatformData::openTypeTable): Deleted.
* platform/graphics/FontPlatformData.h:
(WebCore::FontPlatformData::nsFont):
(WebCore::FontPlatformData::setNSFont):
(WebCore::FontPlatformData::hash):
(WebCore::FontPlatformData::operator==):
(WebCore::FontPlatformData::isHashTableDeletedValue):
(WebCore::toCTFontRef): Deleted.
(WebCore::FontPlatformData::font): Deleted.
(WebCore::FontPlatformData::roundsGlyphAdvances): Deleted.
(WebCore::FontPlatformData::cgFont): Deleted.
(WebCore::FontPlatformData::hashTableDeletedFontValue): Deleted.
* platform/graphics/SimpleFontData.h:
* platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::FontPlatformData::FontPlatformData):
(WebCore::FontPlatformData::~FontPlatformData):
(WebCore::FontPlatformData::platformDataInit):
(WebCore::FontPlatformData::platformDataAssign):
(WebCore::FontPlatformData::setFont):
(WebCore::FontPlatformData::roundsGlyphAdvances):
(WebCore::FontPlatformData::allowsLigatures):
(WebCore::FontPlatformData::ctFont):
(WebCore::FontPlatformData::openTypeTable):
(WebCore::FontPlatformData::loadFont): Deleted.
* platform/graphics/mac/FontCacheMac.mm:
(WebCore::FontCache::systemFallbackForCharacters):
* platform/graphics/mac/FontMac.mm:
(WebCore::Font::drawGlyphs):
* platform/graphics/mac/SimpleFontDataMac.mm:
(WebCore::SimpleFontData::getCompositeFontReferenceFontData):
(WebCore::SimpleFontData::platformInit):
(WebCore::SimpleFontData::platformCreateScaledFontData):
(WebCore::SimpleFontData::containsCharacters):
(WebCore::SimpleFontData::determinePitch):
(WebCore::SimpleFontData::renderingStyle):
(WebCore::SimpleFontData::advanceForColorBitmapFont):

Source/WebKit/mac:

* WebView/WebHTMLView.mm:
(fontNameForDescription):
Update for new function name.

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

6 years ago[WK2] Stop using WKPreferencesPrivate API to toggle FeatureCounter support
cdumez@apple.com [Thu, 18 Dec 2014 22:32:37 +0000 (22:32 +0000)]
[WK2] Stop using WKPreferencesPrivate API to toggle FeatureCounter support
https://bugs.webkit.org/show_bug.cgi?id=139794
<rdar://problem/19266254>

Reviewed by Anders Carlsson.

Stop using WKPreferencesPrivate API to toggle FeatureCounter support
and use WKWebViewConfigurationPrivate API instead. FeatureCounter is
not meant to change state after the view has been created.

* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetFeatureCounterEnabled): Deleted.
(WKPreferencesGetFeatureCounterEnabled): Deleted.
* UIProcess/API/C/WKPreferencesRefPrivate.h:
* UIProcess/API/Cocoa/WKPreferences.mm:
(-[WKPreferences _featureCounterEnabled]): Deleted.
(-[WKPreferences _setFeatureCounterEnabled:]): Deleted.
* UIProcess/API/Cocoa/WKPreferencesPrivate.h:
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView initWithFrame:configuration:]):
* UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration init]):
(-[WKWebViewConfiguration copyWithZone:]):
(-[WKWebViewConfiguration _featureCounterEnabled]):
(-[WKWebViewConfiguration _setFeatureCounterEnabled:]):
* UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:

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

6 years agoFix the build.
timothy_horton@apple.com [Thu, 18 Dec 2014 22:29:50 +0000 (22:29 +0000)]
Fix the build.

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

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

6 years agoBuild fix.
andersca@apple.com [Thu, 18 Dec 2014 22:29:45 +0000 (22:29 +0000)]
Build fix.

* platform/cocoa/MachSendRight.cpp:

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

6 years agoSimplify smart pointer classes by using std::exchange
andersca@apple.com [Thu, 18 Dec 2014 22:27:18 +0000 (22:27 +0000)]
Simplify smart pointer classes by using std::exchange
https://bugs.webkit.org/show_bug.cgi?id=139790

Reviewed by Andreas Kling.

* wtf/MallocPtr.h:
* wtf/OSObjectPtr.h:
* wtf/OwnPtr.h:
(WTF::OwnPtr<T>::clear):
(WTF::OwnPtr<T>::release):
(WTF::OwnPtr<T>::leakPtr):
(WTF::=):
* wtf/PassOwnPtr.h:
(WTF::PassOwnPtr<T>::leakPtr):
* wtf/PassRefPtr.h:
(WTF::PassRefPtr<T>::leakRef):
* wtf/Ref.h:
* wtf/RefPtr.h:
(WTF::RefPtr<T>::clear):
(WTF::RefPtr<T>::leakRef):
* wtf/RetainPtr.h:
(WTF::RetainPtr<T>::leakRef):

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

6 years agoChange page preview loading order, and add a TextIndicator
timothy_horton@apple.com [Thu, 18 Dec 2014 22:14:18 +0000 (22:14 +0000)]
Change page preview loading order, and add a TextIndicator
https://bugs.webkit.org/show_bug.cgi?id=139793
<rdar://problem/19288547>

Reviewed by Beth Dakin.

* Shared/mac/ActionMenuHitTestResult.h:
* Shared/mac/ActionMenuHitTestResult.mm:
(WebKit::ActionMenuHitTestResult::encode):
(WebKit::ActionMenuHitTestResult::decode):
* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::performActionMenuHitTestAtLocation):
Build a TextIndicator for links.

* UIProcess/API/Cocoa/WKViewPrivate.h:
* UIProcess/API/mac/WKView.mm:
(-[WKView _dismissContentRelativeChildWindows]):
(-[WKView _setPreviewTitle:]):
(-[WKView _setPreviewLoading:]):
Remove unneeded WK_API_ENABLED #ifs.

(-[WKView _setPreviewOverrideImage:]):
Add; forward to WKImmediateActionController.

* UIProcess/mac/WKImmediateActionController.h:
* UIProcess/mac/WKImmediateActionController.mm:
(-[WKImmediateActionController willDestroyView:]):
Shut down the WKPreviewPopoverAnimationController.

(-[WKImmediateActionController _clearImmediateActionState]):
(-[WKImmediateActionController immediateActionRecognizerWillPrepare:]):
Don't build an immediate action item here; we'll always build it in
willBeginAnimation, and the one we build here is likely to be wrong.

(-[WKImmediateActionController _defaultAnimationController]):
(-[WKImmediateActionController hidePreview]):
(-[WKImmediateActionController setPreviewTitle:]):
(-[WKImmediateActionController setPreviewLoading:]):
(-[WKImmediateActionController setPreviewOverrideImage:]):
(-[WKImmediateActionController _animationControllerForCustomPreview]):
(-[WKImmediateActionController _createPreviewPopoverIfNeededForURL:]): Deleted.
(-[WKImmediateActionController popoverWillClose:]): Deleted.
(targetSizeFitsInAvailableSpace): Deleted.
(-[WKImmediateActionController largestPopoverSize]): Deleted.
(-[WKImmediateActionController _preferredPopoverSizeWithPreviewPadding:]): Deleted.
(-[WKImmediateActionController pagePreviewViewController:viewForPreviewingURL:initialFrameSize:]): Deleted.
(-[WKImmediateActionController pagePreviewViewController:titleForPreviewOfURL:]): Deleted.
(-[WKImmediateActionController pagePreviewViewControllerWasClicked:]): Deleted.
Move preview popover code to WKPreviewPopoverAnimationController.
Install and uninstall the link text indicator when necessary.

* UIProcess/mac/WKPagePreviewViewController.h:
* UIProcess/mac/WKPagePreviewViewController.mm:
(-[WKPagePreviewViewController setLoading:]):
(-[WKPagePreviewViewController loadView]):
(-[WKPagePreviewViewController replacePreviewWithImage:atSize:]):
Allow overriding the preview with a full-view NSImage.
Hide the preview view until the loading spinner goes away.

* UIProcess/mac/WKPreviewPopoverAnimationController.h: Copied from Source/WebKit2/UIProcess/mac/WKImmediateActionController.h.
* UIProcess/mac/WKPreviewPopoverAnimationController.mm: Added.
(+[WKPreviewPopoverAnimationController _shouldImmediatelyShowPreview]):
(-[WKPreviewPopoverAnimationController initWithURL:view:page:originRect:eventLocationInView:]):
(-[WKPreviewPopoverAnimationController close]):
(-[WKPreviewPopoverAnimationController setPreviewLoading:]):
(-[WKPreviewPopoverAnimationController setPreviewOverrideImage:]):
If we have shown the popover, choose a size strictly smaller than
its current size.

(-[WKPreviewPopoverAnimationController _hidePreview]):
(-[WKPreviewPopoverAnimationController setPreviewTitle:]):
(-[WKPreviewPopoverAnimationController _createPreviewPopover]):
(-[WKPreviewPopoverAnimationController _showPreview]):
(targetSizeFitsInAvailableSpace):
(-[WKPreviewPopoverAnimationController largestPopoverSize]):
(-[WKPreviewPopoverAnimationController _targetSizeForPagePreview]):
(-[WKPreviewPopoverAnimationController _preferredPopoverSizeWithPreviewPadding:forTargetSize:]):
(-[WKPreviewPopoverAnimationController _previewWatchdogTimerFired:]):
(-[WKPreviewPopoverAnimationController recognizerWillBeginAnimation:]):
(-[WKPreviewPopoverAnimationController recognizerDidUpdateAnimation:]):
(-[WKPreviewPopoverAnimationController recognizerDidCancelAnimation:]):
(-[WKPreviewPopoverAnimationController recognizerDidCompleteAnimation:]):
(-[WKPreviewPopoverAnimationController recognizerDidDismissAnimation:]):
(-[WKPreviewPopoverAnimationController pagePreviewViewController:viewForPreviewingURL:initialFrameSize:]):
(-[WKPreviewPopoverAnimationController pagePreviewViewController:titleForPreviewOfURL:]):
(-[WKPreviewPopoverAnimationController pagePreviewViewControllerWasClicked:]):
(-[WKPreviewPopoverAnimationController popoverWillClose:]):
Move code in from WKImmediateActionController.
Forward NSImmediateActionAnimationControllerDelegate methods
to the popover's animation controller if we've popped it.
Pop the popover if we've loaded or 1 second has passed, whichever
comes first.

* WebKit2.xcodeproj/project.pbxproj:

* WebCore.exp.in:
* platform/spi/mac/NSPopoverSPI.h:
Add an export and some SPI.

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

6 years agoClean up MachSendRight and add a copySendRight member function
andersca@apple.com [Thu, 18 Dec 2014 21:31:03 +0000 (21:31 +0000)]
Clean up MachSendRight and add a copySendRight member function
https://bugs.webkit.org/show_bug.cgi?id=139788

Reviewed by Tim Horton.

Source/WebCore:

* platform/cocoa/MachSendRight.cpp:
(WebCore::retainSendRight):
(WebCore::releaseSendRight):
Use mach_error_string.

(WebCore::MachSendRight::copySendRight):
Create a new send right with the given mach port.

(WebCore::MachSendRight::leakSendRight):
Use std::exchange.

* platform/cocoa/MachSendRight.h:

Source/WTF:

* wtf/StdLibExtras.h:
(std::exchange):
Add an implementation of std::exchange.

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

6 years agomedia/media-controls-timeline-updates.html is flaky
ap@apple.com [Thu, 18 Dec 2014 21:29:23 +0000 (21:29 +0000)]
media/media-controls-timeline-updates.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=139789

* platform/mac/TestExpectations: Mark it as such.

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

6 years ago[iOS] Updated expected results for LayoutTests/editing
dbates@webkit.org [Thu, 18 Dec 2014 21:18:56 +0000 (21:18 +0000)]
[iOS] Updated expected results for LayoutTests/editing

* platform/ios-simulator-wk2/TestExpectations:
[...]

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

6 years agoWeb Inspector: ASSERT seen closing/opening multiple inspectors
commit-queue@webkit.org [Thu, 18 Dec 2014 20:45:19 +0000 (20:45 +0000)]
Web Inspector: ASSERT seen closing/opening multiple inspectors
https://bugs.webkit.org/show_bug.cgi?id=139783

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

* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::nodeForObjectId):

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

6 years agoUpdate flaky media test expectations to what bots see now - mostly updating for
ap@apple.com [Thu, 18 Dec 2014 20:38:57 +0000 (20:38 +0000)]
Update flaky media test expectations to what bots see now - mostly updating for
better detection of timeouts.

* platform/mac/TestExpectations:

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

6 years agoAdd a MachSendRight class to WebCore and use it in IOSurface
andersca@apple.com [Thu, 18 Dec 2014 20:29:19 +0000 (20:29 +0000)]
Add a MachSendRight class to WebCore and use it in IOSurface
https://bugs.webkit.org/show_bug.cgi?id=139787

Reviewed by Tim Horton.

Source/WebCore:

* WebCore.exp.in:
* WebCore.xcodeproj/project.pbxproj:
* platform/cocoa/MachSendRight.cpp: Added.
(WebCore::retainSendRight):
(WebCore::releaseSendRight):
(WebCore::MachSendRight::adopt):
(WebCore::MachSendRight::create):
(WebCore::MachSendRight::MachSendRight):
(WebCore::MachSendRight::~MachSendRight):
(WebCore::MachSendRight::operator=):
(WebCore::MachSendRight::leakSendRight):
* platform/cocoa/MachSendRight.h: Added.
* platform/graphics/cocoa/IOSurface.h:
* platform/graphics/cocoa/IOSurface.mm:
(IOSurface::createSendRight):
(IOSurface::createMachPort): Deleted.

Source/WebKit2:

* Shared/mac/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::encode):

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

6 years ago[Win] Unreviewed gardening. Reorder file contents to match Mac version.
bfulgham@apple.com [Thu, 18 Dec 2014 20:25:21 +0000 (20:25 +0000)]
[Win] Unreviewed gardening. Reorder file contents to match Mac version.

Reorder the contents of the TestRunnerWin so that it matches TestRunnerMac. This makes
it easier to see what steps are missing when running under Windows.

* DumpRenderTree/win/TestRunnerWin.cpp:
(TestRunner::callShouldCloseOnWebView):
(TestRunner::clearAllApplicationCaches):
(TestRunner::applicationCacheDiskUsageForOrigin):
(TestRunner::syncLocalStorage):
(TestRunner::localStorageDiskUsageForOrigin):
(TestRunner::observeStorageTrackerNotifications):
(TestRunner::clearApplicationCacheForOrigin):
(TestRunner::originsWithApplicationCache):
(TestRunner::clearAllDatabases):
(TestRunner::deleteAllLocalStorage):
(TestRunner::setStorageDatabaseIdleInterval):
(TestRunner::closeIdleLocalStorageDatabases):
(TestRunner::originsWithLocalStorage):
(TestRunner::deleteLocalStorageForOrigin):
(TestRunner::numberOfPendingGeolocationPermissionRequests):
(jsStringRefToWString):
(TestRunner::setAppCacheMaximumSize):
(TestRunner::setDatabaseQuota):
(TestRunner::goBack):
(TestRunner::setDefersLoading):
(TestRunner::setDomainRelaxationForbiddenForURLScheme):
(TestRunner::setAutomaticLinkDetectionEnabled):
(TestRunner::dispatchPendingLoadRequests):
(TestRunner::overridePreference):
(TestRunner::removeAllVisitedLinks):
(TestRunner::waitForPolicyDelegate):
(TestRunner::resetPageVisibility):
(TestRunner::setPageVisibility):
(TestRunner::grantWebNotificationPermission):
(TestRunner::denyWebNotificationPermission):
(TestRunner::removeAllWebNotificationPermissions):
(TestRunner::simulateWebNotificationClick):
(TestRunner::simulateLegacyWebNotificationClick):

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

6 years agoRef-ify DOMSettableTokenList.
akling@apple.com [Thu, 18 Dec 2014 20:22:50 +0000 (20:22 +0000)]
Ref-ify DOMSettableTokenList.
<https://webkit.org/b/139785>

Reviewed by Chris Dumez.

Make DOMSettableTokenList::create() return a Ref, and have its two client
elements store it in a Ref instead of a RefPtr (and fix their getter API
to return references.)

* html/DOMSettableTokenList.cpp:
(WebCore::DOMSettableTokenList::create): Deleted.
* html/DOMSettableTokenList.h:
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::sizes): Deleted.
* html/HTMLLinkElement.h:
* html/HTMLOutputElement.cpp:
(WebCore::HTMLOutputElement::htmlFor): Deleted.
* html/HTMLOutputElement.h:

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

6 years agoRef-ify ClientRectList.
akling@apple.com [Thu, 18 Dec 2014 20:21:24 +0000 (20:21 +0000)]
Ref-ify ClientRectList.
<https://webkit.org/b/139780>

Reviewed by Anders Carlsson.

Make the ClientRectList::create() helpers return Ref, along with a bunch
of other functions that always return non-null ClientRectLists.

Also make ClientRectList store a Vector<Ref<ClientRect>> internally since
entries in the Vector are never null.

* dom/ClientRectList.cpp:
(WebCore::ClientRectList::item):
* dom/ClientRectList.h:
(WebCore::ClientRectList::create):
* dom/Element.cpp:
(WebCore::Element::getClientRects):
* dom/Element.h:
* dom/Range.cpp:
(WebCore::Range::getClientRects):
* dom/Range.h:
* page/Page.cpp:
(WebCore::Page::nonFastScrollableRects):
* page/Page.h:
* testing/Internals.cpp:
(WebCore::Internals::inspectorHighlightRects):
(WebCore::Internals::nonFastScrollableRects):
* testing/Internals.h:

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

6 years agoSource/WebKit:
bfulgham@apple.com [Thu, 18 Dec 2014 19:56:46 +0000 (19:56 +0000)]
Source/WebKit:
[Win] Correct Windows tests after Bug 139149.
https://bugs.webkit.org/show_bug.cgi?id=139781

Reviewed by Anders Carlsson.

* WebKit.vcxproj/Interfaces/Interfaces.vcxproj: Add new interface.
* WebKit.vcxproj/Interfaces/Interfaces.vcxproj.filters: Ditto.
* WebKit.vcxproj/WebKit/WebKit.vcxproj: Add new application cache object.
* WebKit.vcxproj/WebKit/WebKit.vcxproj.filters: Ditto.

Source/WebKit/win:
[Win] Correct Windows tests after Bug 139149.
https://bugs.webkit.org/show_bug.cgi?id=139781

Reviewed by Anders Carlsson.

* Interfaces/IWebApplicationCache.idl: Added.
* Interfaces/WebKit.idl: Add new IDL file.
* WebActionPropertyBag.cpp:
(WebActionPropertyBag::Read): Remove old debugging message.
* WebApplicationCache.cpp: Added.
(WebApplicationCache::WebApplicationCache):
(WebApplicationCache::~WebApplicationCache):
(WebApplicationCache::createInstance):
(WebApplicationCache::QueryInterface):
(WebApplicationCache::AddRef):
(WebApplicationCache::Release):
(WebApplicationCache::maximumSize):
(WebApplicationCache::setMaximumSize):
(WebApplicationCache::defaultOriginQuota):
(WebApplicationCache::setDefaultOriginQuota):
(WebApplicationCache::diskUsageForOrigin):
(WebApplicationCache::deleteAllApplicationCaches):
(WebApplicationCache::deleteCacheForOrigin):
(WebApplicationCache::originsWithCache):
* WebApplicationCache.h: Added.
* WebKitClassFactory.cpp: Add new interface header.

Tools:
[Win] Correct Windows tests after Bug 139149 (edit)
https://bugs.webkit.org/show_bug.cgi?id=139781

Reviewed by Anders Carlsson.

* DumpRenderTree/win/TestRunnerWin.cpp:
(TestRunner::clearAllApplicationCaches): Use new WebApplicationCache
interface.

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

6 years agoAttempt to fix Windows build after Range::create() changes.
akling@apple.com [Thu, 18 Dec 2014 19:52:03 +0000 (19:52 +0000)]
Attempt to fix Windows build after Range::create() changes.

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

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

6 years ago[iOS] Remove the various aliases for --ios-simulator (--sim, --simulator, --ios-sim...
simon.fraser@apple.com [Thu, 18 Dec 2014 19:50:04 +0000 (19:50 +0000)]
[iOS] Remove the various aliases for --ios-simulator (--sim, --simulator, --ios-sim) in arguments for build and test scripts
https://bugs.webkit.org/show_bug.cgi?id=139748

Reviewed by Daniel Bates.

Staging change to support --ios-sim and --ios-simulator temporarily until the bots
have all been updated.

* Scripts/webkitpy/port/factory.py:
(platform_options):

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

6 years agoRef-ify ClientRect.
akling@apple.com [Thu, 18 Dec 2014 19:31:43 +0000 (19:31 +0000)]
Ref-ify ClientRect.
<https://webkit.org/b/139777>

Reviewed by Anders Carlsson.

Make the ClientRect::create() helpers return Ref, along with a bunch
of other functions that always return non-null ClientRects.

* dom/ClientRect.h:
(WebCore::ClientRect::create):
* dom/Element.cpp:
(WebCore::Element::getBoundingClientRect):
* dom/Element.h:
* dom/Range.cpp:
(WebCore::Range::getBoundingClientRect):
* dom/Range.h:
* html/track/VTTRegion.cpp:
(WebCore::VTTRegion::displayLastTextTrackCueBox):
* testing/Internals.cpp:
(WebCore::Internals::absoluteCaretBounds):
(WebCore::Internals::boundingBox):
(WebCore::Internals::selectionBounds):
* testing/Internals.h:

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

6 years agohttps://bugs.webkit.org/show_bug.cgi?id=139779
ap@apple.com [Thu, 18 Dec 2014 19:24:08 +0000 (19:24 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=139779
Fullscreen tests use unreasonably short timeouts

Reviewed by Eric Carlson.

* fullscreen/exit-full-screen-iframe.html:
* fullscreen/full-screen-iframe-allowed-prefixed.html:
* fullscreen/full-screen-iframe-allowed.html:
* fullscreen/full-screen-iframe-legacy.html:
* fullscreen/full-screen-iframe-without-allow-attribute-allowed-from-parent.html:
* fullscreen/resources/full-screen-iframe-with-mixed-allow-webkitallow-iframe2.html:
Removed the timeouts.

* platform/mac-wk1/TestExpectations: fullscreen/exit-full-screen-iframe.html
legitimately fails in DumpRenderTree, which we didn't know about.

* platform/mac/TestExpectations: Removed tests that should no longer be flaky now.

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

6 years agoBuild more of TestWebKitAPI for iOS
simon.fraser@apple.com [Thu, 18 Dec 2014 19:22:48 +0000 (19:22 +0000)]
Build more of TestWebKitAPI for iOS
https://bugs.webkit.org/show_bug.cgi?id=139747

Reviewed by Daniel Bates.

Base.xcconfig removed many test files from the iOS build via EXCLUDED_SOURCE_FILE_NAMES,
which excluded some tests that should be run for iOS.

Fix by removing some patterns from EXCLUDED_SOURCE_FILE_NAMES, and #ifdeffing
source files instead. config.h defines WK_HAVE_C_SPI when the WebKit C SPI is
available (i.e. Mac OS X), and most files use that. Some files with Mac-only
functionality (ActionMenus, Downloads) use #if PLATFORM(MAC).

Added PlatformUtilitiesCocoa.mm and moved WeakObjCPtr.mm into a cocoa directory
to share code between Mac and iOS.

* TestWebKitAPI/Configurations/Base.xcconfig:
* TestWebKitAPI/Configurations/InjectedBundle.xcconfig:
* TestWebKitAPI/InjectedBundleController.cpp:
* TestWebKitAPI/InjectedBundleMain.cpp:
* TestWebKitAPI/JavaScriptTest.cpp:
* TestWebKitAPI/PlatformUtilities.cpp:
* TestWebKitAPI/PlatformUtilities.h:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/CustomProtocolsSyncXHRTest.mm:
* TestWebKitAPI/Tests/WebKit2/AboutBlankLoad.cpp:
* TestWebKitAPI/Tests/WebKit2/CanHandleRequest.cpp:
* TestWebKitAPI/Tests/WebKit2/CanHandleRequest_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/CloseFromWithinCreatePage.cpp:
* TestWebKitAPI/Tests/WebKit2/CloseThenTerminate.cpp:
* TestWebKitAPI/Tests/WebKit2/CookieManager.cpp:
* TestWebKitAPI/Tests/WebKit2/DOMWindowExtensionBasic.cpp:
* TestWebKitAPI/Tests/WebKit2/DOMWindowExtensionBasic_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/DOMWindowExtensionNoCache.cpp:
* TestWebKitAPI/Tests/WebKit2/DOMWindowExtensionNoCache_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/DidAssociateFormControls.cpp:
* TestWebKitAPI/Tests/WebKit2/DidAssociateFormControls_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/DidNotHandleKeyDown.cpp:
* TestWebKitAPI/Tests/WebKit2/DocumentStartUserScriptAlertCrash.cpp:
* TestWebKitAPI/Tests/WebKit2/DocumentStartUserScriptAlertCrash_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/DownloadDecideDestinationCrash.cpp:
* TestWebKitAPI/Tests/WebKit2/EphemeralSessionPushStateNoHistoryCallback.cpp:
* TestWebKitAPI/Tests/WebKit2/EvaluateJavaScript.cpp:
* TestWebKitAPI/Tests/WebKit2/FailedLoad.cpp:
* TestWebKitAPI/Tests/WebKit2/Find.cpp:
* TestWebKitAPI/Tests/WebKit2/FindMatches.mm:
* TestWebKitAPI/Tests/WebKit2/ForceRepaint.cpp:
* TestWebKitAPI/Tests/WebKit2/FrameMIMETypeHTML.cpp:
* TestWebKitAPI/Tests/WebKit2/FrameMIMETypePNG.cpp:
* TestWebKitAPI/Tests/WebKit2/Geolocation.cpp:
* TestWebKitAPI/Tests/WebKit2/GetInjectedBundleInitializationUserDataCallback.cpp:
* TestWebKitAPI/Tests/WebKit2/GetInjectedBundleInitializationUserDataCallback_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/HitTestResultNodeHandle.cpp:
* TestWebKitAPI/Tests/WebKit2/HitTestResultNodeHandle_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/InjectedBundleBasic.cpp:
* TestWebKitAPI/Tests/WebKit2/InjectedBundleBasic_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/InjectedBundleFrameHitTest.cpp:
* TestWebKitAPI/Tests/WebKit2/InjectedBundleFrameHitTest_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/InjectedBundleInitializationUserDataCallbackWins.cpp:
* TestWebKitAPI/Tests/WebKit2/InjectedBundleInitializationUserDataCallbackWins_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/LayoutMilestonesWithAllContentInFrame.cpp:
* TestWebKitAPI/Tests/WebKit2/LoadAlternateHTMLStringWithNonDirectoryURL.cpp:
* TestWebKitAPI/Tests/WebKit2/LoadCanceledNoServerRedirectCallback.cpp:
* TestWebKitAPI/Tests/WebKit2/LoadCanceledNoServerRedirectCallback_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/LoadPageOnCrash.cpp:
* TestWebKitAPI/Tests/WebKit2/MouseMoveAfterCrash.cpp:
* TestWebKitAPI/Tests/WebKit2/MouseMoveAfterCrash_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayout.cpp:
* TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutFails.cpp:
* TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutFails_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutForImages.cpp:
* TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutForImages_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutFrames.cpp:
* TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutFrames_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayout_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/PageLoadBasic.cpp:
* TestWebKitAPI/Tests/WebKit2/PageLoadDidChangeLocationWithinPageForFrame.cpp:
* TestWebKitAPI/Tests/WebKit2/ParentFrame.cpp:
* TestWebKitAPI/Tests/WebKit2/ParentFrame_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/PasteboardNotifications.mm:
* TestWebKitAPI/Tests/WebKit2/PasteboardNotifications_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/PreventEmptyUserAgent.cpp:
* TestWebKitAPI/Tests/WebKit2/PrivateBrowsingPushStateNoHistoryCallback.cpp:
* TestWebKitAPI/Tests/WebKit2/ReloadPageAfterCrash.cpp:
* TestWebKitAPI/Tests/WebKit2/ResizeReversePaginatedWebView.cpp:
* TestWebKitAPI/Tests/WebKit2/ResizeWindowAfterCrash.cpp:
* TestWebKitAPI/Tests/WebKit2/ResponsivenessTimerDoesntFireEarly.cpp:
* TestWebKitAPI/Tests/WebKit2/ResponsivenessTimerDoesntFireEarly_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/RestoreSessionStateContainingFormData.cpp:
* TestWebKitAPI/Tests/WebKit2/ScrollPinningBehaviors.cpp:
* TestWebKitAPI/Tests/WebKit2/ShouldGoToBackForwardListItem.cpp:
* TestWebKitAPI/Tests/WebKit2/ShouldGoToBackForwardListItem_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/ShouldKeepCurrentBackForwardListItemInList.cpp:
* TestWebKitAPI/Tests/WebKit2/SpacebarScrolling.cpp:
* TestWebKitAPI/Tests/WebKit2/StopLoadingDuringDidFailProvisionalLoad.cpp:
* TestWebKitAPI/Tests/WebKit2/StopLoadingDuringDidFailProvisionalLoad_bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/TerminateTwice.cpp:
* TestWebKitAPI/Tests/WebKit2/UserMessage.cpp:
* TestWebKitAPI/Tests/WebKit2/UserMessage_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/WKImageCreateCGImageCrash.cpp:
* TestWebKitAPI/Tests/WebKit2/WKPageGetScaleFactorNotZero.cpp:
* TestWebKitAPI/Tests/WebKit2/WKPageIsPlayingAudio.cpp:
* TestWebKitAPI/Tests/WebKit2/WKPreferences.cpp:
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WebKit2/WKString.cpp:
* TestWebKitAPI/Tests/WebKit2/WKStringJSString.cpp:
* TestWebKitAPI/Tests/WebKit2/WebArchive.cpp:
* TestWebKitAPI/Tests/WebKit2/WebArchive_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/WebCoreStatisticsWithNoWebProcess.cpp:
* TestWebKitAPI/Tests/WebKit2/WillLoad.cpp:
* TestWebKitAPI/Tests/WebKit2/WillLoad_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/WillSendSubmitEvent.cpp:
* TestWebKitAPI/Tests/WebKit2/WillSendSubmitEvent_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2/cocoa/WeakObjCPtr.mm: Renamed from Tools/TestWebKitAPI/Tests/WebKit2/mac/WeakObjCPtr.mm.
(TEST):
* TestWebKitAPI/Tests/WebKit2Cocoa/Download.mm:
* TestWebKitAPI/Tests/WebKit2Cocoa/UserContentController.mm:
* TestWebKitAPI/Tests/WebKit2ObjC/ActionMenus.mm:
* TestWebKitAPI/Tests/WebKit2ObjC/ActionMenusBundle.mm:
* TestWebKitAPI/Tests/WebKit2ObjC/CustomProtocolsInvalidScheme.mm:
* TestWebKitAPI/Tests/WebKit2ObjC/CustomProtocolsInvalidScheme_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2ObjC/CustomProtocolsTest.mm:
* TestWebKitAPI/Tests/WebKit2ObjC/PreventImageLoadWithAutoResizing.mm:
* TestWebKitAPI/Tests/WebKit2ObjC/PreventImageLoadWithAutoResizing_Bundle.cpp:
* TestWebKitAPI/Tests/WebKit2ObjC/UserContentTest.mm:
* TestWebKitAPI/cocoa/PlatformUtilitiesCocoa.mm: Copied from Tools/TestWebKitAPI/Tests/WebKit2/WKImageCreateCGImageCrash.cpp.
(TestWebKitAPI::Util::run):
(TestWebKitAPI::Util::sleep):
(TestWebKitAPI::Util::toSTD):
* TestWebKitAPI/config.h:
* TestWebKitAPI/mac/JavaScriptTestMac.mm:
* TestWebKitAPI/mac/PlatformUtilitiesMac.mm:
(TestWebKitAPI::Util::run): Deleted.
(TestWebKitAPI::Util::sleep): Deleted.
(TestWebKitAPI::Util::toSTD): Deleted.

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

6 years ago[GTK] Add support for FTL JIT on ARM64
dbatyai.u-szeged@partner.samsung.com [Thu, 18 Dec 2014 18:43:01 +0000 (18:43 +0000)]
[GTK] Add support for FTL JIT on ARM64
https://bugs.webkit.org/show_bug.cgi?id=139677

Reviewed by Csaba Osztrogonác.

* gtk/jhbuild-optional.modules:
* gtk/patches/llvm-elf-add-stackmaps-arm64.patch: Added.
* gtk/patches/llvm-elf-allow-fde-references-outside-the-2gb-range-arm64.patch: Added.

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

6 years ago[iOS] Log navigation types using FeatureCounter API
cdumez@apple.com [Thu, 18 Dec 2014 18:42:27 +0000 (18:42 +0000)]
[iOS] Log navigation types using FeatureCounter API
https://bugs.webkit.org/show_bug.cgi?id=139753

Reviewed by Darin Adler.

Log navigation types using FeatureCounter API.

No new tests, no behavior change other than additional feature
counting.

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

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

6 years agoMove 'font-weight' CSS property to the new StyleBuilder
cdumez@apple.com [Thu, 18 Dec 2014 18:36:22 +0000 (18:36 +0000)]
Move 'font-weight' CSS property to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=139765

Reviewed by Antti Koivisto.

Move 'font-weight' CSS property to the new StyleBuilder by using
custom code.

No new tests, no behavior change.

* css/CSSPropertyNames.in:
* css/DeprecatedStyleBuilder.cpp:
(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
(WebCore::ApplyPropertyFontWeight::applyValue): Deleted.
(WebCore::ApplyPropertyFontWeight::createHandler): Deleted.
* css/StyleBuilderCustom.h:
(WebCore::StyleBuilderCustom::applyInitialFontWeight):
(WebCore::StyleBuilderCustom::applyInheritFontWeight):
(WebCore::StyleBuilderCustom::applyValueFontWeight):

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

6 years agoAttempt to fix the iOS build after <http://trac.webkit.org/changeset/177486>
dbates@webkit.org [Thu, 18 Dec 2014 18:23:18 +0000 (18:23 +0000)]
Attempt to fix the iOS build after <trac.webkit.org/changeset/177486>
(https://bugs.webkit.org/show_bug.cgi?id=139755)

* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::selectWithGesture): Wrap return value of Range::create() in RefPtr<Range>()
to make the the compiler happy since it wants clauses of the ternary operator to have the same data type
and Ref<Range> object does not support nullptr.
(WebKit::WebPage::selectWordBackward): Substitute Ref::ptr() for PassRefPtr::get().
(WebKit::WebPage::moveSelectionByOffset): Ditto.
(WebKit::WebPage::selectPositionAtPoint): Ditto.
(WebKit::WebPage::selectPositionAtBoundaryWithDirection): Ditto.
(WebKit::WebPage::requestDictationContext): Ditto.
(WebKit::computeAutocorrectionContext): Ditto.

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

6 years agoRemove timeout from shouldBecome* functions in js-test.js
g.czajkowski@samsung.com [Thu, 18 Dec 2014 17:44:18 +0000 (17:44 +0000)]
Remove timeout from shouldBecome* functions in js-test.js
https://bugs.webkit.org/show_bug.cgi?id=139767

Reviewed by Darin Adler.

r156678 has removed this timeout from shouldBecome* in js-test-pre.js.
Get rid of it from js-test.js as well to make shouldBecome* functions sync
between js-test.js and js-test-pre.js

Additionally, sync minor coding style changes between them.

* resources/js-test.js:
(_waitForCondition):
(.condition):
(shouldBecomeEqual):
(shouldBecomeEqualToString):
(shouldBecomeDifferent):
(._condition): Deleted.
(._failureHandler): Deleted.

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

6 years agoInternals methods return 0 instead of false when they fail
g.czajkowski@samsung.com [Thu, 18 Dec 2014 17:44:09 +0000 (17:44 +0000)]
Internals methods return 0 instead of false when they fail
https://bugs.webkit.org/show_bug.cgi?id=139766

Reviewed by Darin Adler.

Some Internals method explicitly return 0 although
they expect boolean value.

No new tests, no behavior change.

* testing/Internals.cpp:
(WebCore::Internals::hasSpellingMarker):
(WebCore::Internals::hasAutocorrectedMarker):
(WebCore::Internals::isOverwriteModeEnabled):
(WebCore::Internals::hasGrammarMarker):
Return false instead of 0.

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