⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 117025 in webkit


Ignore:
Timestamp:
May 14, 2012, 8:43:54 PM (14 years ago)
Author:
barraclough@apple.com
Message:

Cannot login to iCloud
https://bugs.webkit.org/show_bug.cgi?id=86321

Reviewed by Filip Pizlo.

This is a bug introduced by bug#85853, we shouldn't allow assignment to
the prototype property of functions to be cached, since we need to clear
the cached inheritorID.

  • runtime/JSFunction.cpp:

(JSC::JSFunction::put):

Location:
trunk/Source/JavaScriptCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r117015 r117025  
     12012-05-14  Gavin Barraclough  <barraclough@apple.com>
     2
     3        Cannot login to iCloud
     4        https://bugs.webkit.org/show_bug.cgi?id=86321
     5
     6        Reviewed by Filip Pizlo.
     7
     8        This is a bug introduced by bug#85853, we shouldn't allow assignment to
     9        the prototype property of functions to be cached, since we need to clear
     10        the cached inheritorID.
     11
     12        * runtime/JSFunction.cpp:
     13        (JSC::JSFunction::put):
     14
    1152012-05-14  Michael Saboff  <msaboff@apple.com>
    216
  • trunk/Source/JavaScriptCore/runtime/JSFunction.cpp

    r116828 r117025  
    344344        thisObject->methodTable()->getOwnPropertySlot(thisObject, exec, propertyName, slot);
    345345        thisObject->m_cachedInheritorID.clear();
     346        // Don't allow this to be cached, since a [[Put]] must clear m_cachedInheritorID.
     347        PutPropertySlot dontCache;
     348        Base::put(thisObject, exec, propertyName, value, dontCache);
     349        return;
    346350    }
    347351    if (thisObject->jsExecutable()->isStrictMode() && (propertyName == exec->propertyNames().arguments || propertyName == exec->propertyNames().caller)) {
Note: See TracChangeset for help on using the changeset viewer.