1. 21 Jan, 2003 5 commits
    • darin's avatar
      - correct our copyrights to 2003; copyright is based on year of... · e507a7c0
      darin authored
              - correct our copyrights to 2003; copyright is based on year of publication, not year worked on
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3367 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • mjs's avatar
      Reviewed by Nobody, fixing an accidental commit. · 2b825da2
      mjs authored
              * khtml/khtml_part.cpp:
      	* khtml/html/html_documentimpl.cpp:
              * khtml/xml/dom_docimpl.h:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3366 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • darin's avatar
      Everything else reviewed by Maciej, dtd.cpp and htmlparser.cpp changes reviewed by Dave. · 483c3788
      darin authored
      	- fixed 3151098 -- REGRESSION: Frequent assert about renderer in DOM code
              * khtml/html/dtd.cpp: (DOM::checkChild): Disallow text inside colgroup so it can be handled as a special case
      	inside the parser.
              * khtml/html/htmlparser.cpp: (KHTMLParser::insertNode): Discard text inside colgroup and don't pop the colgroup.
      	- fixed 3149792 -- memory trasher at robinlionheart.com
      	- fixed 3150664 -- failed assertion in HTMLFrameSetElementImpl::attach on page with frameset inside frameset
      	The key to fixing the 3149792 memory trasher was to avoid constructing trees where there
      	is a render object nested inside an object that is not a suitable container. In particular,
      	the code assumed that RenderFlow objects would only be inside other RenderFlow objects, and
      	this does not happen if you have an <object> that is an image, with objects inside it that
      	are intended to be used if the image fails to load.
      	The key to fixing the 3150664 assertion was to handle the case where a frame set's parent
      	didn't have a renderer, rather than just asserting about it.
              * khtml/rendering/render_flow.cpp:
              (RenderFlow::layout): Added an assertion and a FIXME from Dave's and my review of this code.
              (RenderFlow::splitInlines): Add assertions that we have actual RenderFlow objects. Casting
      	non-RenderFlow objects was the cause of the memory trashing. The other parts of this change
      	assure we never hit these assertions by not creating any render objects for DOM objects
      	that are inside non-RenderFlow.
              (RenderFlow::addChildWithContinuation): Add a similar assertion here.
              * khtml/rendering/render_object.h: Declare new member function.
              * khtml/rendering/render_object.cpp: (RenderObject::canHaveChildren): Return false.
              * khtml/rendering/render_container.h: Declare new member function.
              * khtml/rendering/render_container.cpp: (RenderContainer::canHaveChildren): Return true.
              * khtml/rendering/render_replaced.h: Declare new member function.
              * khtml/rendering/render_replaced.cpp: (RenderReplaced::canHaveChildren): Return false.
              * khtml/xml/dom_nodeimpl.h: Declare new member functions.
              * khtml/xml/dom_nodeimpl.cpp:
              (NodeImpl::createRendererIfNeeded): Added. Checks to see if a renderer should be created,
      	and creates it if so. The bug fix is checking canHaveChildren() here. This also reduces
      	the amount of repeated code in various attach() methods.
              (NodeImpl::styleForRenderer): Added. Default is parent style.
              (NodeImpl::rendererIsNeeded): Added. Default is to create only if display is not none.
              (NodeImpl::createRenderer): Added. Must never reach this function, but I didn't make it a pure
      	virtual because of subclasses like AttrImpl that don't ever call createRendererIfNeeded.
      	Could rethink this and improve it even more.
              * khtml/xml/dom_elementimpl.h: Declare new member functions.
              * khtml/xml/dom_elementimpl.cpp:
              (ElementImpl::styleForRenderer): Override to get the style from the style selector rather
      	than from the parent renderer.
              (ElementImpl::createRenderer): Call RenderObject::createObject to create the right type of renderer.
              (ElementImpl::attach): Call createRendererIfNeeded to do most of the work.
              * khtml/html/html_baseimpl.h: Declare new member functions.
              * khtml/html/html_baseimpl.cpp:
              (HTMLBodyElementImpl::createRenderer): Create a RenderBody.
              (HTMLBodyElementImpl::attach): Call createRendererIfNeeded to do most of the work.
              (HTMLFrameElementImpl::rendererIsNeeded): Override to implement the different policy
      	this element uses to decide whether to make a renderer (same as old code).
              (HTMLFrameElementImpl::createRenderer): Create a RenderFrame.
              (HTMLFrameElementImpl::attach): Call createRendererIfNeeded to do most of the work.
              (HTMLFrameSetElementImpl::rendererIsNeeded): Override to implement the different policy
      	this element uses to decide whether to make a renderer (same as old code).
              (HTMLFrameSetElementImpl::createRenderer): Create a RenderFrameSet.
              (HTMLFrameSetElementImpl::attach): Call createRendererIfNeeded to do most of the work.
      	This fixes a bug where the parent doesn't have a renderer; we were asserting in
      	that case rather than just not creating a renderer ourselves, which was wrong.
              (HTMLHtmlElementImpl::rendererIsNeeded): Override to implement the different policy
      	this element uses to decide whether to make a renderer (same as old code).
              (HTMLHtmlElementImpl::createRenderer): Create a RenderHtml.
              (HTMLHtmlElementImpl::attach): Call createRendererIfNeeded to do most of the work.
              (HTMLIFrameElementImpl::createRenderer): Create a RenderPartObject.
              (HTMLIFrameElementImpl::attach): Call createRendererIfNeeded to do most of the work.
              * khtml/html/html_formimpl.h: Declare new member functions.
              * khtml/html/html_formimpl.cpp:
              (HTMLGenericFormElementImpl::attach): Remove now-unneeded code that is handled by
      	createRendererIfNeeded now.
              (HTMLInputElementImpl::rendererIsNeeded): Return false for HIDDEN, otherwise call base.
              (HTMLInputElementImpl::createRenderer): Create the appropriate type of RenderObject.
              (HTMLInputElementImpl::attach): Call createRendererIfNeeded to do most of the work.
      	Determined that we don't need the special case for image buttons any more.
              (HTMLSelectElementImpl::createRenderer): Create a RenderSelect.
              (HTMLSelectElementImpl::attach): Call createRendererIfNeeded to do most of the work.
              (HTMLTextAreaElementImpl::createRenderer): Create a RenderTextArea.
              (HTMLTextAreaElementImpl::attach): Call createRendererIfNeeded to do most of the work.
              * khtml/html/html_imageimpl.h: Declare new member function.
              * khtml/html/html_imageimpl.cpp:
              (HTMLImageElementImpl::createRenderer): Create a RenderImage.
              (HTMLImageElementImpl::attach): Call createRendererIfNeeded to do most of the work.
              * khtml/html/html_inlineimpl.h: Declare new member function.
              * khtml/html/html_inlineimpl.cpp:
              (HTMLBRElementImpl::createRenderer): Create a RenderBR.
              (HTMLBRElementImpl::attach): Call createRendererIfNeeded to do most of the work.
              * khtml/html/html_objectimpl.h: Declare new member functions.
              * khtml/html/html_objectimpl.cpp:
              (HTMLAppletElementImpl::rendererIsNeeded): Override to implement the different policy
      	this element uses to decide whether to make a renderer (same as old code).
              (HTMLAppletElementImpl::createRenderer): Create either a RenderApplet or RenderEmptyApplet.
              (HTMLAppletElementImpl::attach): Call createRendererIfNeeded to do most of the work.
              (HTMLEmbedElementImpl::rendererIsNeeded): Override to implement the different policy
      	this element uses to decide whether to make a renderer (same as old code).
              (HTMLEmbedElementImpl::createRenderer): Create a RenderPartObject.
              (HTMLEmbedElementImpl::attach): Call createRendererIfNeeded to do most of the work.
              (HTMLObjectElementImpl::rendererIsNeeded): Override to implement the different policy
      	this element uses to decide whether to make a renderer (same as old code).
              (HTMLObjectElementImpl::createRenderer): Create either a RenderImage or a RenderPartObject.
              (HTMLObjectElementImpl::attach): Call createRendererIfNeeded to do most of the work.
              * khtml/xml/dom_textimpl.h: Declare new member functions.
              * khtml/xml/dom_textimpl.cpp:
              (TextImpl::rendererIsNeeded): Moved logic about not making renderers for only-whitespace
      	elements here. Left out the special case for textarea, since the fact that RenderReplaced
      	returns false from the canHaveChildren function now takes care of that of that case.
              (TextImpl::createRenderer): Create a RenderText.
              (TextImpl::attach): Call createRendererIfNeeded to do most of the work.
      	- fixed a buffer overrun that libgmalloc detected
              * khtml/misc/decoder.cpp:
              (KanjiCode::judge): Pass in a size parameter instead of using strlen.
              (Decoder::decode): Pass in a size parameter.
      	- a little housekeeping
              * WebCore.pbproj/project.pbxproj: Remove a bunch of the .moc files
      	from the project. I'm not sure why I put them in originally, but they
      	do no good in there.
              * khtml/khtmlview.moc: Empty out this file.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3365 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • mjs's avatar
      Reviewed by Trey. · 382a4ea1
      mjs authored
       	- fixed 3145317 - Unable to add or remove menu items on Site Menu page using Safari Beta
      	This turned out to be a problem with event.layerX / event.layerY.
              * khtml/xml/dom2_eventsimpl.cpp:
              (MouseEventImpl::computeLayerPos): Since layer position is
      	relative to parent layer, go up the layer tree adjusting for layer
      	offset to compute true layer position.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3364 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • mjs's avatar
      Reviewed by Ken. · 3ddf5d37
      mjs authored
      	- fixed 3151982 - missing content at debka.com after iframe is written using document.write
      	- fixed 3000234 - javascript problem writing iframe at cycleworld.com
              * khtml/html/htmltokenizer.cpp:
              (HTMLTokenizer::scriptHandler): If we come out of the script with
      	the parser in skip mode, don't throw away the whole rest of the
      	document - instead, parse it as usual. The parser's skip mode will
      	take care of skipping stuff as needed and will detect close tags
      	for special tags like <iframe>.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3363 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  2. 20 Jan, 2003 7 commits
    • hyatt's avatar
      Fix :hover performance regression on wsj.com. Moving my · 061700e7
      hyatt authored
      	<a name="foo"> quirk down into the :hover rule  matching code,
      	so that we'll know never to apply :hover to anchorless <a>s.
              Reviewed by gramps
              * khtml/css/cssstyleselector.cpp:
              * khtml/rendering/render_object.cpp:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3362 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • mjs's avatar
      WebCore: · aa81b2bb
      mjs authored
              Reviewed by Trey.
      	- fixed 3132120 - onchange handler not firing on mac.com webmail
              * khtml/rendering/render_form.h:
              * khtml/rendering/render_replaced.cpp:
              (RenderWidget::handleFocusOut): Moved empty virtual method here from render_form.
              (RenderWidget::eventFilter): Uncomment call to handleFocusOut - we
      	need it to send onChange properly.
      	* khtml/rendering/render_replaced.h:
              * kwq/KWQObject.h: Add empty eventFilter virtual method.
              * kwq/KWQComboBox.h: Remove no longer needed empty eventFilter.
              * kwq/KWQEvent.h: Implement a bit more of QFocusEvent.
              * kwq/KWQTextArea.mm:
              (-[KWQTextArea _createTextView]): Tell the text view its widget.
              (-[KWQTextAreaTextView setWidget:]): New method to set widget.
              (-[KWQTextAreaTextView becomeFirstResponder]): In addition to the usual stuff,
      	call the widget's event filter with a focus in event.
              (-[KWQTextAreaTextView resignFirstResponder]): In addition to the usual stuff,
      	call the widget's event filter with a focus out event.
              * kwq/KWQTextField.mm:
              (-[KWQTextField becomeFirstResponder]): Cleaned up a bit.
              (-[KWQTextField fieldWillBecomeFirstResponder]): Call the widget's event filter with a focus in event.
              (-[KWQTextField fieldWillResignFirstResponder]): Call the widget's event filter with a focus out event.
              * kwq/KWQView.mm:
              Reviewed by Trey.
      	- fixed 3132120 - onchange handler not firing on mac.com webmail
              * WebView.subproj/WebHTMLViewPrivate.m:
              (-[WebNSTextView resignFirstResponder]): If we really resign first responder, and
      	our delegate responds to filedWillBecomeFirstResponder, then call that method.
              (-[WebNSTextView becomeFirstResponder]): If we really become first responder, and
      	our delegate responds to filedWillBecomeFirstResponder, then call that method.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3361 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • hyatt's avatar
      Fix for 3147213. <nobr> is treated like other inlines now, · 3862c857
      hyatt authored
      	so it can contain blocks.  <wbr> is also fixed.  This fixes
              Reviewed by john
              * khtml/html/dtd.cpp:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3360 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • kocienda's avatar
      Reviewed by Hyatt · 0a3036e3
      kocienda authored
      	Moved up to HTTP/1.1 in the simple loader, including chunked transer encoding and
      	persistent connections. While I was in the neighborhood, I cleaned up a lot of
      	code and improved some names.
              * Database.subproj/WebFileDatabase.m: Changed sync idle timeout from 3 seconds to 10 seconds.
      	In the "real world" I think that this is a better choice since with even DSL speeds, pages
      	often take longer than 3 seconds to load.
              * Misc.subproj/WebNSStringExtras.h:
              * Misc.subproj/WebNSStringExtras.m:
              (-[NSString _web_timeoutFromKeepAliveHeader]): Added this helper.
              * ProtocolHandlers.subproj/WebHTTPProtocolHandler.h: Added WebHTTPTransferEncoding enum and
      	transferEncodingFlags ivar to the class.
              * ProtocolHandlers.subproj/WebHTTPProtocolHandler.m:
              (-[WebHTTPProtocolHandler populateResponseWithProtocolMetadata:]): Do a "sanity" check on
      	the value of transferEncodingFlags. If the encoding is not "identity" discard content length
      	header value.
              (-[WebHTTPProtocolHandler determineTransferEncoding]): Added.
              * ProtocolHandlers.subproj/WebSimpleHTTPProtocolHandler.h: Quite a bit of rearranging and
      	additions in order to handle new functionality. Moved the whole method interface into
      	the .m file. None of that was public in any way.
              * ProtocolHandlers.subproj/WebSimpleHTTPProtocolHandler.m:
              (-[WebHTTPPersistentConnection initWithFD:expiry:]): Added.
              (-[WebHTTPPersistentConnection isExpired]): Added.
              (WebSimpleHTTPProtocolHandlerInit): Some name changes and additions in order to handle new functionality.
              (_persistentConnectionSweeper): Added.
              (_signalledHandlersCallback): Name change.
              (_socketWriteCallback): Name change.
              (_socketReadCallback): Name change.
              (-[WebSimpleHTTPProtocolHandler initWithResourceLoad:]): Create the HTTP request string here.
              (-[WebSimpleHTTPProtocolHandler beginLoadInBackgroundWithConditions:]): Now checks to see
      	if a persistent connection is available for the destination host/port.
              (-[WebSimpleHTTPProtocolHandler endLoad]): Name change to call _finishedWithFileDescriptor.
              (-[WebSimpleHTTPProtocolHandler cleanUpForRetry]): Rearranged in order to be more legible. Some
      	additions to handle new functionality.
              (-[WebSimpleHTTPProtocolHandler dealloc]): Adjusted for name changes.
              (-[WebSimpleHTTPProtocolHandler _createHTTPRequest]): Now uses HTTP/1.1 and
      	Connection: keep-alive.	This is what the change is all about. :-)
              (-[WebSimpleHTTPProtocolHandler _extractResponseStatusLineFromBytes:length:]):
              (-[WebSimpleHTTPProtocolHandler _processHTTPResultCode]): Name change.
              (-[WebSimpleHTTPProtocolHandler _performSocketRead]): Name change.
              (-[WebSimpleHTTPProtocolHandler _finishedWithFileDescriptor]): Name change. Now handles keeping
      	connections alive if they are eligible.
              (isToken): Added to deal with chunked transfer encoding.
              (skipLWS): Ditto.
              (skipToken): Ditto.
              (skipQuotedString): Ditto.
              (parseChunkedHeader): Ditto.
              (-[WebSimpleHTTPProtocolHandler _processResponseData]): Now handles chunked transfer encoding.
              (-[WebSimpleHTTPProtocolHandler _handleLoadCallback]): Now does more checks to see if a load has 	finished. Additional logic needed here since we do not get a "hard close" when a load is
      	done since we are trying to keep the socket open.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3359 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • trey's avatar
      Nit fix to remove a dead "cursor" ivar found while grepping. · 746d11b3
      trey authored
              Reviewed by Richard.
              * WebView.subproj/WebDynamicScrollBarsView.h:
              * WebView.subproj/WebDynamicScrollBarsView.m:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3358 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • hyatt's avatar
      Gah. Fix positioned objects and floating objects so that they · 0f6efab4
      hyatt authored
      	don't append themselves to the list of runs in normal flow.
      	An astoundingly basic bug. :(
              Reviewed by john
              * khtml/rendering/bidi.cpp:
              * khtml/rendering/render_flow.cpp:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3357 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • hyatt's avatar
      Fixes for 3150561 (blog articles vanish on stylesheet switch) and · ed93ca74
      hyatt authored
              and 3150560 (crash changing fixed positioned element to normal
              positioning dynamically).
              This change makes layers able to deal with dynamic changes in
              position that cause you to have to either remove a layer from
              the hierarchy while preserving the children or to insert a
              layer into the hierarchy in between a parent and its descendants.
      	This patch also rewrites :hover/:active so that they can actually
      	be used in selectors other than the rightmost selector (e.g., so you
      	can write a rule like "li:hover > a").
      	Also, layers will now properly clear out their hover/active state
      	when the mouse is no longer inside them.
      	With these fixes, Eric Meyer's "Pure CSS Menus" work (perfectly)
      	and the repainting problems on sites like brainjar.com and
      	diveintomark.org and wired.com are fixed.
              Reviewed by mjs and john.
              * khtml/css/css_stylesheetimpl.h:
              * khtml/css/cssparser.cpp:
              * khtml/css/cssparser.h:
              * khtml/css/cssstyleselector.cpp:
              * khtml/css/cssstyleselector.h:
              * khtml/dom/html_head.cpp:
              * khtml/rendering/render_box.cpp:
              * khtml/rendering/render_box.h:
              * khtml/rendering/render_container.cpp:
              * khtml/rendering/render_flow.cpp:
              * khtml/rendering/render_flow.h:
              * khtml/rendering/render_layer.cpp:
              * khtml/rendering/render_layer.h:
              * khtml/rendering/render_object.cpp:
              * khtml/rendering/render_object.h:
              * khtml/rendering/render_style.cpp:
              * khtml/rendering/render_style.h:
              * khtml/xml/dom_docimpl.cpp:
              * khtml/xml/dom_docimpl.h:
              * khtml/xml/dom_elementimpl.cpp:
              * khtml/xml/dom_nodeimpl.cpp:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3356 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  3. 18 Jan, 2003 2 commits
    • mjs's avatar
      Reviewed by John. · 48a4a372
      mjs authored
      	- fixed 3149511 - Blogger.com window closes after update is posted
              * khtml/ecma/kjs_window.cpp:
              (WindowFunc::tryCall): For now, don't allow closing the window at
      	all if it wasn't opened by JavaScript, since we don't support the
      	history object and so can't tell if the window has only one
      	history item.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3355 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • mjs's avatar
      Reviewed by John. · 0a04d8f2
      mjs authored
      	- fixed 3123041 - VIP: Spewage at bottom of oregonlive.com and other similar pages
              * WebView.subproj/WebUserAgentSpoofTable.gperf: Added nj.com to spoof list
      	below oregonlive.com (which was already in there). Added comment explaining the
      	need to spoof a bit more.
              * WebView.subproj/WebUserAgentSpoofTable.c:
              (_web_findSpoofTableEntry): Regenerated.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3354 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  4. 17 Jan, 2003 9 commits
    • darin's avatar
      Reviewed by Dave. · f34db7c8
      darin authored
      	- fixed the crashing so the layout tests work
              * khtml/rendering/render_layer.h: Add a node pointer result.
              * khtml/rendering/render_layer.cpp: (RenderLayer::elementList):
      	Return the node pointer so we can destroy it when done with it.
              * khtml/rendering/render_object.h: Make renderArena() const.
              * khtml/rendering/render_object.cpp: (RenderObject::renderArena): Make it const.
              * kwq/KWQRenderTreeDebug.cpp: (writeLayers): Free the Z layer list when done.
      	Without this things just crashed.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3353 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • rjw's avatar
      Fixed 3126141. Allow pages with plugins to be cached. This is safe · 2684cf6a
      rjw authored
              because plugins are cleanly started/stopped when their containing views are
              added/removed from the view hierarchy.
              Reviewed by trey.
              * kwq/KWQKHTMLPart.mm:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3352 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • hyatt's avatar
      The new table code from Lars. Also includes bug fixes for · be02abb2
      hyatt authored
      	percentage height children in table cells, for positioning
      	of tables, and for width distribution of percentage width
              Reviewed by darin
              * ForwardingHeaders/rendering/table_layout.h: Added.
              * WebCore.pbproj/project.pbxproj:
              * khtml/css/cssparser.cpp:
              * khtml/css/cssstyleselector.cpp:
              * khtml/css/cssvalues.c:
              * khtml/css/cssvalues.h:
              * khtml/css/cssvalues.in:
              * khtml/css/html4.css:
              * khtml/dom/html_table.cpp:
              * khtml/html/html_tableimpl.cpp:
              * khtml/html/html_tableimpl.h:
              * khtml/html/htmlparser.cpp:
              * khtml/rendering/bidi.cpp:
              * khtml/rendering/render_body.cpp:
              * khtml/rendering/render_body.h:
              * khtml/rendering/render_box.cpp:
              * khtml/rendering/render_box.h:
              * khtml/rendering/render_flow.cpp:
              * khtml/rendering/render_form.cpp:
              * khtml/rendering/render_form.h:
              * khtml/rendering/render_frames.cpp:
              * khtml/rendering/render_frames.h:
              * khtml/rendering/render_object.cpp:
              * khtml/rendering/render_object.h:
              * khtml/rendering/render_replaced.cpp:
              * khtml/rendering/render_root.cpp:
              * khtml/rendering/render_root.h:
              * khtml/rendering/render_style.cpp:
              * khtml/rendering/render_style.h:
              * khtml/rendering/render_table.cpp:
              * khtml/rendering/render_table.h:
              * khtml/rendering/table_layout.cpp: Added.
              * khtml/rendering/table_layout.h: Added.
              * khtml/xml/dom_docimpl.cpp:
              * khtml/xml/dom_nodeimpl.cpp:
              * khtml/xml/dom_nodeimpl.h:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3351 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • darin's avatar
      Reviewed by Dave. · 1bb17f28
      darin authored
      	- clean room rewrite of QCString::operator<<.
              * kwq/KWQCString.mm: (operator<<): Rewrote it.
      	- update format of render tree dumping for real use
              * khtml/rendering/render_layer.h: Added elementList().
              * khtml/rendering/render_layer.cpp: (RenderLayer::elementList): Added.
              * kwq/KWQRenderTreeDebug.cpp:
              (operator<<): Added an overload for writing out QRect.
              (writeIndent): Added.
              (write): Use the overload for QRect, also reorganize to dump layers.
              (writeLayers): Use this to dump the layers.
              (externalRepresentation): Call writeLayers instead of write.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3350 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • cblu's avatar
      WebFoundation: · d3ed1c91
      cblu authored
      	Fixed: 3143656 - crash in MIMETypeForFile when a large QT movie is dragged over window
      	Removed all unnecessary content sniffing as that work is already done in WebResourceLoad.
              Reviewed by darin.
              * CacheLoader.subproj/WebResourceLoad.m:
              (-[WebResourceLoad _sendResponseMetadataCallbackCheckingPreconditions:]): only sniff here, call _web_guessedMIMEType
              * Misc.subproj/WebMultipartForm.m: include WebNSDataExtras
              * Misc.subproj/WebNSDataExtras.h: Added.
              * Misc.subproj/WebNSDataExtras.m: Added.
              (-[NSMutableData _web_appendFormat:]):
              (-[NSMutableData _web_appendEncodedString:format:arguments:]):
              (-[NSMutableData _web_appendEncodedString:format:]):
              (-[NSData _web_guessedMIMEType]): was _guessMIMEType in WebResourceLoad
              * Misc.subproj/WebNSMutableDataExtras.h: Removed.
              * Misc.subproj/WebNSMutableDataExtras.m: Removed.
              * Misc.subproj/WebNSStringExtras.h: removed 2 unneeded methods
              * Misc.subproj/WebNSStringExtras.m:
              * ProtocolHandlers.subproj/WebFileProtocolHandler.m:
              (-[WebFileProtocolHandler didLoadData:]): get the MIME type from the extension, don't sniff
              * ProtocolHandlers.subproj/WebSimpleHTTPProtocolHandler.m:
              (-[WebSimpleHTTPProtocolHandler _extractResponseStatusLineFromBytes:length:]): don't sniff
              * WebFoundation.pbproj/project.pbxproj:
      	Fixed: 3143656 - crash in MIMETypeForFile when a large QT movie is dragged over window
              Reviewed by darin.
              * WebView.subproj/WebControllerPrivate.m:
              (+[WebController _MIMETypeForFile:]): rewrote, now calls _web_guessedMIMEType
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3349 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • darin's avatar
      Reviewed by Ken. · 1bd92ea0
      darin authored
      	- removed unused KWQDrawUtil code
              * ForwardingHeaders/qdrawutil.h: Emptied this file out.
              * kwq/KWQDrawUtil.h: Removed.
              * kwq/KWQDrawUtil.mm: Removed.
              * WebCore.pbproj/project.pbxproj: Removed KWQDrawUtil.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3348 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • darin's avatar
      WebCore: · 39628ea0
      darin authored
              Reviewed by John.
      	- updated copyright to include expat copyrights
              * WebCore.pbproj/project.pbxproj: Added expat copyrights on the end.
      	Got text of copyrights from Acknowledgments.rtf in WebBrowser.
              Reviewed by John.
      	- updated acknowledgments to latest text from legal that mentions expat
              * Help/English.lproj/Acknowledgments.rtf: New drop from legal.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3347 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • darin's avatar
      WebKit: · 5930f7b4
      darin authored
      	- compressed all our non-compressed TIFF files
              * Resources/nullplugin.tiff:
              * Resources/url_icon.tiff:
      	- compressed all our non-compressed TIFF files
              * Preferences.subproj/AppearancePreferences.tiff:
              * Preferences.subproj/BookmarkPreferences.tiff:
              * Preferences.subproj/GeneralPreferences.tiff:
              * Preferences.subproj/SecurityPreferences.tiff:
              * Resources/Images/Activity_Stop.tif:
              * Resources/Images/AddLink.tif:
              * Resources/Images/AddLinkDisabled.tif:
              * Resources/Images/AddLinkPressed.tif:
              * Resources/Images/AddressBook.tiff:
              * Resources/Images/Back.tif:
              * Resources/Images/BackDisabled.tif:
              * Resources/Images/BackPressed.tif:
              * Resources/Images/BookmarksButton.tif:
              * Resources/Images/BookmarksButton_Pressed.tif:
              * Resources/Images/BookmarksButton_Rollover.tif:
              * Resources/Images/BookmarksButton_Selected.tif:
              * Resources/Images/BookmarksButton_Selected_Pressed.tif:
              * Resources/Images/BookmarksDragBadge1-2.tif:
              * Resources/Images/BookmarksDragBadge3.tif:
              * Resources/Images/BookmarksDragBadge4.tif:
              * Resources/Images/BookmarksDragBadge5.tif:
              * Resources/Images/BookmarksDragImage.tif:
              * Resources/Images/Bug_Report.tif:
              * Resources/Images/Bug_Report_Pressed.tif:
              * Resources/Images/DarkMetalSwatch.tif:
              * Resources/Images/Download_Clear.tif:
              * Resources/Images/Download_ClearDisabled.tif:
              * Resources/Images/Download_ClearPressed.tif:
              * Resources/Images/Download_Reload.tif:
              * Resources/Images/Download_ReloadPressed.tif:
              * Resources/Images/Download_Reveal.tif:
              * Resources/Images/Download_RevealPressed.tif:
              * Resources/Images/Download_Stop.tif:
              * Resources/Images/Download_StopPressed.tif:
              * Resources/Images/FavoriteDrag_Caps.tif:
              * Resources/Images/FavoriteDrag_Middle.tif:
              * Resources/Images/FavoritePressed_Caps.tif:
              * Resources/Images/FavoritePressed_Middle.tif:
              * Resources/Images/FavoriteRollover_Caps.tif:
              * Resources/Images/FavoriteRollover_Middle.tif:
              * Resources/Images/FavoritesBar.tif:
              * Resources/Images/FavoritesBarClipIndicator.tiff:
              * Resources/Images/FavoritesBarClipIndicatorPressed.tiff:
              * Resources/Images/FavoritesFolderArrow.tif:
              * Resources/Images/FavoritesFolderArrowWhite.tif:
              * Resources/Images/FontBigger.tif:
              * Resources/Images/FontBiggerDisabled.tif:
              * Resources/Images/FontBiggerPressed.tif:
              * Resources/Images/FontSmaller.tif:
              * Resources/Images/FontSmallerDisabled.tif:
              * Resources/Images/FontSmallerPressed.tif:
              * Resources/Images/Forward.tif:
              * Resources/Images/ForwardDisabled.tif:
              * Resources/Images/ForwardPressed.tif:
              * Resources/Images/History.tif:
              * Resources/Images/Home.tif:
              * Resources/Images/HomeDisabled.tif:
              * Resources/Images/HomePressed.tif:
              * Resources/Images/LibrarySelection.tif:
              * Resources/Images/LibrarySelectionGray.tif:
              * Resources/Images/Location_Left.tif:
              * Resources/Images/Location_Left_Progress.tif:
              * Resources/Images/Location_Middle.tif:
              * Resources/Images/Location_Middle_Progress.tif:
              * Resources/Images/Location_Right_Progress.tif:
              * Resources/Images/Lock.tif:
              * Resources/Images/NewFolder.tif:
              * Resources/Images/NewFolder_Disabled.tif:
              * Resources/Images/NewFolder_Pressed.tif:
              * Resources/Images/Reload.tif:
              * Resources/Images/ReloadDisabled.tif:
              * Resources/Images/ReloadPressed.tif:
              * Resources/Images/Search_Left.tif:
              * Resources/Images/Search_Left_Progress.tif:
              * Resources/Images/Search_Middle.tif:
              * Resources/Images/Search_Middle_Progress.tif:
              * Resources/Images/Search_Right.tif:
              * Resources/Images/Search_Right_Progress.tif:
              * Resources/Images/Search_SnapBack.tif:
              * Resources/Images/Search_SnapBackPressed.tif:
              * Resources/Images/Stop.tif:
              * Resources/Images/StopDisabled.tif:
              * Resources/Images/StopPressed.tif:
              * Resources/Images/folder16.tiff:
              * Resources/Images/rendezvous.tiff:
              * Resources/Images/tiny_menu.tiff:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3346 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • mjs's avatar
      Reviewed by Dave. · 760b2e8f
      mjs authored
      	- fixed 3148141 - crash in KJS::WindowFunc::tryCall leaving certain site
              * kwq/KWQKHTMLPart.mm:
              (KWQKHTMLPart::setView): If setting the view to nil and we have a
      	document, detach the document. This means that we are removing a
      	frame from the tree, so we want to run it's onUnload handler now,
      	rather than later when things are no longer fully hooked up.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3345 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  5. 16 Jan, 2003 12 commits
    • rjw's avatar
      Fixed 3148932. Account for zero width characters · 77a985bc
      rjw authored
              in <pre> fixed-width optimization.
              Reviewed by hyatt.
              * khtml/rendering/render_text.cpp:
              Reviewed by Richard (written by Mike S.)  'Clean' implementations of these
              functions that were too similar to the Qt implementations.
              * kwq/KWQString.mm:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3344 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • mjs's avatar
      Reviewed by Darin. · bfdaa330
      mjs authored
      	- fixed 3144771 - Crash in KJS::WindowFunc::tryCall leaving www.smogcheck.org
      	I fixed this by making sure we couldn't send the unload event twice, which was
      	happening before in certain circumstances.
              * khtml/khtml_part.cpp:
              (KHTMLPart::closeURL): When emitting load event, note that unload
      	event has not yet been sent.
              (KHTMLPart::checkEmitLoadEvent): Note when unload event has been
      	sent to avoid sending it twice.
              * khtml/khtmlpart_p.h:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3343 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • mjs's avatar
      Reviewed by Darin. · 01106a97
      mjs authored
      	- made minor tweaks to work better with Mozilla's JavaScript tests.
              * kjs/testkjs.cpp:
              (VersionFunctionImp::call): Implemented
              (main): Ignore files named -f (hack to match -f <filename syntax
      	that moz JavaScript tests expect). Also use return code 3 instead
      	of 1 for uncaught exception.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3342 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • darin's avatar
      * kjs/number_object.cpp: (NumberObjectImp::construct): · 69a82b6b
      darin authored
      	Fix build, remove stray space.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3339 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • darin's avatar
      Reviewed by Maciej. · 389288b2
      darin authored
      	- rolled in a change from the KJS folks
              * kjs/number_object.h: Use ObjectImp *, not Object, for the proto.
              * kjs/number_object.cpp:
              (NumberInstanceImp::NumberInstanceImp): Use ObjectImp *, not Object, for the proto.
              (NumberPrototypeImp::NumberPrototypeImp): Pass ObjectImp.
              (NumberObjectImp::construct): Use ObjectImp.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3338 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • darin's avatar
      Removed the Safari-49 markers to reduce confusion since · 361e7403
      darin authored
      49 was never used and includes changes that were not in 51.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3337 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • darin's avatar
      * WebView.subproj/WebController.h: Fixed a comment that was out of date. · e579e0b7
      darin authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3336 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • cblu's avatar
      Fixed comment. · 9442c951
      cblu authored
              Reviewed by NOBODY (OOPS!).
              * Plugins.subproj/WebBaseNetscapePluginView.m:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3335 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • cblu's avatar
      Fixed: 3125743 - right-click doesn't count as ctrl-click in Flash · f8ae501e
      cblu authored
      	AppKit doesn't call mouseDown or mouseUp on right-click. Simulate control-click mouseDown and mouseUp so plug-ins get the right-click event as they do in Carbon
              Reviewed by darin.
              * Plugins.subproj/WebBaseNetscapePluginView.m:
              (-[WebBaseNetscapePluginView rightMouseDown:]):
              (-[WebBaseNetscapePluginView rightMouseUp:]):
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3334 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • darin's avatar
      WebCore: · 615a7e07
      darin authored
              Reviewed by John.
      	- added an API for dumping the external representation of the render tree for testing
              * kwq/KWQRenderTreeDebug.h: Added.
              * kwq/KWQRenderTreeDebug.cpp: Added.
              * kwq/KWQTextStream.h: Added more overloads for operator<<.
              * kwq/KWQTextStream.mm: (QTextStream::operator<<): Implemented them.
              * kwq/WebCoreBridge.h: Added renderTreeAsExternalRepresentation.
              * kwq/WebCoreBridge.mm: (-[WebCoreBridge renderTreeAsExternalRepresentation]): Added.
      	- removed remnants of an earlier more-naive cut at this same sort of thing
      	- removed ForwardingHeaders from the project since that doesn't really help Project Builder
              * kwq/WebCoreTestController.h: Removed.
              * kwq/WebCoreTestController.m: Removed.
              * WebCore.exp: Removed WebCoreTestController.
              * WebCore-combined.exp: Re-generated.
              * WebCore.pbproj/project.pbxproj: Removed WebCoreTestController and ForwardingHeaders.
              Reviewed by John.
      	- added an API for dumping the external representation of the render tree for testing
              * Misc.subproj/WebCoreStatistics.h: Added renderTreeAsExternalRepresentation.
              * Misc.subproj/WebCoreStatistics.m: (-[WebFrame renderTreeAsExternalRepresentation]): Added.
      	- removed remnants of an earlier more-naive cut at this same sort of thing
              * Misc.subproj/WebTestController.h: Removed.
              * Misc.subproj/WebTestController.m: Removed.
              * WebKit.exp: Removed WebTestController.
              * WebKit.pbproj/project.pbxproj: Removed WebTestController.
      	- other changes
              * WebCoreSupport.subproj/WebBridge.m: Had added new copyright date to touch a file.
      	That's not needed any more, but the date should be updated anyway.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3333 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • sheridan's avatar
      Safari-53u; tree is open · f7bab12f
      sheridan authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3332 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • sheridan's avatar
      Safari-52 stamp · de81c91e
      sheridan authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3330 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  6. 15 Jan, 2003 4 commits
    • mjs's avatar
      Reviewed by Darin. · a7881fc9
      mjs authored
      	- fixed 3143418 - controller assert in WebStandardPanels _didStartLoadingURL
      	- fixed 3141212 - crash in kjs garbage collection (contextimp mark)
              * WebCoreSupport.subproj/WebBridge.m:
              (-[WebBridge startLoadingResource:withURL:]): If the data source
      	doesn't have a controller, then block the load.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3329 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • trey's avatar
      3144458 - user's credentials are present in a form that is revisited via b/f or history · 2c65ac11
      trey authored
      	We now never save/restore password fields.  Also if the page has a form with a password
      	field that would be submitted securely, we do not save anything on that page.
              Reviewed by Darin.
              * force-clean-timestamp:  PB isn't smart enough to know what to rebuild.
              * khtml/html/html_formimpl.cpp:
              (HTMLFormElementImpl::formWouldHaveSecureSubmission):  Utility function.
              (HTMLFormElementImpl::attach):  Tell doc if we've added a secure form.
              (HTMLFormElementImpl::parseAttribute):  Tell doc if form became secure.
              (HTMLInputElementImpl::state):  Assert that we never save password fields.
              (HTMLInputElementImpl::restoreState):  Assert that we never restore password fields.
              (HTMLInputElementImpl::attach):  Tell doc if we've added a password field.
              * khtml/html/html_formimpl.h:
              * khtml/xml/dom_docimpl.cpp:
              (DocumentImpl::DocumentImpl):  Init count of secure forms, password fields.
              (DocumentImpl::hasPasswordField):  New methods to count password fields.
              (DocumentImpl::hasSecureForm):  New methods to count secure forms.
              * khtml/xml/dom_docimpl.h:
              * kwq/KWQKHTMLPart.mm:
              (KWQKHTMLPart::canCachePage):   Never let pages with password fields in the page cache.
              (KWQKHTMLPart::saveDocumentState):  Do not save form state if page has a form with
      	a password field that would be submitted securely
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3328 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • darin's avatar
      Reviewed by Ken. · 13748990
      darin authored
      	- rolled in a change from the KJS folks
      	Fixes a bug where the date functions would not accept non-strings.
      	And provides a bit of a speedup.
              * kjs/date_object.h: Change parameter type for parseDate.
              * kjs/date_object.cpp:
              (DateObjectFuncImp::call): Always call toString, don't check the type.
              (KJS::parseDate): Take a UString parameter, not a String parameter.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3327 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • darin's avatar
      WebCore: · c12a0350
      darin authored
              Reviewed by Ken.
      	- fixed problem where Content-Type was coming in with suffixes like "charset"
              * kwq/WebCoreBridge.h: Add contentType and refresh parameters, and remove "headers"
      	parameter, from openURL method.
              * kwq/WebCoreBridge.mm:
              (-[WebCoreBridge openURL:reload:contentType:refresh:lastModified:pageCache:]): Get the
      	content type from a parameter, and the refresh header from a separate parameter rather
      	than extracting both from a headers dictionary.
              Reviewed by Ken.
      	- fixed problem where Content-Type was going into WebCore with suffixes like "charset"
              * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _commitIfReady:]):
      	Pass in contentType from the response, rather than the "Content-Type" header.
      	Also pass in the refresh header separately.
              * English.lproj/StringsNotToBeLocalized.txt: Updated for above change.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3326 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  7. 14 Jan, 2003 1 commit
    • darin's avatar
      Reviewed by Maciej. · 5c611c4d
      darin authored
      	- fixed 3147036 -- words separated only by newlines are getting rammed together on XML page
      	- fixed 3147032 -- preformatted text is missing much whitespace on XML page
              * khtml/xml/xml_tokenizer.cpp: (XMLHandler::characters): Don't try to strip whitespace at all,
      	because it needs to be in the DOM.
      	- add support for more MIME types
              * khtml/khtml_part.cpp: (KHTMLPart::begin): Add "application/xml" and "application/xhtml+xml".
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3325 268f45cc-cd09-0410-ab3c-d52691b4dbfc