[iOS] QuickLook returns an invalid MIME type for some documents
https://bugs.webkit.org/show_bug.cgi?id=135651

Reviewed by David Kilzer.

In some cases QuickLook indicates a failure by returning a nil MIME type in -[QLPreviewConverter previewResponse]
rather than calling connection:didFailWithError:. Calling ResourceLoader::didReceiveResponse() with a response
containing a nil MIME type leads to a crash.

Stop loading the resource and display an error page if QuickLook cannot provide a MIME type for the converted response.

No new tests. QuickLook is not testable from WebKit.

* platform/network/ios/QuickLook.mm:
(-[WebResourceLoaderQuickLookDelegate _sendDidReceiveResponseIfNecessary]): Called ResourceLoader::didFail() if
MIME type was nil. Called ResourceLoader::didReceiveResponse() otherwise.
(-[WebResourceLoaderQuickLookDelegate connection:didReceiveDataArray:]): Called -_sendDidReceiveResponseIfNecessary.
(-[WebResourceLoaderQuickLookDelegate connection:didReceiveData:lengthReceived:]): Ditto.
(-[WebResourceLoaderQuickLookDelegate connection:didFailWithError:]): Ditto.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@172151 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[ARM] Incorrect handling of Unicode characters
https://bugs.webkit.org/show_bug.cgi?id=135380

Reviewed by Darin Adler.

Removed erroneous fast case from stringFromUTF(), since it assumed that
char is always implemented as signed.

* jsc.cpp:
(stringFromUTF):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@172152 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Text-shadow with (0, 0) offset and radius = 0 is ugly
https://bugs.webkit.org/show_bug.cgi?id=135357

Reviewed by Darin Adler.

Source/WebCore:

Instead, check for this kind of shadow and don't draw it.

Test: fast/text/empty-shadow.html

* rendering/TextPainter.cpp:
(WebCore::isEmptyShadow): Does a shadow match these criteria?
(WebCore::paintTextWithShadows): If so, don't draw it.

LayoutTests:

Check that this kind of shadow ends up invisible.

* fast/text/empty-shadow-expected.html: Added
* fast/text/empty-shadow.html: Added

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@172153 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r172145.
https://bugs.webkit.org/show_bug.cgi?id=135657

caused 1 API test to fail (Requested by zalan on #webkit).

Reverted changeset:

"Cleanup InlineTextBox::paintSelection and
::localSelectionRect."
https://bugs.webkit.org/show_bug.cgi?id=135631
http://trac.webkit.org/changeset/172145

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@172154 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r172145.
https://bugs.webkit.org/show_bug.cgi?id=135657

caused 1 API test to fail (Requested by zalan on #webkit).

Reverted changeset:

"Cleanup InlineTextBox::paintSelection and
::localSelectionRect."
https://bugs.webkit.org/show_bug.cgi?id=135631
http://trac.webkit.org/changeset/172145

Patch by Commit Queue <commit-queue@webkit.org> on 2014-08-06

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@172155 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed build fix

* rendering/TextPainter.cpp: Used incorrect variable name

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@172156 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r172155.
https://bugs.webkit.org/show_bug.cgi?id=135659

ChangeLog and commit message are wrong (Requested by estes on
#webkit).

Reverted changeset:

"Unreviewed, rolling out r172145."
https://bugs.webkit.org/show_bug.cgi?id=135657
http://trac.webkit.org/changeset/172155

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@172157 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: protocol command invocations should return a promise if no callback is supplied
https://bugs.webkit.org/show_bug.cgi?id=130702

Reviewed by Timothy Hatcher.

Source/WebInspectorUI:

This allows the trailing Agent.command.promise(args) to be dropped in favor of just
Agent.command(args). It should make it a bit easier to convert code to use promises.

Test: LayoutTests/inspector/protocol-promise-result.html

* UserInterface/Controllers/ReplayManager.js: Drop use of .promise().
* UserInterface/Controllers/TimelineManager.js: Drop use of .promise().
(WebInspector.TimelineManager.prototype.startCapturing):
* UserInterface/Protocol/InspectorBackend.js:
(.callable): Redirect to the promise entry point if the last argument isn't a function.
(InspectorBackend.Command.create):

LayoutTests:

Addd a test for recieving protocol command results through an explicit callback,
via the .promise() entry point, and via an implicitly created promise.

* inspector/protocol-promise-result-expected.txt: Added.
* inspector/protocol-promise-result.html: Added.

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