[Windows] Unreviewed crash fix after r156321.

Fix a few mistakes in the use of Vectors and counting that introduced test crashes.

* WebHistory.cpp:
(WebHistory::removeAllItems): Loop termination tried to test an unsigned for negative size.
(WebHistory::removeItemFromDateCaches): Vector was being created with empty entries.
(WebHistory::addItemToDateCaches): Ditto.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156344 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[GTK] Fix compilation problems when setting ENABLE_DRAG_SUPPORT = FALSE
https://bugs.webkit.org/show_bug.cgi?id=121782

Patch by Lorenzo Tilve <ltilve@igalia.com> on 2013-09-24
Reviewed by Martin Robinson.

Disabled drag functions.

Source/WebCore:

* page/gtk/EventHandlerGtk.cpp:
* platform/gtk/PasteboardGtk.cpp:

Source/WebKit/gtk:

* WebCoreSupport/DragClientGtk.cpp:
* WebCoreSupport/DragClientGtk.h:

Source/WebKit2:

* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkit_web_view_base_class_init):
* WebProcess/WebCoreSupport/gtk/WebDragClientGtk.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156345 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Properly handle bottom margin on float with shape-outside
https://bugs.webkit.org/show_bug.cgi?id=121808

Reviewed by David Hyatt.

Source/WebCore:

When a float has a shape-outside, inline content must conform to the
shape, not to the margin box. Thus, if a float with shape-outside has
a bottom margin and the shape does not intrude into that margin, then
the inline content should ignore the margin. Before this patch, inline
content would drop below the margin box instead of obeying the shape.

Note that content that should clear the float still clears the margin
box, not the shape's contour.

Tests: csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-002.html
       csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-003.html
       csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-004.html

* rendering/LineWidth.cpp:
(WebCore::LineWidth::fitBelowFloats): Compute the logical bottom based
on the shape.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::nextFloatLogicalBottomBelow): Add option to
compute the logical bottom based on the shape instead of on the margin
box.
* rendering/RenderBlock.h:

LayoutTests:

Import new tests for floats wish shape-outside and bottom margins.

* csswg/contributors/adobe/submitted/shapes/shape-outside/resources/w3c-import.log:
* csswg/contributors/adobe/submitted/shapes/shape-outside/resources/rounded-rectangle.js: Remove whitespace at ends of lines.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-002.html: Added.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-003-expected.html: Added.
* csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-003.html: Added.
* csswg/contributors/adobe/submitted/shapes/shape-outside/w3c-import.log:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156346 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[iOS] Upstream -webkit-touch-callout
https://bugs.webkit.org/show_bug.cgi?id=121507

Reviewed by Antti Koivisto.

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::propertyValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
* css/CSSPropertyNames.in: Added -webkit-touch-callout.
* css/StyleResolver.cpp:
(WebCore::StyleResolver::applyProperty):
* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::willRespondToMouseClickEvents): Added.
* html/HTMLImageElement.h:
* rendering/style/RenderStyle.h:
* rendering/style/StyleRareInheritedData.cpp:
(WebCore::StyleRareInheritedData::StyleRareInheritedData):
(WebCore::StyleRareInheritedData::operator==):
* rendering/style/StyleRareInheritedData.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156347 268f45cc-cd09-0410-ab3c-d52691b4dbfc
<rdar://problem/14971518> WebKit should build against the Xcode default toolchain when targeting OS X 10.8

Reviewed by Dan Bernstein.

Source/JavaScriptCore:

* Configurations/Base.xcconfig:

Source/ThirdParty/ANGLE:

* Configurations/Base.xcconfig:

Source/WebCore:

* Configurations/Base.xcconfig:

Source/WebInspectorUI:

* Configurations/Base.xcconfig:

Source/WebKit/mac:

* Configurations/Base.xcconfig:

Source/WebKit2:

* Configurations/Base.xcconfig:

Source/WTF:

* Configurations/Base.xcconfig:

Tools:

* DumpRenderTree/mac/Configurations/Base.xcconfig:
* MiniBrowser/Configurations/Base.xcconfig:
* TestWebKitAPI/Configurations/Base.xcconfig:
* WebKitLauncher/Configurations/Base.xcconfig:
* WebKitTestRunner/Configurations/Base.xcconfig:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156348 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove create functions from MessageDecoder and ArgumentDecoder
https://bugs.webkit.org/show_bug.cgi?id=121850

Reviewed by Antti Koivisto.

