Web Inspector: fix bug in highlighting single chars via highlightRange API of DTE
https://bugs.webkit.org/show_bug.cgi?id=108685

Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-02-02
Reviewed by Pavel Feldman.

Source/WebCore:

Use Math.min instead of Math.max in rangesForLine method.

Updated test: text-editor-highlight-api.html

* inspector/front-end/DefaultTextEditor.js:
(WebInspector.TextEditorMainPanel.RangeHighlightDescriptor.prototype.rangesForLine):

LayoutTests:

Updated layout test to cover specific bug case.

* inspector/editor/text-editor-highlight-api-expected.txt:
* inspector/editor/text-editor-highlight-api.html:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141689 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: Refactor InspectorDOMStorageAgent::getDOMStorageEntries to report the error messages
https://bugs.webkit.org/show_bug.cgi?id=108611

Reviewed by Pavel Feldman.

Added reporting of various error messages. Moved the modification of output
parameter at a later stage when there are no errors reported.

No new tests as code refactoring.

* inspector/InspectorDOMStorageAgent.cpp:
(WebCore::hadException):
(WebCore):
(WebCore::InspectorDOMStorageAgent::getDOMStorageEntries):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141690 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Improper initialization of ANGLEResources
https://bugs.webkit.org/show_bug.cgi?id=101489

Patch by Jonathan Feldstein <jfeldstein@rim.com> on 2013-02-02
Reviewed by Antonio Gomes.

MaxDrawBuffers, OES_standard_derivatives, OES_EGL_image_external and ARB_texture_rectangle have already been initialized through ShBuiltInResources function and these fields do not need to be set again in GraphicsContext3dBlackBerry.cpp. In addition, the extension flags cannot be set to true without getExtension having been called (Khronos WebGL specs, section 5.14.14.). Thus these lines need to be removed.

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

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141691 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Creating a WebInspector.ContextMenu without an event crashes WebCore when calling .show()
https://bugs.webkit.org/show_bug.cgi?id=108636

Reviewed by Pavel Feldman.

Return early if InspectorFrontendHost::showContextMenu() is called without an event and
assert in ContextMenuController::createContextMenu() in case no event was provided.

* inspector/InspectorFrontendHost.cpp:
(WebCore::InspectorFrontendHost::showContextMenu):
* page/ContextMenuController.cpp:
(WebCore::ContextMenuController::createContextMenu):


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

Reviewed by Dean Jackson.

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


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141693 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed trivial prospective build fix for A17n disabled
configurations.

The dummy computed object attriute cache control functions need to be defined
as being member functions of AXObjectCache, because that's where they are
declared.

* accessibility/AXObjectCache.h:
(WebCore::AXObjectCache::startCachingComputedObjectAttributesUntilTreeMutates):
(WebCore::AXObjectCache::stopCachingComputedObjectAttributes):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141694 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[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