Keep CALayer implicit animation disabling code in a single place
https://bugs.webkit.org/show_bug.cgi?id=127355

Reviewed by Simon Fraser.

* WebCore.xcodeproj/project.pbxproj:
Add CALayerWebAdditions.{h,mm}.

* platform/graphics/ca/mac/PlatformCALayerMac.mm:
(PlatformCALayerMac::commonInit):
Remove nullActionsDictionary() and use [CALayer(WebAdditions) web_disableAllActions] instead.

* platform/graphics/mac/CALayerWebAdditions.h: Added.
* platform/graphics/mac/CALayerWebAdditions.mm: Added.
(-[CALayer web_disableAllActions]):
Added. Disable all implicit actions on the layer.

* Shared/mac/RemoteLayerTreePropertyApplier.h:
* Shared/mac/RemoteLayerTreePropertyApplier.mm:
Remove disableActionsForLayer.

* UIProcess/API/mac/WKView.mm:
(-[WKView _rootLayer]):
Disable actions on the root layer. It doesn't need them, and currently
isn't affected by implicit animations, but future patches which animate
the root layer will benefit from this.

* UIProcess/mac/RemoteLayerTreeHost.mm:
(WebKit::RemoteLayerTreeHost::createLayer):
Use web_disableAllActions instead of disableActionsForLayer.

* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm: Renamed from Source/WebKit2/WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.cpp.
(PlatformCALayerRemoteCustom::PlatformCALayerRemoteCustom):
(PlatformCALayerRemoteCustom::~PlatformCALayerRemoteCustom):
(PlatformCALayerRemoteCustom::hostingContextID):
Use web_disableAllActions instead of disableActionsForLayer.
This requires making this file Obj-C++ but that's OK since it's Mac/iOS only.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162453 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Address late review naming comments after r162453.

* UIProcess/API/mac/WKView.mm:
And, fix the build by adding an include I accidentally missed.

* UIProcess/mac/RemoteLayerTreeHost.mm:
* WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm:

* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/ca/mac/PlatformCALayerMac.mm:
* platform/graphics/mac/CALayerWebAdditions.h: Removed.
* platform/graphics/mac/CALayerWebAdditions.mm: Removed.
* platform/graphics/mac/WebCoreCALayerExtras.h: Added.
* platform/graphics/mac/WebCoreCALayerExtras.mm: Added.
Rename.

(-[CALayer web_disableAllActions]):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162454 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Test that text-decoration-skip: ink inherits as expected
https://bugs.webkit.org/show_bug.cgi?id=127329

Reviewed by Dean Jackson.

Adding a test for text-decoration-skip: ink inheriting

* fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-ink-inherit-expected.html: Added.
* fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-ink-inherit.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162455 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Use 64 as the default value for the subpixel denominator.

Reviewed by Simon Fraser.

* lldb/lldb_webkit.py:
(WebCoreLayoutUnitProvider.to_string):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162456 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[WinCairo][Curl] Download request has incorrect user agent string.
https://bugs.webkit.org/show_bug.cgi?id=127110

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-01-21
Reviewed by Brent Fulgham.

* WebDownloadCurl.cpp:
(WebDownload::init): Set user agent string in download request.
* WebView.cpp:
(WebView::downloadURL): Avoid early return if no ResourceHandle is provided.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162457 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sort headers after the rename that happened in r162454.

* UIProcess/mac/RemoteLayerTreeHost.mm:
* WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162458 268f45cc-cd09-0410-ab3c-d52691b4dbfc
ASSERT(time.isFinite()) in SVGSMILElement::createInstanceTimesFromSyncbase
<https://webkit.org/b/108184>

Patch by Tamas Gergely <tgergely.u-szeged@partner.samsung.com> on 2014-01-21
Reviewed by Philip Rogers.

Source/WebCore:

In the case a SMILElement timing had a syncbase dependency on an indefinite value
the assert were raised. The assert has been removed and a check has been added
instead that prevents the addition of indefinite times to the time list.

Test: svg/animations/smil-syncbase-self-dependency.svg

* svg/animation/SVGSMILElement.cpp:
(WebCore::SVGSMILElement::createInstanceTimesFromSyncbase):
  ASSERT removed.

LayoutTests:

Test checks whether valid self-dependency is accidentally broken.

* svg/animations/smil-syncbase-self-dependency-expected.txt: Added.
* svg/animations/smil-syncbase-self-dependency.svg: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162459 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Registers used in writeBarrierOnOperand can cause clobbering on some platforms
https://bugs.webkit.org/show_bug.cgi?id=127357

Reviewed by Filip Pizlo.

Some platforms use t0 and t1 for their first two arguments, so using those to load the
cell for the write barrier is a bad idea because it will get clobbered.

* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162460 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Log an error for a common cause of WebProcess early launch crashing in misconfigured development builds
https://bugs.webkit.org/show_bug.cgi?id=127121

