Updating forms survey with non-standard wrap for textarea and more data-list driven text fields.

* projects/forms/survey.html:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94030 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add support for chomium-mac (non-CoreGraphics) baselines
https://bugs.webkit.org/show_bug.cgi?id=67163

Reviewed by Eric Seidel.

This patch teaches the non-CG chromium-mac bots to look at non-CG
baselines.  However, the patch still leaves CG as the default set of
baselines.

* Scripts/webkitpy/common/checkout/baselineoptimizer_unittest.py:
* Scripts/webkitpy/common/config/build.py:
* Scripts/webkitpy/common/config/build_unittest.py:
* Scripts/webkitpy/layout_tests/port/builders.py:
* Scripts/webkitpy/layout_tests/port/chromium.py:
* Scripts/webkitpy/layout_tests/port/chromium_mac.py:
* Scripts/webkitpy/layout_tests/port/factory.py:
* Scripts/webkitpy/layout_tests/port/factory_unittest.py:
* Scripts/webkitpy/to_be_moved/rebaseline_chromium_webkit_tests.py:
* Scripts/webkitpy/to_be_moved/rebaseline_chromium_webkit_tests_unittest.py:
* Scripts/webkitpy/tool/commands/rebaseline_unittest.py:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94031 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] QTouchWebView url property test missing
https://bugs.webkit.org/show_bug.cgi?id=67159

Patch by Gopal Raghavan <gopal.1.raghavan@nokia.com> on 2011-08-29
Reviewed by Noam Rosenthal.

Added qml test case to check url property of QTouchWebView. Since url is a readonly property, we make sure that it's set after load() is called.

* UIProcess/API/qt/tests/qmltests/TouchWebView/tst_properties.qml:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94033 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] Add missing API documentation.
https://bugs.webkit.org/show_bug.cgi?id=66927

Patch by Grzegorz Czajkowski <g.czajkowski@samsung.com> on 2011-08-29
Reviewed by Kent Tamura.

Adds missing documentation for ewk_context_menu_item_checked_get/set.
Moves API documentation from cpp to the headers.
Adds brief and file commands for ewk_js.h.

* ewk/ewk_contextmenu.h:
* ewk/ewk_cookies.cpp:
* ewk/ewk_cookies.h:
* ewk/ewk_frame.cpp:
* ewk/ewk_frame.h:
* ewk/ewk_js.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94034 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unzip initialization lists and constructors in JSCell hierarchy (3/7)
https://bugs.webkit.org/show_bug.cgi?id=67064

Patch by Mark Hahnenberg <mhahnenberg@apple.com> on 2011-08-29
Reviewed by Darin Adler.

Source/JavaScriptCore:

Completed the third level of the refactoring to add finishCreation()
methods to all classes within the JSCell hierarchy with non-trivial
constructor bodies.

This primarily consists of pushing the calls to finishCreation() down
into the constructors of the subclasses of the second level of the hierarchy
as well as pulling the finishCreation() calls out into the class's corresponding
create() method if it has one.  Doing both simultaneously allows us to
maintain the invariant that the finishCreation() method chain is called exactly
once during the creation of an object, since calling it any other number of
times (0, 2, or more) will cause an assertion failure.

