[GStreamer] webkitwebsrc is exposed to application-side
https://bugs.webkit.org/show_bug.cgi?id=108088

Reviewed by Martin Robinson.

Switch the webkitwebsrc to handle webkit+http(s) uris so it is now
explicit that this element is meant to be used preferrably inside
WebKit. This change is internal to the player.

No new tests, covered by existing http/tests/media tests.

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::setPlaybinURL):
(WebCore):
(WebCore::MediaPlayerPrivateGStreamer::load):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
(MediaPlayerPrivateGStreamer):
* platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(webKitWebSrcGetProtocols):
(webKitWebSrcSetUri):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141695 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Build fix for WinCE after r141637.

* platform/graphics/wince/ImageBufferWinCE.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141696 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GStreamer] Media tests fix after r141695.

Rubber-stamped by Martin Robinson.

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::setPlaybinURL): Remove
both fragment and query string for file:// uris before loading.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141697 268f45cc-cd09-0410-ab3c-d52691b4dbfc
        One is not allowed to use commit-queue to make oneself a committer.

        * Scripts/webkitpy/common/config/committers.py: Rolled out r141693.
        Also, changed e-mail order for Yongjun Zhang, so that Bugzilla autocomplete works.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141698 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Upstream iOS FeatureDefines
<http://webkit.org/b/108753>

Reviewed by Anders Carlsson.

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig:
- ENABLE_DEVICE_ORIENTATION: Add iOS configurations.
- ENABLE_PLUGIN_PROXY_FOR_VIDEO: Ditto.
- FEATURE_DEFINES: Add ENABLE_PLUGIN_PROXY_FOR_VIDEO.  Add
  PLATFORM_NAME variant to reduce future merge conflicts.

Source/WebCore:

* Configurations/FeatureDefines.xcconfig:
- ENABLE_DEVICE_ORIENTATION: Add iOS configurations.
- ENABLE_PLUGIN_PROXY_FOR_VIDEO: Ditto.
- FEATURE_DEFINES: Add ENABLE_PLUGIN_PROXY_FOR_VIDEO.  Add
  PLATFORM_NAME variant to reduce future merge conflicts.

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig:
- ENABLE_DEVICE_ORIENTATION: Add iOS configurations.
- ENABLE_PLUGIN_PROXY_FOR_VIDEO: Ditto.
- FEATURE_DEFINES: Add ENABLE_PLUGIN_PROXY_FOR_VIDEO.  Add
  PLATFORM_NAME variant to reduce future merge conflicts.

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig:
- ENABLE_DEVICE_ORIENTATION: Add iOS configurations.
- ENABLE_PLUGIN_PROXY_FOR_VIDEO: Ditto.
- FEATURE_DEFINES: Add ENABLE_PLUGIN_PROXY_FOR_VIDEO.  Add
  PLATFORM_NAME variant to reduce future merge conflicts.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141699 268f45cc-cd09-0410-ab3c-d52691b4dbfc
<http://webkit.org/b/108745> WTF shouldn't use a script build phase to detect the presence of headers when the compiler can do it for us

Reviewed by Sam Weinig.

Source/JavaScriptCore:

* DerivedSources.make: Remove an obsolete Makefile rule. This should have been removed when the use
of the generated file moved to WTF.

Source/WTF:

* WTF.xcodeproj/project.pbxproj: Remove the script phase that used to generate a header file
containing information about whether certain header files exist on the system.
* wtf/FastMalloc.cpp: Use Clang's __has_include to detect whether the header exists before including it.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141700 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Making -webkit-image-set() the first value of background property causes crash.
https://bugs.webkit.org/show_bug.cgi?id=108409

Reviewed by Beth Dakin.

Source/WebCore:

CSSParser::addFillValue should use lval->isBaseValueList() instead
of lval->isValueList(). If lval is -webkit-image-set, rval is appended
to -webkit-image-set.

Test: fast/css/image-set-value-crash-in-fillImageSet.html

* css/CSSParser.cpp:
(WebCore::CSSParser::addFillValue):
If lval is not a value list, lval is initialized by using
CSSValueList::createCommaSeparated(). So we have to check whether
lval is created by CSSValueList::createCommaSeparated() or not.

LayoutTests:

* fast/css/image-set-value-crash-in-fillImageSet-expected.txt: Added.
* fast/css/image-set-value-crash-in-fillImageSet.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141701 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CMake] Adopt the WinCE port to new CMake
https://bugs.webkit.org/show_bug.cgi?id=108754

Reviewed by Laszlo Gombos.

.:

Remove the entry point hack which isn't required in the new
CMake version with offical WindowsCE support.

* Source/cmake/OptionsWindows.cmake:

Source/JavaScriptCore:

