1. 19 Nov, 2002 14 commits
    • 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
    • cblu's avatar
      Fixed: 3100597 - repro NSArray exception using contextual menu · 914b6e5d
      cblu authored
              * Misc.subproj/WebNSPasteboardExtras.m:
              (-[NSPasteboard _web_writeURL:andTitle:withOwner:]): more error checking
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2759 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      914b6e5d
    • darin's avatar
      - fix hash function and key comparison for the other kind of hash table; yields 3% · 091be39c
      darin authored
              * kjs/lookup.cpp:
              (keysMatch): Added.
              (Lookup::findEntry): Don't allocate and convert to ASCII just to search.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2758 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      091be39c
    • darin's avatar
      - another hash table fix; yields a 2% improvement on iBench JavaScript · 8091bedc
      darin authored
              * kjs/property_map.cpp: A few more places where we use & instead of %.
      
      	- some List changes that don't affect speed yet
      
              * kjs/types.cpp:
              (List::prependList): Tighten up a tiny bit.
              (List::copy): Use prependList.
              * kjs/types.h: Remove appendList and globalClear.
      
              * kjs/interpreter.cpp: (Interpreter::finalCheck): Remove List::globalClear().
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2757 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8091bedc
    • darin's avatar
      - fixed 3105026 -- REGRESSION: DHTML menus are broken all over the place · 8943db9c
      darin authored
              * kjs/types.cpp: (List::prepend): Fix backwards links in new node.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2756 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8943db9c
    • trey's avatar
      WebKit: · f1e3a112
      trey authored
      	Just a tweak to the description printout.
      
              * History.subproj/WebHistoryItem.m:
              (-[WebHistoryItem description]):
      
      WebBrowser:
      
      	Implementation of the UI for auto-complete.  The back end is simplistic at this
      	stage, as it just searches for http://www.WhatYouTyped.
      
              * ABHomePagesController.m:
              (-[ABHomePagesController refreshContents]):  Added notes for a future fix.
              * BrowserWindowController.h:  Added BrowserWindowWillResize notification.
              * BrowserWindowController.m:
              (-[BrowserWindowController windowDidLoad]):  Create CompletionController.
              (-[BrowserWindowController windowWillResize:toSize:]):  Post resize notification.
              (-[BrowserWindowController dealloc]):  Free CompletionController.
              (-[BrowserWindowController controlTextDidChange:]):  Forward to CompletionController.
              (-[BrowserWindowController controlTextDidEndEditing:]):  Forward to CompletionController.
              (-[BrowserWindowController control:textView:doCommandBySelector:]):  Forward to CompletionController.
              * CompletionController.h: Added.
              * CompletionController.m: Added.
              (-[CompletionController initWithSourceField:]):   Hook up to a field to operate on.
              (-[CompletionController dealloc]):
              (-[CompletionController _executeQuery]):  Get a result set.
              (-[CompletionController _matchingPrefixOfString:]):  Determine piece of a result
      	that matched.
              (-[CompletionController _buildUI]):  Build completion window and table view.
              (placementViewForControl):  Utility function.
              (-[CompletionController _positionWindow]):  Position the window wrt location field.
              (-[CompletionController _showMatchesWindow]):  Show it,
              (-[CompletionController _hideMatchesWindow]):  hide it.
              (-[CompletionController _sourceWindowWillMoveOrResize:]):
              (-[CompletionController _sourceWindowWillMiniaturize:]):
              (-[CompletionController _sourceWindowWillClose:]):
      		Hide UI on various source window changes.
              (-[CompletionController _abortCompletion:]):  wrapper for performAfterDelay.
              (-[CompletionController abortCompletion]):  Bail out of completion operation.
              (-[CompletionController completeString:]):  Do a query, bring up the UI.
              (-[CompletionController _reflectSelectedRow]):  Update location field when a
      	completion is selected in the TableView
              (-[CompletionController controlTextDidChange:]):  Drive completion on new text.
              (-[CompletionController control:textView:doCommandBySelector:]):
      	Drive completion on arrows, backspace, escape, return.
              (-[CompletionController goToItemAtRow:]):  Double click sends performClick to location field.
              (-[CompletionController tableViewSelectionDidChange:]):  Drive UI when row selected.
              (-[CompletionController numberOfRowsInTableView:]):  Supply tableView data.
              (-[CompletionController tableView:objectValueForTableColumn:row:]):  Supply tableView data.
              * TitleBarButton.m:
              (-[TitleBarButton hitTest:]):  Bug fix to allow superview to process mouse events
      	that we don't handle.  Allows proper sending of WindowWillMove.
              * WebBrowser.pbproj/project.pbxproj:  New class added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2755 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f1e3a112
    • darin's avatar
      - a fix that gives another 1.5% on the iBench JavaScript test · 451d435e
      darin authored
              * kjs/ustring.cpp: (UString::from): Stop using sprintf to format integers.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2754 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      451d435e
    • darin's avatar
      JavaScriptCore: · 66092a36
      darin authored
      	- reduced the creation of Value objects and hoisted the property map
              into Object for another gain of about 6%
      
              * JavaScriptCore.pbproj/project.pbxproj: Made property_map.h public.
              * kjs/array_object.cpp:
              (compareWithCompareFunctionForQSort): Don't wrap the ValueImp * in a Value
      	just to add it to a list.
              (ArrayProtoFuncImp::call): Pass the globalObject directly so we don't have
      	to ref/deref.
              * kjs/function.cpp:
              (FunctionImp::call): Use a reference for the global object to avoid ref/deref.
              (GlobalFuncImp::call): Ditto.
              * kjs/internal.cpp:
              (BooleanImp::toObject): Put the object directly into the list, don't create a Value.
              (StringImp::toObject): Ditto.
              (NumberImp::toObject): Ditto.
              (InterpreterImp::evaluate): Use a reference for the global object.
              * kjs/internal.h: Return a reference for the global object.
              * kjs/interpreter.cpp: (Interpreter::globalObject): Ditto.
              * kjs/interpreter.h: Ditto.
              * kjs/object.cpp: Use _prop directly in the object, not a separate pointer.
              * kjs/object.h: Ditto.
              * kjs/types.cpp: Added List methods that work directly with ValueImp.
              (List::append): Added a ValueImp version.
              (List::prepend): Ditto.
              (List::appendList): Work directly with the ValueImp's.
              (List::prependList): Ditto.
              (List::copy): Use appendList.
              (List::empty): Use a shared global List.
              * kjs/types.h: Update for above changes.
      
      WebCore:
      
              * force-js-clean-timestamp: Another Object change.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2753 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      66092a36
    • hyatt's avatar
      Implement phased painting to correct the paint order of blocks, · c12f0487
      hyatt authored
      	floats, and inlines.
      
              * khtml/rendering/render_body.cpp:
              (RenderBody::paintBoxDecorations):
              * khtml/rendering/render_body.h:
              * khtml/rendering/render_box.cpp:
              (RenderBox::paint):
              (RenderBox::paintBoxDecorations):
              (RenderBox::paintBackground):
              * khtml/rendering/render_box.h:
              * khtml/rendering/render_br.h:
              * khtml/rendering/render_flow.cpp:
              (RenderFlow::paint):
              (RenderFlow::paintObject):
              (RenderFlow::paintFloats):
              (RenderFlow::addChild):
              * khtml/rendering/render_flow.h:
              * khtml/rendering/render_html.cpp:
              (RenderHtml::setStyle):
              (RenderHtml::paint):
              (RenderHtml::paintBoxDecorations):
              * khtml/rendering/render_html.h:
              * khtml/rendering/render_image.cpp:
              (RenderImage::setStyle):
              (RenderImage::paintObject):
              * khtml/rendering/render_image.h:
              * khtml/rendering/render_layer.cpp:
              (RenderLayer::paint):
              (RenderLayer::nodeAtPoint):
              * khtml/rendering/render_list.cpp:
              (RenderListItem::paint):
              (RenderListItem::paintObject):
              (RenderListMarker::paint):
              (RenderListMarker::paintObject):
              * khtml/rendering/render_list.h:
              * khtml/rendering/render_object.cpp:
              (RenderObject::RenderObject):
              (RenderObject::paintBorder):
              (RenderObject::paintOutline):
              (RenderObject::paint):
              (RenderObject::dump):
              (RenderObject::setStyle):
              * khtml/rendering/render_object.h:
              * khtml/rendering/render_replaced.cpp:
              (RenderReplaced::paint):
              (RenderWidget::setStyle):
              (RenderWidget::paintObject):
              * khtml/rendering/render_replaced.h:
              * khtml/rendering/render_root.cpp:
              (RenderRoot::paint):
              (RenderRoot::paintObject):
              * khtml/rendering/render_root.h:
              * khtml/rendering/render_table.cpp:
              (RenderTable::paint):
              (RenderTableCell::RenderTableCell):
              (RenderTableCell::setStyle):
              (RenderTableCell::paint):
              (RenderTableCell::paintBoxDecorations):
              * khtml/rendering/render_table.h:
              * khtml/rendering/render_text.cpp:
              (TextSlave::paintSelection):
              (TextSlave::paintDecoration):
              (TextSlave::paintBoxDecorations):
              (RenderText::paintObject):
              (RenderText::paint):
              (RenderText::paintTextOutline):
              * khtml/rendering/render_text.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2752 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c12f0487
    • darin's avatar
      * kjs/property_map.cpp: Oops, copyright goes to Apple, not me. · f1fce4bd
      darin authored
              * kjs/property_map.h: Ditto.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2751 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f1fce4bd
  2. 18 Nov, 2002 24 commits
    • darin's avatar
      * force-js-clean-timestamp: I changed the size of ObjectImp. · 05e5f357
      darin authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2750 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      05e5f357
    • darin's avatar
      - property and string improvements giving a 7% or so improvement in JavaScript iBench · a6cae2cc
      darin authored
              * kjs/property_map.h: Rewrite to use a hash table.
              * kjs/property_map.cpp: Ditto.
      
              * kjs/string_object.h:
              * kjs/string_object.cpp:
              (StringInstanceImp::StringInstanceImp): Construct a string with the right value
      	instead of putting the string in later.
              (StringInstanceImp::get): Get the length from the string, not a separate property.
              (StringInstanceImp::put): Ignore attempts to set length, since we don't put it in
      	the property map.
              (StringInstanceImp::hasProperty): Return true for length.
              (StringInstanceImp::deleteProperty): Return false for length.
              (StringObjectImp::construct): Call new StringInstanceImp constructor. Don't try
      	to set a length property.
      
              * kjs/ustring.h: Make the rep deref know how to deallocate the rep.
              * kjs/ustring.cpp:
              (UString::release): Move the real work to the rep's deref, since the hash table
      	now uses the rep directly.
      
              * kjs/object.h: Remove unused field.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2749 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a6cae2cc
    • mjs's avatar
      Change List to completely avoid going through the GC · 1e8f66ff
      mjs authored
      	allocator. 3.6% performance improvement on JavaScript iBench.
      
              * kjs/internal.cpp:
              (InterpreterImp::mark): Don't mark the empty list.
      
      	For all the methods below I basically lifted the ListImp version
      	up to the List method with minor tweaks.
      
              * kjs/types.cpp:
              (ListIterator::ListIterator):
              (List::List):
              (List::operator=):
              (List::~List):
              (List::mark):
              (List::append):
              (List::prepend):
              (List::appendList):
              (List::prependList):
              (List::removeFirst):
              (List::removeLast):
              (List::remove):
              (List::clear):
              (List::clearInternal):
              (List::copy):
              (List::begin):
              (List::end):
              (List::isEmpty):
              (List::size):
              (List::at):
              (List::operator[]):
              (List::empty):
              (List::erase):
              (List::refAll):
              (List::derefAll):
              (List::swap):
              (List::globalClear):
              * kjs/types.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2748 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1e8f66ff
    • mjs's avatar
      Fixed a horrible leak introduced with my last change that · 6e9d9853
      mjs authored
      	somehow did not show up on my machine.
      
              * kjs/types.cpp:
              (List::List): Mark ListImp as GC allowed.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2747 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6e9d9853
    • hyatt's avatar
      Fix crazyapplerumors.com. I had the logic backwards. CSS · 3c1544fd
      hyatt authored
      	padding beats cellpadding.
      
              * khtml/rendering/render_table.cpp:
              (RenderTableCell::paddingTop):
              (RenderTableCell::paddingBottom):
              (RenderTableCell::paddingLeft):
              (RenderTableCell::paddingRight):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2746 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3c1544fd
    • hyatt's avatar
      Fix crash on espn.com. · a1993bd6
      hyatt authored
              * khtml/rendering/render_object.cpp:
              (RenderObject::setLayouted):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2745 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a1993bd6
    • mjs's avatar
      Another step towards the List conversion: stop inheriting from Value. · 3964a7b6
      mjs authored
              * kjs/types.cpp:
              (ListIterator::ListIterator):
              (List::List):
              (List::operator=):
              (List::~List):
              (List::mark):
              (List::append):
              (List::prepend):
              (List::appendList):
              (List::prependList):
              (List::removeFirst):
              (List::removeLast):
              (List::remove):
              (List::clear):
              (List::copy):
              (List::begin):
              (List::end):
              (List::isEmpty):
              (List::size):
              (List::at):
              (List::operator[]):
              * kjs/types.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2744 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3964a7b6
    • hyatt's avatar
      Fix my <konqblock> regression on ign.com. · 07c921f4
      hyatt authored
              * khtml/html/htmlparser.cpp:
              (KHTMLParser::insertNode):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2743 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      07c921f4
    • cblu's avatar
      Real fix for: 3104183 - Assert loading www.louisvuitton.com · 4f7065eb
      cblu authored
      	Since we don't consider plug-in content as a subresource, attaching plug-in streams to the datasource has no affect on the loading state of the datasource. Both stopLoading on WebFrame and _stopLoading datasource, would not stop plug-ins streams after the data source was done loading. Because of this, I've decided to not keep a list of plug-in streams attached to the data source and pulled my previous change. To fix this bug, WebBaseResourceHandleDelegate now retains the controller.
      
              * Plugins.subproj/WebNetscapePluginStream.m:
              (-[WebNetscapePluginStream start]):
              (-[WebNetscapePluginStream cancel]):
              (-[WebNetscapePluginStream handleDidFinishLoading:]):
              (-[WebNetscapePluginStream handle:didFailLoadingWithError:]):
              * WebView.subproj/WebBaseResourceHandleDelegate.h:
              * WebView.subproj/WebBaseResourceHandleDelegate.m:
              (-[WebBaseResourceHandleDelegate _releaseResources]):
              (-[WebBaseResourceHandleDelegate setDataSource:]):
              (-[WebBaseResourceHandleDelegate handle:willSendRequest:]):
              (-[WebBaseResourceHandleDelegate handleDidFinishLoading:]):
              (-[WebBaseResourceHandleDelegate handle:didFailLoadingWithError:]):
              (-[WebBaseResourceHandleDelegate _cancelWithError:]):
              * WebView.subproj/WebDataSourcePrivate.h:
              * WebView.subproj/WebDataSourcePrivate.m:
              (-[WebDataSourcePrivate dealloc]):
              (-[WebDataSource _stopLoading]):
              (-[WebDataSource _makeHandleDelegates:deferCallbacks:]):
              (-[WebDataSource _defersCallbacksChanged]):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2742 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4f7065eb
    • mjs's avatar
      JavaScriptCore: · effd7e1c
      mjs authored
      	Partway to removing Value from List. Created a marking List
      	variant, used it in place of ListImp.
      
              * kjs/internal.h: Removed List stuff.
              * kjs/internal.cpp:
              (InterpreterImp::mark): Call appropriate List method to do marking of
      	empty ListImp.
              * kjs/object.h:
              * kjs/object.cpp: Use marking List instead of ListImp *.
              * kjs/types.h:
              * kjs/types.cpp:
              (List::List): New boolean needsMarking parameter.
              (List::operator=): Perform trickery related to needsMarking.
              (List::~List): Likewise.
              (List::mark): Mark the ListImp.
              (List::markEmptyList):
      	(ListImp::*): Moved here fron internal.cpp, they will be
      	integrated into the relevant List methods soon.
      
      WebCore:
      
              * force-js-clean-timestamp: Rebuild for JSC changes.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2741 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      effd7e1c
    • darin's avatar
      - another string constant discovered that can be optimized · 2dd6a841
      darin authored
              * kjs/object.h: Add a property name constant for "__proto__".
              * kjs/object.cpp: Define it.
      	(ObjectImp::get): Use it.
      	(ObjectImp::hasProperty): Use it.
      
      	- prepare to turn PropertyMap into a hash table
      
              * kjs/object.cpp:
      	(ObjectImp::mark): Use the new PropertyMap::mark().
      	(ObjectImp::put): Use the new overload of PropertyMap::get().
      	(ObjectImp::deleteProperty): Use the new overload of PropertyMap::get().
      	(ObjectImp::propList): Use PropertyMap::addEnumerablesToReferenceList().
      
              * kjs/property_map.h: Remove PropertyMapNode and make all node-related methods private.
      	Add mark(), a new overload of get() that returns attributes, a clear() that takes no attributes,
      	and addEnumerablesToReferenceList().
              * kjs/property_map.cpp:
      	(PropertyMap::get): Added new overload.
      	(PropertyMap::clear): Added new overload.
      	(PropertyMap::mark): Added.
      	(PropertyMap::addEnumerablesToReferenceList): Added.
      
              * kjs/ustring.h: Added a hash function.
              * kjs/ustring.cpp: (KJS::hash): Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2740 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2dd6a841
    • darin's avatar
      * force-js-clean-timestamp: Touch files to make the build work. · de6825fb
      darin authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2739 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      de6825fb
    • darin's avatar
      - simplified the ExecState class, which was showing up in profiles · 3e1ce6e5
      darin authored
              Sped up JavaScript iBench by 6%.
      
              * kjs/interpreter.h: Removed the level of indirection, and made it all inline.
              * kjs/interpreter.cpp: Removed ExecState implementation from here altogether.
      
      	- fixed an oversight in my sort speedup
      
              * kjs/array_object.h: Add pushUndefinedObjectsToEnd.
              * kjs/array_object.cpp:
              (ArrayInstanceImp::sort): Call pushUndefinedObjectsToEnd.
              (ArrayInstanceImp::pushUndefinedObjectsToEnd): Added.
      	Pushes all undefined to the end of the array.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2738 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3e1ce6e5
    • cblu's avatar
      Fixed: 3104183 - Assert loading www.louisvuitton.com · 6d927229
      cblu authored
      	We need to treat plug-in streams like subresources except they don't change the loading state of the data source.
      
              * Plugins.subproj/WebNetscapePluginStream.m:
              (-[WebNetscapePluginStream start]): call _addPluginStream
              (-[WebNetscapePluginStream cancel]): call _removePluginStream
              (-[WebNetscapePluginStream handleDidFinishLoading:]): call _removePluginStream
              (-[WebNetscapePluginStream handle:didFailLoadingWithError:]): call _removePluginStream
              * WebView.subproj/WebDataSourcePrivate.h:
              * WebView.subproj/WebDataSourcePrivate.m:
              (-[WebDataSourcePrivate dealloc]): release pluginStreams
              (-[WebDataSource _addPluginStream:]): just like addSubresourceClient except don't change the loading state.
              (-[WebDataSource _removePluginStream:]): just like removeSubresourceClient except don't change the loading state.
              (-[WebDataSource _stopLoading]): stop plug-ins streams
              (-[WebDataSource _makeHandleDelegates:deferCallbacks:]):
              (-[WebDataSource _defersCallbacksChanged]): call _makeHandleDelegates:deferCallbacks: for subresources and plug-in streams.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2737 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6d927229
    • darin's avatar
      - fix worst speed problems on the sort page of the iBench JavaScript test · 401641ee
      darin authored
      	Sped up JavaScript iBench by 70%, the sort page by 88%.
      
              * kjs/array_object.h: Add array-specific sort functions.
              * kjs/array_object.cpp:
              (compareByStringForQSort): Added.
              (ArrayInstanceImp::sort): Added.
              (compareWithCompareFunctionForQSort): Added.
              (ArrayProtoFuncImp::call): Use ArrayInstanceImp::sort if the object being
      	sorted is actually an array.
      
              * kjs/object.h: Add argumentsPropertyName.
              * kjs/object.cpp: Add argumentsPropertyName.
              * kjs/function.cpp:
              (FunctionImp::FunctionImp): Use argumentsPropertyName to avoid making a UString.
              (FunctionImp::call): Ditto.
              (ActivationImp::ActivationImp): Ditto.
              * kjs/function_object.cpp: (FunctionObjectImp::construct): Ditto.
      
              * kjs/ustring.h: Added compare function for -1/0/+1 comparison.
              * kjs/ustring.cpp: (KJS::compare): Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2736 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      401641ee
    • mjs's avatar
      Change ArgumentListNode operations to be iterative instead of · a34e69ca
      mjs authored
      	recursive. This probably fixes 3095446 (Crash in
      	KJS::ArgumentListNode::ref()) but I can't reproduce it myself so
      	I'm not 100% sure. I think the original bug was a stack overflow
      	and this change would remove that possibility.
      
              * kjs/nodes.cpp:
              (ArgumentListNode::ref): Make iterative.
              (ArgumentListNode::deref): Make iterative.
              (ArgumentListNode::evaluateList): Make iterative.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2735 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a34e69ca
    • rjw's avatar
      Fixed 3103004. REGRESSION: word-spacing/letter-spacing applied when they shouldn't be · e01e824b
      rjw authored
              This was actually NOT a regression.  khtml wasn't recognizing the 'normal' value for the
              word and letter spacing properties.  So it incorrectly substituted a -1 spacing.
      
              * khtml/css/cssstyleselector.cpp:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2734 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e01e824b
    • hyatt's avatar
      Fix render_body's repaint method. · b7bce452
      hyatt authored
              * khtml/rendering/render_body.cpp:
              (RenderBody::repaint):
              * khtml/rendering/render_body.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2733 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b7bce452
    • rjw's avatar
      Check for usesBackForwardList was excluding all load types. · f8dec244
      rjw authored
              * WebView.subproj/WebFramePrivate.m:
              (-[WebFrame _transitionToCommitted]):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2732 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f8dec244
    • cblu's avatar
      Fixed: 3098767 - REGRESSION: standalone quicktime content just shows blank window · 81cc7651
      cblu authored
      	Check the instance not the class for the class type.
      
              * Plugins.subproj/WebNetscapePluginRepresentation.m:
              (-[WebNetscapePluginRepresentation receivedData:withDataSource:]):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2731 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      81cc7651
    • kocienda's avatar
      WebKit: · 357eb7e0
      kocienda authored
      	Added feature to import bookmarks/favorites from MSIE. This
      	fixes Radar 2961230 (import Mac IE bookmarks).
      
              * Bookmarks.subproj/WebBookmarkImporter.h: Added.
              * Bookmarks.subproj/WebBookmarkImporter.m: Added.
              (_breakStringIntoLines):
              (_HREFRangeFromSpec):
              (_HREFTextFromSpec):
              (_linkTextRangeFromSpec):
              (_linkTextFromSpec):
              (-[WebBookmarkImporter initWithPath:group:]):
              (-[WebBookmarkImporter topBookmark]):
              (-[WebBookmarkImporter error]):
              (-[WebBookmarkImporter dealloc]):
              * Bookmarks.subproj/WebBookmarkList.m:
              (-[WebBookmarkList init]): Create the bookmark list object. This
      	was not created with the -init initializer, causing bookmark lists
      	to fail.
              * English.lproj/Localizable.strings:
              * English.lproj/StringsNotToBeLocalized.txt:
              * WebKit.exp:
              * WebKit.pbproj/project.pbxproj:
      
      WebBrowser:
      
      	Added calls in Debug menu to import IE Favorites.
      	No doubt that this code will move somewhere else once
      	we figure out the interaction design for importing
      	bookmarks.
      
              * Debug/DebugUtilities.m:
              (-[DebugUtilities createDebugMenu]):
              (-[BrowserDocument importInteretExplorerBookmarks:]):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2730 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      357eb7e0
    • mjs's avatar
      - fixed 3103711 - Alexander does not complete JavaScript iBench · c1e46f02
      mjs authored
              * khtml/ecma/kjs_html.cpp:
              (KJS::HTMLDocument::putValue): Resolve URL for location property
      	relative to the base URL of the frame where the JavaScript is
      	executing, not the target frame.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2729 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c1e46f02
    • hyatt's avatar
      Yay! Found the main cause of :hover feedback being so · 95e28653
      hyatt authored
      	slow on links.  The diff function for styles was
      	considering a color change as a containing block layout
      	instead of just a repaint.  With this fix, we will no
      	longer lay out when you hover over a link whose color
      	is different (remember that laying out causes the whole
      	page to repaint).
      
      	There's still some work to do to optimize this further,
      	since we do repaint the containing block still, but this
      	should be good enough for beta.
      
              * khtml/rendering/render_style.cpp:
              (RenderStyle::diff):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2728 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      95e28653
    • hyatt's avatar
      Don't use the immediate painting code for now. Revert · 808edc9c
      hyatt authored
      	to non-immediate code.  Using the non-immediate path I
      	have managed to fix all the regressions except for
      	mrskin losing updates in its marquee (this works only with
      	immediate painting) and the general scrollbar regression
      	(which I just don't understand).
      
              * khtml/html/html_documentimpl.cpp:
              (HTMLDocumentImpl::close):
              * khtml/rendering/render_object.cpp:
              (RenderObject::setLayouted):
              * khtml/rendering/render_root.cpp:
              (RenderRoot::repaintRectangle):
              (RenderRoot::repaint):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2727 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      808edc9c
  3. 17 Nov, 2002 2 commits
    • trey's avatar
      Code cleanup to make some internal methods return autoreleased objects. · 00178efe
      trey authored
              * WebView.subproj/WebFramePrivate.m:
              (-[WebFrame _addBackForwardItemClippedAtTarget:]):
              (-[WebFrame _createItem]):
              (-[WebFrame _createItemTreeWithTargetFrame:clippedAtTarget:]):
              (-[WebFrame _transitionToCommitted]):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2726 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      00178efe
    • trey's avatar
      Fixed 3102076 - REGRESSION: infinite recursion involving bridge end · c3ec7092
      trey authored
      	Fixed 3100929 - REGRESSION: serverRedirectedForDataSource: not sent on server redirects
      	Fixed 3103381 - REGRESSION: Going back from anchor doesn't restore scroll position
      
              * WebView.subproj/WebBaseResourceHandleDelegate.m:
              (-[WebBaseResourceHandleDelegate handle:willSendRequest:]):  Return the copy of the
      	request that we make instead of the original.
              * WebView.subproj/WebMainResourceClient.m:
              (-[WebMainResourceClient handle:willSendRequest:]):  Call super after we make our mods
      	to the request, so the copy that super makes for us includes those mods.
      
              * WebView.subproj/WebFramePrivate.h:  Added new state, WebFrameStateCompleting.
              * WebView.subproj/WebFramePrivate.m:
              (-[WebFrame _transitionToLayoutAcceptable]):  Completing state is a NOP.
              (-[WebFrame _transitionToCommitted]):  Completing state is a NOP.
              (-[WebFrame _isLoadComplete]):  Go to Completing state before calling [bridge end].
      	Go to Completed state afterwards, only if no new loads started in the meantime.
              (-[WebFrame _loadItem:fromItem:withLoadType:]):  When doing anchor nav to get to the
      	item, save and restore scroll state, and set the current item.
              (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:request:]):
      	Reorder the steps so the right scroll state gets saved to the right place.  Also, don't
      	add a backForward item if we're doing a client redirect to an anchor.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2725 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c3ec7092