* debugger/DebuggerActivation.cpp:
(JSC::DebuggerActivation::DebuggerActivation):
(JSC::DebuggerActivation::finishCreation):
* debugger/DebuggerActivation.h:
(JSC::DebuggerActivation::create):
* runtime/Arguments.h:
(JSC::Arguments::create):
(JSC::Arguments::createNoParameters):
(JSC::Arguments::Arguments):
(JSC::Arguments::finishCreation):
* runtime/ErrorInstance.cpp:
(JSC::ErrorInstance::ErrorInstance):
* runtime/ErrorInstance.h:
(JSC::ErrorInstance::finishCreation):
* runtime/ExceptionHelpers.cpp:
(JSC::InterruptedExecutionError::InterruptedExecutionError):
(JSC::TerminatedExecutionError::TerminatedExecutionError):
* runtime/Executable.cpp:
(JSC::EvalExecutable::EvalExecutable):
(JSC::ProgramExecutable::ProgramExecutable):
(JSC::FunctionExecutable::FunctionExecutable):
Moved the assignment of m_firstLine and m_lastLine into the
FunctionExecutable::finishCreation() method in Executable.h
* runtime/Executable.h:
(JSC::ScriptExecutable::ScriptExecutable):
(JSC::EvalExecutable::create):
(JSC::ProgramExecutable::create):
(JSC::FunctionExecutable::create):
(JSC::FunctionExecutable::finishCreation):
* runtime/JSArray.cpp:
(JSC::JSArray::JSArray):
(JSC::JSArray::finishCreation):
* runtime/JSArray.h:
* runtime/JSByteArray.cpp:
(JSC::JSByteArray::JSByteArray):
* runtime/JSByteArray.h:
(JSC::JSByteArray::finishCreation):
* runtime/JSNotAnObject.h:
(JSC::JSNotAnObject::JSNotAnObject):
* runtime/JSObject.h:
(JSC::JSNonFinalObject::JSNonFinalObject):
* runtime/JSObjectWithGlobalObject.cpp:
(JSC::JSObjectWithGlobalObject::JSObjectWithGlobalObject):
(JSC::JSObjectWithGlobalObject::finishCreation):
* runtime/JSObjectWithGlobalObject.h:
* runtime/JSVariableObject.h:
(JSC::JSVariableObject::JSVariableObject):
(JSC::JSVariableObject::finishCreation):
* runtime/JSWrapperObject.h:
(JSC::JSWrapperObject::JSWrapperObject):
* runtime/ObjectPrototype.cpp:
(JSC::ObjectPrototype::ObjectPrototype):
(JSC::ObjectPrototype::finishCreation):
* runtime/ObjectPrototype.h:
* runtime/StrictEvalActivation.cpp:
(JSC::StrictEvalActivation::StrictEvalActivation):

Source/JavaScriptGlue:

Completed the third level of the refactoring to add finishCreation()
methods to all classes within the JSCell hierarchy with non-trivial
constructor bodies.

This primarily consists of pushing the calls to finishCreation() down
into the constructors of the subclasses of the second level of the hierarchy
as well as pulling the finishCreation() calls out into the class's corresponding
create() method if it has one.  Doing both simultaneously allows us to
maintain the invariant that the finishCreation() method chain is called exactly
once during the creation of an object, since calling it any other number of
times (0, 2, or more) will cause an assertion failure.

* UserObjectImp.cpp:
(UserObjectImp::UserObjectImp):

Source/WebCore:

No new tests.

Completed the third level of the refactoring to add finishCreation()
methods to all classes within the JSCell hierarchy with non-trivial
constructor bodies.

This primarily consists of pushing the calls to finishCreation() down
into the constructors of the subclasses of the second level of the hierarchy
as well as pulling the finishCreation() calls out into the class's corresponding
create() method if it has one.  Doing both simultaneously allows us to
maintain the invariant that the finishCreation() method chain is called exactly
once during the creation of an object, since calling it any other number of
times (0, 2, or more) will cause an assertion failure.

* bindings/js/JSDOMWindowShell.cpp:
(WebCore::JSDOMWindowShell::JSDOMWindowShell):
(WebCore::JSDOMWindowShell::finishCreation):
* bindings/js/JSDOMWindowShell.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94035 268f45cc-cd09-0410-ab3c-d52691b4dbfc
sheriffbot "usage" help statements are wrong
https://bugs.webkit.org/show_bug.cgi?id=67170

Patch by Tom Zakrajsek <tomz@codeaurora.org> on 2011-08-29
Reviewed by Adam Barth.

* Scripts/webkitpy/tool/bot/irc_command.py:
* Scripts/webkitpy/tool/bot/irc_command_unittest.py:
* Scripts/webkitpy/tool/bot/sheriffircbot_unittest.py:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94036 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Implement CSSPropertyWebkitColumns in CSSStyleApplyProperty.
https://bugs.webkit.org/show_bug.cgi?id=67106

Reviewed by Darin Adler.

Tests:
LayoutTests/fast/multicol/inherit-column-values.html
LayoutTests/fast/multicol/initial-column-values.html