* os-win32/WinMain.cpp: Removed.
* shell/PlatformWinCE.cmake: Removed.

Tools:

* WinCELauncher/CMakeLists.txt: Mark WinCELauncher
as WIN32 target to use the correct entry point.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141702 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fixed and sticky nodes have no nodeID set
https://bugs.webkit.org/show_bug.cgi?id=108734

Reviewed by Sam Weinig.

Push ScrollingNodeIDs onto scrolling nodes at construction time, and thereafter
treat them as readonly. Previously, only the root scrolling node would have a node ID.

Node IDs aren't actually used by the scrolling tree yet, but are useful for debugging.

Not testable since we only dump the scrolling state tree, not the scrolling
node tree in tests.

* page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::ScrollingTree): No longer create the root node here;
we can only create it when we know what its ID will be.
(WebCore::ScrollingTree::updateTreeFromStateNode): Create the root node if
necessary. Pass node IDs into create methods.
* page/scrolling/ScrollingTreeNode.cpp:
(WebCore::ScrollingTreeNode::ScrollingTreeNode):
* page/scrolling/ScrollingTreeNode.h:
* page/scrolling/ScrollingTreeScrollingNode.cpp:
(WebCore::ScrollingTreeScrollingNode::ScrollingTreeScrollingNode):
* page/scrolling/ScrollingTreeScrollingNode.h:
* page/scrolling/mac/ScrollingTreeFixedNode.h:
* page/scrolling/mac/ScrollingTreeFixedNode.mm:
(WebCore::ScrollingTreeFixedNode::create):
(WebCore::ScrollingTreeFixedNode::ScrollingTreeFixedNode):
* page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
* page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
(WebCore::ScrollingTreeScrollingNode::create):
(WebCore::ScrollingTreeScrollingNodeMac::ScrollingTreeScrollingNodeMac):
* page/scrolling/mac/ScrollingTreeStickyNode.h:
* page/scrolling/mac/ScrollingTreeStickyNode.mm:
(WebCore::ScrollingTreeStickyNode::create):
(WebCore::ScrollingTreeStickyNode::ScrollingTreeStickyNode):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141703 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Clean up the storage of dirty bits on nodes in the scrolling state tree
https://bugs.webkit.org/show_bug.cgi?id=108744

Reviewed by Sam Weinig.

ScrollingStateNode and its subclasses used different techniques for
tracking which properties changed. ScrollingStateNode tracked its layers
via a bool member and some layer-specific methods, but also had virtual
methods to allow subclasses to track properties via a bit mask.

Clean this up by having the base class store the bit mask, and use
enums to specify bits for the various properties. All properties are thus
tracked in the same way. Bits are read and written through non-virtual member
functions on ScrollingStateNode. All bit checking is done via hasChangedProperty().

* page/scrolling/ScrollingStateFixedNode.cpp:
(WebCore::ScrollingStateFixedNode::ScrollingStateFixedNode): m_changedProperties is now on the base class.
(WebCore::ScrollingStateFixedNode::updateConstraints): Use setPropertyChanged()
* page/scrolling/ScrollingStateFixedNode.h: Remove overrides that are no longer needed.
* page/scrolling/ScrollingStateNode.cpp:
(WebCore::ScrollingStateNode::ScrollingStateNode): Initialize m_changedProperties,
m_scrollLayerDidChange no longer tracked separately.
(WebCore::ScrollingStateNode::cloneAndReset):
* page/scrolling/ScrollingStateNode.h:
(WebCore::ScrollingStateNode::hasChangedProperties):
(WebCore::ScrollingStateNode::hasChangedProperty): Tests the bit.
(WebCore::ScrollingStateNode::resetChangedProperties): Set all bits to 0.
(WebCore::ScrollingStateNode::setPropertyChanged): Set the bit.
(WebCore::ScrollingStateNode::changedProperties): Private to discourage incorrect usage
(changeProperties() & foo).
* page/scrolling/ScrollingStateScrollingNode.cpp:
(WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode): Base class does the copying now.
(WebCore::ScrollingStateScrollingNode::setViewportRect): Use setPropertyChanged().
(WebCore::ScrollingStateScrollingNode::setContentsSize): Ditto.
(WebCore::ScrollingStateScrollingNode::setFrameScaleFactor): Etc.
(WebCore::ScrollingStateScrollingNode::setNonFastScrollableRegion):
(WebCore::ScrollingStateScrollingNode::setWheelEventHandlerCount):
(WebCore::ScrollingStateScrollingNode::setShouldUpdateScrollLayerPositionOnMainThread):
(WebCore::ScrollingStateScrollingNode::setHorizontalScrollElasticity):
(WebCore::ScrollingStateScrollingNode::setVerticalScrollElasticity):
(WebCore::ScrollingStateScrollingNode::setHasEnabledHorizontalScrollbar):
(WebCore::ScrollingStateScrollingNode::setHasEnabledVerticalScrollbar):
(WebCore::ScrollingStateScrollingNode::setHorizontalScrollbarMode):
(WebCore::ScrollingStateScrollingNode::setVerticalScrollbarMode):
(WebCore::ScrollingStateScrollingNode::setRequestedScrollPosition):
(WebCore::ScrollingStateScrollingNode::setScrollOrigin):
* page/scrolling/ScrollingStateScrollingNode.h:
(ScrollingStateScrollingNode):
* page/scrolling/ScrollingStateStickyNode.cpp:
(WebCore::ScrollingStateStickyNode::ScrollingStateStickyNode):
(WebCore::ScrollingStateStickyNode::updateConstraints):
* page/scrolling/ScrollingStateStickyNode.h:
* page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::commitNewTreeState):
* page/scrolling/ScrollingTreeScrollingNode.cpp:
(WebCore::ScrollingTreeScrollingNode::update):
* page/scrolling/mac/ScrollingStateNodeMac.mm:
(WebCore::ScrollingStateNode::setScrollLayer):
* page/scrolling/mac/ScrollingStateScrollingNodeMac.mm:
(WebCore::ScrollingStateScrollingNode::setCounterScrollingLayer):
* page/scrolling/mac/ScrollingTreeFixedNode.mm:
(WebCore::ScrollingTreeFixedNode::update):
* page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
(WebCore::ScrollingTreeScrollingNodeMac::update):
* page/scrolling/mac/ScrollingTreeStickyNode.mm:
(WebCore::ScrollingTreeStickyNode::update):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141704 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Make it possible to modify the connection from ChildProcessProxy subclasses.

