[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.19-706-ge5415e9

oliver at apple.com oliver at apple.com
Thu Feb 4 21:28:14 UTC 2010


The following commit has been merged in the webkit-1.1 branch:
commit 92a2ac94eaf661fc959ad6b41c8c2ac922ea607b
Author: oliver at apple.com <oliver at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Jan 26 19:22:51 2010 +0000

    2010-01-26  Oliver Hunt  <oliver at apple.com>
    
            Reviewed by Geoffrey Garen.
    
            Using JavaScriptCore API with a webkit vended context can result in slow script dialog
            https://bugs.webkit.org/show_bug.cgi?id=34172
    
            Make the APIShim correctly increment and decrement the timeout
            entry counter.
    
            * API/APIShims.h:
            (JSC::APIEntryShimWithoutLock::APIEntryShimWithoutLock):
            (JSC::APIEntryShimWithoutLock::~APIEntryShimWithoutLock):
            (JSC::APICallbackShim::APICallbackShim):
            (JSC::APICallbackShim::~APICallbackShim):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@53860 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/JavaScriptCore/API/APIShims.h b/JavaScriptCore/API/APIShims.h
index f6975f8..d7276ec 100644
--- a/JavaScriptCore/API/APIShims.h
+++ b/JavaScriptCore/API/APIShims.h
@@ -34,18 +34,22 @@ namespace JSC {
 class APIEntryShimWithoutLock {
 protected:
     APIEntryShimWithoutLock(JSGlobalData* globalData, bool registerThread)
-        : m_entryIdentifierTable(setCurrentIdentifierTable(globalData->identifierTable))
+        : m_globalData(globalData)
+        , m_entryIdentifierTable(setCurrentIdentifierTable(globalData->identifierTable))
     {
         if (registerThread)
             globalData->heap.registerThread();
+        m_globalData->timeoutChecker.start();
     }
 
     ~APIEntryShimWithoutLock()
     {
+        m_globalData->timeoutChecker.stop();
         setCurrentIdentifierTable(m_entryIdentifierTable);
     }
 
 private:
+    JSGlobalData* m_globalData;
     IdentifierTable* m_entryIdentifierTable;
 };
 
@@ -76,10 +80,12 @@ public:
         , m_globalData(&exec->globalData())
     {
         resetCurrentIdentifierTable();
+        m_globalData->timeoutChecker.start();
     }
 
     ~APICallbackShim()
     {
+        m_globalData->timeoutChecker.stop();
         setCurrentIdentifierTable(m_globalData->identifierTable);
     }
 
diff --git a/JavaScriptCore/ChangeLog b/JavaScriptCore/ChangeLog
index c8e95bc..db52409 100644
--- a/JavaScriptCore/ChangeLog
+++ b/JavaScriptCore/ChangeLog
@@ -1,3 +1,19 @@
+2010-01-26  Oliver Hunt  <oliver at apple.com>
+
+        Reviewed by Geoffrey Garen.
+
+        Using JavaScriptCore API with a webkit vended context can result in slow script dialog
+        https://bugs.webkit.org/show_bug.cgi?id=34172
+
+        Make the APIShim correctly increment and decrement the timeout
+        entry counter.
+
+        * API/APIShims.h:
+        (JSC::APIEntryShimWithoutLock::APIEntryShimWithoutLock):
+        (JSC::APIEntryShimWithoutLock::~APIEntryShimWithoutLock):
+        (JSC::APICallbackShim::APICallbackShim):
+        (JSC::APICallbackShim::~APICallbackShim):
+
 2010-01-26  Simon Hausmann  <simon.hausmann at nokia.com>
 
         [Qt] Fix compilation of QtScript with non-gcc compilers

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list