* css/CSSStyleApplyProperty.cpp:
(WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
Initialize handler for CSSPropertyWebkitColumns.
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
Remove existing implementation for CSSPropertyWebkitColumns.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94037 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add a test for lastChangeWasUserEdit in HTMLInputElement and HTMLTextAreaElement
https://bugs.webkit.org/show_bug.cgi?id=67173

Reviewed by Darin Adler.

Source/WebCore: 

Exposed HTMLInputElement::lastChangeWasUserEdit and HTMLTextAreaElement::lastChangeWasUserEdit
via internals.wasLastChangeUserEdit(Element*, ExceptionCode&). The first argument must be
an input element or a textarea element lastChangeWasUserEdit is called upon.

Test: fast/forms/textfield-lastchange-was-useredit.html

* testing/Internals.cpp:
(WebCore::Internals::wasLastChangeUserEdit):
* testing/Internals.h:
* testing/Internals.idl:

LayoutTests: 

Added some basic test for HTMLInputElement::lastChangeWasUserEdit and
HTMLTextAreaElement::lastChangeWasUserEdit.

* fast/forms/textfield-lastchange-was-useredit-expected.txt: Added.
* fast/forms/textfield-lastchange-was-useredit.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94038 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Windows build fix for r94038.

* win/WebKit2.def:
* win/WebKit2CFLite.def:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94039 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Export more symbols for r94038.

* win/WebKit2.def:
* win/WebKit2CFLite.def:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94040 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WebSocket: Receive binary message as Blob
https://bugs.webkit.org/show_bug.cgi?id=67115

Reviewed by Kent Tamura.

Source/WebCore:

Make WebSocketChannel be able to receive WebSocket binary messages and deliver them via
didReceiveBinaryData() callback of WebSocketChannelClient.

Tests: http/tests/websocket/tests/hybi/fragmented-binary-frames.html
       http/tests/websocket/tests/hybi/receive-blob.html
       http/tests/websocket/tests/hybi/workers/receive-blob.html

* bindings/js/JSMessageEventCustom.cpp:
(WebCore::JSMessageEvent::data): Convert Blob to JSValue.
* bindings/v8/custom/V8MessageEventCustom.cpp:
(WebCore::V8MessageEvent::dataAccessorGetter): Convert Blob to v8::Value.
* dom/MessageEvent.cpp:
(WebCore::MessageEvent::MessageEvent):
* dom/MessageEvent.h:
Added DataTypeBlob and Blob-related functions.
(WebCore::MessageEvent::create):
(WebCore::MessageEvent::dataAsBlob):
* websockets/ThreadableWebSocketChannelClientWrapper.cpp:
(WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveBinaryData):
(WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveBinaryDataCallback):
* websockets/ThreadableWebSocketChannelClientWrapper.h:
* websockets/WebSocket.cpp:
(WebCore::WebSocket::didReceiveBinaryData):
If binaryType attribute is "blob", construct a Blob using BlobData filled with the given
binary message.
* websockets/WebSocket.h:
* websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::processFrame):
Create continuousFrameData as OwnPtr<> rather than stack-allocated value so we can easily
pass it to didReceiveBinaryData() callback.
Save the content of a fragmented message even if it is a binary opcode.
* websockets/WebSocketChannelClient.h:
(WebCore::WebSocketChannelClient::didReceiveBinaryData):
* websockets/WorkerThreadableWebSocketChannel.cpp:
(WebCore::workerContextDidReceiveBinaryData):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveBinaryData):
Pass binaryData as PassOwnPtr<Vector<char> > to deliver the value efficiently (without
copying the content) across threads.
* websockets/WorkerThreadableWebSocketChannel.h:

LayoutTests:

* http/tests/websocket/tests/hybi/binary-frames_wsh.py: Added. Used from receive-blob.html.
* http/tests/websocket/tests/hybi/fragmented-binary-frames-expected.txt: Added.
* http/tests/websocket/tests/hybi/fragmented-binary-frames.html:
Added. The content of this test is almost identical to receive-blob.html.
* http/tests/websocket/tests/hybi/fragmented-binary-frames_wsh.py: Added.
* http/tests/websocket/tests/hybi/receive-blob-expected.txt: Added.
* http/tests/websocket/tests/hybi/receive-blob.html:
Added. It is a bit complicated to validate the content of a Blob, because a Blob must be read
asynchronously. FileReader is used to read a blob as an ArrayBuffer, each byte of which is
compared with the expected result.
* http/tests/websocket/tests/hybi/workers/receive-blob-expected.txt: Added.
* http/tests/websocket/tests/hybi/workers/receive-blob.html: Added.
* http/tests/websocket/tests/hybi/workers/resources/binary-frames_wsh.py:
Added. Same as above binary-frames_wsh.py.
* http/tests/websocket/tests/hybi/workers/resources/receive-blob.js: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94041 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Misc test expectations updates.

* platform/chromium-mac/fast/files/create-blob-url-crash-expected.txt: Copied from LayoutTests/platform/qt/fast/files/create-blob-url-crash-expected.txt.
* platform/chromium/fast/files/create-blob-url-crash-expected.txt: Renamed from LayoutTests/platform/qt/fast/files/create-blob-url-crash-expected.txt.
   Added due to it being different from normal OSX result.
