Ignore:
Timestamp:
Jul 10, 2003, 2:18:25 PM (22 years ago)
Author:
mjs
Message:

JavaScriptCore:

Reviewed by Darin.

The crux of this was saving and restoring the prototype objects
for all the standard types when saving and restoring for the page
cache.

  • kjs/internal.cpp: (InterpreterImp::saveBuiltins): (InterpreterImp::restoreBuiltins):
  • kjs/internal.h:
  • kjs/interpreter.cpp: (Interpreter::saveBuiltins): (Interpreter::restoreBuiltins): (SavedBuiltins::SavedBuiltins): (SavedBuiltins::~SavedBuiltins):
  • kjs/interpreter.h:
  • kjs/property_map.cpp:

WebCore:

Reviewed by Darin.

  • kwq/KWQKHTMLPart.h:
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::saveLocationProperties): Save the location object's properties, not the window's (!) (KWQKHTMLPart::saveInterpreterBuiltins): New function to save builtin properties of the interpeter. (KWQKHTMLPart::restoreInterpreterBuiltins): Similarly to restore them. (KWQKHTMLPart::openURLFromPageCache): Restore interpreter builtins too.
  • kwq/KWQPageState.h:
  • kwq/KWQPageState.mm: (-[KWQPageState initWithDocument:URL:windowProperties:locationProperties:interpreterBuiltins:]): Handle interpreter builtins. (-[KWQPageState invalidate]): Likewise. (-[KWQPageState dealloc]): Likewise. (-[KWQPageState interpreterBuiltins]): New method.
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge saveDocumentToPageCache]): Handle interpeter builtins.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/kjs/interpreter.cpp

    r4363 r4612  
    332332#endif
    333333
     334void Interpreter::saveBuiltins (SavedBuiltins &builtins) const
     335{
     336  rep->saveBuiltins(builtins);
     337}
     338
     339void Interpreter::restoreBuiltins (const SavedBuiltins &builtins)
     340{
     341  rep->restoreBuiltins(builtins);
     342}
     343
     344SavedBuiltins::SavedBuiltins() :
     345  _internal(0)
     346{
     347}
     348
     349SavedBuiltins::~SavedBuiltins()
     350{
     351  delete _internal;
     352}
     353
     354
    334355void Interpreter::virtual_hook( int, void* )
    335356{ /*BASE::virtual_hook( id, data );*/ }
Note: See TracChangeset for help on using the changeset viewer.