Reviewed by Anders Carlsson.

* Shared/ChildProcessProxy.cpp:
(WebKit::ChildProcessProxy::ChildProcessProxy):
(WebKit::ChildProcessProxy::didFinishLaunching):
(WebKit::ChildProcessProxy::clearConnection):
(WebKit::ChildProcessProxy::connectionWillOpen):
(WebKit::ChildProcessProxy::connectionWillClose):
* Shared/ChildProcessProxy.h:
(ChildProcessProxy):
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::WebProcessProxy):
(WebKit::WebProcessProxy::connectionWillOpen):
(WebKit::WebProcessProxy::connectionWillClose):
* UIProcess/WebProcessProxy.h:
(WebProcessProxy):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141705 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Optimize some operations for float type in texture format conversions of WebGL
https://bugs.webkit.org/show_bug.cgi?id=107526

Patch by Jun Jiang <jun.a.jiang@intel.com> on 2013-02-02
Reviewed by Darin Adler.

Some small changes are made to optimize the operations for float type in the texture format conversion of WebGL to improve performance.

Already covered by current tests.

* platform/graphics/GraphicsContext3D.cpp:
(WebCore):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141706 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add Antoine Quint to the list of committers
https://bugs.webkit.org/show_bug.cgi?id=108750

No review necessary.

* Scripts/webkitpy/common/config/committers.py:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141707 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Stop keeping a frame tree in the UIProcess
https://bugs.webkit.org/show_bug.cgi?id=81728

Reviewed by Oliver Hunt.

This patch removes the parent/child relationships of WebFrameProxys
in the UIProcess

* UIProcess/API/C/WKFrame.cpp:
(WKFrameCopyChildFrames):
(WKFrameGetParentFrame):
* UIProcess/API/C/WKFrame.h:
Null out the implementations of WKFrameCopyChildFrames and WKFrameGetParentFrame,
but keep them around as their symbols are still needed for nightlies.

* UIProcess/WebFrameProxy.cpp:
(WebKit::WebFrameProxy::WebFrameProxy):
(WebKit::WebFrameProxy::disconnect):
* UIProcess/WebFrameProxy.h:
Remove parent/child connections.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didCreateSubframe):
(WebKit::WebPageProxy::didRemoveFrameFromHierarchy):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::didSaveToPageCache):
(WebKit::WebFrameLoaderClient::didRestoreFromPageCache):
* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::createSubframe):
Remove/Update messages that only served to update the parent/child connection.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141708 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL][WK2] Use C API inside ewk_file_chooser_request
https://bugs.webkit.org/show_bug.cgi?id=107811

Reviewed by Sam Weinig.

Use C API inside ewk_file_chooser_request instead of
accessing the internal C++ classes directly, to
avoid violating API layering.

