enrica@apple.com [Fri, 28 Mar 2014 16:18:01 +0000 (16:18 +0000)]
Add support for AirPlay picker for iOS.
https://bugs.webkit.org/show_bug.cgi?id=130876
<rdar://problem/
15349859>
Reviewed by Benjamin Poulain.
Adds support for the AirPlay picker for WebKit.
The actual picker is implemented in UIKit.
* DefaultDelegates/WebDefaultUIKitDelegate.m:
(-[WebDefaultUIKitDelegate interactionLocation]):
(-[WebDefaultUIKitDelegate showPlaybackTargetPicker:fromRect:]):
* WebCoreSupport/WebChromeClientIOS.mm:
(WebChromeClientIOS::showPlaybackTargetPicker):
* WebCoreSupport/WebFrameIOS.h:
* WebCoreSupport/WebFrameIOS.mm:
(-[WebFrame elementRectAtPoint:]):
* WebView/WebUIKitDelegate.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166409
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jer.noble@apple.com [Fri, 28 Mar 2014 15:49:39 +0000 (15:49 +0000)]
[Mac] HLS streams will report an incorrect natural size.
https://bugs.webkit.org/show_bug.cgi?id=130859
Reviewed by Eric Carlson.
Some HLS streams will report incorrect naturalSizes due to the asset's preferredTransform
property not being available at the same time as the track's natural size. Given that
AVFoundation only allows one video track to be selected at a time, simply use the asset's
presentation size, cached in m_cachedPresentation size in all cases.
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::sizeChanged):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166408
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti@apple.com [Fri, 28 Mar 2014 15:36:40 +0000 (15:36 +0000)]
Remove NodeListRootType flag
https://bugs.webkit.org/show_bug.cgi?id=130896
Reviewed by Anders Carlsson.
This can be handled statically (except for the RadioNodeList case) removing
a branch from NodeList traversal.
* dom/ClassNodeList.h:
* dom/Document.cpp:
(WebCore::Document::registerNodeListForInvalidation):
(WebCore::Document::unregisterNodeListForInvalidation):
(WebCore::Document::registerNodeList): Deleted.
(WebCore::Document::unregisterNodeList): Deleted.
Mark document invalidation registered lists with a bit.
Renamed for clarity.
* dom/Document.h:
* dom/LiveNodeList.cpp:
(WebCore::LiveNodeList::LiveNodeList):
(WebCore::LiveNodeList::rootNode):
Base class version that invokes virtual isRootedAtDocument. It is needed to support
LiveNodeList::namedItem.
* dom/LiveNodeList.h:
(WebCore::LiveNodeList::isRegisteredForInvalidationAtDocument):
(WebCore::LiveNodeList::setRegisteredForInvalidationAtDocument):
(WebCore::LiveNodeList::document):
(WebCore::CachedLiveNodeList<NodeListType>::CachedLiveNodeList):
(WebCore::CachedLiveNodeList<NodeListType>::~CachedLiveNodeList):
(WebCore::CachedLiveNodeList<NodeListType>::rootNode):
Call isRootedAtDocument on the final leaf type. Except for RadioNodeList this
resolves statically.
(WebCore::CachedLiveNodeList<NodeListType>::willValidateIndexCache):
(WebCore::CachedLiveNodeList<NodeListType>::invalidateCache):
(WebCore::LiveNodeList::isRootedAtDocument): Deleted.
(WebCore::LiveNodeList::rootType): Deleted.
(WebCore::LiveNodeList::rootNode): Deleted.
* dom/NameNodeList.h:
* dom/NodeRareData.h:
(WebCore::NodeListsNodeData::adoptDocument):
* dom/TagNodeList.h:
* html/HTMLCollection.cpp:
(WebCore::rootTypeFromCollectionType):
* html/HTMLCollection.h:
(WebCore::HTMLCollection::isRootedAtDocument):
(WebCore::HTMLCollection::rootType):
HTMLCollections still needs the flag.
* html/LabelsNodeList.cpp:
(WebCore::LabelsNodeList::LabelsNodeList):
* html/LabelsNodeList.h:
* html/RadioNodeList.cpp:
(WebCore::RadioNodeList::RadioNodeList):
* html/RadioNodeList.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166407
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mario.prada@samsung.com [Fri, 28 Mar 2014 15:34:03 +0000 (15:34 +0000)]
[GTK] Geoclue2 providers won't work after reloading
https://bugs.webkit.org/show_bug.cgi?id=130898
Reviewed by Martin Robinson.
Don't reuse the Geoclue2 client proxy between different calls to
startPosition(), and create a new client proxy each time instead.
* platform/geoclue/GeolocationProviderGeoclue2.cpp:
(GeolocationProviderGeoclue::startUpdating): Don't reuse the
client proxy, by always calling geoclue_manager_call_get_client().
(GeolocationProviderGeoclue::stopUpdating): Disconnect from the
'location-updated' signal and dispose the client proxy.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166406
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 28 Mar 2014 14:18:46 +0000 (14:18 +0000)]
[GTK] Too many redirects visiting globalforestwatch.org
https://bugs.webkit.org/show_bug.cgi?id=129681
Patch by Diego Pino Garcia <dpino@igalia.com> on 2014-03-28
Reviewed by Martin Robinson.
Source/WebCore:
* platform/gtk/UserAgentGtk.cpp:
(WebCore::standardUserAgent): Append Safari version to UserAgent
string.
Source/WebKit/gtk:
* webkit/webkitwebsettings.cpp:
(userAgentForURL): Change outdated comment.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166405
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
msaboff@apple.com [Fri, 28 Mar 2014 14:08:05 +0000 (14:08 +0000)]
Unreviewed, rolling r166249 back in.
Turns out r166070 didn't cause a 2% performance loss in page load times
Reverted changeset:
Unreviewed, rolling out r166070.
Rollout r166070 due to 2% performance loss in page load times
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166404
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
gyuyoung.kim@samsung.com [Fri, 28 Mar 2014 10:34:05 +0000 (10:34 +0000)]
[EFL] Bump glib version from 2.36 to 2.38
https://bugs.webkit.org/show_bug.cgi?id=130886
Reviewed by Csaba Osztrogonác.
.:
* Source/cmake/OptionsEfl.cmake: Required glib-2.38 version.
Tools:
There is a build break on EFL port when using glib 2.36 ver. To fix it,
we need to bump glib version up to 2.38 as gtk port.
* efl/jhbuild.modules:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166403
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
k.czech@samsung.com [Fri, 28 Mar 2014 08:52:24 +0000 (08:52 +0000)]
[EFL][GTK] Remove expectations after r166194
https://bugs.webkit.org/show_bug.cgi?id=130842
Reviewed by Mario Sanchez Prada.
r166194 introduces one common expectation for all ports.
* platform/efl-wk1/accessibility/table-with-aria-role-expected.txt: Removed.
* platform/efl-wk2/accessibility/table-with-aria-role-expected.txt: Removed.
* platform/gtk/accessibility/table-with-aria-role-expected.txt: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166402
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 28 Mar 2014 08:20:27 +0000 (08:20 +0000)]
Web Inspector: Copy/paste error. EventListener block in DOM.json uses description from Node.
https://bugs.webkit.org/show_bug.cgi?id=130158
Patch by James Craig <jcraig@apple.com> on 2014-03-28
Reviewed by Timothy Hatcher.
* inspector/protocol/DOM.json: Fixed a copy/paste annoyance.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166401
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
psolanki@apple.com [Fri, 28 Mar 2014 06:24:14 +0000 (06:24 +0000)]
[iOS WebKit2] Tweak cache sizes for iOS
https://bugs.webkit.org/show_bug.cgi?id=130871
Reviewed by Sam Weinig.
Bring over the tweaks we had made to memory cache size for WebKit1 on iOS to WebKit2. These
were made per findings in <rdar://
8611638>.
* Shared/CacheModel.cpp:
(WebKit::calculateCacheSizes):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166400
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jinwoo7.song@samsung.com [Fri, 28 Mar 2014 06:21:42 +0000 (06:21 +0000)]
[WK2][EFL] Fix wrong parameter name in ewk_view_user_agent_set()
https://bugs.webkit.org/show_bug.cgi?id=130888
Reviewed by Gyuyoung Kim.
* UIProcess/API/efl/ewk_view.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166399
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 28 Mar 2014 06:00:39 +0000 (06:00 +0000)]
Web Inspector: AXI: expose selectedChildNodeIds of list boxes, tree controls, etc., and reconcile UI with childNodeIds
https://bugs.webkit.org/show_bug.cgi?id=130827
Patch by James Craig <jcraig@apple.com> on 2014-03-27
Reviewed by Timothy Hatcher.
Source/WebCore:
Test: inspector-protocol/dom/getAccessibilityPropertiesForNode.html
Support for selectedChildNodeIds in inspector-protocol: DOM.getAccessibilityPropertiesForNode.
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
* inspector/protocol/DOM.json:
Source/WebInspectorUI:
UI updates for "Selected Item(s)" and "Child(ren)" rows in accessibility node inspector.
* Localizations/en.lproj/localizedStrings.js:
* UserInterface/Models/DOMNode.js:
* UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
Websites/webkit.org:
Updated demo files with attr refresh to show off selected children changing.
Long term fix will be http://webkit.org/b/130883
* blog-files/aria1.0/combobox_with_live_region_status.html:
LayoutTests:
Tests selectedChildNodeIds in inspector-protocol: DOM.getAccessibilityPropertiesForNode.
* inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt:
* inspector-protocol/dom/getAccessibilityPropertiesForNode.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166398
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 28 Mar 2014 05:28:39 +0000 (05:28 +0000)]
Unreviewed, rolling out r166376.
https://bugs.webkit.org/show_bug.cgi?id=130887
This was a misguided optimization. (Requested by kling on
#webkit).
Reverted changeset:
"Avoid fetching JSObject::structure() repeatedly in
putDirectInternal."
https://bugs.webkit.org/show_bug.cgi?id=130857
http://trac.webkit.org/changeset/166376
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166397
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Fri, 28 Mar 2014 04:06:58 +0000 (04:06 +0000)]
<https://webkit.org/b/42704> WebKitTestRunner needs to print history delegate information
Tools:
Provide an implementation of WKContextHistoryClient that logs when called for tests in
the globalhistory directory.
Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2014-03-27
Reviewed by Sam Weinig.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::TestController):
(WTR::TestController::initialize): Set the history client.
(WTR::TestController::resetStateToConsistentValues): Disable logging of history client callbacks.
(WTR::TestController::didNavigateWithNavigationData): Log information about the navigation. Some portions
of the output are hard-coded to match WebKit1's results for now since they're fixed in our existing tests
and we don't yet have API to access the data in question.
(WTR::TestController::didPerformClientRedirect):
(WTR::TestController::didPerformServerRedirect):
(WTR::TestController::didUpdateHistoryTitle):
* WebKitTestRunner/TestController.h:
(WTR::TestController::setShouldLogHistoryClientCallbacks):
* WebKitTestRunner/TestInvocation.cpp:
(WTR::shouldLogHistoryClientCallbacks): Log history client callbacks for tests in a globalhistory directory.
(WTR::TestInvocation::invoke):
LayoutTests:
Reviewed by Sam Weinig.
* platform/wk2/TestExpectations: Enable the two layout tests that pass. One test remains disabled
due to lack of testRunner API, and another due to an apparent bug in WebKit2's handling of
client redirects.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166396
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bfulgham@apple.com [Fri, 28 Mar 2014 03:52:01 +0000 (03:52 +0000)]
Specify Shadow DOM Pseudo IDs in Media Element Constructors
https://bugs.webkit.org/show_bug.cgi?id=130882
Reviewed by Eric Carlson.
* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlPanelElement::MediaControlPanelElement): Call setPseudoId in constructor.
(WebCore::MediaControlPanelEnclosureElement::MediaControlPanelEnclosureElement): Ditto.
(WebCore::MediaControlTimelineContainerElement::MediaControlTimelineContainerElement): Ditto.
(WebCore::MediaControlVolumeSliderContainerElement::MediaControlVolumeSliderContainerElement): Ditto.
(WebCore::MediaControlStatusDisplayElement::MediaControlStatusDisplayElement): Ditto.
(WebCore::MediaControlPanelMuteButtonElement::MediaControlPanelMuteButtonElement): Ditto.
(WebCore::MediaControlVolumeSliderMuteButtonElement::MediaControlVolumeSliderMuteButtonElement): Ditto.
(WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement): Ditto.
(WebCore::MediaControlOverlayPlayButtonElement::MediaControlOverlayPlayButtonElement): Ditto.
(WebCore::MediaControlSeekForwardButtonElement::MediaControlSeekForwardButtonElement): Ditto.
(WebCore::MediaControlSeekBackButtonElement::MediaControlSeekBackButtonElement): Ditto.
(WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement): Ditto.
(WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement): Ditto.
(WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement): Ditto.
(WebCore::MediaControlClosedCaptionsContainerElement::MediaControlClosedCaptionsContainerElement): Ditto.
(WebCore::MediaControlClosedCaptionsTrackListElement::MediaControlClosedCaptionsTrackListElement): Ditto.
(WebCore::MediaControlTimelineElement::MediaControlTimelineElement): Ditto.
(WebCore::MediaControlPanelVolumeSliderElement::MediaControlPanelVolumeSliderElement): Ditto.
(WebCore::MediaControlFullscreenVolumeSliderElement::MediaControlFullscreenVolumeSliderElement): Ditto.
(WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement): Ditto.
(WebCore::MediaControlFullscreenVolumeMinButtonElement::MediaControlFullscreenVolumeMinButtonElement): Ditto.
(WebCore::MediaControlFullscreenVolumeMaxButtonElement::MediaControlFullscreenVolumeMaxButtonElement): Ditto.
(WebCore::MediaControlTimeRemainingDisplayElement::MediaControlTimeRemainingDisplayElement): Ditto.
(WebCore::MediaControlCurrentTimeDisplayElement::MediaControlCurrentTimeDisplayElement): Ditto.
(WebCore::MediaControlTextTrackContainerElement::MediaControlTextTrackContainerElement): Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166395
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
benjamin@webkit.org [Fri, 28 Mar 2014 03:50:48 +0000 (03:50 +0000)]
[iOS][WK2] Adjust the tile coverage on the scrollview's edges
https://bugs.webkit.org/show_bug.cgi?id=130884
Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-03-27
Reviewed by Dan Bernstein.
* platform/ios/ScrollViewIOS.mm:
(WebCore::ScrollView::computeCoverageRect):
Pull back the future rect inside the contentRect if it goes outside.
There is no point in retiling for rubberbanding and the extra tiles should be always be
on the opposite side to the edges.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166394
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 28 Mar 2014 02:46:06 +0000 (02:46 +0000)]
Remove unused LocaleMac::create method
https://bugs.webkit.org/show_bug.cgi?id=130870
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-03-27
Reviewed by Andreas Kling.
* platform/text/mac/LocaleMac.h:
* platform/text/mac/LocaleMac.mm:
(WebCore::LocaleMac::create): Deleted.
(WebCore::LocaleMac::shortDateFormatter): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166393
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Fri, 28 Mar 2014 01:10:25 +0000 (01:10 +0000)]
Support spread operand in |new| expressions
https://bugs.webkit.org/show_bug.cgi?id=130877
Reviewed by Michael Saboff.
Source/JavaScriptCore:
Add support for the spread operator being applied in
|new| expressions. This required adding support for
a new opcode, op_construct_varargs. This is a relatively
simple refactoring of the call_varargs implementation.
* bytecode/BytecodeList.json:
* bytecode/BytecodeUseDef.h:
(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):
* bytecode/CallLinkInfo.cpp:
(JSC::CallLinkInfo::unlink):
* bytecode/CallLinkInfo.h:
(JSC::CallLinkInfo::callTypeFor):
(JSC::CallLinkInfo::specializationKind):
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode):
(JSC::CodeBlock::CodeBlock):
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitCallVarargs):
(JSC::BytecodeGenerator::emitConstructVarargs):
(JSC::BytecodeGenerator::emitConstruct):
* bytecompiler/BytecodeGenerator.h:
* jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):
* jit/JIT.h:
* jit/JITCall.cpp:
(JSC::JIT::compileOpCall):
(JSC::JIT::compileOpCallSlowCase):
(JSC::JIT::emit_op_construct_varargs):
(JSC::JIT::emitSlow_op_construct_varargs):
* jit/JITCall32_64.cpp:
(JSC::JIT::emitSlow_op_construct_varargs):
(JSC::JIT::emit_op_construct_varargs):
(JSC::JIT::compileOpCall):
(JSC::JIT::compileOpCallSlowCase):
* jit/JITOperations.cpp:
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
* llint/LLIntSlowPaths.h:
* llint/LowLevelInterpreter.asm:
* parser/Parser.cpp:
(JSC::Parser<LexerType>::parseMemberExpression):
LayoutTests:
Correctness and performance tests for spread operands
* js/parser-syntax-check-expected.txt:
* js/regress/call-spread-expected.txt: Added.
* js/regress/call-spread.html: Added.
* js/regress/new-spread-expected.txt: Added.
* js/regress/new-spread.html: Added.
* js/regress/script-tests/call-spread.js: Added.
(testFunction):
(test2):
(test3):
* js/regress/script-tests/new-spread.js: Added.
(testFunction):
(test2):
(test3):
* js/script-tests/parser-syntax-check.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166392
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
gyuyoung.kim@samsung.com [Fri, 28 Mar 2014 01:00:35 +0000 (01:00 +0000)]
Clean up unneeded "mutable" keyword
https://bugs.webkit.org/show_bug.cgi?id=130832
Reviewed by Andreas Kling.
As r166350, this patch cleans up unneeded "mutable" keywords.
Additionally, m_validatedSelectionCache is removed because it is not used anywhere else.
* css/CSSFontFaceRule.h:
* css/CSSStyleRule.h:
* editing/FrameSelection.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166391
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Fri, 28 Mar 2014 00:51:36 +0000 (00:51 +0000)]
Revert trac.webkit.org/changeset/166386 because it broke builds.
Source/JavaScriptCore:
* Configurations/Base.xcconfig:
* Configurations/LLVMForJSC.xcconfig:
Tools:
* Scripts/build-webkit:
* Scripts/copy-webkitlibraries-to-product-directory:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166390
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Fri, 28 Mar 2014 00:48:04 +0000 (00:48 +0000)]
Unreviewed, skip this test for now.
* tests/stress/recurse-infinitely-on-getter.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166389
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Fri, 28 Mar 2014 00:36:15 +0000 (00:36 +0000)]
Confirm composition in resignFirstResponder, don't cancel it
https://bugs.webkit.org/show_bug.cgi?id=130852
Reviewed by Darin Adler.
* UIProcess/API/mac/WKView.mm: (-[WKView resignFirstResponder]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166388
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
psolanki@apple.com [Fri, 28 Mar 2014 00:27:27 +0000 (00:27 +0000)]
[iOS WebKit2] Don't pass disk cache directory path on iOS
https://bugs.webkit.org/show_bug.cgi?id=130862
Reviewed by Sam Weinig.
The diskPath passed to NSURLCache initializer is treated differently on Mac and iOS. Just
pass nil for now until we sort out the API.
* NetworkProcess/cocoa/NetworkProcessCocoa.mm:
(WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
* WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166387
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Thu, 27 Mar 2014 23:52:23 +0000 (23:52 +0000)]
Switch the LLVMForJSC target to using the LLVM in /usr/local rather than /usr/local/LLVMForJavaScriptCore on iOS
https://bugs.webkit.org/show_bug.cgi?id=130867
<rdar://problem/
16432456>
Reviewed by Mark Hahnenberg.
Source/JavaScriptCore:
* Configurations/Base.xcconfig:
* Configurations/LLVMForJSC.xcconfig:
Tools:
* Scripts/build-webkit:
* Scripts/copy-webkitlibraries-to-product-directory:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166386
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
psolanki@apple.com [Thu, 27 Mar 2014 23:46:32 +0000 (23:46 +0000)]
[iOS WebKit2] Share network process code between iOS and Mac
https://bugs.webkit.org/show_bug.cgi?id=130861
Reviewed by Sam Weinig.
Implement network process functions for iOS by moving common code from NetworkProcessMac.mm
to a new shared file NetworkProcessCocoa.mm and sharing between iOS and Mac.
* NetworkProcess/NetworkProcess.h:
* NetworkProcess/cocoa/NetworkProcessCocoa.mm: Added.
(WebKit::NetworkProcess::platformLowMemoryHandler):
(WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
Common initialization code for iOS and Mac.
(WebKit::memorySize):
(WebKit::volumeFreeSize):
(WebKit::NetworkProcess::platformSetCacheModel):
* NetworkProcess/ios/NetworkProcessIOS.mm:
(WebKit::NetworkProcess::initializeProcess):
Remove unnecessary #if PLATFORM(IOS).
(WebKit::NetworkProcess::platformInitializeNetworkProcess):
* NetworkProcess/mac/NetworkProcessMac.mm:
(WebKit::NetworkProcess::platformInitializeNetworkProcess):
* WebKit2.xcodeproj/project.pbxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166385
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
enrica@apple.com [Thu, 27 Mar 2014 23:41:46 +0000 (23:41 +0000)]
Add support for AirPlay picker in WK2 for iOS.
https://bugs.webkit.org/show_bug.cgi?id=130855
<rdar://problem/
15349859>
Source/WebCore:
Reviewed by Eric Carlson, Joseph Pecoraro and Benjamin Poulain.
Adds support in HTMLMediaSession to display the airplay picker
and to monitor presence of available wireless targets.
* html/HTMLMediaSession.cpp:
(WebCore::HTMLMediaSession::showPlaybackTargetPicker):
(WebCore::HTMLMediaSession::hasWirelessPlaybackTargets):
(WebCore::HTMLMediaSession::setHasPlaybackTargetAvailabilityListeners):
* loader/EmptyClients.h:
* page/ChromeClient.h:
* platform/audio/MediaSessionManager.cpp:
(WebCore::MediaSessionManager::wirelessRoutesAvailableChanged):
* platform/audio/MediaSessionManager.h:
(WebCore::MediaSessionManager::hasWirelessTargetsAvailable):
(WebCore::MediaSessionManager::startMonitoringAirPlayRoutes):
(WebCore::MediaSessionManager::stopMonitoringAirPlayRoutes):
* platform/audio/ios/MediaSessionManagerIOS.h:
* platform/audio/ios/MediaSessionManagerIOS.mm:
(WebCore::MediaSessionManageriOS::hasWirelessTargetsAvailable):
(WebCore::MediaSessionManageriOS::startMonitoringAirPlayRoutes):
(WebCore::MediaSessionManageriOS::stopMonitoringAirPlayRoutes):
(-[WebMediaSessionHelper initWithCallback:]):
(-[WebMediaSessionHelper hasWirelessTargetsAvailable]):
(-[WebMediaSessionHelper startMonitoringAirPlayRoutes]):
(-[WebMediaSessionHelper stopMonitoringAirPlayRoutes]):
(-[WebMediaSessionHelper wirelessRoutesAvailableDidChange:]):
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::wirelessVideoPlaybackDisabled):
(WebCore::MediaPlayerPrivateAVFoundationObjC::setWirelessVideoPlaybackDisabled):
Source/WebKit/ios:
Reviewed by Eric Carlson, Joseph Pecoraro and Benjamin Poulain.
Adds stub for new WebKit chrome client method.
* WebCoreSupport/WebChromeClientIOS.h:
* WebCoreSupport/WebChromeClientIOS.mm:
(WebChromeClientIOS::showAirPlayRoutePicker):
Source/WebKit2:
Reviewed by Joseph Pecoraro and Benjamin Poulain.
Adds support to display the airplay picker for iPhone and iPad
in WK2.
The picker on iPad is displayed next to the airplay button.
* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/ios/PageClientImplIOS.h:
* UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::showAirPlayRoutePicker):
* UIProcess/ios/WKContentViewInteraction.h:
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _showAirPlayRoutePicker:fromRect:]):
* UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::showAirPlayRoutePicker):
* UIProcess/ios/forms/WKAirPlayRoutePicker.h: Added.
* UIProcess/ios/forms/WKAirPlayRoutePicker.mm: Added.
(-[WKAirPlayRoutePicker initWithView:]):
(-[WKAirPlayRoutePicker dealloc]):
(-[WKAirPlayRoutePicker popoverControllerDidDismissPopover:]):
(-[WKAirPlayRoutePicker _presentAirPlayPopoverAnimated:fromRect:]):
(-[WKAirPlayRoutePicker _windowWillRotate:]):
(-[WKAirPlayRoutePicker _windowDidRotate:]):
(-[WKAirPlayRoutePicker _dismissAirPlayRoutePickerIPad]):
(-[WKAirPlayRoutePicker showAirPlayPickerIPad:fromRect:]):
(-[WKAirPlayRoutePicker showAirPlayPickerIPhone:]):
(-[WKAirPlayRoutePicker show:fromRect:]):
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/WebCoreSupport/WebChromeClient.h:
* WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm:
(WebKit::WebChromeClient::showAirPlayRoutePicker):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::touchEvent):
(WebKit::WebPage::touchEventSyncForTesting):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::rectForElementAtInteractionLocation):
(WebKit::WebPage::handleTap):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166384
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bjonesbe@adobe.com [Thu, 27 Mar 2014 23:40:04 +0000 (23:40 +0000)]
[CSS Shapes][css clip-path] rounded corner calculation for box shapes is wrong
https://bugs.webkit.org/show_bug.cgi?id=127982
Reviewed by Simon Fraser.
Source/WebCore:
Calculate rounded corners for box shapes as defined in the CSS Shapes
spec.
Tests: css3/masking/clip-path-border-radius-border-box-000.html
css3/masking/clip-path-border-radius-content-box-000.html
css3/masking/clip-path-border-radius-content-box-001.html
css3/masking/clip-path-border-radius-padding-box-000.html
css3/masking/clip-path-border-radius-padding-box-001.html
fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-border-box-000.html
fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-border-box-001.html
fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-border-box-002.html
fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-content-box-000.html
fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-content-box-001.html
fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-content-box-002.html
fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-content-box-003.html
fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-margin-box-000.html
fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-margin-box-001.html
fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-margin-box-002.html
fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-margin-box-003.html
fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-margin-box-004.html
fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-padding-box-000.html
fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-padding-box-001.html
fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-padding-box-002.html
fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-padding-box-003.html
* platform/graphics/RoundedRect.h:
(WebCore::RoundedRect::Radii::transposedRadii): Transpose radii for
vertical writing modes.
(WebCore::RoundedRect::moveBy): Add method for use with clip path.
(WebCore::RoundedRect::transposedRect): Transpose rect for vertical
writing modes.
* rendering/RenderBox.h:
(WebCore::RenderBox::marginBoxRect): Return the margin box rect for
the RenderBox.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::setupClipPath): Call the new function for the
rounded corner calculation.
* rendering/shapes/ShapeInfo.cpp:
(WebCore::ShapeInfo<RenderType>::computedShape): Call the new function
for the rounded corner calculation.
* rendering/shapes/BoxShape.cpp:
(WebCore::adjustRadiusForMarginBoxShape): Helper function for
computeRoundedRectForLayoutBoxShape.
(WebCore::computeMarginBoxShapeRadius): Ditto.
(WebCore::computeMarginBoxShapeRadii): Ditto.
(WebCore::computeRoundedRectForBoxShape): Utility function to do the
rounded corner calculation.
* rendering/shapes/BoxShape.h: Add new function.
* rendering/style/RenderStyle.h:
(WebCore::RenderStyle::getRoundedInnerBorderFor): Add default argument
values.
LayoutTests:
* css3/masking/clip-path-border-radius-border-box-000-expected.html: Added.
* css3/masking/clip-path-border-radius-border-box-000.html: Added.
* css3/masking/clip-path-border-radius-content-box-000-expected.html: Added.
* css3/masking/clip-path-border-radius-content-box-000.html: Added.
* css3/masking/clip-path-border-radius-content-box-001-expected.html: Added.
* css3/masking/clip-path-border-radius-content-box-001.html: Added.
* css3/masking/clip-path-border-radius-padding-box-000-expected.html: Added.
* css3/masking/clip-path-border-radius-padding-box-000.html: Added.
* css3/masking/clip-path-border-radius-padding-box-001-expected.html: Added.
* css3/masking/clip-path-border-radius-padding-box-001.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-border-box-000-expected.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-border-box-000.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-border-box-001-expected.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-border-box-001.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-border-box-002-expected.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-border-box-002.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-content-box-000-expected.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-content-box-000.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-content-box-001-expected.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-content-box-001.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-content-box-002-expected.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-content-box-002.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-content-box-003-expected.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-content-box-003.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-margin-box-000-expected.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-margin-box-000.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-margin-box-001-expected.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-margin-box-001.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-margin-box-002-expected.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-margin-box-002.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-margin-box-003-expected.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-margin-box-003.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-margin-box-004-expected.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-margin-box-004.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-padding-box-000-expected.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-padding-box-000.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-padding-box-001-expected.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-padding-box-001.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-padding-box-002-expected.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-padding-box-002.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-padding-box-003-expected.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-border-radius-padding-box-003.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166383
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
benjamin@webkit.org [Thu, 27 Mar 2014 23:37:37 +0000 (23:37 +0000)]
[WK2][iOS] <rdar://problem/
16414684> WKWebView should draw a white background before the page loads
https://bugs.webkit.org/show_bug.cgi?id=130873
Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-03-27
Reviewed by Simon Fraser.
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView initWithFrame:configuration:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166382
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 27 Mar 2014 23:23:37 +0000 (23:23 +0000)]
Unreviewed, rolling out r166364.
https://bugs.webkit.org/show_bug.cgi?id=130872
Caused a test assertion (Requested by smfr on #webkit).
Reverted changeset:
"Operator stretching: expose a math data API"
https://bugs.webkit.org/show_bug.cgi?id=130572
http://trac.webkit.org/changeset/166364
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166381
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
benjamin@webkit.org [Thu, 27 Mar 2014 23:22:55 +0000 (23:22 +0000)]
[iOS][WK2] Compute a good exposed rect when scaling WKContentView
https://bugs.webkit.org/show_bug.cgi?id=130761
Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-03-27
Reviewed by Simon Fraser.
Source/WebCore:
* WebCore.exp.in:
* platform/ScrollView.h:
* platform/ios/ScrollViewIOS.mm:
(WebCore::ScrollView::setScrollVelocity):
(WebCore::ScrollView::computeCoverageRect):
While scaling in, do not add margins tiles. When scaling out, add 1 margin tile size
all around.
Source/WebKit2:
Add a simple heuristic to improve tiling while zooming. In theory we could take the zoom
center and scaleRate to split the speed between scrolling and pinching. In practice,
zoom is transitory and is not as predictable as scrolling, so this patch just does a very
simple heuristic:
-When zooming in, do not expand coverage.
-When zooming out, add half a tile size on every side.
* Shared/VisibleContentRectUpdateInfo.cpp:
(WebKit::VisibleContentRectUpdateInfo::encode):
(WebKit::VisibleContentRectUpdateInfo::decode):
* Shared/VisibleContentRectUpdateInfo.h:
(WebKit::VisibleContentRectUpdateInfo::VisibleContentRectUpdateInfo):
(WebKit::VisibleContentRectUpdateInfo::timestamp):
(WebKit::VisibleContentRectUpdateInfo::horizontalVelocity):
(WebKit::VisibleContentRectUpdateInfo::verticalVelocity):
(WebKit::VisibleContentRectUpdateInfo::scaleChangeRate):
* UIProcess/ios/WKContentView.mm:
(WebKit::HistoricalVelocityData::VelocityData::VelocityData):
(WebKit::HistoricalVelocityData::velocityForNewData):
(WebKit::HistoricalVelocityData::append):
(-[WKContentView didUpdateVisibleRect:unobscuredRect:scale:inStableState:]):
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::adjustExposedRectForBoundedScale):
When zooming past the maximum size, adjust the exposed rect to continue tiling the area
at maximum size. Otherwise, we tile a tiny area, and have to retile larger when the animation
pull back the view to maximum scale.
(WebKit::adjustVelocityDataForBoundedScale):
Since we do not split the velocity from scrolling from the scaling, just clear the velocity when zooming.
Also clear the scaleChangeRate when the scale is out of bounds. There is no reason to add tiles for
temporary state.
(WebKit::WebPage::updateVisibleContentRects):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166380
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Thu, 27 Mar 2014 22:59:07 +0000 (22:59 +0000)]
Add _ prefix to WKRemoteObjectRegistery and WKRemoteObjectInterface
https://bugs.webkit.org/show_bug.cgi?id=130868
Reviewed by Sam Weinig.
* Shared/API/Cocoa/RemoteObjectRegistry.h:
* Shared/API/Cocoa/RemoteObjectRegistry.mm:
(WebKit::RemoteObjectRegistry::RemoteObjectRegistry):
* Shared/API/Cocoa/WKRemoteObject.h:
* Shared/API/Cocoa/WKRemoteObject.mm:
(-[WKRemoteObject _initWithObjectRegistry:interface:]):
* Shared/API/Cocoa/WKRemoteObjectCoder.h:
* Shared/API/Cocoa/WKRemoteObjectCoder.mm:
(-[WKRemoteObjectDecoder initWithInterface:rootObjectDictionary:WebKit::]):
* Shared/API/Cocoa/WKRemoteObjectInterface.h:
* Shared/API/Cocoa/WKRemoteObjectInterface.mm:
(isContainerClass): Deleted.
(propertyListClasses): Deleted.
(allowedArgumentClassesForMethod): Deleted.
(initializeAllowedArgumentClasses): Deleted.
(-[WKRemoteObjectInterface initWithProtocol:identifier:]): Deleted.
(+[WKRemoteObjectInterface remoteObjectInterfaceWithProtocol:]): Deleted.
(-[WKRemoteObjectInterface description]): Deleted.
(classesForSelectorArgument): Deleted.
(-[WKRemoteObjectInterface classesForSelector:argumentIndex:]): Deleted.
(-[WKRemoteObjectInterface setClasses:forSelector:argumentIndex:]): Deleted.
(methodArgumentTypeEncodingForSelector): Deleted.
(-[WKRemoteObjectInterface _methodSignatureForSelector:]): Deleted.
(-[WKRemoteObjectInterface _allowedArgumentClassesForSelector:]): Deleted.
* Shared/API/Cocoa/WKRemoteObjectRegistry.h:
* Shared/API/Cocoa/WKRemoteObjectRegistry.mm:
(-[WKRemoteObjectRegistry registerExportedObject:interface:]): Deleted.
(-[WKRemoteObjectRegistry unregisterExportedObject:interface:]): Deleted.
(-[WKRemoteObjectRegistry remoteObjectProxyWithInterface:]): Deleted.
(-[WKRemoteObjectRegistry _initWithMessageSender:IPC::]): Deleted.
(-[WKRemoteObjectRegistry _invalidate]): Deleted.
(-[WKRemoteObjectRegistry _sendInvocation:interface:]): Deleted.
(-[WKRemoteObjectRegistry WebKit::]): Deleted.
(-[WKRemoteObjectRegistry _invokeMethod:]): Deleted.
(-[WKRemoteObjectRegistry _invokeMessageWithInterfaceIdentifier:encodedInvocation:]): Deleted.
* Shared/API/Cocoa/_WKRemoteObjectInterface.h: Copied from Source/WebKit2/Shared/API/Cocoa/WKRemoteObjectInterface.h.
* Shared/API/Cocoa/_WKRemoteObjectInterface.mm: Copied from Source/WebKit2/Shared/API/Cocoa/WKRemoteObjectInterface.mm.
(isContainerClass):
(propertyListClasses):
(allowedArgumentClassesForMethod):
(initializeAllowedArgumentClasses):
(-[_WKRemoteObjectInterface initWithProtocol:identifier:]):
(+[_WKRemoteObjectInterface remoteObjectInterfaceWithProtocol:]):
(-[_WKRemoteObjectInterface description]):
(classesForSelectorArgument):
(-[_WKRemoteObjectInterface classesForSelector:argumentIndex:]):
(-[_WKRemoteObjectInterface setClasses:forSelector:argumentIndex:]):
(methodArgumentTypeEncodingForSelector):
(-[_WKRemoteObjectInterface _methodSignatureForSelector:]):
(-[_WKRemoteObjectInterface _allowedArgumentClassesForSelector:]):
* Shared/API/Cocoa/_WKRemoteObjectInterfaceInternal.h: Renamed from Source/WebKit2/Shared/API/Cocoa/WKRemoteObjectInterfaceInternal.h.
* Shared/API/Cocoa/_WKRemoteObjectRegistry.h: Copied from Source/WebKit2/Shared/API/Cocoa/WKRemoteObjectRegistry.h.
* Shared/API/Cocoa/_WKRemoteObjectRegistry.mm: Copied from Source/WebKit2/Shared/API/Cocoa/WKRemoteObjectRegistry.mm.
(-[_WKRemoteObjectRegistry registerExportedObject:interface:]):
(-[_WKRemoteObjectRegistry unregisterExportedObject:interface:]):
(-[_WKRemoteObjectRegistry remoteObjectProxyWithInterface:]):
(-[_WKRemoteObjectRegistry _initWithMessageSender:IPC::]):
(-[_WKRemoteObjectRegistry _invalidate]):
(-[_WKRemoteObjectRegistry _sendInvocation:interface:]):
(-[_WKRemoteObjectRegistry WebKit::]):
(-[_WKRemoteObjectRegistry _invokeMethod:]):
(-[_WKRemoteObjectRegistry _invokeMessageWithInterfaceIdentifier:encodedInvocation:]):
* Shared/API/Cocoa/_WKRemoteObjectRegistryInternal.h: Renamed from Source/WebKit2/Shared/API/Cocoa/WKRemoteObjectRegistryInternal.h.
* UIProcess/API/Cocoa/WKBrowsingContextController.mm:
(-[WKBrowsingContextController _remoteObjectRegistry]):
(-[WKBrowsingContextController remoteObjectRegistry]): Deleted.
* UIProcess/API/Cocoa/WKBrowsingContextControllerPrivate.h:
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _remoteObjectRegistry]):
* UIProcess/API/Cocoa/WKWebViewPrivate.h:
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInBrowserContextControllerToBeRemoved.mm: Copied from Source/WebKit2/Shared/API/Cocoa/WKRemoteObject.h.
(-[WKWebProcessPlugInBrowserContextController remoteObjectRegistry]):
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
(-[WKWebProcessPlugInBrowserContextController _remoteObjectRegistry]):
(-[WKWebProcessPlugInBrowserContextController remoteObjectRegistry]): Deleted.
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerPrivate.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166379
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 27 Mar 2014 22:49:16 +0000 (22:49 +0000)]
Unreviewed, rolling out r166360.
https://bugs.webkit.org/show_bug.cgi?id=130869
Seems to have broken PLT (Requested by ap on #webkit).
Reverted changeset:
Source/WebCore:
"Connection::dispatchOneMessage() can be re-entered while
handling Cmd-key menu"
https://bugs.webkit.org/show_bug.cgi?id=130767
http://trac.webkit.org/changeset/166360
Source/WebKit/mac:
"Connection::dispatchOneMessage() can be re-entered while
handling Cmd-key menu"
https://bugs.webkit.org/show_bug.cgi?id=130767
http://trac.webkit.org/changeset/166360
Source/WebKit2:
"Connection::dispatchOneMessage() can be re-entered while
handling Cmd-key menu"
https://bugs.webkit.org/show_bug.cgi?id=130767
http://trac.webkit.org/changeset/166360
Source/WTF:
"Connection::dispatchOneMessage() can be re-entered while
handling Cmd-key menu"
https://bugs.webkit.org/show_bug.cgi?id=130767
http://trac.webkit.org/changeset/166360
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166378
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti@apple.com [Thu, 27 Mar 2014 22:47:15 +0000 (22:47 +0000)]
Remove LiveNodeList::Type
https://bugs.webkit.org/show_bug.cgi?id=130866
Reviewed by Andreas Kling.
We don't need dynamic type information anymore.
* dom/ClassNodeList.cpp:
(WebCore::ClassNodeList::ClassNodeList):
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::getElementsByTagName):
(WebCore::ContainerNode::getElementsByName):
(WebCore::ContainerNode::getElementsByClassName):
(WebCore::ContainerNode::radioNodeList):
* dom/LiveNodeList.cpp:
(WebCore::LiveNodeList::LiveNodeList):
* dom/LiveNodeList.h:
(WebCore::LiveNodeList::invalidationType):
(WebCore::CachedLiveNodeList<NodeListType>::CachedLiveNodeList):
(WebCore::LiveNodeList::type): Deleted.
* dom/NameNodeList.cpp:
(WebCore::NameNodeList::NameNodeList):
(WebCore::NameNodeList::nodeMatches): Deleted.
* dom/NameNodeList.h:
(WebCore::NameNodeList::nodeMatches):
* dom/NodeRareData.h:
(WebCore::NodeListTypeIdentifier<ClassNodeList>::value):
(WebCore::NodeListTypeIdentifier<NameNodeList>::value):
(WebCore::NodeListTypeIdentifier<TagNodeList>::value):
(WebCore::NodeListTypeIdentifier<HTMLTagNodeList>::value):
(WebCore::NodeListTypeIdentifier<RadioNodeList>::value):
(WebCore::NodeListTypeIdentifier<LabelsNodeList>::value):
Get unique id from type for key generation purposes only.
(WebCore::NodeListsNodeData::addCacheWithAtomicName):
(WebCore::NodeListsNodeData::addCacheWithName):
(WebCore::NodeListsNodeData::removeCacheWithAtomicName):
(WebCore::NodeListsNodeData::removeCacheWithName):
(WebCore::NodeListsNodeData::namedNodeListKey):
* dom/TagNodeList.cpp:
(WebCore::TagNodeList::TagNodeList):
(WebCore::HTMLTagNodeList::HTMLTagNodeList):
* dom/TagNodeList.h:
* html/LabelableElement.cpp:
(WebCore::LabelableElement::labels):
* html/LabelsNodeList.cpp:
(WebCore::LabelsNodeList::LabelsNodeList):
* html/LabelsNodeList.h:
* html/RadioNodeList.cpp:
(WebCore::RadioNodeList::RadioNodeList):
* html/RadioNodeList.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166377
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Thu, 27 Mar 2014 22:39:00 +0000 (22:39 +0000)]
Avoid fetching JSObject::structure() repeatedly in putDirectInternal.
<https://webkit.org/b/130857>
Use the cached Structure* instead of re-fetching it over and over since
that's a non-trivial operation these days.
Reviewed by Mark Hahnenberg.
* runtime/JSObject.h:
(JSC::JSObject::putDirectInternal):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166376
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mhahnenberg@apple.com [Thu, 27 Mar 2014 22:34:23 +0000 (22:34 +0000)]
Check the remembered set bit faster
https://bugs.webkit.org/show_bug.cgi?id=130860
Reviewed by Oliver Hunt.
Currently we look up the remembered set bit in the MarkedBlock in C++ code, but
that bit is also stored in the object. We should look it up there whenever possible.
* heap/CopiedBlockInlines.h:
(JSC::CopiedBlock::shouldReportLiveBytes):
* heap/Heap.cpp:
(JSC::Heap::addToRememberedSet):
* heap/Heap.h:
* heap/HeapInlines.h: Removed.
* heap/SlotVisitorInlines.h:
(JSC::SlotVisitor::reportExtraMemoryUsage):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166375
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Thu, 27 Mar 2014 22:30:53 +0000 (22:30 +0000)]
Support dynamic layer hosting context changes
<rdar://problem/
16278019>
https://bugs.webkit.org/show_bug.cgi?id=130863
Reviewed by Anders Carlsson.
* UIProcess/API/mac/WKView.mm:
(-[WKView addWindowObserversForWindow:]):
(-[WKView removeWindowObservers]):
(-[WKView _windowDidChangeLayerHosting:]):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::layerHostingModeDidChange):
* UIProcess/WebPageProxy.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166374
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Thu, 27 Mar 2014 22:28:04 +0000 (22:28 +0000)]
Don't leak the WKBrowsingContextController
https://bugs.webkit.org/show_bug.cgi?id=130815
Reviewed by Tim Horton.
Use adoptNS to avoid leaking the WKBrowsingContextController.
* UIProcess/ios/WKContentView.mm:
(-[WKContentView browsingContextController]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166373
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Thu, 27 Mar 2014 22:28:02 +0000 (22:28 +0000)]
Fix crash when RenderView is cleared inside of frame flattening layout
https://bugs.webkit.org/show_bug.cgi?id=130864
Reviewed by Dan Bernstein.
Navigating on http://wallstcheatsheet.com pages on iOS in WebKit1 would
sometimes crash when, inside the inChildFrameLayoutWithFrameFlattening clause,
our frame's RenderView would be null after doing a layout from the root frame,
possibly also when WebCore was being re-entered from another thread.
Add a null check to fix this.
Crash was timing-dependent and hard to test.
* page/FrameView.cpp:
(WebCore::FrameView::layout):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166372
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
joepeck@webkit.org [Thu, 27 Mar 2014 22:00:46 +0000 (22:00 +0000)]
Web Inspector: Give WebProcess a proxy application entitlement
https://bugs.webkit.org/show_bug.cgi?id=130806
Reviewed by Timothy Hatcher.
* Configurations/WebContent-iOS.entitlements:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166371
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Thu, 27 Mar 2014 21:21:14 +0000 (21:21 +0000)]
Add reload and reloadFromOrigin as API
https://bugs.webkit.org/show_bug.cgi?id=130858
Reviewed by Simon Fraser.
* UIProcess/API/Cocoa/WKWebView.h:
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView reload]):
(-[WKWebView reloadFromOrigin]):
(-[WKWebView validateUserInterfaceItem:]):
(-[WKWebView reload:]):
(-[WKWebView reloadFromOrigin:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166370
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti@apple.com [Thu, 27 Mar 2014 20:49:27 +0000 (20:49 +0000)]
Remove some unnecessary branches from LiveNodeList traversal
https://bugs.webkit.org/show_bug.cgi?id=130854
Reviewed by Andreas Kling.
Compile different traversal code paths for all NodeList subclasses.
* dom/ClassNodeList.cpp:
(WebCore::ClassNodeList::ClassNodeList):
(WebCore::ClassNodeList::~ClassNodeList):
(WebCore::ClassNodeList::nodeMatches): Deleted.
* dom/ClassNodeList.h:
(WebCore::ClassNodeList::nodeMatches):
(WebCore::ClassNodeList::nodeMatchesInlined): Deleted.
Remove separate nodeMatchesInlined functions.
We now rely on exact types and marking classes final.
* dom/LiveNodeList.cpp:
(WebCore::LiveNodeList::LiveNodeList):
(WebCore::LiveNodeList::~LiveNodeList):
(WebCore::LiveNodeList::namedItem):
(WebCore::LiveNodeList::rootNode): Deleted.
(WebCore::isMatchingElement): Deleted.
(WebCore::firstMatchingElement): Deleted.
(WebCore::lastMatchingElement): Deleted.
(WebCore::nextMatchingElement): Deleted.
(WebCore::previousMatchingElement): Deleted.
(WebCore::traverseMatchingElementsForward): Deleted.
(WebCore::traverseMatchingElementsBackward): Deleted.
(WebCore::LiveNodeList::collectionFirst): Deleted.
(WebCore::LiveNodeList::collectionLast): Deleted.
(WebCore::LiveNodeList::collectionTraverseForward): Deleted.
(WebCore::LiveNodeList::collectionTraverseBackward): Deleted.
(WebCore::LiveNodeList::length): Deleted.
(WebCore::LiveNodeList::item): Deleted.
(WebCore::LiveNodeList::memoryCost): Deleted.
(WebCore::LiveNodeList::invalidateCache): Deleted.
* dom/LiveNodeList.h:
(WebCore::LiveNodeList::invalidateCacheForAttribute):
(WebCore::CachedLiveNodeList::collectionCanTraverseBackward):
(WebCore::LiveNodeList::rootNode):
(WebCore::CachedLiveNodeList<NodeListType>::CachedLiveNodeList):
Add CachedLiveNodeList<NodeListType> utility type that interfaces with CollectionIndexCache.
It is the base class for all concrete LiveNodeLists.
(WebCore::CachedLiveNodeList<NodeListType>::~CachedLiveNodeList):
(WebCore::CachedLiveNodeList<NodeListType>::collectionFirst):
(WebCore::CachedLiveNodeList<NodeListType>::collectionLast):
(WebCore::nextMatchingElement):
(WebCore::CachedLiveNodeList<NodeListType>::collectionTraverseForward):
(WebCore::previousMatchingElement):
(WebCore::CachedLiveNodeList<NodeListType>::collectionTraverseBackward):
(WebCore::CachedLiveNodeList<NodeListType>::willValidateIndexCache):
(WebCore::CachedLiveNodeList<NodeListType>::invalidateCache):
(WebCore::CachedLiveNodeList<NodeListType>::length):
(WebCore::CachedLiveNodeList<NodeListType>::item):
(WebCore::CachedLiveNodeList<NodeListType>::memoryCost):
Templated code moves to header.
(WebCore::LiveNodeList::LiveNodeList): Deleted.
(WebCore::LiveNodeList::~LiveNodeList): Deleted.
(WebCore::LiveNodeList::invalidateCache): Deleted.
(WebCore::LiveNodeList::collectionCanTraverseBackward): Deleted.
(WebCore::LiveNodeList::willValidateIndexCache): Deleted.
* dom/NameNodeList.cpp:
(WebCore::NameNodeList::NameNodeList):
* dom/NameNodeList.h:
* dom/Node.cpp:
(WebCore::Document::invalidateNodeListAndCollectionCaches):
(WebCore::NodeListsNodeData::invalidateCaches):
* dom/TagNodeList.cpp:
(WebCore::TagNodeList::TagNodeList):
(WebCore::HTMLTagNodeList::HTMLTagNodeList):
(WebCore::HTMLTagNodeList::~HTMLTagNodeList):
(WebCore::TagNodeList::nodeMatches): Deleted.
(WebCore::HTMLTagNodeList::nodeMatches): Deleted.
* dom/TagNodeList.h:
(WebCore::TagNodeList::nodeMatches):
(WebCore::HTMLTagNodeList::nodeMatches):
(WebCore::TagNodeList::create): Deleted.
(WebCore::HTMLTagNodeList::nodeMatchesInlined): Deleted.
* html/LabelsNodeList.cpp:
(WebCore::LabelsNodeList::LabelsNodeList):
* html/LabelsNodeList.h:
* html/RadioNodeList.cpp:
(WebCore::RadioNodeList::RadioNodeList):
* html/RadioNodeList.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166369
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cavalcantii@gmail.com [Thu, 27 Mar 2014 20:07:36 +0000 (20:07 +0000)]
Remove comment from Filter.h
https://bugs.webkit.org/show_bug.cgi?id=130848
Reviewed by Simon Fraser.
Exploring the use of consts on applyScale() methods didn't yield
good results.
No new tests, no change on behavior.
* platform/graphics/filters/Filter.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166368
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 27 Mar 2014 20:01:34 +0000 (20:01 +0000)]
Web Inspector: Provide SPI to disallow remote inspection of a JSContext
https://bugs.webkit.org/show_bug.cgi?id=130853
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-03-27
Reviewed by Timothy Hatcher.
* API/JSContextPrivate.h: Added.
* API/JSContext.mm:
(-[JSContext _remoteInspectionEnabled]):
(-[JSContext _setRemoteInspectionEnabled:]):
ObjC SPI to enable/disable remote inspection.
* API/JSContextRefPrivate.h:
* API/JSContextRef.cpp:
(JSGlobalContextGetRemoteInspectionEnabled):
(JSGlobalContextSetRemoteInspectionEnabled):
C SPI to enable/disable remote inspection.
* JavaScriptCore.xcodeproj/project.pbxproj:
Add new private header, and export as a private header.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166367
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mhahnenberg@apple.com [Thu, 27 Mar 2014 19:19:28 +0000 (19:19 +0000)]
Clean up questionable style in ScriptExecutable::prepareForExecutionImpl
https://bugs.webkit.org/show_bug.cgi?id=130845
Reviewed by Filip Pizlo.
There was a hack added to make sure C Loop LLInt worked which included overriding the
global Options::useLLInt setting, which makes no sense to do here. We should put the
update of the global setting in Options::recomputeDependentOptions along with the other
execution engine flags.
* runtime/Executable.cpp:
(JSC::ScriptExecutable::prepareForExecutionImpl):
* runtime/Options.cpp:
(JSC::recomputeDependentOptions):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166366
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
graouts@webkit.org [Thu, 27 Mar 2014 18:32:20 +0000 (18:32 +0000)]
Web Inspector: clearing the console log doesn't update the activity viewer
https://bugs.webkit.org/show_bug.cgi?id=130774
Reviewed by Joseph Pecoraro.
Ensure we take the changes made to the ivars into account on the view.
* UserInterface/Models/DefaultDashboard.js:
(WebInspector.DefaultDashboard.prototype._consoleWasCleared):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166365
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fred.wang@free.fr [Thu, 27 Mar 2014 18:06:21 +0000 (18:06 +0000)]
Operator stretching: expose a math data API
https://bugs.webkit.org/show_bug.cgi?id=130572
Reviewed by Chris Fleizach.
We expose a new SimpleFontData API to give access to the data from the
OpenType MATH table using a font cache. The class OpenTypeMathData will
be implemented in bug 130324. On Darwin platform, we also implement the
missing FontPlatformData::openTypeTable function which will be necessary
to load the OpenType MATH table. The changes are intended to be used
for MathML operator stretching (bug 130322) so tests are not added yet.
* CMakeLists.txt: add new OpenTypeMathData files.
* WebCore.vcxproj/WebCore.vcxproj: ditto.
* WebCore.vcxproj/WebCore.vcxproj.filters: ditto.
* WebCore.xcodeproj/project.pbxproj: ditto.
* platform/graphics/FontCache.cpp: We add a FontCache::getMathData function to implement a cache for the math data.
We make the math and vertical data share the same key for the cache.
(WebCore::fontMathDataCacheInstance):
(WebCore::FontCache::getMathData):
(WebCore::fontVerticalDataCacheInstance):
* platform/graphics/FontCache.h: We declare FontCache::getMathData and FontFileKey on all platforms.
* platform/graphics/FontPlatformData.cpp:
(WebCore::FontPlatformData::openTypeTable): We implement openTypeTable() on Darwin platform.
* platform/graphics/FontPlatformData.h: We expose openTypeTable() on Darwin platform.
* platform/graphics/SimpleFontData.cpp: We initialize m_mathData from the font cache.
(WebCore::SimpleFontData::SimpleFontData):
* platform/graphics/SimpleFontData.h: We expose a mathData() function to access the MATH data.
* platform/graphics/opentype/OpenTypeMathData.cpp: Added. This is a new class that will be used to parse the data from the OpenType MATH table.
(WebCore::OpenTypeMathData::OpenTypeMathData):
* platform/graphics/opentype/OpenTypeMathData.h: Added.
(WebCore::OpenTypeMathData::create):
(WebCore::OpenTypeMathData::hasMathData):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166364
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bfulgham@apple.com [Thu, 27 Mar 2014 17:51:38 +0000 (17:51 +0000)]
[Win] Correct handling of autogenerated WebInspectorUI files
https://bugs.webkit.org/show_bug.cgi?id=130846
Reviewed by Joseph Pecoraro.
* WebInspectorUI.vcxproj/WebInspectorUIPostBuild.cmd: Files need to be placed in the
'Protocol' subdirectory of the WebInspectorUI directory.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166363
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bfulgham@apple.com [Thu, 27 Mar 2014 17:50:53 +0000 (17:50 +0000)]
Fix a crash caused by track insertion after load()
https://bugs.webkit.org/show_bug.cgi?id=130777
Reviewed by Eric Carlson.
Test: media/track/track-insert-after-load-crash.html
Based on the Blink change (patch by acolwell@chromium.org):
https://codereview.chromium.org/
211373009/
Source/WebCore:
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::parseAttribute): Remove stale LoadMediaResource flag after explicit load.
LayoutTests:
* media/track/track-insert-after-load-crash-expected.txt: Added.
* media/track/track-insert-after-load-crash.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166362
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Thu, 27 Mar 2014 17:42:48 +0000 (17:42 +0000)]
Rename WKFrameHandle to _WKFrameHandle
https://bugs.webkit.org/show_bug.cgi?id=130847
Reviewed by Tim Horton.
* Shared/API/Cocoa/_WKFrameHandle.h: Renamed from Source/WebKit2/Shared/API/Cocoa/WKFrameHandle.h.
* Shared/API/Cocoa/_WKFrameHandle.mm: Renamed from Source/WebKit2/Shared/API/Cocoa/WKFrameHandle.mm.
(-[_WKFrameHandle dealloc]):
(-[_WKFrameHandle isEqual:]):
(-[_WKFrameHandle hash]):
(-[_WKFrameHandle _frameID]):
(-[_WKFrameHandle copyWithZone:]):
(+[_WKFrameHandle supportsSecureCoding]):
(-[_WKFrameHandle initWithCoder:]):
(-[_WKFrameHandle encodeWithCoder:]):
(-[_WKFrameHandle API::]):
* Shared/API/Cocoa/_WKFrameHandleInternal.h: Renamed from Source/WebKit2/Shared/API/Cocoa/WKFrameHandleInternal.h.
(WebKit::wrapper):
* Shared/Cocoa/APIObject.mm:
(API::Object::newObject):
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.h:
* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.mm:
(+[WKWebProcessPlugInFrame lookUpFrameFromHandle:]):
(-[WKWebProcessPlugInFrame handle]):
* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFramePrivate.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166361
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Thu, 27 Mar 2014 16:47:58 +0000 (16:47 +0000)]
Connection::dispatchOneMessage() can be re-entered while handling Cmd-key menu
equivalents, ASSERT(!_data->_keyDownEventBeingResent)
https://bugs.webkit.org/show_bug.cgi?id=130767
<rdar://problem/
16307487>
Source/WebCore:
Added a wrapper for RunLoop::initializeMainThread that also adds modal run loop
mode to it on Mac.
* CMakeLists.txt:
* WebCore.exp.in:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* platform/MainRunLoop.cpp: Added.
(WebCore::initializeMainRunLoop):
* platform/MainRunLoop.h: Added.
* platform/mac/MainRunLoop.mm: Added.
(WebCore::initializeMainRunLoop):
Source/WebKit/mac:
Reviewed by Darin Adler.
Switched to a WebCore wrapper for RunLoop::initializeMainRunLoop that adds
NSModalPanelRunLoopMode to RunLoop event source and timer modes.
* Carbon/CarbonWindowAdapter.mm: (+[CarbonWindowAdapter initialize]):
* History/WebBackForwardList.mm: (+[WebBackForwardList initialize]):
* History/WebHistoryItem.mm: (+[WebHistoryItem initialize]):
* Misc/WebCache.mm: (+[WebCache initialize]):
* Misc/WebElementDictionary.mm: (+[WebElementDictionary initialize]):
* Misc/WebIconDatabase.mm: (+[WebIconDatabase initialize]):
* Plugins/Hosted/WebHostedNetscapePluginView.mm: (+[WebHostedNetscapePluginView initialize]):
* Plugins/WebBaseNetscapePluginView.mm:
* Plugins/WebBasePluginPackage.mm:
* Plugins/WebNetscapePluginView.mm: (+[WebNetscapePluginView initialize]):
* WebCoreSupport/WebEditorClient.mm: (+[WebUndoStep initialize]):
* WebCoreSupport/WebFrameLoaderClient.mm:
* WebView/WebArchive.mm: (+[WebArchivePrivate initialize]):
* WebView/WebDataSource.mm: (+[WebDataSource initialize]):
* WebView/WebHTMLView.mm:
(+[WebHTMLViewPrivate initialize]):
(+[WebHTMLView initialize]):
* WebView/WebPreferences.mm: (+[WebPreferences initialize]):
* WebView/WebResource.mm: (+[WebResourcePrivate initialize]):
* WebView/WebTextIterator.mm: (+[WebTextIteratorPrivate initialize]):
* WebView/WebView.mm: (+[WebView initialize]):
* WebView/WebViewData.mm: (+[WebViewPrivate initialize]):
Source/WebKit2:
Reviewed by Darin Adler.
* Shared/WebKit2Initialize.cpp: (WebKit::InitializeWebKit2): Added NSModalPanelRunLoopMode
to RunLoop event source and timer modes.
Source/WTF:
Reviewed by Darin Adler.
Changed RunLoop to wake up and fire timers only in default run loop mode by default,
and added an ability to add more modes (can't use AppKit symbols in WTF).
In addition to this bug, the change also blocks modal alerts from appearing under
menus during menu tracking.
* wtf/RunLoop.h:
* wtf/cf/RunLoopCF.cpp:
(WTF::RunLoop::RunLoop):
(WTF::RunLoop::addModeForWakeUpAndTimers):
(WTF::RunLoop::TimerBase::start):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166360
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Thu, 27 Mar 2014 16:43:19 +0000 (16:43 +0000)]
Enable LLVM stackmap liveOuts computation
https://bugs.webkit.org/show_bug.cgi?id=130821
Reviewed by Andy Estes and Sam Weinig.
* ftl/FTLStackMaps.cpp:
(JSC::FTL::StackMaps::Record::dump):
* llvm/library/LLVMExports.cpp:
(initializeAndGetJSCLLVMAPI):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166359
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
k.czech@samsung.com [Thu, 27 Mar 2014 15:18:38 +0000 (15:18 +0000)]
AX: Returns const reference to static string.
https://bugs.webkit.org/show_bug.cgi?id=130835
Reviewed by Mario Sanchez Prada.
Avoiding some unnecessary copies by returning const reference to static string.
No new tests. No behaviour change.
* accessibility/AccessibilityMediaControls.cpp:
(WebCore::AccessibilityMediaControl::controlTypeName):
(WebCore::AccessibilityMediaControlsContainer::elementTypeName):
* accessibility/AccessibilityMediaControls.h:
Change-Id: I05357d107c0df944a65c7fb97c8bbdec549202c4
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166358
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jaepark@webkit.org [Thu, 27 Mar 2014 15:11:43 +0000 (15:11 +0000)]
Remove LayerTreeContextCairo.cpp
https://bugs.webkit.org/show_bug.cgi?id=130807
Reviewed by Martin Robinson.
* Shared/cairo/LayerTreeContextCairo.cpp: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166357
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rego@igalia.com [Thu, 27 Mar 2014 14:39:38 +0000 (14:39 +0000)]
[CSS Grid Layout] Remove unused variable in fast/css-grid-layout/implicit-position-dynamic-change.html
https://bugs.webkit.org/show_bug.cgi?id=130833
Reviewed by Sergio Villar Senin.
* fast/css-grid-layout/implicit-position-dynamic-change.html: Inside
method updateImplicitGridColumn() we define a variable gridItem that
is not used. This patch removes it.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166356
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 27 Mar 2014 11:33:07 +0000 (11:33 +0000)]
[EFL][WK2] Add tests of the set process model API
https://bugs.webkit.org/show_bug.cgi?id=130830
Patch by Maciej Florek <m.florek@samsung.com> on 2014-03-27
Reviewed by Gyuyoung Kim.
Implement unit tests to check, if process model API works
properly. When process model is set to EWK_PROCESS_MODEL_SHARED_SECONDARY,
there should be only one WebProcess. In case of EWK_PROCESS_MODEL_MULTIPLE_SECONDARY
setting, each WebView should have own process, as well as the network process
should exist.
* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
(EWK2UnitTest::EWK2UnitTestBase::EWK2UnitTestBase):
(EWK2UnitTest::EWK2UnitTestBase::SetUp):
* UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
* UIProcess/API/efl/tests/test_ewk2_context.cpp:
(EWK2ContextTestMultipleProcesses::EWK2ContextTestMultipleProcesses):
(TEST_F):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166355
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mihnea@adobe.com [Thu, 27 Mar 2014 09:45:30 +0000 (09:45 +0000)]
[CSSRegions] Rename inNamedFlow flag to isNamedFlowContentNode flag
https://bugs.webkit.org/show_bug.cgi?id=130731
Reviewed by Andrei Bucur.
Currently, the inNamedFlow flag in Node class tells if a node is a content node, one that has a style with flow-into.
Since it is used only for those nodes and not propagated through hierarchy, i want to renamed it to a more meaningful name.
No new functionality, no new tests.
* dom/ContainerNode.cpp:
(WebCore::destroyRenderTreeIfNeeded):
* dom/Element.cpp:
(WebCore::Element::~Element):
(WebCore::Element::unregisterNamedFlowContentElement):
* dom/Node.h:
(WebCore::Node::isNamedFlowContentNode):
(WebCore::Node::setIsNamedFlowContentNode):
(WebCore::Node::clearIsNamedFlowContentNode):
* rendering/RenderNamedFlowThread.cpp:
(WebCore::RenderNamedFlowThread::clearContentElements):
(WebCore::RenderNamedFlowThread::registerNamedFlowContentElement):
(WebCore::RenderNamedFlowThread::unregisterNamedFlowContentElement):
(WebCore::nextNodeInsideContentElement):
* style/StyleResolveTree.cpp:
(WebCore::Style::attachChildren):
(WebCore::Style::resolveLocal):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166354
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mihnea@adobe.com [Thu, 27 Mar 2014 08:03:42 +0000 (08:03 +0000)]
[CSSRegions] Crash when cloning a region child with a content node child
https://bugs.webkit.org/show_bug.cgi?id=129811
Reviewed by David Hyatt.
Source/WebCore:
Collecting the children of a region in another named flow will be supported
again in the future and it will be revisited when we will implement the content
keyword: http://dev.w3.org/csswg/css-regions-1/#the-flow-into-property.
Remove the support for now as it introduces unnecessary complexity in the code
and potential wrong behavior.
Test: fast/regions/region-content-node-child-clone-crash.html
* dom/Element.cpp:
(WebCore::Element::shouldMoveToFlowThread):
(WebCore::Element::clearStyleDerivedDataBeforeDetachingRenderer):
* dom/Element.h:
* dom/ElementRareData.h:
(WebCore::ElementRareData::ElementRareData):
* rendering/FlowThreadController.cpp:
* rendering/FlowThreadController.h:
* style/StyleResolveTree.cpp:
(WebCore::Style::moveToFlowThreadIfNeeded):
(WebCore::Style::createRendererIfNeeded):
LayoutTests:
Collecting the children of a region in another named flow will be supported
again in the future and it will be revisited when we will implement the content
keyword: http://dev.w3.org/csswg/css-regions-1/#the-flow-into-property.
For now, skip the tests for that use case.
* TestExpectations:
* fast/regions/overflow-region-inline-expected.html: Expected file should not be region based.
* fast/regions/region-content-node-child-clone-crash-expected.txt: Added.
* fast/regions/region-content-node-child-clone-crash.html: Added.
* fast/regions/unsplittable-nested-region-expected.html: Expected file should not be region based.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166353
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
lforschler@apple.com [Thu, 27 Mar 2014 08:00:00 +0000 (08:00 +0000)]
Versioning.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166352
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
gyuyoung.kim@samsung.com [Thu, 27 Mar 2014 07:17:28 +0000 (07:17 +0000)]
Remove unneeded mutable keyword in some member variables
https://bugs.webkit.org/show_bug.cgi?id=130813
Reviewed by Andreas Kling.
Some member variables have mutable keyword though they don't used by const function.
This patch removes them.
No new tests, no behavior changes. Just clean up.
* storage/StorageAreaSync.h:
* svg/animation/SVGSMILElement.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166350
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 27 Mar 2014 07:11:40 +0000 (07:11 +0000)]
Unreviewed, rolling out r166296 and r166331.
https://bugs.webkit.org/show_bug.cgi?id=130822
caused some crashes and frequent assertion failures, and the
fix is going to take a little while (Requested by thorton on
#webkit).
Reverted changesets:
"[iOS WebKit2] Flush all surfaces after painting into all of
them, instead of after painting into each one"
https://bugs.webkit.org/show_bug.cgi?id=130768
http://trac.webkit.org/changeset/166296
Source/WebCore:
"Assertion failure in RemoteLayerBackingStore::flush"
https://bugs.webkit.org/show_bug.cgi?id=130810
http://trac.webkit.org/changeset/166331
Source/WebKit2:
"Assertion failure in RemoteLayerBackingStore::flush"
https://bugs.webkit.org/show_bug.cgi?id=130810
http://trac.webkit.org/changeset/166331
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166349
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Thu, 27 Mar 2014 06:50:40 +0000 (06:50 +0000)]
Fix failing scrolling tests by reverting to previous behavior where
the scrolling geometry for the main frame scrolling node was only
updated from frameViewLayoutUpdated() and no-where else.
* WebCore.exp.in:
* page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::updateScrollingNode):
* page/scrolling/AsyncScrollingCoordinator.h:
* page/scrolling/ScrollingCoordinator.h:
(WebCore::ScrollingCoordinator::updateScrollingNode):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateScrollCoordinatedLayer):
(WebCore::RenderLayerCompositor::detachScrollCoordinatedLayer): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166348
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Thu, 27 Mar 2014 06:22:48 +0000 (06:22 +0000)]
HTMLConverter::_processText is slow because it walks up ancestor elements
https://bugs.webkit.org/show_bug.cgi?id=130820
Reviewed by Sam Weinig.
Avoid walking up the tree from each text node by caching the aggregated attributed strings for each element.
Also compute the attributed strings top-down to avoid calling mutableCopy in every iteration.
This reduces the runtime of Interactive/CopyAll.html from 15s to 13s (15%).
* editing/cocoa/HTMLConverter.mm:
(HTMLConverter::_attributesForElement):
(HTMLConverter::attributesForElement):
(HTMLConverter::aggregatedAttributesForAncestors):
(HTMLConverter::_processText):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166347
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Thu, 27 Mar 2014 06:13:33 +0000 (06:13 +0000)]
Blind speculative iOS build fix.
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::viewportConfigurationChanged):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166346
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Thu, 27 Mar 2014 05:05:55 +0000 (05:05 +0000)]
Parse stackmaps liveOuts
https://bugs.webkit.org/show_bug.cgi?id=130801
Reviewed by Geoffrey Garen.
This just adds the code to parse them but doesn't do anything with them, yet.
* ftl/FTLLocation.cpp:
(JSC::FTL::Location::forStackmaps):
* ftl/FTLLocation.h:
(JSC::FTL::Location::forRegister):
(JSC::FTL::Location::forIndirect):
* ftl/FTLStackMaps.cpp:
(JSC::FTL::StackMaps::Location::parse):
(JSC::FTL::StackMaps::Location::dump):
(JSC::FTL::StackMaps::LiveOut::parse):
(JSC::FTL::StackMaps::LiveOut::dump):
(JSC::FTL::StackMaps::Record::parse):
(JSC::FTL::StackMaps::Record::dump):
* ftl/FTLStackMaps.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166345
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Thu, 27 Mar 2014 04:42:50 +0000 (04:42 +0000)]
Fix iOS build.
* editing/cocoa/HTMLConverter.mm:
(_font):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166344
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
benjamin@webkit.org [Thu, 27 Mar 2014 04:31:07 +0000 (04:31 +0000)]
[iOS][WK2] <rdar://problem/
16265272> REGRESSION (WebKit2): Some pages appear blank until you scroll
https://bugs.webkit.org/show_bug.cgi?id=130819
Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-03-26
Reviewed by Tim Horton.
When loading a new page, we never define the unobscured rect and exposed rect on the new frame.
As a result, there is nothing to render.
It uses to work thanks to dumb luck and a bug in Safari updating the visibleContentRects from
the UIProcess. Now that the bug is gone, "dumb luck" is not reliable enough to get the content rects :)
What this patch does is save if we have ever received new rects from the UI. If we have not, create them
based on the minimum layout size. This works because we know Safari shows the minimum layout size by default
and will tell us if it changes the obscured rects.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
(WebKit::WebPage::didCommitLoad):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::viewportConfigurationChanged):
(WebKit::WebPage::updateVisibleContentRects):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166343
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Thu, 27 Mar 2014 04:16:32 +0000 (04:16 +0000)]
Make _processText and _traverseNode in HTMLConverter more efficient
https://bugs.webkit.org/show_bug.cgi?id=130769
Reviewed by Sam Weinig.
Rewrote a bunch of code in C++ and avoided creating wrappers.
This reduces the runtime of Interactive/CopyAll.html from ~16.5s to 15s.
* editing/cocoa/HTMLConverter.mm:
(HTMLConverterCaches::isAncestorsOfStartToBeConverted):
(HTMLConverter::HTMLConverter):
(HTMLConverter::~HTMLConverter):
(HTMLConverter::_processElement):
(HTMLConverter::_processText):
(HTMLConverter::_traverseNode):
(HTMLConverter::_traverseFooterNode):
(HTMLConverterCaches::cacheAncestorsOfStartToBeConverted):
(HTMLConverter::_loadFromDOMRange):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166342
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cavalcantii@gmail.com [Thu, 27 Mar 2014 04:14:22 +0000 (04:14 +0000)]
FEGaussianBlur: unify and const-ify calculateKernelSize
https://bugs.webkit.org/show_bug.cgi?id=130779
Some methods can benefit of using const refs as also make sense to
unify the interface (i.e. parameters) in calculateKernelSize/Unscaled.
FilterEffect::filter() will now return a reference, which helps since
its descendants were accessing methods into the pointer without testing
for it.
Reviewed by Simon Fraser.
No new tests, no changes on behavior.
* platform/graphics/filters/FEDisplacementMap.cpp:
(WebCore::FEDisplacementMap::platformApplySoftware):
* platform/graphics/filters/FEDropShadow.cpp:
(WebCore::FEDropShadow::determineAbsolutePaintRect):
(WebCore::FEDropShadow::platformApplySoftware):
* platform/graphics/filters/FEGaussianBlur.cpp:
(WebCore::FEGaussianBlur::calculateUnscaledKernelSize):
(WebCore::FEGaussianBlur::calculateKernelSize):
(WebCore::FEGaussianBlur::determineAbsolutePaintRect):
(WebCore::FEGaussianBlur::platformApplySoftware):
* platform/graphics/filters/FEGaussianBlur.h:
* platform/graphics/filters/FEMorphology.cpp:
(WebCore::FEMorphology::determineAbsolutePaintRect):
(WebCore::FEMorphology::platformApplySoftware):
* platform/graphics/filters/FEOffset.cpp:
(WebCore::FEOffset::determineAbsolutePaintRect):
(WebCore::FEOffset::platformApplySoftware):
* platform/graphics/filters/FETile.cpp:
(WebCore::FETile::platformApplySoftware):
* platform/graphics/filters/FETurbulence.cpp:
(WebCore::FETurbulence::fillRegion):
* platform/graphics/filters/Filter.h:
(WebCore::Filter::applyHorizontalScale):
(WebCore::Filter::applyVerticalScale):
* platform/graphics/filters/FilterEffect.h:
(WebCore::FilterEffect::filter):
* platform/graphics/filters/SourceAlpha.cpp:
(WebCore::SourceAlpha::determineAbsolutePaintRect):
(WebCore::SourceAlpha::platformApplySoftware):
* platform/graphics/filters/SourceGraphic.cpp:
(WebCore::SourceGraphic::determineAbsolutePaintRect):
(WebCore::SourceGraphic::platformApplySoftware):
* rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
(WebCore::RenderSVGResourceFilterPrimitive::determineFilterPrimitiveSubregion):
* svg/graphics/filters/SVGFEImage.cpp:
(WebCore::FEImage::determineAbsolutePaintRect):
(WebCore::FEImage::platformApplySoftware):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166341
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Thu, 27 Mar 2014 03:55:48 +0000 (03:55 +0000)]
Add a _WKScriptWorld class
https://bugs.webkit.org/show_bug.cgi?id=130817
Reviewed by Dan Bernstein.
* UIProcess/API/Cocoa/_WKScriptWorld.h: Added.
* UIProcess/API/Cocoa/_WKScriptWorld.mm: Added.
(generateWorldID):
(+[_WKScriptWorld defaultWorld]):
(-[_WKScriptWorld init]):
(-[_WKScriptWorld _initWithWorldID:]):
* WebKit2.xcodeproj/project.pbxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166340
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Thu, 27 Mar 2014 03:53:31 +0000 (03:53 +0000)]
Make sure childContainmentLayer is parented
https://bugs.webkit.org/show_bug.cgi?id=130808
Reviewed by Tim Horton.
m_childContainmentLayer was never parented if the page
created no other compositing layers, which left a dangling
GraphicsLayer which in turn confused UI-side compositing a little.
Fix by always parenting this layer.
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166339
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Thu, 27 Mar 2014 03:46:04 +0000 (03:46 +0000)]
Rename a delegate method to -webView:didFinishNavigation:
https://bugs.webkit.org/show_bug.cgi?id=130814
Reviewed by Sam Weinig.
* UIProcess/API/Cocoa/WKNavigationDelegate.h:
* UIProcess/Cocoa/NavigationState.h:
* UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::setNavigationDelegate):
(WebKit::NavigationState::LoaderClient::didFinishLoadForFrame):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166338
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bburg@apple.com [Thu, 27 Mar 2014 03:45:38 +0000 (03:45 +0000)]
Web Replay: disable page cache during capture/replay
https://bugs.webkit.org/show_bug.cgi?id=130672
Reviewed by Timothy Hatcher.
Save, set, and restore page cache settings at the correct times.
No new tests. If this code fails, then the tests for network replay will fail.
* replay/ReplayController.cpp:
(WebCore::ReplayController::setForceDeterministicSettings): Added.
(WebCore::ReplayController::startCapturing):
(WebCore::ReplayController::stopCapturing):
(WebCore::ReplayController::cancelPlayback):
(WebCore::ReplayController::replayToPosition):
* replay/ReplayController.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166337
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Thu, 27 Mar 2014 03:41:40 +0000 (03:41 +0000)]
[iOS WebKit2] Crashes on swipe
<rdar://problem/
16440867>
Reviewed by Benjamin Poulain.
* UIProcess/ios/ViewGestureControllerIOS.mm:
(WebKit::ViewGestureController::beginSwipeGesture):
Get the IOSurfaceRef from the WebCore::IOSurface.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166336
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Thu, 27 Mar 2014 03:22:59 +0000 (03:22 +0000)]
Convert more of HTMLConverter to C++
https://bugs.webkit.org/show_bug.cgi?id=130811
Reviewed by Anders Carlsson.
* editing/cocoa/HTMLConverter.mm:
(HTMLConverter::HTMLConverter):
(HTMLConverter::~HTMLConverter):
(HTMLConverter::_blockLevelElementForNode):
(HTMLConverter::_colorForElement):
(HTMLConverter::_computedAttributesForElement):
(HTMLConverter::_attributesForElement):
(HTMLConverter::_fillInBlock):
(HTMLConverter::_enterElement):
(HTMLConverter::_addTableForElement):
(HTMLConverter::_addTableCellForElement):
(HTMLConverter::_processElement):
(HTMLConverter::_exitElement):
(HTMLConverter::_getFloat): Deleted.
(HTMLConverter::_elementIsBlockLevel): Deleted.
(HTMLConverter::_elementHasOwnBackgroundColor): Deleted.
(HTMLConverter::_colorForNode): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166335
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Thu, 27 Mar 2014 02:25:14 +0000 (02:25 +0000)]
Fix the build: include UIKit headers inside the iOS #ifdef.
* UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.mm:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166334
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Thu, 27 Mar 2014 02:15:48 +0000 (02:15 +0000)]
Hook up -webkit-overflow-scrolling:touch for iOS WK2
https://bugs.webkit.org/show_bug.cgi?id=130809
Reviewed by Tim Horton.
Source/WebCore:
Get -webkit-overflow-scrolling: touch working for iOS WK2.
* WebCore.exp.in:
* page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::updateScrollingNode):
Send in ScrollingGeometry when we update scrolling nodes.
* page/scrolling/AsyncScrollingCoordinator.h:
* page/scrolling/ScrollingCoordinator.h:
(WebCore::ScrollingCoordinator::updateScrollingNode):
* page/scrolling/ios/ScrollingTreeScrollingNodeIOS.h:
Need to get to the scrolling layer in a subclass.
(WebCore::ScrollingTreeScrollingNodeIOS::scrollLayer):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::hasAcceleratedTouchScrolling): Remove code
that temporarily disabled touch-scrolling.
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateScrollCoordinatedLayer): When we
update scrolling nodes, send in the right scrolling geometry.
Source/WebKit2:
* UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.h:
* UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.mm:
(WebKit::ScrollingTreeOverflowScrollingNodeIOS::updateAfterChildren):
Set the content size of the UIScrollVIew based on the geometry.
* UIProcess/ios/RemoteLayerTreeHostIOS.mm:
(WebKit::RemoteLayerTreeHost::createLayer): Make a UIScrollView if the
layer properties tell us that we have the scrolling behavior.
* UIProcess/ios/WKContentView.mm:
(-[WKContentView initWithFrame:context:WebKit::configuration:WebKit::webView:]):
We need to allow user interaction in the _rootContentView so that events get to
nested UIScrollViews (this could be optimized in future).
* UIProcess/mac/RemoteLayerTreeHost.h:
* UIProcess/mac/RemoteLayerTreeHost.mm:
(WebKit::RemoteLayerTreeHost::updateLayerTree):
(WebKit::RemoteLayerTreeHost::createLayer): Need to pass RemoteLayerTreeTransaction::LayerProperties
in so we can get at the custom behavior.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166333
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Thu, 27 Mar 2014 01:54:24 +0000 (01:54 +0000)]
Add -[WKWebView stopLoading]
https://bugs.webkit.org/show_bug.cgi?id=130812
Reviewed by Tim Horton.
* UIProcess/API/Cocoa/WKWebView.h:
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView stopLoading]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166332
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Thu, 27 Mar 2014 01:48:28 +0000 (01:48 +0000)]
Assertion failure in RemoteLayerBackingStore::flush
https://bugs.webkit.org/show_bug.cgi?id=130810
<rdar://problem/
16439276>
Reviewed by Simon Fraser.
* Shared/mac/RemoteLayerBackingStore.mm:
(RemoteLayerBackingStore::flush):
We don't always have backing store to flush, if platformCALayerDrawsContent() is false.
We also can't assert that we have a back surface, because the very first paint will not.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166331
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mark.lam@apple.com [Thu, 27 Mar 2014 00:50:43 +0000 (00:50 +0000)]
Build fix after r166307.
Not reviewed.
* runtime/JSCell.h:
- The inline function isAPIValueWrapper() should not be exported. This
was causing a linkage error when building for 32-bit x86 on Mac.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166330
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy@apple.com [Wed, 26 Mar 2014 23:58:15 +0000 (23:58 +0000)]
Modernize the loops in InspectorPageAgent.cpp.
Also moves the check for hiddenFromInspector to a lower level.
This hides hidden resources from more places.
https://bugs.webkit.org/show_bug.cgi?id=130803
Reviewed by Joseph Pecoraro.
* inspector/InspectorPageAgent.cpp:
(WebCore::buildArrayForCookies):
(WebCore::cachedResourcesForFrame):
(WebCore::allResourcesURLsForFrame):
(WebCore::InspectorPageAgent::getCookies):
(WebCore::InspectorPageAgent::searchInResources):
(WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
(WebCore::InspectorPageAgent::loaderDetachedFromFrame):
(WebCore::InspectorPageAgent::buildObjectForFrameTree):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166329
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aestes@apple.com [Wed, 26 Mar 2014 23:51:12 +0000 (23:51 +0000)]
[Cocoa] Expose DownloadClient::didFail() and DownloadClient::didCancel()
https://bugs.webkit.org/show_bug.cgi?id=130805
Reviewed by Dan Bernstein.
Source/WebKit2:
* UIProcess/API/Cocoa/_WKDownloadDelegate.h:
* UIProcess/Cocoa/DownloadClient.h:
* UIProcess/Cocoa/DownloadClient.mm:
(WebKit::DownloadClient::DownloadClient):
(WebKit::DownloadClient::didFail):
(WebKit::DownloadClient::didCancel):
Tools:
* TestWebKitAPI/Tests/WebKit2Cocoa/Download.mm:
(-[DownloadDelegate _download:didReceiveResponse:]):
(-[DownloadDelegate _downloadDidFinish:]):
(runTest):
(TEST):
(-[FailingDownloadDelegate _downloadDidFinish:]):
(-[FailingDownloadDelegate _download:didFailWithError:]):
(-[FailingDownloadDelegate _downloadDidCancel:]):
(-[CancelledDownloadDelegate _downloadDidStart:]):
(-[CancelledDownloadDelegate _downloadDidFinish:]):
(-[CancelledDownloadDelegate _download:didFailWithError:]):
(-[CancelledDownloadDelegate _downloadDidCancel:]):
(-[DownloadDelegate initWithSourceURL:]): Deleted.
(-[DownloadDelegate sourceURL]): Deleted.
(runTestWithNavigationDelegate): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166328
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Wed, 26 Mar 2014 23:36:08 +0000 (23:36 +0000)]
Change MiniBrowser to hold on to window controllers instead of windows
https://bugs.webkit.org/show_bug.cgi?id=130797
Reviewed by Oliver Hunt.
* MiniBrowser/mac/AppDelegate.h:
* MiniBrowser/mac/AppDelegate.m:
(-[BrowserAppDelegate init]):
(-[BrowserAppDelegate newWindow:]):
(-[BrowserAppDelegate browserWindowWillClose:]):
(-[BrowserAppDelegate applicationWillTerminate:]):
(-[BrowserAppDelegate frontmostBrowserWindowController]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166327
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 26 Mar 2014 23:35:39 +0000 (23:35 +0000)]
-[WKWebProcessPlugInNodeHandle HTMLInputElementIsUserEdited] and -HTMLTextAreaElementIsUserEdited do not return the correct values.
https://bugs.webkit.org/show_bug.cgi?id=130804
Patch by Cody Krieger <cjk@apple.com> on 2014-03-26
Reviewed by Dan Bernstein.
The existing implementations of these methods are mis-cased
("HTMLInputELementIsUserEdited" and "HTMLTextAreaELementIsUserEdited" —
note the "EL" in both cases). This results in us getting
auto-synthesized getters for the HTMLInputElementIsUserEdited and
HTMLTextAreaElementIsUserEdited properties, which will return NO
unconditionally.
* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.mm:
Fix the capitalization of -HTMLInputElementIsUserEdited and
-HTMLTextAreaElementIsUserEdited.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166326
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
thiago.lacerda@openbossa.org [Wed, 26 Mar 2014 23:26:48 +0000 (23:26 +0000)]
Add platform implementation for RTCOfferAnswerOptions and RTCOfferOptions
https://bugs.webkit.org/show_bug.cgi?id=130689
Reviewed by Eric Carlson.
RTCOfferAnswerOptions and RTCOfferOptions objects were being passed to platform class, causing a layer
violation.
* Modules/mediastream/RTCOfferAnswerOptions.cpp:
(WebCore::RTCOfferAnswerOptions::initialize):
(WebCore::RTCOfferOptions::initialize):
* Modules/mediastream/RTCOfferAnswerOptions.h:
(WebCore::RTCOfferAnswerOptions::requestIdentity):
(WebCore::RTCOfferAnswerOptions::privateOfferAnswerOptions):
(WebCore::RTCOfferAnswerOptions::RTCOfferAnswerOptions):
(WebCore::RTCOfferOptions::offerToReceiveVideo):
(WebCore::RTCOfferOptions::offerToReceiveAudio):
(WebCore::RTCOfferOptions::voiceActivityDetection):
(WebCore::RTCOfferOptions::iceRestart):
(WebCore::RTCOfferOptions::privateOfferOptions):
(WebCore::RTCOfferOptions::RTCOfferOptions):
* Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::createOffer):
(WebCore::RTCPeerConnection::createAnswer):
* platform/mediastream/RTCOfferAnswerOptionsPrivate.h: Added.
* platform/mediastream/RTCPeerConnectionHandler.h:
* platform/mock/RTCPeerConnectionHandlerMock.cpp:
(WebCore::RTCPeerConnectionHandlerMock::createOffer):
(WebCore::RTCPeerConnectionHandlerMock::createAnswer):
* platform/mock/RTCPeerConnectionHandlerMock.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166325
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zalan@apple.com [Wed, 26 Mar 2014 22:43:22 +0000 (22:43 +0000)]
Device scale factor should always be greater than 0.
https://bugs.webkit.org/show_bug.cgi?id=130798
Reviewed by David Kilzer.
Rendering context requires a device scale factor > 0 so that we can map CSS pixels
to device pixels properly. Neither 0 nor a negative device pixel ratio are considered to be valid.
* page/Page.cpp:
(WebCore::Page::setDeviceScaleFactor):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166323
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mmaxfield@apple.com [Wed, 26 Mar 2014 22:05:24 +0000 (22:05 +0000)]
Skipping underlines disregard points completely inside the underline rect
https://bugs.webkit.org/show_bug.cgi?id=130800
Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2014-03-26
Reviewed by Dean Jackson.
Source/WebCore:
When determining bounds for underline skipping, endpoints of glyph contours
that lie entirely within the rect of the underline are ignored. This patch
makes these points affect the skipping regions the same way that intersections
do.
Test: fast/css3-text/css3-text-decoration/text-decoration-skip/glyph-inside-underline.html
* platform/graphics/mac/FontMac.mm:
(WebCore::updateX): Refactored common code into a function
(WebCore::findPathIntersections): Test for endpoints which lie entirely within
the underline bounds
LayoutTests:
This test draws a glyph entire inside the underline. It should render the same
as it would without any underline at all.
* fast/css3-text/css3-text-decoration/text-decoration-skip/resources/Litherum.svg: Added
an underscore glyph that would lie entirely within an underline
* fast/css3-text/css3-text-decoration/text-decoration-skip/glyph-inside-underline.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166322
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
psolanki@apple.com [Wed, 26 Mar 2014 21:45:27 +0000 (21:45 +0000)]
Unreviewed. iOS build fix after r166312. Soft link CMTimeRangeGetEnd.
* platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166319
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aestes@apple.com [Wed, 26 Mar 2014 21:32:19 +0000 (21:32 +0000)]
[Cocoa] Expose DownloadProxy::cancel()
https://bugs.webkit.org/show_bug.cgi?id=130799
Reviewed by Dan Bernstein.
* UIProcess/API/Cocoa/_WKDownload.h:
* UIProcess/API/Cocoa/_WKDownload.mm:
(-[_WKDownload cancel]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166318
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy@apple.com [Wed, 26 Mar 2014 21:20:01 +0000 (21:20 +0000)]
Propagate the hiddenFromInspector flag on ResourceRequest in
places when a new request a made or passed between processes.
https://bugs.webkit.org/show_bug.cgi?id=130741
Reviewed by Joseph Pecoraro.
Source/WebCore:
* WebCore.exp.in: Updated symbols for updateFromDelegatePreservingOldProperties.
* platform/network/cf/ResourceRequest.h:
* platform/network/cf/ResourceRequestCFNet.cpp:
(WebCore::ResourceRequest::updateFromDelegatePreservingOldProperties): Added.
(WebCore::ResourceRequest::updateFromDelegatePreservingOldHTTPBody): Deleted.
* platform/network/curl/ResourceRequest.h:
(WebCore::ResourceRequest::updateFromDelegatePreservingOldProperties): Added.
(WebCore::ResourceRequest::updateFromDelegatePreservingOldHTTPBody): Deleted.
* platform/network/mac/ResourceRequestMac.mm:
(WebCore::ResourceRequest::updateFromDelegatePreservingOldProperties): Added.
(WebCore::ResourceRequest::updateFromDelegatePreservingOldHTTPBody): Deleted.
* platform/network/soup/ResourceRequest.h:
(WebCore::ResourceRequest::updateFromDelegatePreservingOldProperties): Added.
(WebCore::ResourceRequest::updateFromDelegatePreservingOldHTTPBody): Deleted.
Source/WebKit/mac:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchWillSendRequest): Copy hiddenFromInspector to
the new request.
Source/WebKit2:
* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::continueWillSendRequest): Use updateFromDelegatePreservingOldProperties.
* Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<ResourceRequest>::encode): Added hiddenFromInspector support.
(IPC::ArgumentCoder<ResourceRequest>::decode): Ditto.
* WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp:
(WebKit::InjectedBundlePageResourceLoadClient::willSendRequestForFrame): Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166317
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zoltan@webkit.org [Wed, 26 Mar 2014 21:06:49 +0000 (21:06 +0000)]
[CSS Shapes] Remove no-longer-used shape-inside geometry code
https://bugs.webkit.org/show_bug.cgi?id=130740
Reviewed by David Hyatt.
This patch removes shape-padding support, since it can be used only with shape-inside.
Shape-inside support has been removed in r166301.
No new tests needed, existing tests have been removed by r166301.
* rendering/shapes/BoxShape.cpp:
(WebCore::BoxShape::shapePaddingLogicalBoundingBox): Deleted.
(WebCore::BoxShape::shapePaddingBounds): Deleted.
(WebCore::BoxShape::getIncludedIntervals): Deleted.
(WebCore::BoxShape::firstIncludedIntervalLogicalTop): Deleted.
* rendering/shapes/BoxShape.h:
* rendering/shapes/PolygonShape.cpp:
(WebCore::leftSide): Deleted.
(WebCore::isReflexVertex): Deleted.
(WebCore::computeShapePaddingBounds): Deleted.
(WebCore::PolygonShape::shapePaddingBounds): Deleted.
(WebCore::PolygonShape::getIncludedIntervals): Deleted.
(WebCore::firstFitRectInPolygon): Deleted.
(WebCore::aboveOrToTheLeft): Deleted.
(WebCore::PolygonShape::firstIncludedIntervalLogicalTop): Deleted.
* rendering/shapes/PolygonShape.h:
(WebCore::PolygonShape::PolygonShape):
* rendering/shapes/RasterShape.cpp:
(WebCore::RasterShapeIntervals::firstIncludedIntervalY): Deleted.
(WebCore::RasterShapeIntervals::getIncludedIntervals): Deleted.
(WebCore::RasterShape::paddingIntervals): Deleted.
(WebCore::RasterShape::getIncludedIntervals): Deleted.
(WebCore::RasterShape::firstIncludedIntervalLogicalTop): Deleted.
* rendering/shapes/RasterShape.h:
* rendering/shapes/RectangleShape.cpp:
(WebCore::ellipseYIntercept): Deleted.
(WebCore::RectangleShape::shapePaddingBounds): Deleted.
(WebCore::RectangleShape::getIncludedIntervals): Deleted.
(WebCore::cornerInterceptForWidth): Deleted.
(WebCore::RectangleShape::firstIncludedIntervalLogicalTop): Deleted.
* rendering/shapes/RectangleShape.h:
* rendering/shapes/Shape.cpp:
(WebCore::Shape::createShape):
(WebCore::Shape::createRasterShape):
(WebCore::Shape::createBoxShape):
* rendering/shapes/Shape.h:
(WebCore::Shape::lineOverlapsShapePaddingBounds): Deleted.
(WebCore::Shape::shapePadding): Deleted.
* rendering/shapes/ShapeInfo.cpp:
(WebCore::ShapeInfo<RenderType>::computedShape):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::changeRequiresLayout):
* rendering/style/RenderStyle.h:
* rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):
* rendering/style/StyleRareNonInheritedData.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166316
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aestes@apple.com [Wed, 26 Mar 2014 21:04:27 +0000 (21:04 +0000)]
[Cocoa] Expose DownloadProxy::request()
https://bugs.webkit.org/show_bug.cgi?id=130796
Reviewed by Anders Carlsson.
* UIProcess/API/Cocoa/_WKDownload.h:
* UIProcess/API/Cocoa/_WKDownload.mm:
(-[_WKDownload request]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166315
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Wed, 26 Mar 2014 20:56:10 +0000 (20:56 +0000)]
Pass a real FrameLoadRequest to Chrome::createWindow
https://bugs.webkit.org/show_bug.cgi?id=130795
Reviewed by Dan Bernstein.
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchCreatePage):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166314
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Wed, 26 Mar 2014 20:49:42 +0000 (20:49 +0000)]
Reasoning about DWARF register numbers should be moved out of FTL::Location
https://bugs.webkit.org/show_bug.cgi?id=130792
Reviewed by Oliver Hunt.
Moving this code makes it possible for things other than FTL::Location to reason about
DWARF register encoding. This refactoring also appears to reduce some code duplication
and makes FTLLocation.cpp cleaner.
* JavaScriptCore.xcodeproj/project.pbxproj:
* ftl/FTLCompile.cpp:
(JSC::FTL::fixFunctionBasedOnStackMaps):
* ftl/FTLDWARFRegister.cpp: Added.
(JSC::FTL::DWARFRegister::reg):
(JSC::FTL::DWARFRegister::dump):
* ftl/FTLDWARFRegister.h: Added.
(JSC::FTL::DWARFRegister::DWARFRegister):
(JSC::FTL::DWARFRegister::dwarfRegNum):
* ftl/FTLLocation.cpp:
(JSC::FTL::Location::dump):
(JSC::FTL::Location::isGPR):
(JSC::FTL::Location::gpr):
(JSC::FTL::Location::isFPR):
(JSC::FTL::Location::fpr):
* ftl/FTLLocation.h:
(JSC::FTL::Location::hasDwarfReg):
(JSC::FTL::Location::dwarfReg):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166313
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 26 Mar 2014 20:17:39 +0000 (20:17 +0000)]
Implement hasLiveStreamingContent property in WebAVPlayerController
https://bugs.webkit.org/show_bug.cgi?id=128684
Patch by Jeremy Jones <jeremyj@apple.com> on 2014-03-26
Reviewed by Simon Fraser.
Source/WebCore:
* WebCore.exp.in:
Add export for WebVideoFullscreenInterfaceAVKit::setSeekableRanges().
* platform/ios/WebVideoFullscreenInterface.h:
Add setSeekableRanges()
* platform/ios/WebVideoFullscreenInterfaceAVKit.h:
Add setSeekableRanges()
* platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
Remove vestigial playerLayer property. Add seekableTimeRanges property.
(-[WebAVPlayerController dealloc]):
Release _seekableTimeRanges.
Remove references to _playerLayer.
(-[WebAVPlayerController hasLiveStreamingContent]):
Implement based on duration. Live stream has an infinite duration.
(+[WebAVPlayerController keyPathsForValuesAffectingHasLiveStreamingContent]):
Describe dependent keys for computed property hasLiveStreamingContent.
(-[WebAVPlayerController skipBackwardThirtySeconds:]):
Seek back 30 seconds if that time is in the seekable ranges.
(-[WebAVPlayerController gotoEndOfSeekableRanges:]):
Jump to live by going to the of the seekable ranges.
(WebVideoFullscreenInterfaceAVKit::setSeekableRanges):
Convert TimeRange to CMTimeRange.
* platform/ios/WebVideoFullscreenModelMediaElement.mm:
(WebVideoFullscreenModelMediaElement::setMediaElement):
Set initial seekable ranges.
(WebVideoFullscreenModelMediaElement::handleEvent):
Update seekable ranges when time changes.
Source/WebKit2:
Plumb through the seekable ranges to the fullscreen interface.
* UIProcess/ios/WebVideoFullscreenManagerProxy.h:
Add declaration for setSeekableRangesVector()
* UIProcess/ios/WebVideoFullscreenManagerProxy.messages.in:
Add interface SetSeekableRangesVector()
* UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
(WebKit::WebVideoFullscreenManagerProxy::setSeekableRangesVector):
Add setSeekableRangesVector that translates the vector into a TimeRanges and calls setSeekableRanges()
* WebProcess/ios/WebVideoFullscreenManager.h:
Add setSeekableRanges()
* WebProcess/ios/WebVideoFullscreenManager.mm:
(WebKit::WebVideoFullscreenManager::setSeekableRanges):
setSeekableRanges() converts TimeRanges to Vector and calls SetSeekableRangesVector()
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166312
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bfulgham@apple.com [Wed, 26 Mar 2014 19:52:07 +0000 (19:52 +0000)]
Fix OS X build.
* WebCore.exp.in: Add missing export symbol.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166311
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Wed, 26 Mar 2014 19:42:03 +0000 (19:42 +0000)]
Fix the Windows build. Add a no-op impl for Mac non-UI-side.
* platform/graphics/ca/mac/PlatformCALayerMac.h:
* platform/graphics/ca/win/PlatformCALayerWin.cpp:
(PlatformCALayerWin::PlatformCALayerWin):
* platform/graphics/ca/win/PlatformCALayerWin.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166310
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Wed, 26 Mar 2014 19:36:51 +0000 (19:36 +0000)]
REGRESSION (r155977): matrix animations no longer animate
https://bugs.webkit.org/show_bug.cgi?id=130789
<rdar://problem/
15650946>
Source/WebCore:
Reviewed by Dean Jackson.
r155977 erroneously removed two lines that set the end points for
matrix animations (used when transform lists don't match), so
put them back.
Also don't repaint when updateContentsScale()
is called and doesn't change the contents scale.
Test: compositing/animation/matrix-animation.html
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::updateRootRelativeScale):
(WebCore::GraphicsLayerCA::setTransformAnimationEndpoints):
(WebCore::GraphicsLayerCA::updateContentsScale):
LayoutTests:
Reviewed by Dean Jackson.
Add test for fill-fowards animation with mismatched transform lists.
* compositing/animation/matrix-animation-expected.html: Added.
* compositing/animation/matrix-animation.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166309
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Wed, 26 Mar 2014 19:36:49 +0000 (19:36 +0000)]
Add a custom behavior flag to GraphicsLayer, piped down to PlatformCALayer, for scrolling layers
https://bugs.webkit.org/show_bug.cgi?id=130778
Reviewed by Tim Horton.
Make it possible to put a "custom behavior" flag on a layer so that,
with UI-side compositing, we know to create a specific type of
layer or view for that GraphicsLayer.
Source/WebCore:
* WebCore.exp.in:
* platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::GraphicsLayer):
* platform/graphics/GraphicsLayer.h:
(WebCore::GraphicsLayer::setCustomBehavior):
(WebCore::GraphicsLayer::customBehavior):
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
(WebCore::GraphicsLayerCA::updateCustomBehavior):
(WebCore::GraphicsLayerCA::setCustomBehavior):
* platform/graphics/ca/GraphicsLayerCA.h:
* platform/graphics/ca/PlatformCALayer.h:
* platform/graphics/ca/mac/PlatformCALayerMac.h:
* platform/graphics/ca/mac/PlatformCALayerMac.mm:
(PlatformCALayerMac::PlatformCALayerMac):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateScrollingLayers):
Source/WebKit2:
* Shared/mac/RemoteLayerTreeTransaction.h:
* Shared/mac/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTransaction::LayerProperties::LayerProperties):
(WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
(WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
(WebKit::dumpChangedLayers):
* WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
(PlatformCALayerRemote::customBehavior):
(PlatformCALayerRemote::updateCustomBehavior):
* WebProcess/WebPage/mac/PlatformCALayerRemote.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166308
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bfulgham@apple.com [Wed, 26 Mar 2014 19:21:49 +0000 (19:21 +0000)]
Source/JavaScriptCore: Unreviewed build fix.
* runtime/JSCell.h: VS2013 confused about argument type.
Source/WebCore: Unreviewed test correction.
Because of the way DRT on Windows links to WebCore, having the implementaion of the update
method in the header caused a runtime failure due to duplicate symbols being bound to the
compilation unit.
* accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::setEnhancedUserInterfaceAccessibility): Moved from header.
* accessibility/AXObjectCache.h:
(WebCore::AXObjectCache::setEnhancedUserInterfaceAccessibility): Deleted.
Source/WebKit: Unreviewed build/test correction.
* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Export the AXObjectCache::setEnhancedUserInterfaceEnabled
set function.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166307
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jer.noble@apple.com [Wed, 26 Mar 2014 18:37:44 +0000 (18:37 +0000)]
REGRESSION(r162679): Poster image visible under the video
https://bugs.webkit.org/show_bug.cgi?id=130783
Reviewed by Simon Fraser.
In the listed revision, we started checking for isRenderImage()
instead of isImage(). RenderMedias return 'true' for the first
but 'false' for the second. Change the if() statement to check
for isRenderMedia() in addition to !isRenderImage().
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::isDirectlyCompositedImage):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@166304
268f45cc-cd09-0410-ab3c-
d52691b4dbfc