Reviewed by Anders Carlsson.

A common cause of early WebProcess crashes during development is a null return
from CFBundleGetValueForInfoDictionaryKey(), so log and return an error in
this case rather than passing a null C string to dlsym().

* Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessMain.mm:
(WebKit::BootstrapMain):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162461 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Clean up PLATFORM(IOS) code related to the custom fixed position layout rect
https://bugs.webkit.org/show_bug.cgi?id=127362

Reviewed by Dave Hyatt.

Various platforms customize the rect used to layout position:fixed elements,
and each modified RenderBox::availableLogicalHeight/WidthUsing() in different
ways.

Clean this up by adding RenderView::clientLogicalWidth/HeightForFixedPosition(),
and moving the platform hacks into it.

* rendering/RenderBox.cpp:
(WebCore::RenderBox::availableLogicalHeightUsing):
(WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
(WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
* rendering/RenderView.cpp:
(WebCore::RenderView::clientLogicalWidthForFixedPosition):
(WebCore::RenderView::clientLogicalHeightForFixedPosition):
* rendering/RenderView.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162462 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Export systemTotalMemory() and systemMemoryLevel() for MobileSafari
https://bugs.webkit.org/show_bug.cgi?id=127360

Reviewed by Andy Estes.

MobileSafari inappropriately calls these WebCore functions directly,
so export them.

* WebCore.exp.in:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162463 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Support SSL error handling in case of synchronous job.
https://bugs.webkit.org/show_bug.cgi?id=125301

Patch by Robert Sipka <sipka@inf.u-szeged.hu> on 2014-01-21
Reviewed by Brent Fulgham.

Set ssl error informations for the users.

* platform/network/curl/ResourceHandleManager.cpp:
(WebCore::ResourceHandleManager::dispatchSynchronousJob):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162464 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Trivial Session API cleanup.
https://bugs.webkit.org/show_bug.cgi?id=127356

Patch by Martin Hock <mhock@apple.com> on 2014-01-21
Reviewed by Alexey Proskuryakov.

* UIProcess/API/C/WKSessionRef.cpp:
(WKSessionIsEphemeral):
* UIProcess/API/C/WKSessionRef.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162465 268f45cc-cd09-0410-ab3c-d52691b4dbfc
AX: Mac: Expose the visible text of a password field to AX
https://bugs.webkit.org/show_bug.cgi?id=127353

Reviewed by Brent Fulgham.

Source/WebCore:

The Mac platform should now expose the rendered value of password fields through AX.

Test: accessibility/password-field-value.html

* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::textLength):
(WebCore::AccessibilityRenderObject::passwordFieldValue):

LayoutTests:

* accessibility/password-field-value-expected.txt: Added.
* accessibility/password-field-value.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162466 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r162452.
http://trac.webkit.org/changeset/162452
https://bugs.webkit.org/show_bug.cgi?id=127366

broke a few tests on all Mac WebKit1 bots (Requested by
thorton on #webkit).

Source/WebCore:

* WebCore.exp.in:
* page/FocusController.cpp:
(WebCore::FocusController::FocusController):
(WebCore::FocusController::setFocused):
(WebCore::FocusController::setActive):
(WebCore::FocusController::setContentIsVisible):
* page/FocusController.h:
(WebCore::FocusController::isActive):
(WebCore::FocusController::isFocused):
* page/Page.cpp:
(WebCore::Page::Page):
(WebCore::Page::setIsInWindow):
(WebCore::Page::setIsVisuallyIdle):
(WebCore::Page::setIsVisible):
(WebCore::Page::visibilityState):
(WebCore::Page::hiddenPageCSSAnimationSuspensionStateChanged):
* page/Page.h:
(WebCore::Page::isVisible):
(WebCore::Page::isInWindow):

Source/WebKit/mac:

* WebView/WebView.mm:
(-[WebView _windowWillOrderOnScreen:]):
(-[WebView _windowWillOrderOffScreen:]):

Source/WebKit2:

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
(WebKit::WebPage::setActive):
(WebKit::WebPage::setViewIsVisible):
(WebKit::WebPage::setFocused):
(WebKit::WebPage::setIsInWindow):
(WebKit::WebPage::setViewStateInternal):
(WebKit::WebPage::setIsVisuallyIdle):
* WebProcess/WebPage/WebPage.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162467 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, remove myself from some watchlist entries.

* Scripts/webkitpy/common/config/watchlist:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@162470 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[iOS] Don't build DumpRenderTree, gtest, or TestWebKitAPI
https://bugs.webkit.org/show_bug.cgi?id=127364

Reviewed by Simon Fraser.

For now, don't build DumpRenderTree and TestWebKitAPI for iOS as these
projects fail to build because we need to upstream the relevant iOS changes.
Also, don't build gtest, which is a dependency of TestWebKitAPI since we
aren't building TestWebKitAPI.

* Scripts/build-webkit:

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