* Platform/CoreIPC/ArgumentDecoder.cpp:
(CoreIPC::ArgumentDecoder::ArgumentDecoder):
* Platform/CoreIPC/ArgumentDecoder.h:
* Platform/CoreIPC/MessageDecoder.cpp:
(CoreIPC::MessageDecoder::MessageDecoder):
* Platform/CoreIPC/MessageDecoder.h:
* Platform/CoreIPC/mac/ConnectionMac.cpp:
(CoreIPC::createMessageDecoder):
* WebProcess/WebPage/DecoderAdapter.cpp:
(WebKit::DecoderAdapter::DecoderAdapter):
(WebKit::DecoderAdapter::decodeBytes):
(WebKit::DecoderAdapter::decodeBool):
(WebKit::DecoderAdapter::decodeUInt16):
(WebKit::DecoderAdapter::decodeUInt32):
(WebKit::DecoderAdapter::decodeUInt64):
(WebKit::DecoderAdapter::decodeInt32):
(WebKit::DecoderAdapter::decodeInt64):
(WebKit::DecoderAdapter::decodeFloat):
(WebKit::DecoderAdapter::decodeDouble):
(WebKit::DecoderAdapter::decodeString):
* WebProcess/WebPage/DecoderAdapter.h:
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::postInjectedBundleMessage):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156349 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Upstream changes to Pasteboard implementation for iOS.
https://bugs.webkit.org/show_bug.cgi?id=121818

Reviewed by Darin Adler.

Source/WebCore: 

* WebCore.xcodeproj/project.pbxproj:
* editing/Editor.cpp:
(WebCore::Editor::cut):
(WebCore::Editor::copyImage):
* editing/ios/EditorIOS.mm:
(WebCore::attributedStringForRange):
(WebCore::dataInRTFDFormat):
(WebCore::dataInRTFFormat):
(WebCore::Editor::stringSelectionForPasteboardWithImageAltText):
(WebCore::Editor::selectionInWebArchiveFormat):
(WebCore::Editor::writeSelectionToPasteboard):
(WebCore::getImage):
(WebCore::Editor::writeImageToPasteboard):
* platform/Pasteboard.h:
* platform/PasteboardStrategy.h:
* platform/PlatformPasteboard.h:
* platform/ios/PasteboardIOS.mm:
* platform/ios/PlatformPasteboardIOS.mm: Added.
(WebCore::PlatformPasteboard::PlatformPasteboard):
(WebCore::PlatformPasteboard::getTypes):
(WebCore::PlatformPasteboard::bufferForType):
(WebCore::PlatformPasteboard::getPathnamesForType):
(WebCore::PlatformPasteboard::stringForType):
(WebCore::PlatformPasteboard::color):
(WebCore::PlatformPasteboard::url):
(WebCore::PlatformPasteboard::copy):
(WebCore::PlatformPasteboard::addTypes):
(WebCore::PlatformPasteboard::setTypes):
(WebCore::PlatformPasteboard::setBufferForType):
(WebCore::PlatformPasteboard::setPathnamesForType):
(WebCore::PlatformPasteboard::setStringForType):
(WebCore::PlatformPasteboard::changeCount):
(WebCore::PlatformPasteboard::uniqueName):
(WebCore::PlatformPasteboard::write):

Source/WebKit/mac: 

* WebCoreSupport/WebPlatformStrategies.h:
* WebCoreSupport/WebPlatformStrategies.mm:
(WebPlatformStrategies::writeToPasteboard):

Source/WebKit2: 

* Scripts/webkit2/messages.py:
(struct_or_class):
(headers_for_type):
* Shared/WebCoreArgumentCoders.cpp:
(CoreIPC::encodeSharedBuffer):
(CoreIPC::decodeSharedBuffer):
(CoreIPC::::encode):
(CoreIPC::::decode):
* Shared/WebCoreArgumentCoders.h:
* UIProcess/WebContext.h:
* UIProcess/WebContext.messages.in:
* UIProcess/mac/WebContextMac.mm:
(WebKit::WebContext::writeWebContentToPasteboard):
(WebKit::WebContext::writeImageToPasteboard):
(WebKit::WebContext::writeStringToPasteboard):
* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::writeToPasteboard):
* WebProcess/WebCoreSupport/WebPlatformStrategies.h:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156350 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Use mapped name in attribute location binding
https://bugs.webkit.org/show_bug.cgi?id=121847
<rdar://problem/15067526>

Reviewed by Eric Carlson.

