Make the Web Inspector console work in strict mode with JavaScriptCore.

https://webkit.org/b/65829
rdar://problem/11271238

Reviewed by Oliver Hunt.

Source/WebCore:

* bindings/js/JSInjectedScriptHostCustom.cpp:
(WebCore::JSInjectedScriptHost::evaluate):
Return the evalFunction directly.

* inspector/InjectedScriptHost.h:
(WebCore::InjectedScriptHost::evaluateReturnsEvalFunction):
Added. Return true on JSC and false on V8.

* inspector/InjectedScriptHost.idl:
Added evaluateReturnsEvalFunction and change evaluate to an attribute on JSC.

* inspector/InjectedScriptSource.js:
(InjectedScript.prototype._evaluateOn): Change from using 'with' statements to creating
a closure that evaluates the expression. The command line APIs are passed as parameters
to the closure so they are in scope but not injected. This allows the code evaluated in
the console to stay in strict mode (if is was already set), or to get strict mode by
prefixing expressions with 'use strict';.

LayoutTests:

* inspector/debugger/mutation-observer-suspend-while-paused.html: Tweaked.
* inspector/console/command-line-api-expected.txt: Updated.

* platform/mac/http/tests/inspector/console-resource-errors-expected.txt: Added.
* platform/mac/http/tests/inspector/console-websocket-error-expected.txt: Updated.
* platform/mac/inspector/console/console-eval-syntax-error-expected.txt: Added.
* platform/mac/inspector/debugger/debugger-pause-in-eval-script-expected.txt: Added.
* platform/mac/inspector/extensions/extensions-eval-expected.txt: Added.
Added new expectations to match the new console evaluate approach.


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