1. 21 Nov, 2002 15 commits
  2. 20 Nov, 2002 23 commits
    • cblu's avatar
      Fixed: 3079134 - Throttle plug-ins while in background · a9f64e93
      cblu authored
              * Plugins.subproj/WebBaseNetscapePluginView.h:
              * Plugins.subproj/WebBaseNetscapePluginView.m:
              (-[WebBaseNetscapePluginView sendNullEvent]): new
              (-[WebBaseNetscapePluginView stopNullEvents]): stops timer
              (-[WebBaseNetscapePluginView restartNullEvents]): stops timer if there is one, and starts a new one based on window activation state
              (-[WebBaseNetscapePluginView start]): call restartNullEvents
              (-[WebBaseNetscapePluginView stop]): call stopNullEvents
              (-[WebBaseNetscapePluginView windowBecameKey:]): call restartNullEvents
              (-[WebBaseNetscapePluginView windowResignedKey:]): call restartNullEvents
              (-[WebBaseNetscapePluginView windowDidMiniaturize:]): call stopNullEvents
              (-[WebBaseNetscapePluginView windowDidDeminiaturize:]): call restartNullEvents
              * Plugins.subproj/WebNetscapePluginNullEventSender.h: Removed. No need for another class, use a timer.
              * Plugins.subproj/WebNetscapePluginNullEventSender.m: Removed. No need for another class, use a timer.
              * WebKit.pbproj/project.pbxproj:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2797 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a9f64e93
    • rjw's avatar
      Fixed 3107007. Letter-spacing is causing width to be miscalculated. · 7d0b05a1
      rjw authored
              This also fixed some selection problems.
      
              * khtml/rendering/font.cpp:
              (Font::width):
      
      
              Fixed 3107007.  Letter-spacing is causing width to be miscalculated.
              This also fixed some selection problems.
      
              * WebCoreSupport.subproj/WebTextRenderer.m:
              (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:letterSpacing:wordSpacing:]):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2796 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7d0b05a1
    • rjw's avatar
      Oops, forgot to checkin header change. · 1d4dea84
      rjw authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2795 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1d4dea84
    • darin's avatar
      - added a feature for Richard to use in his back/forward cache · 57017199
      darin authored
              * kjs/object.h: Added save/restoreProperties.
              * kjs/property_map.h: Here too.
              * kjs/property_map.cpp: Here too.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2794 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      57017199
    • rjw's avatar
      Fixed mono spaced fonts to always render with mono spacing! (3078065) · 68860175
      rjw authored
              * WebCoreSupport.subproj/WebTextRenderer.h:
              * WebCoreSupport.subproj/WebTextRenderer.m:
              (widthForGlyph):
              (-[WebTextRenderer initWithFont:]):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2793 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      68860175
    • darin's avatar
      - created argument list objects only on demand for a 7.5% speedup · 5b1e7b71
      darin authored
              * kjs/function.h: Change ActivationImp around.
              * kjs/function.cpp:
              (FunctionImp::call): Pass a pointer to the arguments list to avoid ref/unref.
              (FunctionImp::get): Get the function pointer from the context directly,
      	not the activation object.
              (ArgumentsImp::ArgumentsImp): Add an overload that takes no arguments.
              (ActivationImp::ActivationImp): Store a context pointer and an arguments object pointer.
              (ActivationImp::get): Special case for arguments, create it and return it.
              (ActivationImp::put): Special case for arguments, can't be set.
              (ActivationImp::hasProperty): Special case for arguments, return true.
              (ActivationImp::deleteProperty): Special case for arguments, refuse to delete.
              (ActivationImp::mark): Mark the arguments object.
              (ActivationImp::createArgumentsObject): Do the work of actually creating it.
              (GlobalFuncImp::call): Use stack-based objects for the ContextImp and ExecState.
      
              * kjs/internal.h: Keep function and arguments pointer in the context.
              * kjs/internal.cpp:
              (ContextImp::ContextImp): Don't pass in the func and args when making an ActivationImp.
              (InterpreterImp::evaluate): Use stack-based objects here.
      
              * kjs/types.h: Add ArgumentList as a synonym for List, soon to be separate.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2792 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5b1e7b71
    • mjs's avatar
      Reduced the size of ValueImp by 8 bytes for a .5% speedup. · c562dc6b
      mjs authored
              * kjs/value.h: Removed destructed flag. Made refcount and flag 16
      	bits each.
              * kjs/value.cpp:
              (ValueImp::~ValueImp): Don't set destructed flag.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2791 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c562dc6b
    • cblu's avatar
      Fixed: 3074926 - crash in BitsToPix() trying to print cnet page · c1486f33
      cblu authored
              * Plugins.subproj/WebBaseNetscapePluginView.m:
              (-[WebBaseNetscapePluginView drawRect:]): disable experimental plug-in printing code.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2790 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c1486f33
    • darin's avatar
      * kjs/types.cpp: Keep ref count for the whole lists of nodes. · 20330f77
      darin authored
      	Doesn't speed things up much, less than 1%.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2789 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      20330f77
    • mjs's avatar
      * kjs/collector.cpp: · 4debf737
      mjs authored
              (Collector::allocate): Clear the flags on newly allocated objects.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2788 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4debf737
    • cblu's avatar
      Minor clean-up, logging and more error checking in plug-in code. · 65861942
      cblu authored
              * Plugins.subproj/WebBaseNetscapePluginStream.m:
              (-[WebBaseNetscapePluginStream setResponse:]):
              (-[WebBaseNetscapePluginStream receivedData:]):
              (-[WebBaseNetscapePluginStream finishedLoadingWithData:]):
              * Plugins.subproj/npapi.m:
              (NPN_UserAgent):
              (NPN_MemFree):
              (NPN_MemFlush):
              (NPN_ReloadPlugins):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2787 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      65861942
    • darin's avatar
      - oops, checked in big regression instead of 5% speedup · 1a208841
      darin authored
              * kjs/function.cpp: (ActivationImp::ActivationImp): Make a marking
      	list, not a refing list.
      
      	- a cut at the sparse array implementation
      
              * kjs/array_instance.h: Keep storageLength separate from length.
              * kjs/array_object.cpp:
              (ArrayInstanceImp::ArrayInstanceImp): Start with storageLength == length.
              (ArrayInstanceImp::get): Check against storage length.
              (ArrayInstanceImp::put): Ditto.
              (ArrayInstanceImp::hasProperty): Ditto.
              (ArrayInstanceImp::deleteProperty): Ditto.
              (ArrayInstanceImp::setLength): Only enlarge storage length up to a cutoff.
              (ArrayInstanceImp::mark): Use storageLength.
              (ArrayInstanceImp::pushUndefinedObjectsToEnd): Added FIXME.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2786 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1a208841
    • darin's avatar
      * force-js-clean-timestamp: Again. · 8c68df58
      darin authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2785 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8c68df58
    • hyatt's avatar
      Fix the mac.com line-breaking bug. This was not a regression · 711fe237
      hyatt authored
      	but was present in Konq.
      
              * khtml/rendering/bidi.cpp:
              (RenderFlow::findNextLineBreak):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2784 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      711fe237
    • darin's avatar
      - decrease ref/deref -- 5% speedup in iBench · c758b286
      darin authored
              * JavaScriptCore.pbproj/project.pbxproj: Added array_instance.h
              * kjs/array_instance.h: Added so it can be shared by function.h.
      
              * kjs/array_object.cpp:
              * kjs/array_object.h:
              * kjs/bool_object.cpp:
              * kjs/bool_object.h:
              * kjs/collector.cpp:
              * kjs/date_object.cpp:
              * kjs/date_object.h:
              * kjs/error_object.cpp:
              * kjs/function.cpp:
              * kjs/function.h:
              * kjs/function_object.cpp:
              * kjs/internal.cpp:
              * kjs/internal.h:
              * kjs/math_object.cpp:
              * kjs/nodes.cpp:
              * kjs/number_object.cpp:
              * kjs/object.cpp:
              * kjs/object.h:
              * kjs/object_object.cpp:
              * kjs/property_map.cpp:
              * kjs/reference.cpp:
              * kjs/reference.h:
              * kjs/regexp_object.cpp:
              * kjs/string_object.cpp:
              * kjs/string_object.h:
              * kjs/value.cpp:
              * kjs/value.h:
      	Switched lots of interfaces so they don't require ref/deref.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2783 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c758b286
    • cblu's avatar
      Fixed: 3061174 - javascript: URLs sent by plugins don't work · 84a69979
      cblu authored
              * Plugins.subproj/WebBaseNetscapePluginView.m:
              (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2782 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      84a69979
    • mjs's avatar
      Fixed the two most obvious problems with the new GC for another 6% · 3d0d1816
      mjs authored
      	improvement.
      
              * kjs/collector.cpp:
              (Collector::allocate): Don't bother doing the bit tests on a bitmap word if
      	all it's bits are on.
              (Collector::collect): Track memoryFull boolean.
              * kjs/collector.h: Inlined outOfMemory since it was showing up on profiles.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2781 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3d0d1816
    • darin's avatar
      WebFoundation: · d076e32b
      darin authored
              * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
      
      WebKit:
      
              * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
      
      WebBrowser:
      
              * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
      
              * Test/PageLoadTestController.m: (-[PageLoadTestController browserWindowClosed]):
      	Explain the world leak check a bit more.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2780 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d076e32b
    • mjs's avatar
      JavaScriptCore: · 6d32b07d
      mjs authored
      	Rewrote garbage collector to make blocks of actual memory instead
      	of blocks of pointers. 7% improvement on JavaScript
      	iBench. There's still lots of room to tune the new GC, this is
      	just my first cut.
      
              * kjs/collector.cpp:
              (Collector::allocate):
              (Collector::collect):
              (Collector::size):
              (Collector::outOfMemory):
              (Collector::finalCheck):
              (Collector::numGCNotAllowedObjects):
              (Collector::numReferencedObjects):
              (Collector::liveObjectClasses):
              * kjs/collector.h:
              * kjs/function.cpp:
              (ActivationImp::ActivationImp):
              * kjs/function.h:
      
      WebCore:
      
              * force-js-clean-timestamp: Work around PB lameness yet again.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2779 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6d32b07d
    • darin's avatar
      - on the road to killing ActivationImp · 0210a252
      darin authored
              * kjs/function.h: Add get/put to FunctionImp. Remove argumentsObject() from
      	ActivationImp. Add function() to ActivationImp.
              * kjs/function.cpp:
              (FunctionImp::FunctionImp): No arguments property.
              (FunctionImp::call): No need to set up the arguments property.
              (FunctionImp::parameterString): Remove ** strangeness.
              (FunctionImp::processParameters): Ditto.
              (FunctionImp::get): Added, handles arguments and length properties.
              (FunctionImp::put): Ditto.
              (FunctionImp::hasProperty): Ditto.
              (FunctionImp::deleteProperty): Ditto.
              (ActivationImp::ActivationImp): Store a function pointer so we can find it
      	in the context.
      
              * kjs/function_object.cpp: (FunctionObjectImp::construct): No need to set up
      	arguments property.
              * kjs/nodes.cpp: (FuncExprNode::evaluate): No need to set up length property.
      
              * kjs/internal.h: Return ObjectImp * for activation object.
      
              * kjs/interpreter.h: Remove stray declaration of ExecStateImp.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2778 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0210a252
    • darin's avatar
      - add a couple of list operations to avoid clearing lists so much during... · f7fc08d7
      darin authored
      	- add a couple of list operations to avoid clearing lists so much during sorting; gives 1.5% iBench
      
              * kjs/types.h: Added replaceFirst/replaceLast.
              * kjs/types.cpp: (List::replaceFirst), (List::replaceLast): Added.
      
              * kjs/array_object.cpp: (compareWithCompareFunctionForQSort): Use replaceFirst/replaceLast.
      
              * kjs/property_map.cpp: Put in an ifdef so I can re-add/remove the single entry to see if
      	it has outlived its usefulness. (It hasn't yet.)
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2777 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f7fc08d7
    • darin's avatar
      - atomic identifiers; gives another 6.5% in the iBench suite · 302759c8
      darin authored
              * kjs/identifier.h: Did the real thing.
              * kjs/identifier.cpp: Ditto.
      
              * kjs/property_map.h: _tableSizeHashMask -> _tableSizeMask
              * kjs/property_map.cpp: The above, plus take advantage of comparing
      	by pointer instead of by comparing bytes.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2776 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      302759c8
    • darin's avatar
      * force-js-clean-timestamp: Make other people's builds work. · 4a234d6c
      darin authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2775 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4a234d6c
  3. 19 Nov, 2002 2 commits