diff options
author | Kristian Monsen <kristianm@google.com> | 2010-09-08 12:18:00 +0100 |
---|---|---|
committer | Kristian Monsen <kristianm@google.com> | 2010-09-11 12:08:58 +0100 |
commit | 5ddde30071f639962dd557c453f2ad01f8f0fd00 (patch) | |
tree | 775803c4ab35af50aa5f5472cd1fb95fe9d5152d /WebCore/bindings/js | |
parent | 3e63d9b33b753ca86d0765d1b3d711114ba9e34f (diff) | |
download | external_webkit-5ddde30071f639962dd557c453f2ad01f8f0fd00.zip external_webkit-5ddde30071f639962dd557c453f2ad01f8f0fd00.tar.gz external_webkit-5ddde30071f639962dd557c453f2ad01f8f0fd00.tar.bz2 |
Merge WebKit at r66666 : Initial merge by git.
Change-Id: I57dedeb49859adc9c539e760f0e749768c66626f
Diffstat (limited to 'WebCore/bindings/js')
-rw-r--r-- | WebCore/bindings/js/JSXMLHttpRequestCustom.cpp | 8 | ||||
-rw-r--r-- | WebCore/bindings/js/ScriptHeapSnapshot.h | 54 | ||||
-rw-r--r-- | WebCore/bindings/js/ScriptProfile.cpp | 2 | ||||
-rw-r--r-- | WebCore/bindings/js/ScriptProfiler.h | 4 | ||||
-rw-r--r-- | WebCore/bindings/js/SerializedScriptValue.cpp | 6 | ||||
-rw-r--r-- | WebCore/bindings/js/SerializedScriptValue.h | 2 |
6 files changed, 72 insertions, 4 deletions
diff --git a/WebCore/bindings/js/JSXMLHttpRequestCustom.cpp b/WebCore/bindings/js/JSXMLHttpRequestCustom.cpp index da75139..2da3771 100644 --- a/WebCore/bindings/js/JSXMLHttpRequestCustom.cpp +++ b/WebCore/bindings/js/JSXMLHttpRequestCustom.cpp @@ -124,7 +124,13 @@ JSValue JSXMLHttpRequest::send(ExecState* exec) JSValue JSXMLHttpRequest::responseText(ExecState* exec) const { - return jsOwnedStringOrNull(exec, impl()->responseText()); + ExceptionCode ec = 0; + const ScriptString& text = impl()->responseText(ec); + if (ec) { + setDOMException(exec, ec); + return jsUndefined(); + } + return jsOwnedStringOrNull(exec, text); } EncodedJSValue JSC_HOST_CALL JSXMLHttpRequestConstructor::constructJSXMLHttpRequest(ExecState* exec) diff --git a/WebCore/bindings/js/ScriptHeapSnapshot.h b/WebCore/bindings/js/ScriptHeapSnapshot.h new file mode 100644 index 0000000..c81c782 --- /dev/null +++ b/WebCore/bindings/js/ScriptHeapSnapshot.h @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2010, Google Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef ScriptHeapSnapshot_h +#define ScriptHeapSnapshot_h + +#include "InspectorValues.h" +#include "PlatformString.h" + +namespace WebCore { + +class ScriptHeapSnapshot : public RefCounted<ScriptHeapSnapshot> { +public: + virtual ~ScriptHeapSnapshot() {} + + String title() const { return ""; } + unsigned int uid() const { return 0; } + + PassRefPtr<InspectorObject> buildInspectorObjectForHead() const { return InspectorObject::create(); } + +private: + ScriptHeapSnapshot() {} +}; + +} // namespace WebCore + +#endif // ScriptHeapSnapshot_h diff --git a/WebCore/bindings/js/ScriptProfile.cpp b/WebCore/bindings/js/ScriptProfile.cpp index 0eb2814..8731ec2 100644 --- a/WebCore/bindings/js/ScriptProfile.cpp +++ b/WebCore/bindings/js/ScriptProfile.cpp @@ -76,7 +76,7 @@ static PassRefPtr<InspectorObject> buildInspectorObjectFor(const JSC::ProfileNod result->setNumber("totalTime", node->totalTime()); result->setNumber("selfTime", node->selfTime()); result->setNumber("numberOfCalls", node->numberOfCalls()); - result->setBool("visible", node->visible()); + result->setBoolean("visible", node->visible()); result->setNumber("callUID", node->callIdentifier().hash()); RefPtr<InspectorArray> childrenArray = InspectorArray::create(); diff --git a/WebCore/bindings/js/ScriptProfiler.h b/WebCore/bindings/js/ScriptProfiler.h index 180c49f..05e7a25 100644 --- a/WebCore/bindings/js/ScriptProfiler.h +++ b/WebCore/bindings/js/ScriptProfiler.h @@ -28,6 +28,7 @@ #define ScriptProfiler_h #if ENABLE(JAVASCRIPT_DEBUGGER) +#include "ScriptHeapSnapshot.h" #include "ScriptProfile.h" #include "ScriptState.h" @@ -39,8 +40,7 @@ class ScriptProfiler : public Noncopyable { public: static void start(ScriptState* state, const String& title); static PassRefPtr<ScriptProfile> stop(ScriptState* state, const String& title); - static void takeHeapSnapshot() { } - static long getProfilerLogLines(long, String*) { return 0; } + static PassRefPtr<ScriptHeapSnapshot> takeHeapSnapshot(const String&) { return 0; } static bool isProfilerAlwaysEnabled(); }; diff --git a/WebCore/bindings/js/SerializedScriptValue.cpp b/WebCore/bindings/js/SerializedScriptValue.cpp index 00ec25f..ca18ec0 100644 --- a/WebCore/bindings/js/SerializedScriptValue.cpp +++ b/WebCore/bindings/js/SerializedScriptValue.cpp @@ -1080,6 +1080,12 @@ PassRefPtr<SerializedScriptValue> SerializedScriptValue::create(JSContextRef ori return serializedValue; } +SerializedScriptValue* SerializedScriptValue::nullValue() +{ + DEFINE_STATIC_LOCAL(RefPtr<SerializedScriptValue>, nullValue, (SerializedScriptValue::create())); + return nullValue.get(); +} + JSValueRef SerializedScriptValue::deserialize(JSContextRef destinationContext, JSValueRef* exception) { JSLock lock(SilenceAssertionsOnly); diff --git a/WebCore/bindings/js/SerializedScriptValue.h b/WebCore/bindings/js/SerializedScriptValue.h index 2b7d222..32ce418 100644 --- a/WebCore/bindings/js/SerializedScriptValue.h +++ b/WebCore/bindings/js/SerializedScriptValue.h @@ -213,6 +213,8 @@ namespace WebCore { { return adoptRef(new SerializedScriptValue(SerializedScriptValueData())); } + + static SerializedScriptValue* nullValue(); PassRefPtr<SerializedScriptValue> release() { |