WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
[patch]
Patch
bug-113434-20130502152348.patch (text/plain), 4.06 KB, created by
Allan Sandfeld Jensen
on 2013-05-02 06:24:35 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Allan Sandfeld Jensen
Created:
2013-05-02 06:24:35 PDT
Size:
4.06 KB
patch
obsolete
>Subversion Revision: 149484 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index 634cdddbe9f7cd3bf7ec053d4f4e3351e78f5fa9..24f55df3a8a39f6c54a54d2e78aaf7fdc7521b79 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,17 @@ >+2013-05-02 Allan Sandfeld Jensen <allan.jensen@digia.com> >+ >+ Crash when calling QWebFrame::evaluateJavaScript >+ https://bugs.webkit.org/show_bug.cgi?id=113434 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ We must take the JS API lock before accessing internal JS methods. >+ >+ * bridge/qt/qt_runtime.cpp: >+ (JSC::Bindings::unwrapBoxedPrimitive): >+ (JSC::Bindings::getGregorianDateTimeUTC): >+ (JSC::Bindings::convertQVariantToValue): >+ > 2013-05-01 Enrica Casucci <enrica@apple.com> > > text-combine: horizontal does not work properly for some fonts. >diff --git a/Source/WebCore/bridge/qt/qt_runtime.cpp b/Source/WebCore/bridge/qt/qt_runtime.cpp >index fbe777b4593dea7e2f5dd9e53445a57b200ccc0e..d382462ac320770a3ad5054cc0e9ffb80860df03 100644 >--- a/Source/WebCore/bridge/qt/qt_runtime.cpp >+++ b/Source/WebCore/bridge/qt/qt_runtime.cpp >@@ -21,6 +21,7 @@ > #include "qt_runtime.h" > > #include "APICast.h" >+#include "APIShims.h" > #include "BooleanObject.h" > #include "DateInstance.h" > #include "DatePrototype.h" >@@ -199,8 +200,9 @@ static QString toString(JSStringRef stringRef) > > static JSValueRef unwrapBoxedPrimitive(JSContextRef context, JSValueRef value, JSObjectRef obj) > { >- JSObject* object = toJS(obj); > ExecState* exec = toJS(context); >+ APIEntryShim entryShim(exec); >+ JSObject* object = toJS(obj); > if (object->inherits(&NumberObject::s_info)) > return toRef(exec, jsNumber(object->toNumber(exec))); > if (object->inherits(&StringObject::s_info)) >@@ -281,6 +283,7 @@ static QString toQString(JSContextRef context, JSValueRef value) > static void getGregorianDateTimeUTC(JSContextRef context, JSRealType type, JSValueRef value, JSObjectRef object, JSValueRef* exception, GregorianDateTime* gdt) > { > ExecState* exec = toJS(context); >+ APIEntryShim entryShim(exec); > if (type == Date) { > JSObject* jsObject = toJS(object); > DateInstance* date = asDateInstance(jsObject); >@@ -729,6 +732,7 @@ JSValueRef convertQVariantToValue(JSContextRef context, PassRefPtr<RootObject> r > WTF::RefPtr<WTF::Uint8ClampedArray> wtfByteArray = WTF::Uint8ClampedArray::createUninitialized(qtByteArray.length()); > memcpy(wtfByteArray->data(), qtByteArray.constData(), qtByteArray.length()); > ExecState* exec = toJS(context); >+ APIEntryShim entryShim(exec); > return toRef(exec, toJS(exec, static_cast<JSDOMGlobalObject*>(exec->lexicalGlobalObject()), wtfByteArray.get())); > } > >@@ -737,6 +741,7 @@ JSValueRef convertQVariantToValue(JSContextRef context, PassRefPtr<RootObject> r > if (!obj) > return JSValueMakeNull(context); > ExecState* exec = toJS(context); >+ APIEntryShim entryShim(exec); > return toRef(exec, QtInstance::getQtInstance(obj, root, QtInstance::QtOwnership)->createRuntimeObject(exec)); > } > >@@ -751,6 +756,7 @@ JSValueRef convertQVariantToValue(JSContextRef context, PassRefPtr<RootObject> r > if (!document) > return JSValueMakeUndefined(context); > ExecState* exec = toJS(context); >+ APIEntryShim entryShim(exec); > return toRef(exec, customRuntimeConversions()->value(type).toJSValueFunc(exec, toJSDOMGlobalObject(document, exec), variant)); > } > >@@ -800,6 +806,7 @@ JSValueRef convertQVariantToValue(JSContextRef context, PassRefPtr<RootObject> r > QObjectList ol = variant.value<QObjectList>(); > JSObjectRef array = JSObjectMakeArray(context, 0, 0, exception); > ExecState* exec = toJS(context); >+ APIEntryShim entryShim(exec); > for (int i = 0; i < ol.count(); ++i) { > JSValueRef jsObject = toRef(exec, QtInstance::getQtInstance(ol.at(i), root, QtInstance::QtOwnership)->createRuntimeObject(exec)); > JSObjectSetPropertyAtIndex(context, array, i, jsObject, /*ignored exception*/0);
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 113434
:
199825
| 200310 |
200894