1. 16 Dec, 2002 7 commits
    • hyatt's avatar
      Fix for 3128728. Ensure that list markers get placed into an · 019f2358
      hyatt authored
      	existing line box if possible.  This patch also fixes RTL bullets
      	and line height calculations involving image bullets that are the
      	biggest thing on the line.  List markers also correctly move
      	to avoid floats.
      
              Reviewed by mjs
      
              * khtml/rendering/render_list.cpp:
              (RenderListItem::setStyle):
              (getLineBoxParent):
              (RenderListItem::layout):
              (RenderListMarker::calcMinMaxWidth):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3082 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      019f2358
    • mjs's avatar
      Reviewed by no one but it's just a version bump. · 23ba4fe3
      mjs authored
              * WebKit.pbproj/project.pbxproj: Bump version to 37u3
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3080 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      23ba4fe3
    • darin's avatar
      Reviewed by Maciej. · 71025ac3
      darin authored
      	- fixed 3128858 -- Supply Finder bits for decoded BinHex files
      
              * Downloads.subproj/WebBinHexDecoder.h: Add a _finderFlags field.
              * Downloads.subproj/WebBinHexDecoder.m:
              (-[WebBinHexDecoder decodeHeader]): Decode Finder flags.
              (-[WebBinHexDecoder fileAttributes]): Put Finder flags in dictionary.
      
              * Downloads.subproj/WebMacBinaryDecoder.m: Tweaked things for no good reason.
      	(It is good to always import your own header first as a check that it's self-sufficient).
      
              * WebKit.pbproj/project.pbxproj: Let Electron wipe the slate clean of pre-Electron iniquity.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3079 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      71025ac3
    • darin's avatar
      Reviewed by Maciej. · a93db722
      darin authored
      	- fixed 3128766 -- macconnection.com tries to add properties to the navigator DOM object, which fails
      
              * khtml/ecma/kjs_window.cpp: (Window::get): Set up properties named navigator and clientInformation
      	the first time either is queried. These will hold a persistent shared object rather than making one
      	every time it's asked for.
      
              * WebCore.pbproj/project.pbxproj: Let Electron undo Maciej's evil.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3078 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a93db722
    • cblu's avatar
      WebFoundation: · 6c27fc02
      cblu authored
      	Fixed: 3094928 - Apply Finder bits to decoded downloads
      
              Reviewed by darin.
      
              * Misc.subproj/WebNSFileManagerExtras.h:
              * Misc.subproj/WebNSFileManagerExtras.m:
              (-[NSFileManager _web_createFileAtPath:contents:attributes:]): new, creates file and sets Finder bits.
      
      WebKit:
      
      	Fixed: 3094928 - Apply Finder bits to decoded downloads
      
              Reviewed by darin.
      
              * Downloads.subproj/WebDownloadHandler.m:
              (-[WebDownloadHandler createFileIfNecessary]): call _web_createFileAtPath:contents:attributes: so we set Finder bits
              * Downloads.subproj/WebMacBinaryDecoder.h:
              * Downloads.subproj/WebMacBinaryDecoder.m:
              (-[WebMacBinaryDecoder decodeData:dataForkData:resourceForkData:]): save Finder bits
              (-[WebMacBinaryDecoder fileAttributes]): return Finder bits
      
      WebBrowser:
      
      	Fixed: 3094928 - Apply Finder bits to decoded downloads
      
              Reviewed by darin.
      
              * DownloadRow.m:
              (-[DownloadRow _updateIconAndFilename]): no changes, moved up
              (-[DownloadRow _stopProgressAnimation]): call _updateIconAndFilename so we pick up icon changes. The Finder will update the icon after we close the file if it has the custom icon bit.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3077 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6c27fc02
    • mjs's avatar
      Reviewed by Darin. · 05ae4f1e
      mjs authored
              * JavaScriptCore.pbproj/project.pbxproj: Bump version to 37u2.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3075 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      05ae4f1e
    • mjs's avatar
      Reviewed by Darin. · a5f6b713
      mjs authored
      	- fixed likely B&I build problem.
      
              * WebKit.pbproj/project.pbxproj: Get at other frameworks in B&I
      	build. Bump version to 37u2.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3074 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a5f6b713
  2. 15 Dec, 2002 19 commits
    • darin's avatar
      Reviewed by Dave. · cda39631
      darin authored
      	- implemented user-agent spoofing as described in bug 3044569
      
              * WebView.subproj/WebController.m: (-[WebController userAgentForURL:]):
      	Find the suffix of the host name that contains exactly one dot, lower-case it,
      	and look it up in the user-agent spoof table. For now, anything in the table
      	pretends to be MacIE. Don't fret that this table is simple. We will complicate it
      	as needed. The technique is flexible, even though it may not look it now.
      
              * WebView.subproj/WebControllerPrivate.h: Add userAgentWhenPretendingToBeMacIE field.
              * WebView.subproj/WebControllerPrivate.m:
              (-[WebControllerPrivate dealloc]): Release userAgentWhenPretendingToBeMacIE.
              (-[WebController _defaultsDidChange]): Release and nil userAgentWhenPretendingToBeMacIE.
      
              * Makefile.am: Added rules to build WebUserAgentSpoofTable.c using gperf.
              * WebView.subproj/WebUserAgentSpoofTable.c: Added. Generated file.
              * WebView.subproj/WebUserAgentSpoofTable.gperf: Added. Table
      
              * English.lproj/StringsNotToBeLocalized.txt: Update for above changes.
      
      	- fixed a crash I saw in a simplistic way
      
              * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView _elementAtPoint:]):
      	Don't assert if the webFrame is nil, just return a partial dictionary.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3073 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cda39631
    • mjs's avatar
      Tools: · fcbad401
      mjs authored
              Reviewed by Darin.
      
              * Scripts/set-module-version: Accept `u' in source version.
      
      WebCore:
      
              Reviewed by Darin.
      
              * WebCore.pbproj/project.pbxproj: Updated source version to 37u2.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3072 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fcbad401
    • darin's avatar
      Reviewed by Trey. · 2e80479f
      darin authored
      	- fixed regression where clicked-on buttons were getting keyboard focus
      
              * kwq/KWQKHTMLPart.mm:
      	(KWQKHTMLPart::khtmlMousePressEvent): Check clickCount here the way NSWindow does.
      	See below for rationale.
      	(KWQKHTMLPart::passWidgetMouseDownEventToWidget): I didn't read the code in
      	[NSWindow sendEvent:] that I was stealing carefully enough. The old needsPanelToBecomeKey
      	flag is used to decide whether something should really get first responder, and I need to
      	do check that too. And while I was in here, did the same clickCount check that NSWindow
      	does for good measure.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3071 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2e80479f
    • mjs's avatar
      Reviewed by Darin. · 4d93d495
      mjs authored
      	- fixed 3128383 - DOM nodes should always use the same JS object
      
              * khtml/ecma/kjs_binding.h:
              * khtml/ecma/kjs_binding.cpp:
              (ScriptInterpreter::ScriptInterpreter): Set auto-delete to true on
      	document dictionary.
              (ScriptInterpreter::getDOMObjectForDocument): New function - gets
      	DOM object from per-document dictionary.
              (ScriptInterpreter::putDOMObjectForDocument): New function - put
      	DOM object into per-document dictionary.
              (ScriptInterpreter::deleteDOMObjectsForDocument): Clear all
      	objects from specific per-document dictionary.
              (ScriptInterpreter::mark): Mark per-document objects.
      	(ScriptInterpreter::forgetDOMObjectsForDocument): Clear objects
      	for this document from all interpreters.
              * khtml/ecma/kjs_dom.h:
              * khtml/ecma/kjs_dom.cpp:
              (KJS::getDOMNode): Use per-document rather than general DOM object
      	dictionary.
              * khtml/xml/dom_docimpl.cpp:
              (DocumentImpl::~DocumentImpl): Call forgetDOMObjectsForDocument.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3070 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4d93d495
    • hyatt's avatar
      Fix for 3057974 and 3128713. I needed to make frames check to · 1a418d9c
      hyatt authored
      	see if their parentNode had a renderer to complete the FOUC
      	fix.  Completing the FOUC fix finally solves 3057974.
      
              Reviewed by darin
      
              * khtml/html/html_baseimpl.cpp:
              (HTMLFrameElementImpl::attach):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3069 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1a418d9c
    • hyatt's avatar
      Fix for 3109226, epinions page is mostly blank. Add a hack · baa79d0b
      hyatt authored
      	to disallow > but only inside attribute values for which there
      	is no corresponding attribute name.
      
      	Also fix attribute values with no name so that the value is
      	used as the name so that e.g., <option "selected"> works.
      
              Reviewed by darin
      
              * khtml/html/htmltokenizer.cpp:
              (HTMLTokenizer::HTMLTokenizer):
              * khtml/html/htmltokenizer.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3068 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      baa79d0b
    • darin's avatar
      Reviewed by Trey. · a3f4f106
      darin authored
      	- fixed 3128260 -- REGRESSION: context menus in frames are always the generic page menu
      
              * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView hitTest:]):
      	Check the control key in the mouse down event. If it's down, then do no magic.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3067 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a3f4f106
    • darin's avatar
      Reviewed by Dave. · b50226ef
      darin authored
      	- fixed 3127900 -- REGRESSION: text fields select all their text when clicked on with the mouse
      
              * kwq/KWQKHTMLPart.h: Add _firstResponderAtMouseDownTime.
              * kwq/KWQKHTMLPart.mm:
              (KWQKHTMLPart::khtmlMousePressEvent): Don't call makeFirstResponder: if it's already set.
              (KWQKHTMLPart::passWidgetMouseDownEventToWidget): Using _firstResponderAtMouseDownTime, catch the
      	case where an NSTextField's editor was just created and became first responder. In those cases,
      	pass the mouseDown: to the text field, not the newly created editor. Even though it shouldn't make
      	a difference it does. Also don't makeFirstResponder: if it's already set.
              (KWQKHTMLPart::mouseDown): Set _firstResponderAtMouseDownTime.
      
              * kwq/KWQWidget.mm: (QWidget::setFocus): Don't call makeFirstResponder: if it's already set.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3066 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b50226ef
    • darin's avatar
      Reviewed by Dave. · 4dc4e198
      darin authored
      	- fixed 3128651 -- REGRESSION: Mouse wheeling is busted on frames pages
      
              * WebView.subproj/WebHTMLViewPrivate.m: (-[WebHTMLView hitTest:]):
      	Only do the hitTest magic for left mouse downs; the rest of the clicks end up going
      	to the correct view anyway, without our help. This makes this stop making trouble for
      	the scroll wheel events.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3065 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4dc4e198
    • hyatt's avatar
      Make sure framesets don't get built twice when FOUC delays · fcdd4691
      hyatt authored
      	their loading.
      
              Reviewed by gramps
      
              * khtml/css/cssstyleselector.cpp:
              * khtml/css/cssstyleselector.h:
              * khtml/html/html_baseimpl.cpp:
              (HTMLFrameSetElementImpl::attach):
              * khtml/rendering/render_style.cpp:
              (RenderStyle::operator==):
              (RenderStyle::isStyleAvailable):
              * khtml/rendering/render_style.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3064 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fcdd4691
    • darin's avatar
      Reviewed by Dave. · 3aaa7d9f
      darin authored
      	- fixed ==/= typo in QFontMetrics that caused a part of my recent speedup to not take effect
      	- fixed 3128582 -- REGRESSION: Crash on planetquake.com
      
              * kwq/KWQFontMetrics.mm:
      	(QFontMetricsPrivate::setFont): Fix a horrifying "== instead of =" mistake.
              (QFontMetrics::ascent): Give an ERROR message, don't crash, when this is called on a
      	font metrics object that hasn't been updated to work for a particular font.
              (QFontMetrics::descent): Ditto.
              (QFontMetrics::lineSpacing): Ditto.
              (QFontMetrics::xHeight): Ditto.
              (QFontMetrics::width): Ditto.
              (QFontMetrics::floatWidth): Ditto.
              (QFontMetrics::floatCharacterWidths): Ditto.
      
              * khtml/html/html_inlineimpl.cpp: (HTMLBRElementImpl::attach):
      	Eliminated what was causing us to hit the above. BR elements need to respect display() == NONE.
      
      	- fixed the fix for operator==; needs to work even if the pseudo type was
      	  extracted already for one of the two, and not the other
      
              * khtml/css/cssparser.cpp:
              (CSSSelector::extractPseudoType): Only do work when the selector is Pseudo.
              (CSSSelector::operator==): Call pseudoType() instead of going right at _pseudoType.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3063 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3aaa7d9f
    • hyatt's avatar
      Fix for 3128402, missing content on voodooextreme. Don't allow · 5767599b
      hyatt authored
      	object/embed inside the head.
      
              Reviewed by cblu
      
              * khtml/html/dtd.cpp:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3062 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5767599b
    • darin's avatar
      Reviewed by Ken. · c6715640
      darin authored
      	- fixed 3127898 -- Crash going to altavista.com after visiting sony.com
      
              * khtml/ecma/kjs_window.cpp: (Window::get): Change lots of properties to return "undefined"
      	rather than crashing when the view is NULL. I'm not sure that undefined is the perfect thing
      	to return in this case, but it's better than crashing the program. We can refine later as needed.
      
      	- fixed 3127157 -- REGRESSION: applet does not become first responder when clicked-on
      	- fixed 3127934 -- Crash in KWQKHTMLPart::widgetWillReleaseView scrolling around
      
              * kwq/KWQKHTMLPart.h: Get rid of widgetWillReleaseView(). Add mouseDownViewIfStillGood().
              * kwq/KWQKHTMLPart.mm:
              (KWQKHTMLPart::passWidgetMouseDownEventToWidget): Call makeFirstResponder: in the same way that
      	the NSWindow does before delivering a mouseDown: message. This oversight caused the applet problem.
              (findViewInSubviews): Added.
              (KWQKHTMLPart::mouseDownViewIfStillGood): Added. Gets _mouseDownView, but then checks that it's
      	still a subview before returning it. A little inefficient, but the only way to do it given that
      	there's no general way to find out that an NSView is being removed from your view hierarchy or deallocated.
      	This fixes the crash in widgetWillReleaseView.
              (KWQKHTMLPart::khtmlMouseMoveEvent): Use mouseDownViewIfStillGood() instead of _mouseDownView directly.
              (KWQKHTMLPart::khtmlMouseReleaseEvent): Ditto.
              (KWQKHTMLPart::passSubframeEventToSubframe): Ditto.
              * kwq/KWQWidget.mm:
              (QWidget::~QWidget): Remove call to widgetWillReleaseView().
              (QWidget::setView): Ditto.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3061 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c6715640
    • hyatt's avatar
      operator== on CSSSelectors needed to be updated to compare · 76287b3e
      hyatt authored
      	_pseudoTypes.  A nice subtle bug from the mega-patch.
      
              Reviewed by mjs
      
              * khtml/css/cssparser.cpp:
              (CSSSelector::operator == ):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3060 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      76287b3e
    • hyatt's avatar
      Fix for 3128429, sans-serif font got broken. Just a typo · e2fbbd40
      hyatt authored
      	from darin's mega-patch.
      
              Reviewed by mjs
      
              * khtml/css/cssstyleselector.cpp:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3059 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e2fbbd40
    • darin's avatar
      JavaScriptCore: · 107c53d2
      darin authored
              Reviewed by Maciej.
      
              * JavaScriptCore.pbproj/project.pbxproj: Make dtoa.h visible as an SPI so I can
      	use it inside QString.
      
      WebFoundation:
      
              Reviewed by Maciej.
      
              * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
      
      WebCore:
      
              Reviewed by Maciej and Dave.
      
      	- optimizations that improve speed; total is 13.8% on cached cvs-base on my machine
      
              * khtml/css/css_valueimpl.h: Add isKonqBody() and genericFamilyType() to find out if
      	a font is a standard one. This is much faster than doing string comparisons all the time.
              * khtml/css/css_valueimpl.cpp: (FontFamilyValueImpl::FontFamilyValueImpl):
      	Check the font names against the standard ones on time when the FontFamilyValueImpl
      	object is constructed rather than every time the stuff is matched.
              * khtml/css/cssparser.h: Add pseudoType() and extractPseudoType() to CSSSelector so we
      	don't have to do string compares all the time.
              * khtml/css/cssparser.cpp:
              (StyleBaseImpl::parseValue): Use QConstString in a way that's effective (with an
      	object that has a long enough lifetime), or don't use it at all.
              (StyleBaseImpl::parseContent): Ditto.
              (StyleBaseImpl::preprocess): Preprocess into a buffer, usually on the stack, rather than
      	using QString += QChar over and over again.
              (CSSSelector::extractPseudoType): Convert the value string into a type, and get rid of it.
      	Saves memory because the string goes away. And doing it once is much faster than string
      	comparing each time.
              * khtml/css/cssstyleselector.cpp:
      	(cleanPath): Restructure to save one find() in the common case.
      	(checkPseudoState): Restructure to avoid some DOMString creation/destruction in the case
      	where the tag is not an <A>. Also use QConstString correctly.
      	(CSSStyleSelector::checkOneSelector): Use the new pseudoType() instead of string compares.
      	(CSSStyleSelector::applyRule): Use isKonqBody() and genericFamilyType() instead of string
      	comparisons.
      
              * khtml/dom/dom_string.h: Make the destructor non-virtual. This was a big win, and a mistake
      	the way it was before. Also make the DOMString constructor with no parameters inline.
              * khtml/dom/dom_string.cpp:
              (DOMString::string): Don't use QConstString here, since it does no good.
              (DOM::operator==): Rewrite to do things faster and avoid calling strlen.
      
              * khtml/html/html_objectimpl.h: Don't use QConstString in places where it does harm and no good.
              * khtml/html/html_objectimpl.cpp: (HTMLEmbedElementImpl::parseAttribute): Use QConstString properly.
      
              * khtml/html/htmltokenizer.cpp:
              (tagMatch): Added.
              (HTMLTokenizer::parseSpecial): Change tokenizing so it doesn't construct temporary strings (with
      	QConstString) just to compare small substrings.
      
              * khtml/khtml_part.cpp: (KHTMLPart::write): Don't use a decoder object when source is all ASCII.
      
              * kwq/KWQColor.mm:
              (hex2int): Don't bother with uppercase hex since we always lowercase anyway.
              (QColor::setNamedColor): Use a new gperf-based table instead of an NSDictionary to look up colors.
              * kwq/KWQColorData.c: Added this autogenerated file.
              * kwq/KWQColorData.gperf: Added. Source file with list of colors and color values.
              * kwq/Makefile.am: Build KWQColorData.c from KWQColorData.gperf.
              * WebCore.pbproj/project.pbxproj: Added KWQColorData.gperf.
      
              * khtml/misc/helper.cpp: (khtml::setNamedColor): Don't call setNamedColor again with the lowercased
      	color name, since our QColor::setNamedColor already has to lowercase the name (because it has to check
      	all names before checking any hex values).
      
              * khtml/rendering/font.h: Don't initialize the QFontMetrics since in every case we end up changing
      	the font later anyway. Also remove unused field.
              * khtml/rendering/font.cpp: (Font::update): Use the new QFontMetrics::setFont for speed.
      
              * khtml/rendering/render_object.cpp: (RenderObject::enclosingLayer): Change it so it doesn't get
      	the layer twice. This function showed up on the sample so we know it's hot.
      
              * khtml/xml/dom_stringimpl.cpp: (DOMStringImpl::containsOnlyWhitespace): Did a faster implementation
      	that doesn't call QChar::direction() except for non-ASCII characters.
      
              * kwq/KWQFontMetrics.h: Add empty constructor for use in font.cpp. Add accessor and setter for the
      	font too. Made baselineOffset() inline since it's trivial.
              * kwq/KWQFontMetrics.mm:
      	(QFontMetricsPrivate::QFontMetricsPrivate): Don't make the renderer until we use it.
      	(QFontMetricsPrivate::getRenderer): Make it here.
      	(QFontMetricsPrivate::font): Added.
      	(QFontMetricsPrivate::setFont): Added. Dumps the renderer if the font is different.
              (QFontMetrics::QFontMetrics): Added empty constructor.
              (QFontMetrics::setFont): Added.
      
              * kwq/KWQKURL.mm: (KURL::parse): Avoid function call overhead calling strncasecmp and strncmp.
      	Also made the check for localhost case insensitive.
      
              * kwq/KWQString.h: Remove _isUnicodeInternal and _isAsciiInternal, since they are trivially
      	computed, and it saves time to not have that extra field to manipulate. Removed private
      	data() function since it's the same as *dataHandle and not really more clear. Made ascii()
      	and unicode() simpler and inline. Also made latin1() and getCFString() inline. Renamed
      	QStringData to KWQStringData.
              * kwq/KWQString.mm:
              (QStringData::QStringData): Remove initializers for the xxxInternal.
              (QStringData::initialize): Removed some unnecessary if statements, and made a slight improvement
      	in the case of a 0-length string that comes with a pointer for Unicode (can't do it in the
              char * case because it's a feature that's used).
              (QString::makeSharedNull): No need to set _isUnicodeInternal.
              (QStringData::~QStringData): Use the new functions instead of the old bits.
              (QStringData::increaseAsciiSize): Grow faster when we get to larger sizes where the "good size"
      	call doesn't have as much of an effect. Simplified by removing unneeded code.
              (QStringData::increaseUnicodeSize): Ditto.
              (QStringData::makeAscii): Update for removal of _isAsciiInternal.
              (QStringData::makeUnicode): Update for removal of _isUnicodeInternal.
              (QString::detachIfInternal): Add this new inline to speed things up for the common case where
      	there's no detaching needed.
              (QString::at): Simplify, there were excess if branches here.
              (QString::toDouble): Use kjs_strtod and don't copy the string using QCString for additional speed.
              (QString::lower): Don't detach if the string is already all lowercase. Added a FIXME about the
      	code that assumes all "ASCII" bytes are truly ASCII. This code blurs the distinction between Latin-1
      	and ASCII in a way that will not work right for Latin-1 characters in an 8-byte character QString.
              (QString::detachInternal): Update for removal of _isUnicodeInternal.
              (QString::detach): Removed a special case for shared_null that was dead code since shared_null has
      	the _isUnicodeValid flag set.
              (operator==): Rewrote the comparison with char * to avoid the costly call to strlen.
      
              * Makefile.am: Updated the rules here so the force clean timestamp works right.
              * force-clean-timestamp: Touched this since the header dependencies don't seem right
      	for the DOMString constructor change, at least.
      	* WebCore-tests.exp: Exported a symbol now needed by tests since QString does more inlining.
      	* WebCore-combined.exp: Re-generated.
      
      WebBrowser:
      
              Reviewed by Maciej.
      
              * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3058 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      107c53d2
    • mjs's avatar
      Reviewed by Darin. · 5e9ad452
      mjs authored
      	- slightly improved situation with 3124933 (abcnews.com leads to
      	empty window with sheet complaining about javascript: URL); the
      	popup window still comes up empty but it doesn't put up a sheet.
      
              * kwq/KWQKHTMLPartBrowserExtension.mm:
              (KHTMLPartBrowserExtension::openURLRequest): Handled "javascript:"
      	URLs here.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3057 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5e9ad452
    • gramps's avatar
      Reviewed by darin · 041757b8
      gramps authored
      * Debug/DebugUtilities.m:
      (-[DebugUtilities userAgentSubmenuItem]):
      
      Changed "PPC" in one user agent string to "PPC Mac OS X" used for
      debugging.
      
      Fixed 3127173 -- REGRESSION: fboweb.com renders incorrectly
      
      Reviewed by darin
      
      * English.lproj/StringsNotToBeLocalized.txt:
      * WebView.subproj/WebController.m:
      (-[WebController userAgentForURL:]):
      
      Changed "PPC" in our user agent string to "PPC Mac OS X" in order to
      match Mozilla and make the silly server-side user agent string checking
      work at fboweb.com.  Actually, just "PPC " would work fine at
      fboweb.com.  Go figure.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3056 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      041757b8
    • hyatt's avatar
      Fix insidemacgames.com. Reinstate rules I removed · 47882f3a
      hyatt authored
      	and fix other rules to be !important so that the
      	td[align=right] rules won't affect child tables
      	with align=center.
      
              Reviewed by gramps
      
              * khtml/css/html4.css:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3055 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      47882f3a
  3. 14 Dec, 2002 4 commits
    • hyatt's avatar
      Fix for 3016385, menus on webreference.com don't show up. · 953820ad
      hyatt authored
      	Fixes to make webreference.com menus show up.  This involved
      	fixing layers to not clip positioned objects when overflow:hidden
      	is set, fixing the stupid clip/sync layout hack for livepage
      	so that it doesn't break webreference, and implementing
      	navigator.productSub (right now the date is set to
      	Christmas 2002).
      
              Reviewed by gramps/maciej.
      
              * khtml/ecma/kjs_navigator.cpp:
              (Navigator::getValueProperty):
              * khtml/ecma/kjs_navigator.h:
              * khtml/ecma/kjs_navigator.lut.h:
              * khtml/rendering/render_box.cpp:
              (RenderBox::getOverflowClipRect):
              * khtml/rendering/render_box.h:
              * khtml/rendering/render_flow.cpp:
              (RenderFlow::layout):
              * khtml/rendering/render_layer.cpp:
              (RenderLayer::paint):
              (RenderLayer::nodeAtPoint):
              (RenderLayer::constructZTree):
              * khtml/rendering/render_layer.h:
              * khtml/rendering/render_object.cpp:
              (RenderObject::setLayouted):
              * khtml/rendering/render_object.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3054 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      953820ad
    • mjs's avatar
      Reviewed by Ken. · f273a9fd
      mjs authored
      	- further corrections to number printing.
      
              * kjs/ustring.cpp:
              (UString::from): Make number printing match the ECMA standard
      	algorithm.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3053 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f273a9fd
    • kocienda's avatar
      Reviewed by Maciej · 1b19b279
      kocienda authored
      	Fix for this bug:
      
      	Radar 3128159 (Netscape non-standard DOM event attribute "which" unsupported)
      
              * khtml/dom/dom2_events.cpp:
              (UIEvent::which): Added which() definition.
              * khtml/dom/dom2_events.h: Added declarations for which() functions in UIEvent.
              * khtml/ecma/kjs_events.cpp:
              (DOMUIEvent::getValueProperty): Added which property.
              * khtml/ecma/kjs_events.h: Ditto.
              * khtml/ecma/kjs_events.lut.h: File regenerated.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3052 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1b19b279
    • mjs's avatar
      Reviewed by Dave. · 957a1b3b
      mjs authored
      	- fix toString() conversion for numbers less than 1. Negative
      	exponents are still wrong though (things like 1E-34).
      
              * kjs/ustring.cpp:
      	(UString::from): Don't print empty string for numbers less than 1,
      	and remember to add extra 0s after the decimal for negative
      	decimal positions.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3051 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      957a1b3b
  4. 13 Dec, 2002 10 commits
    • rjw's avatar
      Fixed 3127310 and 3127920. · 3f425be4
      rjw authored
              Implemented findWordBoundary.  We now correctly detect word boundaries.
              This function makes use of carbon unicode utilities.
      
              With help from hyatt, made selection correctly account for render
              continuations.  This fixes many of the 'unable to select' issues.
      
              Reviewed by trey and hyatt.
      
              * khtml/khtml_events.cpp:
              (khtml::MouseEvent::offset):
              * khtml/khtml_part.cpp:
              (findWordBoundary):
              (KHTMLPart::khtmlMousePressEvent):
              (KHTMLPart::khtmlMouseMoveEvent):
              * khtml/rendering/render_object.cpp:
              (RenderObject::checkSelectionPoint):
              * khtml/rendering/render_object.h:
              * khtml/rendering/render_text.cpp:
              (RenderText::checkSelectionPoint):
              * khtml/rendering/render_text.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3050 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3f425be4
    • mjs's avatar
      Reviewed by Don. · 3054327e
      mjs authored
      	- fixed build.
      
              * ForwardingHeaders/rendering/render_layer.h: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3049 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3054327e
    • mjs's avatar
      Reviewed by Don. · 1fbd4d9f
      mjs authored
              * khtml/dom/dom2_events.cpp:
              (UIEvent::layerX): Added to support nonstandard Mozilla
      	event.layerX property.
      	(UIEvent::layerY): Added to support nonstandard Mozilla
      	event.layerY property.
              * khtml/dom/dom2_events.h:
              * khtml/ecma/kjs_events.cpp:
              (DOMUIEvent::getValueProperty): Implemented layerX and layerY
              * khtml/ecma/kjs_events.h:
              * khtml/ecma/kjs_events.lut.h:
              * khtml/xml/dom2_eventsimpl.cpp:
              (MouseEventImpl::MouseEventImpl): Added call to computeLayerPos.
              (MouseEventImpl::computeLayerPos): Compute layer position.
              (MouseEventImpl::layerX): Added.
              (MouseEventImpl::layerY): Added.
              (MouseEventImpl::initMouseEvent): Added call to computeLayerPos.
              * khtml/xml/dom2_eventsimpl.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3048 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1fbd4d9f
    • hyatt's avatar
      Fix for 314799, image at wired.com doesn't show up. Block · e2cdae93
      hyatt authored
      	level replaced floating elements were being treated as though
      	they didn't float.
      
              Reviewed by gramps
      
              * khtml/rendering/render_flow.cpp:
              (RenderFlow::layoutBlockChildren):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3047 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e2cdae93
    • darin's avatar
      Reviewed by Don. · f491b7c3
      darin authored
              * WebView.subproj/WebController.m: (-[WebController userAgentForURL:]):
      	Add "(like Gecko)" string and change "WebKit" to "AppleWebKit".
      
              * English.lproj/StringsNotToBeLocalized.txt: Update for these changes.
              * Misc.subproj/WebUnicode.h: No need for & 0xFF since we cast to unsigned char.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3046 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f491b7c3
    • hyatt's avatar
      Fix for 3098045. · 4bbddd4f
      hyatt authored
      	Do not treat XHTML-style tags e.g., <br/> or <table/> as
      	self-closing.  This is absolutely wrong, and it does not
      	match the behavior of other browsers.  According to the HTML4
      	spec for parsing, / is an erroneous character and should simply
      	be dropped, so <table/> should be treated like <table>.
      
      	Fixes for crashes on glazman's blog and on tantek's blog.  Both
      	still mis-render, but at least they don't crash.
      
              Reviewed by gramps (and darin too)
      
              * khtml/html/htmltokenizer.cpp:
      	* khtml/rendering/render_container.cpp:
      	* khtml/rendering/render_style.cpp:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3045 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4bbddd4f
    • sullivan's avatar
      WebKit: · ec317767
      sullivan authored
      	- WebKit part of fix for 3028061 -- visiting a bookmarked site
      	that now has a site icon will not update bookmark's icon
      
      	No longer store the icon in the WebHistoryItem, since there's no
      	mechanism for keeping it fresh and telling interested clients
      	when it changes. Instead, the latest icon is always returned from
      	the icon database, and it's up to clients to get a fresh one when
      	they notice that the icon for a URL has been updated.
      
              Reviewed by Darin
      
              * History.subproj/WebHistoryItem.h:
      	remove _icon and _loadedIcon ivars
      
              * History.subproj/WebHistoryItem.m:
              (-[WebHistoryItem dealloc]):
      	don't release _icon
              (-[WebHistoryItem icon]):
      	just return fresh icon from database, don't store
              (-[WebHistoryItem setURL:]):
      	don't set _loadedIcon to NO
      
      WebBrowser:
      
      	- WebBrowser part of fix for 3028061 -- visiting a bookmarked site
      	that now has a site icon will not update bookmark's icon
      
      	This first cut, which fixes the bug completely, just tosses out
      	the cached bookmark & history menus & tells the outline view to
      	redisplay everything. We might improve this later, but in practice
      	the only difference in behavior that this will cause is to make
      	the Bookmarks menu rebuild itself from scratch when clicked on
      	more often. (We can address that multiple ways, probably the best
      	one being to make rebuilding much faster by using IconRefs instead
      	of NSImages, see 3120678.)
      
              Reviewed by Darin
      
              * BookmarksController.m:
              (-[BookmarksController awakeFromNib]):
      	register for icon-changed notifications
              (-[BookmarksController _receivedIconChangedNotification:]):
      	mark menu dirty when any icon has changed
      
              * BookmarksViewController.m:
              (-[BookmarksViewController awakeFromNib]):
      	register for icon-changed notifications
              (-[BookmarksViewController iconChanged:]):
      	reload outlineview data when any icon has changed. Note that this
      	has no effect when the outlineview is not showing.
      
              * GlobalHistory.m:
              (-[GlobalHistory _registerForHistoryNotifications]):
      	register for icon-changed notifications
              (-[GlobalHistory receivedIconChangedNotification:]):
      	mark menu dirty when any icon has changed
              (-[GlobalHistory receivedEntriesChangedNotification:]):
      	removed wayward space character
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3044 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ec317767
    • sheridan's avatar
      changelog markers for B&I submission (I hope) · 40247af4
      sheridan authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3042 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      40247af4
    • darin's avatar
      WebKit: · 345fb614
      darin authored
              Reviewed by Maciej.
      
              * English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
      
      WebBrowser:
      
              Reviewed by Maciej.
      
      	- fix some relatively new messages to use curly apostrophes
      
              * AppController.m: (-[AppController confirmEmptyCache:]): One in here.
              * LocationChangeError.m: (-[LocationChangeHandler specializedMessageForError:]): Two in here.
              * English.lproj/Localizable.strings: Generated this.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3041 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      345fb614
    • trey's avatar
      3108976 - assert _private provisionalItem in -[WebFrame(WebPrivate) _transitionToCommitted · 0bd844a9
      trey authored
      	3108865 - frames not maintained going back at directory.apple.com
      
      	Both bugs are fixed by the same small change.  We no longer try to inherit loadType
      	across redirects.  Instead we just make sure the right thing happens in _transitionToCommitted:
      	for redirects in the loadType=Standard case.
      
      	3122721 - History stores both original and redirected sites
      
      	Easy fix while in the neighborhood.  We just don't add to History when doing a redirect.
      
              Reviewed by rjw
      
              * WebView.subproj/WebFramePrivate.m:
              (-[WebFrame _transitionToCommitted:]):  On redirect, update the URL of the frame's current
      	item, not the current item in the b/f list.  Also do not add to history on redirect.
              (-[WebFrame _loadURL:loadType:triggeringEvent:isFormSubmission:]):  Cut out funny business
      	that tried to guess when to inherit loadtype across redirects.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3040 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0bd844a9