Changeset 15897 in webkit


Ignore:
Timestamp:
Aug 15, 2006, 4:51:04 PM (19 years ago)
Author:
thatcher
Message:

JavaScriptCore:

Reviewed by Tim H.

Build fix: DWARF and -gfull are incompatible with symbol separation.

JavaScriptGlue:

Reviewed by Tim H.

Build fix: DWARF and -gfull are incompatible with symbol separation.

  • JavaScriptGlue.xcodeproj/project.pbxproj:

WebCore:

Reviewed by Tim H.

Build fix: DWARF and -gfull are incompatible with symbol separation.

  • WebCore.xcodeproj/project.pbxproj:

WebKit:

Reviewed by Darin Adler.

<http://bugzilla.opendarwin.org/show_bug.cgi?id=8980>
ASSERTION FAILED: !isLoaded (WebKit/WebKit/Plugins/WebBasePluginPackage.m:228 -[WebBasePluginPackage dealloc])

<rdar://problem/4526052> intermittent assertion failure in -[WebBasePluginPackage dealloc] running layout tests (8980)


  • Plugins/WebPluginDatabase.h:
  • Plugins/WebPluginDatabase.m: (+[WebPluginDatabase installedPlugins]): Observe NSApplicationWillTerminateNotification so we can unload plug-ins on quit. (-[WebPluginDatabase plugins]): 'plugins' is now a dictionary. (-[WebPluginDatabase close]): Call new -_removePlugin: method. (-[WebPluginDatabase refresh]): Moved parts of this method out into other methods: -_addPlugin:, -_removePlugin:, and -_scanForNewPlugins. (-[WebPluginDatabase _plugInPaths]): No changes; just moved in file. (-[WebPluginDatabase _addPlugin:]): New method. Refactored from -refresh. Adds a plug-in to the database. (-[WebPluginDatabase _removePlugin:]): New method. Refactored from -refresh. Remove a plug-in from the database. (-[WebPluginDatabase _scanForNewPlugins]): New method. Refactored from -refresh. Returns the list of plug-in packages on disk. (-[WebPluginDatabase _applicationWillTerminate]): New method. Called when the application terminates. Closes the plug-in database so that all plug-ins are removed from the DB (and unloaded if necessary).
  • Plugins/WebBasePluginPackage.h:
  • Plugins/WebBasePluginPackage.m: (-[WebBasePluginPackage initWithPath:]): Try to create the NSBundle first, so if the file is not a valid bundle we bail out early. This avoids some stat()s and allocations during the plug-in refresh process. (-[WebBasePluginPackage isLoaded]): Removed. (-[WebBasePluginPackage load]): Base class for plug-in packages now always loads "successfully". (-[WebBasePluginPackage dealloc]): Removed this assertion. The base plug-in package class has no concept of "unloading". (-[WebBasePluginPackage finalize]): ditto. (-[WebBasePluginPackage wasRemovedFromPluginDatabase:]): Moved code to unload plug-in package to WebNetscapePluginPackage. Not all plug-in packages can be "unloaded".
  • Plugins/WebNetscapePluginPackage.h:
  • Plugins/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage _unloadWithShutdown:]): Combined old -unload and -unloadWithoutShutdown methods into this new one. (-[WebNetscapePluginPackage initWithPath:]): Call new unload method. (-[WebNetscapePluginPackage load]): ditto (-[WebNetscapePluginPackage wasRemovedFromPluginDatabase:]): ditto (-[WebNetscapePluginPackage open]): New method. Called when a plug-in instance starts running. (-[WebNetscapePluginPackage close]): New method. Called when a plug-in instance stops running. When all plug-in instances close the plug-in package, and the plug-in package is removed from the database, the plug-in is unloaded.
  • Plugins/WebPluginPackage.m: (-[WebPluginPackage initWithPath:]): (-[WebPluginPackage load]): Made this a bit more efficient by checking if the bundle is already loaded. (-[WebBasePluginPackage unload]): Removed. (-[WebBasePluginPackage isLoaded]): Removed.
  • Plugins/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView start]): Open the plug-in package so it remains loaded while this instance uses it. (-[WebBaseNetscapePluginView stop]): Close the plug-in package when the plug-in instance is stopped.


  • Plugins/WebBaseNetscapePluginStream.m: (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]): This check is not necessary. Netscape plug-in packages are never unloaded until all their instances have been stopped, and a Netscape plug-in instance will stop its streams when it is stopped. (-[WebBaseNetscapePluginStream _destroyStream]): ditto (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): ditto (-[WebBaseNetscapePluginStream _deliverData]): ditto
