1. 21 Nov, 2002 3 commits
    • darin's avatar
      - add self-check to property map in hopes of finding the cnet.com bug · d579f5b7
      darin authored
              * kjs/property_map.h: Add check() function.
              * kjs/property_map.cpp: Add the checking, controlled by DO_CONSISTENCY_CHECK.
      
      	 - fixed UChar interface so it's not so slow in debug builds
      
              * kjs/ustring.h: Nothing in UChar needs to be private.
      
              * kjs/function.cpp: (GlobalFuncImp::call):
              * kjs/function_object.cpp: (FunctionObjectImp::construct):
              * kjs/identifier.cpp:
              * kjs/lexer.cpp: (Lexer::setCode), (Lexer::shift):
              * kjs/lookup.cpp: (keysMatch):
              * kjs/ustring.cpp: (UString::Rep::computeHash), (KJS::compare):
      	Use the "uc" field instead of the "unicode()" inline function.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2800 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d579f5b7
    • darin's avatar
      - fixed a null-dereference I ran into while trying to reproduce bug 3107351 · 8488c964
      darin authored
              * kjs/function.h: Change ActivationImp constructor to take context parameter.
              * kjs/function.cpp: (ActivationImp::ActivationImp): Take context parameter,
      	not execution state parameter.
      
              * kjs/internal.cpp: (ContextImp::ContextImp): Initialize activation object
      	from context, not execution state, because the new context is not yet in the
      	execution state.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2799 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8488c964
    • darin's avatar
      WebFoundation: · 660071d4
      darin authored
              * English.lproj/StringsNotToBeLocalized.txt: Update.
      
      WebCore:
      
      	- fixed 3107383 -- clicking link on cnet.com leads to assertion failure
      
      	When we removed a frame, we were leaving behind an empty WebView. Yuck.
      
              * kwq/KWQScrollView.mm:
              (QScrollView::addChild): Use the new getOuterView.
              (QScrollView::removeChild): Ditto. This was the bug fix.
              * kwq/KWQWidget.h: Add getOuterView.
              * kwq/KWQWidget.mm:
              (QWidget::frameGeometry): Use the new getOuterView.
              (QWidget::setFrameGeometry): Ditto.
              (QWidget::getOuterView): Added. Does the WebCoreFrameView magic to find
      	the WebView instead of the WebHTMLView. Yuck.
              (QWidget::paint): Use the new getOuterView.
      
      WebKit:
      
              * Plugins.subproj/WebBaseNetscapePluginView.m:
              (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:]):
      	Unescape the string before executing it, so we don't suffer from bug 3083043
      	here in the javascript: URLs that come from plug-ins.
      
              * English.lproj/StringsNotToBeLocalized.txt: Update.
      
      WebBrowser:
      
              * Debug/DebugUtilities.m: (-[DebugUtilities createDebugMenu]):
      	Fix typo. "Import" the favorites, don't "Imported" them.
      
              * English.lproj/StringsNotToBeLocalized.txt: Let the update
      	script sort this file.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2798 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      660071d4
  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 14 commits
    • hyatt's avatar
      I screwed up the line breaking for inline replaced elements. · 35652234
      hyatt authored
              * khtml/rendering/render_flow.cpp:
              (RenderFlow::calcInlineMinMaxWidth):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2774 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      35652234
    • cblu's avatar
      Fixed: 3106061 - REGRESSION: Copy in text view copies all text not just selection · 704bb20b
      cblu authored
              * Misc.subproj/WebSearchableTextView.m:
              (-[WebSearchableTextView copy:]):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2773 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      704bb20b
    • darin's avatar
      - a few more globals for often-used property names · 55be9897
      darin authored
      	- conversion to Identifier from UString must now be explicit
      
              * kjs/error_object.cpp:
              * kjs/function.cpp:
              * kjs/function_object.cpp:
              * kjs/identifier.cpp:
              * kjs/identifier.h:
              * kjs/lexer.cpp:
              * kjs/nodes.cpp:
              * kjs/number_object.cpp:
              * kjs/object.cpp:
              * kjs/object.h:
              * kjs/string_object.cpp:
              * kjs/testkjs.cpp:
              * kjs/ustring.cpp:
              * kjs/ustring.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2772 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      55be9897
    • darin's avatar
      - another atomic identifier scrub pass; make the conversion to Identifier explicit · dd4cc915
      darin authored
              * khtml/ecma/kjs_html.cpp:
              (KJS::HTMLCollection::tryCall): Add explicit Identifier() conversion.
              (KJS::HTMLCollectionProtoFunc::tryCall): Ditto.
              * khtml/ecma/kjs_window.cpp: (WindowFunc::tryCall): And again.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2771 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      dd4cc915
    • hyatt's avatar
      Fix for 3049663. Table cells don't grow to accommodate block · a70560aa
      hyatt authored
      	overflow.
      
              * khtml/rendering/bidi.cpp:
              (RenderFlow::layoutInlineChildren):
              * khtml/rendering/render_flow.cpp:
              (RenderFlow::RenderFlow):
              (RenderFlow::layout):
              (RenderFlow::layoutBlockChildren):
              * khtml/rendering/render_flow.h:
              * khtml/rendering/render_object.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2770 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a70560aa
    • darin's avatar
      - another step towards atomic identifiers; storing hash in the string rep. gives about · 5721aa9d
      darin authored
      	a 1.5% speedup in the JavaScript iBench
      
              * kjs/ustring.h: Add a hash field to UString::Rep.
              * kjs/ustring.cpp:
              (UString::Rep::create): Set hash to uninitialized value.
              (UString::Rep::destroy): Do the deleting in her, and call Identifier if needed.
              (UString::Rep::computeHash): Added.
              (UString::append): Set hash to 0 when modifying the string in place.
              (UString::operator=): Ditto.
      
              * kjs/property_map.cpp: Use the hash from UString.
      
              * kjs/identifier.h: Added aboutToDestroyUStringRep.
              * kjs/identifier.cpp: (Identifier::aboutToDestroyUStringRep): Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2769 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5721aa9d
    • cblu's avatar
      Fixed: 3092588 - redraw errors in QT controller if window is in background · 634e3f1b
      cblu authored
      	We need to send update events after we activate/deactivate after all.
      
              * Plugins.subproj/WebBaseNetscapePluginView.m:
              (-[WebBaseNetscapePluginView windowBecameKey:]):
              (-[WebBaseNetscapePluginView windowResignedKey:]):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2768 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      634e3f1b
    • cblu's avatar
      Fixed: 3020720 - dropping a folder in the page address makes the folder open... · 9332bfeb
      cblu authored
      	Fixed: 3020720 - dropping a folder in the page address makes the folder open in Finder, empties the field
      
              * Misc.subproj/WebNSPasteboardExtras.m:
              (-[NSPasteboard _web_bestURL]): Don't accept directories.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2767 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9332bfeb
    • darin's avatar
      JavaScriptCore: · d0ba328e
      darin authored
      	- next step towards atomic identifiers; Identifier is no longer derived from UString
      
              * kjs/identifier.h: Remove base class and add _ustring member.
              * kjs/identifier.cpp: Add null and an == that works with const char *.
              * kjs/property_map.cpp: Get rep through _ustring.
      
              * kjs/function.cpp: (FunctionImp::parameterString): Call ustring().
              * kjs/function_object.cpp: (FunctionProtoFuncImp::call): Ditto.
              * kjs/nodes.cpp:
              (PropertyNode::evaluate): Ditto.
              (VarDeclNode::evaluate): Ditto.
              (ForInNode::execute): Ditto.
              * kjs/nodes2string.cpp: (SourceStream::operator<<): Add overload for Identifier.
              * kjs/reference.cpp: (Reference::getValue): Call ustring().
              * kjs/regexp_object.cpp: (RegExpObjectImp::get): Call ustring().
      
      WebCore:
      
      	- next step towards atomic identifiers; Identifier is no longer derived from UString
      
              * khtml/ecma/kjs_binding.cpp:
              (Identifier::string): Added.
              (Identifier::qstring): Added.
      
              * khtml/ecma/kjs_binding.h:
              * khtml/ecma/kjs_css.cpp:
              (jsNameToProp):
              (DOMCSSStyleDeclaration::tryPut):
              (DOMStyleSheet::tryPut):
              (DOMStyleSheetList::tryGet):
              (DOMMediaList::tryGet):
              (DOMCSSRuleList::tryGet):
              (DOMCSSValueList::tryGet):
              * khtml/ecma/kjs_dom.cpp:
              (DOMNodeList::hasProperty):
              (DOMNodeList::tryGet):
              (DOMNodeListFunc::DOMNodeListFunc):
              (DOMElement::tryGet):
              (DOMNamedNodeMap::hasProperty):
              (DOMNamedNodeMap::tryGet):
              (DOMNamedNodesCollection::tryGet):
              * khtml/ecma/kjs_html.cpp:
              (KJS::HTMLDocument::tryGet):
              (HTMLElementFunction::HTMLElementFunction):
              (KJS::HTMLElement::putValue):
              (KJS::HTMLCollection::hasProperty):
              (KJS::HTMLCollection::tryGet):
              (KJS::HTMLSelectCollection::tryPut):
              (OptionConstructorImp::OptionConstructorImp):
              * khtml/ecma/kjs_navigator.cpp:
              (Plugins::get):
              (MimeTypes::get):
              (Plugin::get):
              * khtml/ecma/kjs_window.cpp:
              (WindowFunc::tryCall):
              (FrameArray::get):
      	Use lengthPropertyName instead of "length" for better speed.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2766 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d0ba328e
    • cblu's avatar
      Fixed: 3068112 - extra line breaks when copying from source window · fbd4b010
      cblu authored
              * Misc.subproj/WebSearchableTextView.m:
              (-[WebSearchableTextView copy:]): Convert CRLF to LF
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2765 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fbd4b010
    • hyatt's avatar
      Make sure that if the scrollers are shown/hidden that we · 83212c1f
      hyatt authored
      	force an immediate layout, since if we don't, an intervening
      	display can cause us to show scrollbars when they really
      	shouldn't be there.
      
              * WebView.subproj/WebDynamicScrollBarsView.m:
              (-[WebDynamicScrollBarsView updateScrollers]):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2764 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      83212c1f
    • hyatt's avatar
      Fix backgrounds not painting in deployment builds. · 8b4a5460
      hyatt authored
              * khtml/rendering/render_box.cpp:
              (RenderBox::paintBackground):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2763 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8b4a5460
    • darin's avatar
      - fixed memory trasher · ff56afa0
      darin authored
              * kjs/ustring.cpp: (UString::from): Fix "end of buffer" computation.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2762 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ff56afa0
    • darin's avatar
      JavaScriptCore: · 880105d6
      darin authored
      	- a first step towards atomic identifiers in JavaScript
      
      	Most places that work with identifiers now use Identifier
      	instead of UString.
      
              * kjs/identifier.cpp: Added.
              * kjs/identifier.h: Added.
              * JavaScriptCore.pbproj/project.pbxproj: Added files.
      
              * kjs/array_object.cpp:
              * kjs/array_object.h:
              * kjs/completion.cpp:
              * kjs/completion.h:
              * kjs/date_object.cpp:
              * kjs/date_object.h:
              * kjs/function.cpp:
              * kjs/function.h:
              * kjs/function_object.cpp:
              * kjs/grammar.cpp:
              * kjs/grammar.cpp.h:
              * kjs/grammar.h:
              * kjs/grammar.y:
              * kjs/internal.cpp:
              * kjs/internal.h:
              * kjs/lexer.cpp:
              * kjs/lookup.cpp:
              * kjs/lookup.h:
              * kjs/math_object.cpp:
              * kjs/math_object.h:
              * kjs/nodes.cpp:
              * kjs/nodes.h:
              * kjs/number_object.cpp:
              * kjs/number_object.h:
              * kjs/object.cpp:
              * kjs/object.h:
              * kjs/property_map.cpp:
              * kjs/property_map.h:
              * kjs/reference.cpp:
              * kjs/reference.h:
              * kjs/regexp_object.cpp:
              * kjs/regexp_object.h:
              * kjs/string_object.cpp:
              * kjs/string_object.h:
      
      WebCore:
      
      	- a first step towards atomic identifiers in JavaScript
      
      	Most places that work with identifiers now use Identifier
      	instead of UString.
      
              * khtml/ecma/kjs_binding.cpp:
              * khtml/ecma/kjs_binding.h:
              * khtml/ecma/kjs_css.cpp:
              * khtml/ecma/kjs_css.h:
              * khtml/ecma/kjs_dom.cpp:
              * khtml/ecma/kjs_dom.h:
              * khtml/ecma/kjs_events.cpp:
              * khtml/ecma/kjs_events.h:
              * khtml/ecma/kjs_html.cpp:
              * khtml/ecma/kjs_html.h:
              * khtml/ecma/kjs_navigator.cpp:
              * khtml/ecma/kjs_navigator.h:
              * khtml/ecma/kjs_range.cpp:
              * khtml/ecma/kjs_range.h:
              * khtml/ecma/kjs_traversal.cpp:
              * khtml/ecma/kjs_traversal.h:
              * khtml/ecma/kjs_views.cpp:
              * khtml/ecma/kjs_views.h:
              * khtml/ecma/kjs_window.cpp:
              * khtml/ecma/kjs_window.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2760 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      880105d6