[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.15.1-1414-gc69ee75
eric at webkit.org
eric at webkit.org
Thu Oct 29 20:35:11 UTC 2009
The following commit has been merged in the webkit-1.1 branch:
commit f1a58635b8110240553c9fbf5e6e1e7559be60fd
Author: eric at webkit.org <eric at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Mon Sep 28 20:09:40 2009 +0000
2009-09-28 Yongjun Zhang <yongjun.zhang at nokia.com>
Reviewed by Eric Seidel.
https://bugs.webkit.org/show_bug.cgi?id=28054
Use derefInNotNull() to work around winscw compiler forward declaration bug
regarding templated classes.
The compiler bug is reported at
https://xdabug001.ext.nokia.com/bugzilla/show_bug.cgi?id=9812.
The change should be reverted when the above bug is fixed in winscw compiler.
Add parenthesis around (RefPtr::*UnspecifiedBoolType) to make winscw compiler
work with the default UnSpecifiedBoolType() operator, which removes the winscw hack.
* wtf/RefPtr.h:
(WTF::RefPtr::~RefPtr):
(WTF::RefPtr::clear):
(WTF::RefPtr::operator UnspecifiedBoolType):
2009-09-28 Yongjun Zhang <yongjun.zhang at nokia.com>
Reviewed by Eric Seidel.
Make JObjectWrapper::ref() and deref() public accessible to derefIfNull().
Will be reverted when the following winscw compiler bug is fixed.
https://xdabug001.ext.nokia.com/bugzilla/show_bug.cgi?id=9812
* bridge/jni/jni_instance.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@48825 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/JavaScriptCore/ChangeLog b/JavaScriptCore/ChangeLog
index a567508..0286acd 100644
--- a/JavaScriptCore/ChangeLog
+++ b/JavaScriptCore/ChangeLog
@@ -1,3 +1,25 @@
+2009-09-28 Yongjun Zhang <yongjun.zhang at nokia.com>
+
+ Reviewed by Eric Seidel.
+
+ https://bugs.webkit.org/show_bug.cgi?id=28054
+
+ Use derefInNotNull() to work around winscw compiler forward declaration bug
+ regarding templated classes.
+
+ The compiler bug is reported at
+ https://xdabug001.ext.nokia.com/bugzilla/show_bug.cgi?id=9812.
+
+ The change should be reverted when the above bug is fixed in winscw compiler.
+
+ Add parenthesis around (RefPtr::*UnspecifiedBoolType) to make winscw compiler
+ work with the default UnSpecifiedBoolType() operator, which removes the winscw hack.
+
+ * wtf/RefPtr.h:
+ (WTF::RefPtr::~RefPtr):
+ (WTF::RefPtr::clear):
+ (WTF::RefPtr::operator UnspecifiedBoolType):
+
2009-09-28 Gabor Loki <loki at inf.u-szeged.hu>
Reviewed by Simon Hausmann.
diff --git a/JavaScriptCore/wtf/RefPtr.h b/JavaScriptCore/wtf/RefPtr.h
index 74cd0ea..e389007 100644
--- a/JavaScriptCore/wtf/RefPtr.h
+++ b/JavaScriptCore/wtf/RefPtr.h
@@ -48,13 +48,13 @@ namespace WTF {
RefPtr(HashTableDeletedValueType) : m_ptr(hashTableDeletedValue()) { }
bool isHashTableDeletedValue() const { return m_ptr == hashTableDeletedValue(); }
- ~RefPtr() { if (T* ptr = m_ptr) ptr->deref(); }
+ ~RefPtr() { derefIfNotNull(m_ptr); }
template <typename U> RefPtr(const RefPtr<U>& o) : m_ptr(o.get()) { if (T* ptr = m_ptr) ptr->ref(); }
T* get() const { return m_ptr; }
- void clear() { if (T* ptr = m_ptr) ptr->deref(); m_ptr = 0; }
+ void clear() { derefIfNotNull(m_ptr); m_ptr = 0; }
PassRefPtr<T> release() { PassRefPtr<T> tmp = adoptRef(m_ptr); m_ptr = 0; return tmp; }
T& operator*() const { return *m_ptr; }
@@ -63,12 +63,8 @@ namespace WTF {
bool operator!() const { return !m_ptr; }
// This conversion operator allows implicit conversion to bool but not to other integer types.
-#if COMPILER(WINSCW)
- operator bool() const { return m_ptr; }
-#else
- typedef T* RefPtr::*UnspecifiedBoolType;
+ typedef T* (RefPtr::*UnspecifiedBoolType);
operator UnspecifiedBoolType() const { return m_ptr ? &RefPtr::m_ptr : 0; }
-#endif
RefPtr& operator=(const RefPtr&);
RefPtr& operator=(T*);
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 5dd977c..8623793 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,14 @@
+2009-09-28 Yongjun Zhang <yongjun.zhang at nokia.com>
+
+ Reviewed by Eric Seidel.
+
+ Make JObjectWrapper::ref() and deref() public accessible to derefIfNull().
+
+ Will be reverted when the following winscw compiler bug is fixed.
+ https://xdabug001.ext.nokia.com/bugzilla/show_bug.cgi?id=9812
+
+ * bridge/jni/jni_instance.h:
+
2009-09-28 Andrew Scherkus <scherkus at chromium.org>
Reviewed by Eric Carlson.
diff --git a/WebCore/bridge/jni/jni_instance.h b/WebCore/bridge/jni/jni_instance.h
index 0dcab3e..e227248 100644
--- a/WebCore/bridge/jni/jni_instance.h
+++ b/WebCore/bridge/jni/jni_instance.h
@@ -47,10 +47,7 @@ friend class JavaField;
friend class JavaInstance;
friend class JavaMethod;
-protected:
- JObjectWrapper(jobject instance);
- ~JObjectWrapper();
-
+public:
void ref() { _refCount++; }
void deref()
{
@@ -58,6 +55,10 @@ protected:
delete this;
}
+protected:
+ JObjectWrapper(jobject instance);
+ ~JObjectWrapper();
+
jobject _instance;
private:
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list