Location:
trunk
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/ChangeLog

    r15893 r15897  
     12006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
     2
     3        Reviewed by Tim H.
     4
     5        Build fix:  DWARF and -gfull are incompatible with symbol separation.
     6
     7        * JavaScriptCore.xcodeproj/project.pbxproj:
     8
    192006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
    210
  • trunk/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj

    r15893 r15897  
    17941794                                GCC_ENABLE_OBJC_EXCEPTIONS = YES;
    17951795                                GCC_ENABLE_OBJC_GC = YES;
     1796                                GCC_ENABLE_SYMBOL_SEPARATION = NO;
    17961797                                GCC_FAST_OBJC_DISPATCH = YES;
    17971798                                GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
  • trunk/JavaScriptGlue/ChangeLog

    r15893 r15897  
     12006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
     2
     3        Reviewed by Tim H.
     4
     5        Build fix:  DWARF and -gfull are incompatible with symbol separation.
     6
     7        * JavaScriptGlue.xcodeproj/project.pbxproj:
     8
    192006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
    210
  • trunk/JavaScriptGlue/JavaScriptGlue.xcodeproj/project.pbxproj

    r15893 r15897  
    459459                                GCC_ENABLE_OBJC_EXCEPTIONS = YES;
    460460                                GCC_ENABLE_OBJC_GC = YES;
     461                                GCC_ENABLE_SYMBOL_SEPARATION = NO;
    461462                                GCC_FAST_OBJC_DISPATCH = YES;
    462463                                GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
  • trunk/WebCore/ChangeLog

    r15893 r15897  
     12006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
     2
     3        Reviewed by Tim H.
     4
     5        Build fix:  DWARF and -gfull are incompatible with symbol separation.
     6
     7        * WebCore.xcodeproj/project.pbxproj:
     8
    192006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
    210
  • trunk/WebCore/WebCore.xcodeproj/project.pbxproj

    r15893 r15897  
    74407440                                GCC_ENABLE_OBJC_EXCEPTIONS = YES;
    74417441                                GCC_ENABLE_OBJC_GC = YES;
     7442                                GCC_ENABLE_SYMBOL_SEPARATION = NO;
    74427443                                GCC_FAST_OBJC_DISPATCH = YES;
    74437444                                GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
  • trunk/WebKit/ChangeLog

    r15896 r15897  
    9090        (-[WebBaseNetscapePluginStream _deliverData]):
    9191        ditto
     92
     932006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
     94
     95        Reviewed by Tim H.
     96
     97        Build fix:  DWARF and -gfull are incompatible with symbol separation.
     98
     99        * WebKit.xcodeproj/project.pbxproj:
    92100
    931012006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
  • trunk/WebKit/WebKit.xcodeproj/project.pbxproj

    r15893 r15897  
    19361936                                GCC_ENABLE_OBJC_EXCEPTIONS = YES;
    19371937                                GCC_ENABLE_OBJC_GC = YES;
     1938                                GCC_ENABLE_SYMBOL_SEPARATION = NO;
    19381939                                GCC_FAST_OBJC_DISPATCH = YES;
    19391940                                GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
Note: See TracChangeset for help on using the changeset viewer.