* platform/chromium/test_expectations.txt: Changes due to expectation
  update for media-document-audio-repaint.html leading to only an image mismatch
  and a test that is a slow on OS X as well as Linux and Windows.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94042 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Minor update for test that is timing out.

* platform/chromium/test_expectations.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94043 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add HAVE(VASPRINTF) macro to test for vasprintf() support
https://bugs.webkit.org/show_bug.cgi?id=67156

Reviewed by Darin Adler.

Source/JavaScriptCore:

Encapsulate testing of vasprintf() support in a HAVE macro
instead of hardcoding the list of supported/unsupported
compilers at the call site.

* wtf/Platform.h:

Source/WebCore:

* xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::error): Modified to use HAVE(VASPRINTF).


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94044 268f45cc-cd09-0410-ab3c-d52691b4dbfc
REGRESSION(r88115): Disabling a file upload control causes an endless busyloop.
https://bugs.webkit.org/show_bug.cgi?id=66659

Reviewed by Darin Adler.

Source/WebCore:

Test: fast/forms/file/disabling-file-busy-loop.html

* rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::updateFromElement):
Don't call setDisabled() if the disabled status is not changed.
setDisabled() causes styleRecalc(), and
HTMLFormControlElement::styleRecalc() causes
updateFromElement(). updateFromElement() should not call
setDisabled() again.

LayoutTests:

* fast/forms/file/disabling-file-busy-loop-expected.txt: Added.
* fast/forms/file/disabling-file-busy-loop.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94045 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed marking skip.

* platform/win/Skipped: Skipped editing/spelling/spelling-insert-html.html

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94046 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Move setInnerTextValue from RenderTextControl to HTMLTextFormControlElement
https://bugs.webkit.org/show_bug.cgi?id=67152

Reviewed by Darin Adler.

Moved setInnerTextValue from RenderTextControl to HTMLTextFormControlElement.

Also moved m_lastChangeWasUserEdit from RenderTextControl to HTMLTextFormControlElement
and related inline functions from RenderTextControl to HTMLTextFormControlElement.
Because m_lastChangeWasUserEdit is no longer reset when RenderTextControl is recreated,
added explicit calls to setLastChangeWasNotUserEdit in setValue functions of HTMLInputElement
and HTMLTextAreaElement.

This patch also fixes the bug that lastChangeWasUserEdit() incorrectly returns false
when input or textarea don't have renderer (e.g. invisible).

Unfortunately, there is no way to test this behavioral change from layout tests.

* WebCore.exp.in: Exports lastChangeWasUserEdit in HTMLTextFormControlElement instead of
that of HTMLInputElement and HTMLTextAreaElement.
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::setValue): Explicitly calls setLastChangeWasNotUserEdit.
* html/HTMLInputElement.h:
* html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::setValueCommon): Ditto.
* html/HTMLTextAreaElement.h:
* html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::HTMLTextFormControlElement):
(WebCore::HTMLTextFormControlElement::subtreeHasChanged): Sets m_lastChangeWasUserEdit true
as it used to do via respondToChangeByUser.
(WebCore::HTMLTextFormControlElement::lastChangeWasUserEdit): Moved from HTMLInputElement
and HTMLTextAreaElement.
(WebCore::HTMLTextFormControlElement::setInnerTextValue): Moved from RenderTextControl.
* html/HTMLTextFormControlElement.h:
(WebCore::HTMLTextFormControlElement::setLastChangeWasNotUserEdit): Added.
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::RenderTextControl): No longer initializes m_lastChangeWasUserEdit.
* rendering/RenderTextControl.h:
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::updateFromElement): Calls setInnerTextValue.
* rendering/RenderTextControlMultiLine.cpp:
(WebCore::RenderTextControlMultiLine::updateFromElement): Ditto.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94047 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Add exception due to missing results for r94037.

* platform/chromium/test_expectations.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94048 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Move setInnerTextValue from RenderTextControl to HTMLTextFormControlElement
https://bugs.webkit.org/show_bug.cgi?id=67152

Reviewed by Darin Adler.

Updated call sites of lastChangeWasUserEdit since it's moved from RenderTextControl
to HTMLTextFormControlElement.

* DOMHTMLClasses.cpp:
(DOMHTMLInputElement::isUserEdited):
(DOMHTMLTextAreaElement::isUserEdited):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94049 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Build fix attempt after r94038.

* Source/autotools/symbols.filter:


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