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: http://svn.webkit.org/repository/webkit/trunk@166404 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] Too many redirects visiting www.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: http://svn.webkit.org/repository/webkit/trunk@166405 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[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: http://svn.webkit.org/repository/webkit/trunk@166406 268f45cc-cd09-0410-ab3c-d52691b4dbfc
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: http://svn.webkit.org/repository/webkit/trunk@166407 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[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: http://svn.webkit.org/repository/webkit/trunk@166408 268f45cc-cd09-0410-ab3c-d52691b4dbfc