[Qt] Error out early if we don't have ICU available

Reviewed by Tor Arne Vestbø.

Source/WTF:

* WTF.pri:

Tools:

* qmake/mkspecs/features/configure.prf:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129217 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: [refactoring] simplify interface to FileOutputStream
https://bugs.webkit.org/show_bug.cgi?id=97226

Reviewed by Yury Semikhatsky.

Source/WebCore:

- change OutputStream interface to match that of stream;
- fix OutputStream implementations (FileOutputStream and those in heap profiler);
- fix usages in Timeline and HeapProfiler.

* inspector/front-end/FileUtils.js:
(WebInspector.OutputStream.prototype.write):
(WebInspector.OutputStream.prototype.close):
(WebInspector.ChunkedFileReader.prototype.start):
(WebInspector.ChunkedFileReader.prototype._onChunkLoaded):
(WebInspector.ChunkedXHRReader.prototype.start):
(WebInspector.ChunkedXHRReader.prototype._onProgress):
(WebInspector.ChunkedXHRReader.prototype._onLoad):
(WebInspector.FileOutputStream):
(WebInspector.FileOutputStream.prototype.open.callbackWrapper):
(WebInspector.FileOutputStream.prototype.open):
(WebInspector.FileOutputStream.prototype.write):
(WebInspector.FileOutputStream.prototype.close):
(WebInspector.FileOutputStream.prototype._onAppendDone):
* inspector/front-end/HeapSnapshotLoader.js:
(WebInspector.HeapSnapshotLoader.prototype.close):
(WebInspector.HeapSnapshotLoader.prototype.write):
* inspector/front-end/HeapSnapshotProxy.js:
(WebInspector.HeapSnapshotLoaderProxy.prototype.startTransfer):
(WebInspector.HeapSnapshotLoaderProxy.prototype.write):
(WebInspector.HeapSnapshotLoaderProxy.prototype.close):
* inspector/front-end/HeapSnapshotView.js:
(WebInspector.HeapProfileHeader):
(WebInspector.HeapProfileHeader.prototype.load):
(WebInspector.HeapProfileHeader.prototype._setupWorker):
(WebInspector.HeapProfileHeader.prototype.dispose):
(WebInspector.HeapProfileHeader.prototype.transferChunk.callback):
(WebInspector.HeapProfileHeader.prototype.transferChunk):
(WebInspector.HeapProfileHeader.prototype.finishHeapSnapshot):
(WebInspector.HeapProfileHeader.prototype.saveToFile.onOpen):
(WebInspector.HeapProfileHeader.prototype.saveToFile):
* inspector/front-end/TimelineModel.js:
(WebInspector.TimelineModel.prototype._createFileWriter):
(WebInspector.TimelineModel.prototype.saveToFile.callback):
(WebInspector.TimelineModel.prototype.saveToFile):
(WebInspector.TimelineModelLoader):
(WebInspector.TimelineModelLoader.prototype.write):
(WebInspector.TimelineModelLoader.prototype.close):
(WebInspector.TimelineSaver):
(WebInspector.TimelineSaver.prototype.save):
(WebInspector.TimelineSaver.prototype._writeNextChunk):

LayoutTests:

- adjust tests to new FileOutputStream interface;

* inspector/profiler/heap-snapshot-loader.html:
* inspector/timeline/timeline-load.html:
* inspector/timeline/timeline-test.js:
(initialize_Timeline.InspectorTest.FakeFileReader.prototype.start):
(initialize_Timeline.InspectorTest.StringOutputStream):
(initialize_Timeline.InspectorTest.StringOutputStream.prototype.write):
(initialize_Timeline.InspectorTest.StringOutputStream.prototype.close):
(initialize_Timeline):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129218 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: [Canvas] support 2D canvas instrumentation from the inspector C++ code
https://bugs.webkit.org/show_bug.cgi?id=97203

Patch by Andrey Adaikin <aandrey@chromium.org> on 2012-09-21
Reviewed by Yury Semikhatsky.

Implements wrapping a 2D canvas context through the injected canvas module script facility.

* bindings/js/JSHTMLCanvasElementCustom.cpp:
(WebCore::JSHTMLCanvasElement::getContext):
* bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
(WebCore::V8HTMLCanvasElement::getContextCallback):
* inspector/InjectedScriptCanvasModule.cpp:
(WebCore::InjectedScriptCanvasModule::wrapCanvas2DContext):
(WebCore):
(WebCore::InjectedScriptCanvasModule::wrapWebGLContext):
(WebCore::InjectedScriptCanvasModule::callWrapContextFunction):
* inspector/InjectedScriptCanvasModule.h:
(InjectedScriptCanvasModule):
* inspector/InspectorCanvasAgent.cpp:
(WebCore::InspectorCanvasAgent::wrapCanvas2DRenderingContextForInstrumentation):
(WebCore):
* inspector/InspectorCanvasAgent.h:
(InspectorCanvasAgent):
* inspector/InspectorCanvasInstrumentation.h:
(WebCore::InspectorInstrumentation::wrapCanvas2DRenderingContextForInstrumentation):
(WebCore):
* inspector/InspectorInstrumentation.h:
(InspectorInstrumentation):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129219 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[WK2][WKTR] EventSender needs to implement scheduleAsynchronousClick
https://bugs.webkit.org/show_bug.cgi?id=97326

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-09-21
Reviewed by Kenneth Rohde Christiansen.

Tools:

Implement scheduleAsynchronousClick() in WebKitTestRunner's
EventSender by sending a "MouseDown" and a "MouseUp" message
asynchronously to the WebProcess.

* WebKitTestRunner/InjectedBundle/Bindings/EventSendingController.idl:
* WebKitTestRunner/InjectedBundle/EventSendingController.cpp:
(WTR::createMouseMessageBody):
(WTR):
(WTR::EventSendingController::mouseDown):
(WTR::EventSendingController::mouseUp):
(WTR::EventSendingController::scheduleAsynchronousClick):
* WebKitTestRunner/InjectedBundle/EventSendingController.h:
(EventSendingController):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::didReceiveMessageFromInjectedBundle):

LayoutTests:

Unskip fast/events/popup-blocking-click-in-iframe.html for
WebKit2 now that WKTR's EventSender implements
scheduleAsynchronousClick.

* platform/efl-wk2/TestExpectations:
* platform/gtk-wk2/TestExpectations:
* platform/mac-wk2/Skipped:
* platform/qt-5.0-wk2/Skipped:

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