Source/WebCore:

The shader that we send down to OpenGL to compile
may have been translated by ANGLE, so we keep a
table around that maps input symbols to output symbols.
We used the table when binding to and looking up
uniforms, and when looking up attributes, but not
when actually binding to attribute locations.

Test: fast/canvas/webgl/gl-bind-attrib-mapped-names.html

* platform/graphics/ANGLEWebKitBridge.cpp:
(WebCore::getSymbolInfo): Add logging of symbol mapping.
* platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
(WebCore::GraphicsContext3D::bindAttribLocation): Used the mapped name.
(WebCore::GraphicsContext3D::getAttribLocation): Remove comment since
we do the lookup everywhere.
(WebCore::GraphicsContext3D::getUniformLocation): Ditto.

LayoutTests:

New test that has an attribute name long enough
to trigger symbol mapping in all cases.

* fast/canvas/webgl/gl-bind-attrib-mapped-names-expected.txt: Added.
* fast/canvas/webgl/gl-bind-attrib-mapped-names.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156351 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Implement symbol name hashing for WebGL shaders
https://bugs.webkit.org/show_bug.cgi?id=121849

Reviewed by Anders Carlsson.

Turn on ANGLE's symbol name mapping for shader programs.
This avoids compilation failures (or worse, crashers)
on some hardware that doesn't like it when shaders redefine
symbols like "sin", even though that is valid.

The way ANGLE exposes this is via setting a pointer
to a char* -> uint64_t hash function. Since we only have
a 32-bit hash in WebKit, I combine the 32-bit value with
a counter value that exists over the lifetime of a GC3D context.
Before calling ANGLE, I point the global hash map to the local
hash map, and then clean up after we're done. This introduces
a memory hit, in that the symbol table will build up until
the context is released.

Covered by Khronos WebGL tests, including
conformance/glsl/misc/shader-with-non-reserved-words.html

* platform/graphics/GraphicsContext3D.h: Define a ShaderNameHash type,
and add an OwnPtr to one as a member variable.
* platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
(WebCore::nameHashForShader): Global function used for ANGLE hashing.
(WebCore::GraphicsContext3D::compileShader): Set up the ANGLE properties,
point to the local hash map, and call compile/translate.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156352 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove encoder create functions
https://bugs.webkit.org/show_bug.cgi?id=121853

Reviewed by Sam Weinig.

Source/WebKit2:

* Platform/CoreIPC/ArgumentEncoder.cpp:
* Platform/CoreIPC/ArgumentEncoder.h:
* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::dispatchWorkQueueMessageReceiverMessage):
(CoreIPC::Connection::createSyncMessageEncoder):
(CoreIPC::Connection::dispatchSyncMessage):
* Platform/CoreIPC/Connection.h:
(CoreIPC::Connection::send):
* Platform/CoreIPC/MessageEncoder.cpp:
(CoreIPC::MessageEncoder::setIsSyncMessage):
* Platform/CoreIPC/MessageEncoder.h:
* Platform/CoreIPC/MessageSender.h:
(CoreIPC::MessageSender::send):
* Platform/CoreIPC/mac/ConnectionMac.cpp:
(CoreIPC::Connection::open):
* Shared/ChildProcessProxy.h:
(WebKit::ChildProcessProxy::send):
* Shared/WebConnection.cpp:
(WebKit::WebConnection::postMessage):
* UIProcess/WebContext.cpp:
(WebKit::WebContext::createNewWebProcess):
(WebKit::WebContext::postMessageToInjectedBundle):
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::postMessage):
* WebProcess/WebPage/EncoderAdapter.cpp:
(WebKit::EncoderAdapter::EncoderAdapter):
(WebKit::EncoderAdapter::dataReference):
(WebKit::EncoderAdapter::encodeBytes):
(WebKit::EncoderAdapter::encodeBool):
(WebKit::EncoderAdapter::encodeUInt16):
(WebKit::EncoderAdapter::encodeUInt32):
(WebKit::EncoderAdapter::encodeUInt64):
(WebKit::EncoderAdapter::encodeInt32):
(WebKit::EncoderAdapter::encodeInt64):
(WebKit::EncoderAdapter::encodeFloat):
(WebKit::EncoderAdapter::encodeDouble):
(WebKit::EncoderAdapter::encodeString):
* WebProcess/WebPage/EncoderAdapter.h:

Source/WTF:

Add a variadic version of createOwned.

* wtf/OwnPtr.h:
(WTF::createOwned):

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