summaryrefslogtreecommitdiffstats
path: root/WebCore/bindings/js
diff options
context:
space:
mode:
authorKristian Monsen <kristianm@google.com>2010-09-08 12:18:00 +0100
committerKristian Monsen <kristianm@google.com>2010-09-11 12:08:58 +0100
commit5ddde30071f639962dd557c453f2ad01f8f0fd00 (patch)
tree775803c4ab35af50aa5f5472cd1fb95fe9d5152d /WebCore/bindings/js
parent3e63d9b33b753ca86d0765d1b3d711114ba9e34f (diff)
downloadexternal_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.cpp8
-rw-r--r--WebCore/bindings/js/ScriptHeapSnapshot.h54
-rw-r--r--WebCore/bindings/js/ScriptProfile.cpp2
-rw-r--r--WebCore/bindings/js/ScriptProfiler.h4
-rw-r--r--WebCore/bindings/js/SerializedScriptValue.cpp6
-rw-r--r--WebCore/bindings/js/SerializedScriptValue.h2
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()
{