* UIProcess/API/efl/ewk_file_chooser_request.cpp:
(EwkFileChooserRequest::EwkFileChooserRequest):
(EwkFileChooserRequest::~EwkFileChooserRequest):
(EwkFileChooserRequest::allowMultipleFiles):
(EwkFileChooserRequest::acceptedMIMETypes):
(EwkFileChooserRequest::cancel):
(EwkFileChooserRequest::chooseFiles):
(ewk_file_chooser_request_accepted_mimetypes_get):
(ewk_file_chooser_request_files_choose):
(ewk_file_chooser_request_file_choose):
* UIProcess/API/efl/ewk_file_chooser_request_private.h:
(EwkFileChooserRequest::create):
(EwkFileChooserRequest):
* UIProcess/efl/PageUIClientEfl.cpp:
(WebKit::PageUIClientEfl::runOpenPanel):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141709 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Convert CustomProtocolManagerProxy, CustomProtocolManager and AuthenticationManager to be non-LegacyReceivers
https://bugs.webkit.org/show_bug.cgi?id=108757

Reviewed by Anders Carlsson.

* Shared/Authentication/AuthenticationManager.cpp:
* Shared/Authentication/AuthenticationManager.h:
(AuthenticationManager):
* Shared/Authentication/AuthenticationManager.messages.in:
* Shared/Network/CustomProtocols/CustomProtocolManager.h:
(CustomProtocolManager):
* Shared/Network/CustomProtocols/CustomProtocolManager.messages.in:
* Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
* UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h:
(CustomProtocolManagerProxy):
* UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.messages.in:
* UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141710 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove more LegacyReceivers
https://bugs.webkit.org/show_bug.cgi?id=108758

Reviewed by Anders Carlsson.

* UIProcess/Downloads/DownloadProxy.cpp:
* UIProcess/Downloads/DownloadProxy.messages.in:
* UIProcess/WebApplicationCacheManagerProxy.cpp:
* UIProcess/WebApplicationCacheManagerProxy.h:
(WebApplicationCacheManagerProxy):
* UIProcess/WebApplicationCacheManagerProxy.messages.in:
* UIProcess/WebCookieManagerProxy.cpp:
* UIProcess/WebCookieManagerProxy.h:
(WebCookieManagerProxy):
* UIProcess/WebCookieManagerProxy.messages.in:
* UIProcess/WebDatabaseManagerProxy.cpp:
* UIProcess/WebDatabaseManagerProxy.h:
(WebDatabaseManagerProxy):
* UIProcess/WebDatabaseManagerProxy.messages.in:
* UIProcess/mac/RemoteLayerTreeHost.h:
(RemoteLayerTreeHost):
* UIProcess/mac/RemoteLayerTreeHost.messages.in:
* UIProcess/mac/RemoteLayerTreeHost.mm:
* WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
* WebProcess/ApplicationCache/WebApplicationCacheManager.h:
(WebApplicationCacheManager):
* WebProcess/ApplicationCache/WebApplicationCacheManager.messages.in:
* WebProcess/Cookies/WebCookieManager.cpp:
* WebProcess/Cookies/WebCookieManager.h:
(WebCookieManager):
* WebProcess/Cookies/WebCookieManager.messages.in:
* WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
* WebProcess/WebCoreSupport/WebDatabaseManager.h:
(WebDatabaseManager):
* WebProcess/WebCoreSupport/WebDatabaseManager.messages.in:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141711 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] FileSystem mods: Changes to snapshot file creation to reduce dependencies on blobs.
This patch just alters the WebKitAPI in advance of coding to the new API in chromium and webkit
sources, defining two new virtual methods (unimplemented and uncalled). The existing API remains
in place and in use.
https://bugs.webkit.org/show_bug.cgi?id=108736

Reviewed by Darin Fisher.

Source/Platform:

* chromium/public/WebFileSystem.h:
(WebFileSystem):
(WebKit::WebFileSystem::createSnapshotFileAndReadMetadata):

Source/WebKit/chromium:

* public/WebFileSystemCallbacks.h:
(WebFileSystemCallbacks):
(WebKit::WebFileSystemCallbacks::didCreateSnapshotFile):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141712 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] svg/custom/text-ctm.svg needs a baseline
https://bugs.webkit.org/show_bug.cgi?id=108764

Unreviewed EFL gardening.

Add baseline for svg/custom/text-ctm.svg that was added in r17879.

Patch by Christophe Dumez <dchris@gmail.com> on 2013-02-03

* platform/efl/svg/custom/text-ctm-expected.png: Added.
* platform/efl/svg/custom/text-ctm-expected.txt: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141713 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] Mark a few more media tests as flaky due to gstreamer 1.0
https://bugs.webkit.org/show_bug.cgi?id=108765

Unreviewed EFL gardening.

Mark 2 more media tests as flaky since the update to gstreamer 1.0.
They sometimes crash in MediaPlayerPrivateGStreamer dtor.

Patch by Christophe Dumez <dchris@gmail.com> on 2013-02-03

* platform/efl/TestExpectations:

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