1. 15 Nov, 2002 5 commits
    • darin's avatar
      * kwq/KWQWindowWidget.mm: (KWQWindowWidget::setFrameGeometry): · df95e87e
      darin authored
      	Oops. Make that display:YES.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2697 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      df95e87e
    • darin's avatar
      - fixed 3090219 -- Window jumps up and down when loading nikon page · 3cbec6d6
      darin authored
              * kwq/KWQWindowWidget.mm: (KWQWindowWidget::setFrameGeometry):
      	Don't pass display:NO when resizing the window.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2696 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3cbec6d6
    • kocienda's avatar
      Remove characters RFC 2396 describes as "unwise" from the · c911ccf5
      kocienda authored
      	BadChar character class. This causes them to remain unescaped
      	in KURL objects. As a result, some extra escaping needed to
      	be added into the getNSURL() function to enable NSURL
      	objects to be created using a KURL.
      
      	This enables me to fix this bug:
      	Radar 3050437 (Clicking link leads to page with garbled content)
      
      	Note, however, that my fix for 3050437 relies on this bug remaining unfixed:
      
      	Radar 3102332 (Square bracket characters "sneak through" CFURL illegal character checks)
      
              * kwq/KWQKURL.mm:
              (KURL::getNSURL)
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2693 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c911ccf5
    • darin's avatar
      Tools: · 56fdc7dc
      darin authored
              * Scripts/update-alex-localizable-strings: Fix it so that the line
      	numbers in error messages will be accurate.
      
      WebCore:
      
      	- fixed 3027460 -- text areas don't have focus rectangles
      	- fixed 2937204 -- text areas have solid black borders
      
              * kwq/KWQSignal.mm: (KWQSignal::disconnect):
      	Add a special case so we don't hear about finishedParsing all the time.
      
              * kwq/KWQTextArea.mm:
              (-[KWQTextArea initWithFrame:]): Use a bezel border, not a line border.
              (-[KWQTextArea getCursorPositionAsIndex:inParagraph:]): Fix bug where it would
      	return a bogus value for an empty text area.
              (-[KWQTextArea setCursorPositionToIndex:inParagraph:]): Use setSelectedRange:
      	ratherr than setMarkedText:selectedRange:.
              (-[KWQTextArea drawRect:]): Draw a focus ring if our text view is first responder.
              (-[KWQTextArea _KWQ_setKeyboardFocusRingNeedsDisplay]): Added.
              (-[KWQTextAreaTextView becomeFirstResponder]): Call _KWQ_setKeyboardFocusRingNeedsDisplay.
              (-[KWQTextAreaTextView resignFirstResponder]): Call _KWQ_setKeyboardFocusRingNeedsDisplay.
              (-[NSView _KWQ_setKeyboardFocusRingNeedsDisplay]): Calls the same thing on parent.
      
              * WebCore.pbproj/project.pbxproj: PB is a cruel master.
      
      WebBrowser:
      
      	- fixed problem I introduced where text would get too close to the right button
      
              * LocationTextField.m: (-[LocationTextField didShowOrHideRightButton]):
      	Add back logic to adjust the right border. I removed this because it was incompatible
      	with my changes, but now I made a new compatible version by adding a new method.
      
              * TextFieldWithControls.h: Rename showRightButton: to setIsShowingRightButton:,
      	and added isShowingRightButton, and didShowOrHideRightButton methods.
              * TextFieldWithControls.m:
              (-[TextFieldWithControls isShowingRightButton]): Added.
              (-[TextFieldWithControls didShowOrHideRightButton]): Added.
              (-[TextFieldWithControls setIsShowingRightButton:]): Call didShowOrHideRightButton at
      	the right moment so we can properly respond to any changes it makes to the cell.
      
              * BrowserWindowController.m: (-[BrowserWindowController updateSnapBackButtons]):
      	Update for method name change.
      
              * WebBrowser.pbproj/project.pbxproj: PB is a cruel master.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2691 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      56fdc7dc
    • mjs's avatar
      * khtml/html/html_formimpl.cpp: · ab1f48ef
      mjs authored
              (HTMLInputElementImpl::attach): Removed a stray printf.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2689 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ab1f48ef
  2. 14 Nov, 2002 8 commits
    • darin's avatar
      WebCore: · bd6a1fde
      darin authored
      	- fixed most of the problems with OPTGROUP
      
              * khtml/html/htmlparser.cpp: (KHTMLParser::insertNode):
      	Make OPTGROUPs pop out of other unclosed OPTGROUPs, not just out of options.
      
              * kwq/KWQListBox.h: Add private member function.
              * kwq/KWQListBox.mm:
              (QListBox::insertItem): Use shared insertItem function.
              (QListBox::insertGroupLabel): Create an attributed string for the group label,
      	with bold font.
              (-[KWQListBoxTableViewDelegate tableView:shouldSelectRow:]): Return YES only
      	for the plain strings, that way you can't select the group labels.
      
              * WebCore.pbproj/project.pbxproj: Let PB do its thing.
      
      WebBrowser:
      
              * BrowserDocument.h: Remove unused BrowserDocumentPageTitleChangedNotification.
              * BrowserDocument.m:
              (-[BrowserDocument _pageTitleHasChanged]): Remove unused notification.
              (-[BrowserDocument goToBugReportingPage:]): Escape URL so it works in the form parameters.
      
              * PoofAnimator.m: (-[PoofAnimator init]): Remove use of private _setHasShadow:
      	which is just the same thing as the public setHasShadow:.
      
              * BrowserWindowController.m: Tweak formatting.
              * Preferences.subproj/GeneralPreferences.m: Tweak.
      
              * WebBrowser.pbproj/project.pbxproj: Let PB do its thing.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2685 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bd6a1fde
    • hyatt's avatar
      Fix spinner.com mislayout on the PLT. Make sure · 5ee8b596
      hyatt authored
      	<input type=image> honors the width attribute and
      	make sure that its render object calls updateFromElement.
      
              * khtml/html/html_formimpl.cpp:
              (HTMLInputElementImpl::parseAttribute):
              (HTMLInputElementImpl::attach):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2682 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5ee8b596
    • hyatt's avatar
      Move text measurement and layout beyond onload. This · 5159d9c2
      hyatt authored
      	shoudl speed up i-bench substantially and morrison's
      	PLT test slightly.
      
      	Also allow <table>s as children of <p> and <h1>-<h6>.
      	This fixes floats on slashdot.org (the left side) and
      	the floating tables in articles on wired.com.
      
              * khtml/html/dtd.cpp:
              (DOM::checkChild):
              * khtml/html/html_documentimpl.cpp:
              (HTMLDocumentImpl::HTMLDocumentImpl):
              (HTMLDocumentImpl::close):
              * khtml/html/html_documentimpl.h:
              * khtml/html/htmlparser.cpp:
              (KHTMLParser::insertNode):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2680 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5159d9c2
    • rjw's avatar
      Fixed 3099505. With the recent white space changes, multiple slaves may · 852d80b2
      rjw authored
              be created for contiguous text on the same line.  The fix changes the
              iteration order of over the slave array.  Now, when searching for the end
              point of a line we'll always find the last slave on a line first.
      
              * khtml/khtml_part.cpp:
              (lastSlaveAt):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2679 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      852d80b2
    • darin's avatar
      - fixed 3095854 -- small select boxes get no scrollbar · 5e10a7c6
      darin authored
              * kwq/KWQListBox.mm: (QListBox::sizeForNumberOfLines):
      	Always use a minimum of 4 lines.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2678 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5e10a7c6
    • sheridan's avatar
      Alex-32 stamp · 98191978
      sheridan authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2675 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      98191978
    • darin's avatar
      WebCore: · 043758d8
      darin authored
      	- fixed 3099240 -- REGRESSION: repro assert d->m_doc->parsing
      
      	Don't force all redirects to be reloads, because the ones from JavaScript must
      	not be. Maybe a better solution post-Alex-32 will be to pass a flag that distinguishes
      	redirects from other location changes.
      
              * khtml/khtml_part.cpp: (KHTMLPart::slotRedirect): Don't ignore the anchor when
      	comparing URLs to see if they should be a reload. We'll still do a reload if the URLs
      	are actually equal, but if they differ in anchor we will just go to the anchor.
      	This is the bug fix.
      
              * kwq/WebCoreBridge.h: Add reload parameter.
              * kwq/WebCoreBridge.mm: (-[WebCoreBridge openURL:reload:headers:]): Stuff the reload
      	parameter into the URLArgs.
      
      WebKit:
      
      	- fixed 3099240 -- REGRESSION: repro assert d->m_doc->parsing
      
      	Make the reload flag pass across the bridge.
      
              * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _commitIfReady]):
      	Pass a reload flag, based on the load type, to the bridge.
              * WebView.subproj/WebFramePrivate.m:
              (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]): Pass a
      	reload flag of NO in the anchor case. Preserve reload load types even when
      	doing client redirects (have to talk with Trey about this tomorrow).
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2670 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      043758d8
    • darin's avatar
      WebCore: · 3866e312
      darin authored
      	- fixed 3100235 -- nil-deference in khtml::RenderTable at money.cnn.com
      
              * kwq/WebCoreBridge.h: Add needsLayout.
              * kwq/WebCoreBridge.mm: (-[WebCoreBridge needsLayout]): Return true if the render
      	tree root says "layouted" is false. It would be more elegant to use more of this
      	WebCore layout logic and have less of our own on the WebKit side.
      
              * WebCore.pbproj/project.pbxproj: Oh, that Project Builder.
      
      WebKit:
      
      	- fixed 3100235 -- nil-deference in khtml::RenderTable at money.cnn.com
      
              * WebView.subproj/WebHTMLView.m: (-[WebHTMLView drawRect:]):
      	If the WebCore side needs layout, then do layout before trying to draw.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2669 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3866e312
  3. 13 Nov, 2002 9 commits
    • darin's avatar
      - fixed 3100895 -- REGRESSION: Crash (was assertion) on http://www.w3.org/Style/CSS/ · 53a8ad15
      darin authored
              * khtml/rendering/render_text.h: Add an optional arena parameter to deleteSlaves.
              * khtml/rendering/render_text.cpp:
              (RenderText::detach): Pass the render arena in to deleteSlaves.
              (RenderText::deleteSlaves): Use the passed-in arena.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2667 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      53a8ad15
    • darin's avatar
      WebFoundation: · 82240090
      darin authored
              * Misc.subproj/WebAssertions.m: (vprintf_stderr_objc):
      	Don't use displayableString. Makes us able to build on Panther.
      
              * WebFoundation.pbproj/project.pbxproj: Project Builder wanted to touch this.
      
      WebCore:
      
      	- fixed another crash on http://www.w3.org/Style/CSS/, but still not done
      
              * khtml/rendering/render_box.cpp: (RenderBox::setStyle): Call renderArena()
      	from RenderObject rather than going at the document directly. Safer because
      	it works even when we don't have a node yet.
              * khtml/rendering/render_flow.cpp: (RenderFlow::addChild): Ditto.
              * khtml/rendering/render_layer.cpp:
              (RenderLayer::paint): Ditto.
              (RenderLayer::nodeAtPoint): Ditto.
              (RenderLayer::constructZTree): Ditto.
              * khtml/rendering/render_list.cpp:
              (RenderListItem::setStyle): Ditto.
              * khtml/rendering/render_text.cpp:
              (RenderText::deleteSlaves): Ditto.
              (RenderText::position): Ditto. This is the one that actually crashed.
      
              * khtml/misc/makeattrs: Fixed handling of failure case.
              * khtml/misc/maketags: Ditto.
      
              * WebCore.pbproj/project.pbxproj: Project Builder wanted to touch this.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2666 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      82240090
    • darin's avatar
      - fixed 3100895 -- REGRESSION: Assertion on http://www.w3.org/Style/CSS/ · aed62356
      darin authored
      	A few arena-related fixes.
      
              * khtml/rendering/bidi.h: Don't define the operator new without the arena parameter.
      	That way, we get a link failure if we use it by accident, rather than an assert at runtime.
      	It would be even better to get a compile-time error, but I don't know how to make that happen.
              * khtml/rendering/render_layer.h: Ditto.
              * khtml/rendering/render_object.h: Ditto.
              * khtml/rendering/render_text.h: Ditto.
      
              * khtml/rendering/render_container.cpp:
              (RenderContainer::addChild): Create the RenderTable with the appropriate arena.
              (RenderContainer::insertPseudoChild): Create the RenderFlow objects with the appropriate arena.
      
              * khtml/rendering/render_text.cpp: (RenderText::deleteSlaves): Don't try to get the arena
      	when there are no slaves. This can happen after the element is nil, and in that case we will
      	do a nil-dereference.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2665 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      aed62356
    • darin's avatar
      WebCore: · 9aa61f37
      darin authored
              * kwq/KWQLineEdit.mm: (QLineEdit::sizeForCharacterWidth):
      	Use the "0" instead of the "x" as the canonical character for width.
      	This is slightly wider and is better for credit card numbers, for example.
      
              * WebCore.pbproj/project.pbxproj: Tweak.
      
      WebBrowser:
      
              * English.lproj/StringsNotToBeLocalized.txt: Let the script sort this file.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2664 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9aa61f37
    • darin's avatar
      WebCore: · aa70db1b
      darin authored
      	- fixed 3083982 -- Logging into AOL gives null view
      
      	Turns out AOL was using a refresh header, which we were not supporting.
      
              * khtml/khtml_part.h: Declare receivedFirstData, a private member function.
              * khtml/khtml_part.cpp:
              (KHTMLPart::receivedFirstData): Separate out the part of slotData we
      	want to share, which really seems kinda separate anyway.
              (KHTMLPart::slotData): More of the same.
      
              * kwq/KWQKHTMLPart.h: Declare addMetaData.
              * kwq/KWQKHTMLPart.mm:
              (KWQKHTMLPart::slotData): Call receivedFirstData instead of doing the same
      	thing ourselves.
              (KWQKHTMLPart::addMetaData): Added. Puts metadata into the job.
      
              * kwq/KWQKHTMLPartBrowserExtension.mm:
              (KHTMLPartBrowserExtension::createNewWindow): Fix bug where this was calling
      	openURL: but meant to call loadURL:.
      
              * kwq/WebCoreBridge.h: Add headers to openURL method. Remove setContentType.
              * kwq/WebCoreBridge.mm:
              (-[WebCoreBridge openURL:withHeaders:]): Handle Content-Type and Refresh.
      	This method is big enough that I should probably move the guts to KWQKHTMLPart.
      
      	- other things
      
              * kwq/KWQListImpl.mm: (KWQListImpl::~KWQListImpl): I overlooked something
      	while doing my "bug fix" in here a while back. Change an assignment statement
      	to an assert.
      
      WebKit:
      
      	- fixed 3083982 -- Logging into AOL gives null view
      
      	Turns out AOL was using a refresh header, which we were not supporting.
      
              * WebView.subproj/WebDataSourcePrivate.m: (-[WebDataSource _commitIfReady]):
      	Call openURL: and pass headers in.
      
              * WebView.subproj/WebFramePrivate.m:
              (-[WebFrame _loadURL:loadType:clientRedirect:triggeringEvent:isFormSubmission:]):
      	Pass nil for headers in this case, since we know it's just an anchor change.
      
      	- other things
      
              * WebCoreSupport.subproj/WebBridge.h: Remove dataSourceChanged and dataSource
      	methods. We try to keep the bridge methods down to actual bridging.
              * WebCoreSupport.subproj/WebBridge.m: Remove dataSourceChanged altogether,
      	and move dataSource up in the file.
      
              * WebView.subproj/WebHTMLRepresentation.m:
              (-[WebHTMLRepresentation setDataSource:]): Keep the data source around, so we
      	don't need to ask the bridge for it.
              (-[WebHTMLRepresentation documentSource]): Use it here.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2660 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      aa70db1b
    • hyatt's avatar
      Fix for floats. Force relayout if collapsing margins · c6ead7fe
      hyatt authored
      	have to adjust the position of an object.
      
              * khtml/rendering/render_flow.cpp:
              (RenderFlow::layoutBlockChildren):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2659 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c6ead7fe
    • hyatt's avatar
      Rewrite cellpadding to not use the style system at all and · 80844874
      hyatt authored
      	to make table cells just get the padding from the table
      	itself (overriding style).
      
              * khtml/html/html_tableimpl.cpp:
              (HTMLTableElementImpl::HTMLTableElementImpl):
              (HTMLTableElementImpl::attach):
              (HTMLTableElementImpl::parseAttribute):
              (HTMLTableCellElementImpl::init):
              * khtml/html/html_tableimpl.h:
              * khtml/rendering/bidi.cpp:
              (RenderFlow::layoutInlineChildren):
              * khtml/rendering/render_box.cpp:
              (RenderBox::contentWidth):
              (RenderBox::contentHeight):
              * khtml/rendering/render_flow.cpp:
              (RenderFlow::layoutBlockChildren):
              (RenderFlow::leftOffset):
              (RenderFlow::rightOffset):
              (RenderFlow::calcMinMaxWidth):
              * khtml/rendering/render_object.h:
              * khtml/rendering/render_table.cpp:
              (RenderTable::RenderTable):
              (RenderTableCell::paddingTop):
              (RenderTableCell::paddingBottom):
              (RenderTableCell::paddingLeft):
              (RenderTableCell::paddingRight):
              * khtml/rendering/render_table.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2657 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      80844874
    • kocienda's avatar
      Bump WebCore cache to 4 MB (was 1 MB). · 28b09116
      kocienda authored
              * khtml/misc/loader.cpp
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2656 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      28b09116
    • mjs's avatar
      WebCore: · 368154da
      mjs authored
      	- fixed 3050447 - Policy handlers have no way of telling client
      	that the proposed navigation is a form post
      
              * khtml/khtml_part.cpp:
              (KHTMLPart::submitForm): Call kwq->submitForm
              * kwq/KWQKHTMLPart.h:
              * kwq/KWQKHTMLPart.mm:
              (KWQKHTMLPart::openURL): Adjusted for bridge API change.
              (KWQKHTMLPart::openURLRequest): Removed POST handling.
      	(KWQKHTMLPart::submitForm): Added this back, because we need to
      	know what URL navigations are caused by form submission, even if
      	they are not POSTs.
              (KWQKHTMLPart::urlSelected): Adjusted for bridge API change.
              * kwq/WebCoreBridge.h: Add triggeringEvent: parameter to postURL:
      	and isFormSubmission: parameter to loadURL:.
      
      WebKit:
      
      	- fixed 3050447 - Policy handlers have no way of telling client
      	that the proposed navigation is a form post
      
      	Now we pass form submissions through all the normal policy steps.
      
              * WebCoreSupport.subproj/WebBridge.m:
              (-[WebBridge loadURL:reload:triggeringEvent:isFormSubmission:]):
              (-[WebBridge postWithURL:data:contentType:triggeringEvent:]):
              (-[WebBridge createChildFrameNamed:withURL:renderPart:allowsScrolling:marginWidth:marginHeight:]):
              * WebView.subproj/WebDataSourcePrivate.h:
              * WebView.subproj/WebDataSourcePrivate.m:
              (-[WebDataSourcePrivate dealloc]):
              (-[WebDataSource _setTriggeringAction:]):
              (-[WebDataSource _triggeringAction]):
              (-[WebDataSource _lastCheckedRequest]):
              (-[WebDataSource _setLastCheckedRequest:]):
              * WebView.subproj/WebFrame.m:
              (-[WebFrame setProvisionalDataSource:]):
              * WebView.subproj/WebFramePrivate.h:
              * WebView.subproj/WebFramePrivate.m:
              (-[WebFrame _shouldShowRequest:]):
              (-[WebFrame _loadRequest:triggeringAction:]):
              (-[WebFrame _actionInformationForNavigationType:event:]):
              (-[WebFrame _continueAfterNavigationPolicyForRequest:dataSource:]):
              (-[WebFrame _loadURL:loadType:clientRedirect:triggeringEvent:isFormSubmission:]):
              (-[WebFrame _loadURL:intoChild:]):
              (-[WebFrame _postWithURL:data:contentType:triggeringEvent:]):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2652 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      368154da
  4. 12 Nov, 2002 14 commits
    • hyatt's avatar
      Fix for 3032869, the background image for the body was being · de8798e2
      hyatt authored
      	propagated up to the root properly but was not being tiled over
      	the whole canvas.
      
              * khtml/rendering/render_box.cpp:
              (RenderBox::printBackground):
              * khtml/rendering/render_html.cpp:
              (RenderHtml::printBoxDecorations):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2650 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      de8798e2
    • hyatt's avatar
      Fix the top of moveabletype.org. The maxwidth/minwidth · 76b81603
      hyatt authored
      	calculation for blocks with inline content did not properly
      	deal with margins and padding on inline elements like <a>.
      
              * khtml/rendering/render_flow.cpp:
              (RenderFlow::calcInlineMinMaxWidth):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2648 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      76b81603
    • hyatt's avatar
      Fix for 2953367, padding is incorrectly inherited into table cells · 1e39e214
      hyatt authored
      	and also incorrectly overrides cellpadding on the table itself.
      	Fixes dailyf1.com.
      
              * khtml/css/html4.css:
              * khtml/html/html_tableimpl.cpp:
              (HTMLTableElementImpl::parseAttribute):
              (HTMLTableCellElementImpl::init):
              * khtml/html/html_tableimpl.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2647 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1e39e214
    • hyatt's avatar
      For now make text/xml files use HTML parsing/documents. · 5b288376
      hyatt authored
      	This avoids the infinite loop we get into when loading
      	text/xml.  If/when we finally support XML, we can undo
      	this change.
      
              * khtml/khtml_part.cpp:
              (KHTMLPart::begin):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2644 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5b288376
    • hyatt's avatar
      Fix for 3086321, stylesheets not loading if titles are · a40eb069
      hyatt authored
      	specified.  Note that 4 of the pages on the PLT were
      	affected by this, so I fully expect a slight performance
      	degradation (the boost from the regression was artificial).
      
              * khtml/xml/dom_docimpl.cpp:
              (DocumentImpl::recalcStyleSelector):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2643 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a40eb069
    • rjw's avatar
      Oops, removed debugging. · 80eba2b5
      rjw authored
              * khtml/rendering/font.cpp:
              (Font::drawText):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2641 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      80eba2b5
    • rjw's avatar
      Implemented letter-spacing and word-spacing CSS properties. · 16de6614
      rjw authored
              * khtml/rendering/font.cpp:
              (Font::drawText):
              (Font::floatWidth):
              (Font::floatCharacterWidths):
              * kwq/KWQFontMetrics.h:
              * kwq/KWQFontMetrics.mm:
              (QFontMetrics::width):
              (QFontMetrics::floatWidth):
              (QFontMetrics::floatCharacterWidths):
              * kwq/KWQPainter.h:
              * kwq/KWQPainter.mm:
              (QPainter::drawText):
              * kwq/WebCoreTextRenderer.h:
      
              Implemented letter-spacing and word-spacing CSS properties.
      
              * Misc.subproj/WebStringTruncator.m:
              (+[WebStringTruncator rightTruncateString:toWidth:withFont:]):
              (+[WebStringTruncator centerTruncateString:toWidth:withFont:]):
              * WebCoreSupport.subproj/WebTextRenderer.h:
              * WebCoreSupport.subproj/WebTextRenderer.m:
              (-[WebTextRenderer widthForCharacters:length:]):
              (-[WebTextRenderer drawCharacters:stringLength:fromCharacterPosition:toCharacterPosition:atPoint:withPadding:withTextColor:backgroundColor:rightToLeft:letterSpacing:wordSpacing:]):
              (-[WebTextRenderer floatWidthForCharacters:stringLength:characterPosition:]):
              (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:]):
              (-[WebTextRenderer floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:letterSpacing:wordSpacing:]):
              (-[WebTextRenderer _floatWidthForCharacters:stringLength:fromCharacterPosition:numberOfCharacters:withPadding:applyRounding:attemptFontSubstitution:widths:fonts:glyphs:numGlyphs:letterSpacing:wordSpacing:]):
      
              Changed to reflect method name change.
      
              * EtchedStringView.m:
              (-[EtchedStringView drawRect:]):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2640 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      16de6614
    • hyatt's avatar
      Revert floats so that they don't use layers any more. · 90f427a7
      hyatt authored
      	Floats have to be able to paint in between the background
      	and foreground of inlines, so they can't have layers.
      
              * khtml/rendering/render_box.cpp:
              (RenderBox::setStyle):
              * khtml/rendering/render_flow.cpp:
              (RenderFlow::printObject):
              (RenderFlow::paintFloats):
              (RenderFlow::addOverHangingFloats):
              (RenderFlow::nodeAtPoint):
              * khtml/rendering/render_flow.h:
              * khtml/rendering/render_layer.cpp:
              (RenderLayer::constructZTree):
              * khtml/rendering/render_list.cpp:
              (RenderListItem::printObject):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2639 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      90f427a7
    • darin's avatar
      * kwq/KWQCursor.mm: (QCursor::QCursor): Use nil instead of [NSCursor arrowCursor]. · 0f12f1aa
      darin authored
      	This will probably fix the performance regression.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2637 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0f12f1aa
    • darin's avatar
      - fixed 3080250 -- Hands-free crash at wired.com in · 42eff377
      darin authored
      	KHTMLPart::slotChildStarted
      
              * kwq/KWQListImpl.mm:
              (KWQListImpl::~KWQListImpl): Set the node of each iterator to NULL too,
      	not just the list. This is the bug fix for the bug above.
              (KWQListIteratorImpl::toFirst): Check for list of NULL.
              (KWQListIteratorImpl::toLast): ditto.
      
              * kwq/KWQSlot.mm: Tweaks.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2636 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      42eff377
    • hyatt's avatar
      This patch lands a rewrite of whitespace-handling in the · 33f8d493
      hyatt authored
      	layout engine and adds support for the CSS2 white-space
      	property.
      
      	It also includes a rewrite of inlines' min/max width
      	calculations (for both flow inlines and raw text).
      
      	A problem with <form> margins has been fixed (this is a
      	regression I caused with my collapsing margin checkin).
      
              * WebCore.pbproj/project.pbxproj:
              * khtml/css/html4.css:
              * khtml/html/dtd.cpp:
              (DOM::checkChild):
              * khtml/html/html_baseimpl.cpp:
              (HTMLBodyElementImpl::attach):
              (HTMLFrameElementImpl::attach):
              (HTMLFrameSetElementImpl::attach):
              (HTMLHtmlElementImpl::attach):
              (HTMLIFrameElementImpl::attach):
              * khtml/html/html_formimpl.cpp:
              (HTMLFormElementImpl::HTMLFormElementImpl):
              (HTMLInputElementImpl::attach):
              (HTMLSelectElementImpl::attach):
              (HTMLTextAreaElementImpl::attach):
              * khtml/html/html_formimpl.h:
              * khtml/html/html_imageimpl.cpp:
              (HTMLImageElementImpl::attach):
              * khtml/html/html_inlineimpl.cpp:
              (HTMLBRElementImpl::attach):
              * khtml/html/html_objectimpl.cpp:
              (HTMLAppletElementImpl::attach):
              (HTMLEmbedElementImpl::attach):
              (HTMLObjectElementImpl::attach):
              * khtml/html/htmlparser.cpp:
              (KHTMLParser::reset):
              (KHTMLParser::parseToken):
              (KHTMLParser::insertNode):
              (KHTMLParser::popBlock):
              (KHTMLParser::popOneBlock):
              * khtml/html/htmlparser.h:
              * khtml/html/htmltokenizer.cpp:
              (HTMLTokenizer::addPending):
              (HTMLTokenizer::write):
              * khtml/misc/arena.cpp: Added.
              (CeilingLog2):
              (InitArenaPool):
              (ArenaAllocate):
              (ArenaGrow):
              (FreeArenaList):
              (ArenaRelease):
              (FreeArenaPool):
              (FinishArenaPool):
              (ArenaFinish):
              * khtml/misc/arena.h: Added.
              * khtml/rendering/bidi.cpp:
              (BidiIterator::detach):
              (throw):
              (BidiIterator::operator delete):
              (appendRunsForObject):
              (appendRun):
              (RenderFlow::bidiReorderLine):
              (deleteMidpoints):
              (RenderFlow::layoutInlineChildren):
              (RenderFlow::findNextLineBreak):
              * khtml/rendering/bidi.h:
              * khtml/rendering/render_arena.cpp: Added.
              (RenderArena::RenderArena):
              (RenderArena::~RenderArena):
              (RenderArena::allocate):
              (RenderArena::free):
              * khtml/rendering/render_arena.h: Added.
              * khtml/rendering/render_box.cpp:
              (RenderBox::setStyle):
              (RenderBox::~RenderBox):
              (RenderBox::detach):
              * khtml/rendering/render_box.h:
              * khtml/rendering/render_br.cpp:
              (RenderBR::RenderBR):
              * khtml/rendering/render_container.cpp:
              (RenderContainer::~RenderContainer):
              (RenderContainer::detach):
              * khtml/rendering/render_container.h:
              * khtml/rendering/render_flow.cpp:
              (RenderFlow::setStyle):
              (RenderFlow::layout):
              (RenderFlow::calcInlineMinMaxWidth):
              (RenderFlow::calcBlockMinMaxWidth):
              (RenderFlow::calcMinMaxWidth):
              (RenderFlow::addChild):
              (RenderFlow::makeChildrenNonInline):
              * khtml/rendering/render_flow.h:
              * khtml/rendering/render_html.cpp:
              (RenderHtml::RenderHtml):
              * khtml/rendering/render_layer.cpp:
              (RenderLayer::~RenderLayer):
              (throw):
              (RenderLayer::operator delete):
              (RenderLayer::detach):
              (RenderLayer::paint):
              (RenderLayer::nodeAtPoint):
              (RenderLayer::constructZTree):
              (RenderLayer::RenderLayerElement::operator delete):
              (RenderLayer::RenderLayerElement::detach):
              (RenderLayer::RenderZTreeNode::operator delete):
              (RenderLayer::RenderZTreeNode::detach):
              * khtml/rendering/render_layer.h:
              * khtml/rendering/render_list.cpp:
              (RenderListItem::setStyle):
              * khtml/rendering/render_object.cpp:
              (throw):
              (RenderObject::operator delete):
              (RenderObject::createObject):
              (RenderObject::renderArena):
              (RenderObject::detach):
              * khtml/rendering/render_object.h:
              * khtml/rendering/render_replaced.cpp:
              (RenderWidget::detach):
              * khtml/rendering/render_replaced.h:
              * khtml/rendering/render_root.cpp:
              (RenderRoot::RenderRoot):
              * khtml/rendering/render_table.cpp:
              (RenderTable::addChild):
              (RenderTable::calcWidth):
              (RenderTable::setCellWidths):
              (RenderTableSection::addChild):
              (RenderTableRow::addChild):
              * khtml/rendering/render_text.cpp:
              (TextSlave::detach):
              (throw):
              (TextSlave::operator delete):
              (TextSlaveArray::TextSlaveArray):
              (RenderText::RenderText):
              (RenderText::~RenderText):
              (RenderText::detach):
              (RenderText::deleteSlaves):
              (RenderText::trimmedMinMaxWidth):
              (RenderText::calcMinMaxWidth):
              (RenderText::position):
              * khtml/rendering/render_text.h:
              * khtml/xml/dom_docimpl.cpp:
              (DocumentImpl::DocumentImpl):
              (DocumentImpl::~DocumentImpl):
              (DocumentImpl::attach):
              (DocumentImpl::detach):
              * khtml/xml/dom_docimpl.h:
              * khtml/xml/dom_nodeimpl.cpp:
              (NodeImpl::detach):
              (NodeImpl::isReadOnly):
              (NodeImpl::previousRenderer):
              * khtml/xml/dom_nodeimpl.h:
              * khtml/xml/dom_stringimpl.cpp:
              * khtml/xml/dom_stringimpl.h:
              * khtml/xml/dom_textimpl.cpp:
              (CharacterDataImpl::containsOnlyWhitespace):
              (TextImpl::attach):
              * khtml/xml/dom_textimpl.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2635 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      33f8d493
    • darin's avatar
      - fixed 3094819 -- Crash in -[KWQObjectTimerTarget timerFired] · 57335807
      darin authored
              * kwq/KWQObject.mm: (QObject::~QObject): Call the _destroyed signal.
              (QObject::killTimers): Simplify the code a bit using makeObjectsPerformSelector:.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2633 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      57335807
    • darin's avatar
      - fixed 3079499 -- blank page at http://www.sonyericsson.com/T68i/ · 0fe57232
      darin authored
              * khtml/misc/loader.cpp:
              (CachedCSSStyleSheet::checkNotify): Copy the clients list before iterating
      	over it, since clients can move around in the list or be removed.
              (CachedScript::checkNotify): Ditto.
              (CachedImage::do_notify): Ditto.
              (CachedImage::movieStatus): Ditto.
      
      	- fixed double calls to openURL I noticed
      
              * khtml/khtml_part.cpp: (KHTMLPart::processObjectRequest):
      	Don't call openURL here at all. That happens indirectly as a result
      	of the load we kick off.
      
              * kwq/KWQKHTMLPart.mm: Tweaks.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2632 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0fe57232
    • darin's avatar
      WebCore: · c26ab578
      darin authored
      	- fixed 3083043 -- Alex doesn't decode % sequences in javascript: URLs
      
      	Some places here did KURL::decode_string, but others didn't.
      
              * khtml/khtml_part.cpp:
              (KHTMLPart::slotShowDocument): Added call to KURL::decode_string.
              (KHTMLPart::overURL): Ditto.
              (KHTMLPart::urlSelected): Ditto.
              (KHTMLPart::requestFrame): Ditto.
              (KHTMLPart::slotChildURLRequest): Ditto.
      
      WebKit:
      
      	- improved the code that manages observing the window and superview
      
              * WebView.subproj/WebHTMLView.m:
              (-[WebHTMLView addSuperviewObservers]): Added.
              (-[WebHTMLView removeSuperviewObservers]): Added.
              (-[WebHTMLView addWindowObservers]): Added.
              (-[WebHTMLView removeWindowObservers]): Added.
              (-[WebHTMLView viewWillMoveToSuperview:]): Call removeSuperviewObservers.
              (-[WebHTMLView viewDidMoveToSuperview]): Call addSuperviewObservers.
              (-[WebHTMLView viewWillMoveToWindow:]): Call removeWindowObservers and
      	removeSuperviewObservers.
              (-[WebHTMLView viewDidMoveToWindow]): Call addWindowObservers and
      	addSuperviewObservers.
      
      WebBrowser:
      
      	- fixed 3083043 -- Alex doesn't decode % sequences in javascript: URLs
      
              * BrowserWebBookmarkExtras.m: (-[WebBookmark _goToWithWindowPolicy:]):
      	Call CFURLCreateStringByReplacingPercentEscapes on the URL fragment before
      	passing it to stringByEvaluatingJavaScriptFromString:.
              * BrowserWindowController.m: (-[BrowserWindowController goToToolbarLocation:]):
      	Ditto.
      
      	- fixed world leaks seen when playing with the snippet window
      
              * Debug/SnippetController.m:
              (-[SnippetController dealloc]): Release the location change delegate to avoid a leak.
      	Also release the data source now that we retain it.
              (-[SnippetController windowWillClose:]): Release everything here. If we don't we get
      	a world leak. Also remove the WebView from the superview. If we don't, it leaks.
      	At some point we should look into this because it may indicate a WebKit problem, so
      	I marked it with a FIXME.
              (-[SnippetController load]): Retain the data source.
              (-[SnippetController loadComplete]): Release the old text storage.
      
              * Debug/SnippetController.h: Tweaks.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2631 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c26ab578
  5. 11 Nov, 2002 4 commits
    • darin's avatar
      WebFoundation: · 6172da0a
      darin authored
              * English.lproj/StringsNotToBeLocalized.txt: Update.
      
      WebCore:
      
              * kwq/KWQWidget.mm: (QWidget::setCursor): Remove printf I left
      	in by accident.
      
      WebKit:
      
              * Plugins.subproj/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage load]):
              Use fileSystemRepresentationWithPath, not cString, to turn a path into something
              to pass to FSPathMakeRef.
      
              * English.lproj/StringsNotToBeLocalized.txt: Update.
      
      WebBrowser:
      
              * BrowserNSStringExtras.m: (-[NSString compareVersionString:]):
      	Use lossyCString so we don't get an exception if a string is bad.
      
              * English.lproj/StringsNotToBeLocalized.txt: Update.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2629 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6172da0a
    • darin's avatar
      WebCore: · 3d0b472f
      darin authored
      	- tighten up cursor handling a bit more
      
              * kwq/KWQWidget.mm:
              (QWidget::setCursor): Use setDocumentCursor: instead of our own protocol.
              (QWidget::cursor): Use documentCursor instead of storing our own cursor.
      
              * kwq/WebCoreFrameView.h: Remove setCursor: method.
      
      WebKit:
      
      	- tighten up cursor handling a bit more
      
              * WebView.subproj/WebDynamicScrollBarsView.m:
              * WebView.subproj/WebHTMLView.m:
              (-[WebHTMLView addMouseMovedObserver]): Call _frameOrBoundsChanged
      	so we emit a mouse moved event right away.
              (-[WebHTMLView viewWillMoveToSuperview:]): Remove the colon since I
      	removed the parameter from _frameOrBoundsChanged.
      
              * WebView.subproj/WebHTMLViewPrivate.h: Declare _frameOrBoundsChanged.
              * WebView.subproj/WebHTMLViewPrivate.m:
              (-[WebHTMLView _frameOrBoundsChanged]): Remove parameter.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2628 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3d0b472f
    • darin's avatar
      - fixed 3084704 -- crash in HTMLTokenizer on page with JavaScript · 43befc74
      darin authored
      	HTMLDocument::Close inside a <script>
      
      	I think it's going to work this time. The key was to hook up the
      	KHTML submitFormAgain machinery.
      
              * khtml/khtml_part.cpp: (KHTMLPart::submitForm): Take out the APPLE_CHANGES
      	ifdef that was disabling the submitFormAgain logic.
              * kwq/KWQKHTMLPart.h: Remove submitForm(), because openURLRequest() handles it fine.
              * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::openURLRequest): Move the logic for handling
      	POST here from submitForm() and remove submitForm().
      
              * kwq/KWQSlot.mm:
              (KWQSlot::KWQSlot): Add support for the submitFormAgain slot.
              (KWQSlot::call): Ditto.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2627 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      43befc74
    • darin's avatar
      - fixed 3092421 -- javascript: URL that opens window crashes Alex if typed into empty window · 0e8c0cec
      darin authored
              * kwq/KWQKHTMLPart.h:
              * kwq/KWQKHTMLPart.mm:
              (KWQKHTMLPart::KWQKHTMLPart): Set _ownsView to false.
              (KWQKHTMLPart::~KWQKHTMLPart): Delete the view if we own it. Also release
      	_currentEvent to fix a leak.
              (KWQKHTMLPart::setView): Delete the old view if we own it. Also, set the
      	_ownsView flag.
              (KWQKHTMLPart::createDummyDocument): Create a dummy view too.
      
              * kwq/KWQDummyView.h: Added.
              * kwq/KWQDummyView.m: Added.
              * WebCore.pbproj/project.pbxproj: Added KWQDummyView.
      
              * kwq/WebCoreBridge.h: Remove bridgeOwnsKHTMLView and currentEvent.
              * kwq/WebCoreBridge.mm:
              (-[WebCoreBridge createKHTMLViewWithNSView:marginWidth:marginHeight:]):
      	Pass true to setView instead of setting bridgeOwnsKHTMLView.
              (-[WebCoreBridge removeFromFrame]): Just call setView on the part. It
      	knows how to handle ownership now.
              (-[WebCoreBridge installInFrame:]): Call setOwnsView instead of setting
      	bridgeOwnsKHTMLView.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2625 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0e8c0cec