1. 16 Dec, 2002 1 commit
  2. 15 Dec, 2002 1 commit
    • 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
  3. 12 Dec, 2002 2 commits
  4. 09 Dec, 2002 1 commit
    • darin's avatar
      Tools: · 030cad4c
      darin authored
              Reviewed by Maciej.
      
              * Scripts/set-alex-version: Make it bump the source version and marketing version
      	of all our subprojects, because that's what we need up until Alex 1.0.
      
      JavaScriptCore:
      
              Reviewed by Maciej.
      
              * JavaScriptCore.pbproj/project.pbxproj: Bump versions to 0.8 and 35u.
      	* English.lproj/InfoPlist.strings: In here too.
      
      WebFoundation:
      
              Reviewed by Maciej.
      
      	- fixed problems I noticed in my review of Chris's change (which came in too late)
      
              * CacheLoader.subproj/WebResourceLoad.m: (_guessMIMEType): Fix && vs. || confusion that
      	will make CR, LF, and tab not qualify as text characters. Also take end of loop check
      	out of the loop.
      
      	- added a method for use in user-agent computations
      
              * Misc.subproj/WebNSUserDefaultsExtras.h: Added _web_preferredLanguageCode.
              * Misc.subproj/WebNSUserDefaultsExtras.m:
              (+[NSUserDefaults _web_preferredLanguageCode]): Use _web_HTTPStyleLanguageCode on the
      	first element of the AppleLanguages array.
      
              * WebFoundation.pbproj/project.pbxproj: Bump versions to 0.8 and 35u.
      	Make WebNSUserDefaultsExtras.h SPI so we can use it in WebKit. Re-sort things a bit.
      	* English.lproj/InfoPlist.strings: Bump versions in here too.
      
              * English.lproj/StringsNotToBeLocalized.txt: Updated for these and other recent changes.
      
      WebCore:
      
              Reviewed by Maciej.
      
              * WebCore.pbproj/project.pbxproj: Bump versions to 0.8 and 35u.
      
      WebKit:
      
              Reviewed by Maciej.
      
      	- fixed 3028664 -- change user agent string to include application name and version
      
              * WebView.subproj/WebController.m:
              (-[WebController setApplicationNameForUserAgent:]): Remove locking, unneeded since we changed
      	how WebFoundation handles user agent.
              (-[WebController setCustomUserAgent:]): Ditto.
              (-[WebController resetUserAgent]): Ditto.
              (-[WebController userAgentForURL:]): Remove locking. Also add new algorithm for computing the
      	user agent which takes the preferred language into account, and incorporates the WebKit version
      	and the application name.
      
              * WebView.subproj/WebControllerPrivate.h: No need for a lock.
              * WebView.subproj/WebControllerPrivate.m:
              (-[WebControllerPrivate init]): Don't create a lock.
              (-[WebControllerPrivate dealloc]): Don't release a lock.
      
              * WebKit.pbproj/project.pbxproj: Bump versions to 0.8 and 35u.
      	* English.lproj/InfoPlist.strings: In here too.
      
              * English.lproj/StringsNotToBeLocalized.txt: Updated for these and other recent changes.
      
      WebBrowser:
      
              Reviewed by Maciej.
      
      	- pass properly-formatted application name string to WebKit so it can make a good user-agent
      
              * BrowserWebController.m: (-[BrowserWebController initWithBrowserDocument:]):
      	Instead of passing "Mr. Poopypants", pass Sherlock, augmented with version strings,
      	to setApplicationNameForUserAgent:. Later we will pass Safari instead.
      
              * WebBrowser.pbproj/project.pbxproj: Bump version to 35u (we won't use " unofficial" any more).
      
              * English.lproj/StringsNotToBeLocalized.txt: Updated for these changes.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2985 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      030cad4c
  5. 06 Dec, 2002 1 commit
    • mjs's avatar
      JavaScriptCore: · 7c2d8083
      mjs authored
              Reviewed by: Darin Adler
      
      	- made framework embedding work correctly with buildit
      
              * JavaScriptCore.pbproj/project.pbxproj: Give framework a relative
      	install path, don't install it the normal way, and copy it
      	manually to /AppleInternal/Library/Frameworks if installing.
      
      WebFoundation:
      
              Reviewed by: Darin Adler
      
      	- made framework embedding work correctly with buildit
      
              * WebFoundation.pbproj/project.pbxproj: Give framework a relative
      	install path, don't install it the normal way, and copy it
      	manually to /AppleInternal/Library/Frameworks if installing.
      
      WebCore:
      
              Reviewed by: Darin Adler
      
      	- made framework embedding work correctly with buildit
      
              * WebCore.pbproj/project.pbxproj: Give framework a relative
      	install path, don't install it the normal way, and copy it
      	manually to /AppleInternal/Library/Frameworks if installing. Also
      	look for other frameworks in
      	${DSTROOT}/AppleInternal/Library/Frameworks.
      
      WebKit:
      
              Reviewed by: Darin Adler
      
      	- made framework embedding work correctly with buildit
      
              * WebKit.pbproj/project.pbxproj: Give framework a relative
      	install path, don't install it the normal way, and copy it
      	manually to /AppleInternal/Library/Frameworks if installing. Also
      	look for other frameworks in
      	${DSTROOT}/AppleInternal/Library/Frameworks.
      
      WebBrowser:
      
              Reviewed by: Darin Adler
      
      	- made framework embedding work correctly with buildit
      
              * copy-frameworks-to-dstroot.sh: Copy frameworks from
      	/AppleInternal/Library/Frameworks
              * embed-frameworks.sh: Fixed typo.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2958 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7c2d8083
  6. 04 Dec, 2002 1 commit
    • mjs's avatar
      Reviewed by: NOBODY (OOPS!) · 21dbd392
      mjs authored
      	Set things up so JavaScriptCore builds in PCRE and uses it for
      	regular expressions. This fixes many form validation bugs:
      
      	- fixed 3103197 - javascript at fidelity.com rejects valid input
      	- fixed 2942552 - form validation at weather.com fails
      	- fixed 3079752 - js always reports textarea is empty
      	- fixed 3079719 - covad.com "check availalbility" fails
      
              * Makefile.am: Add pcre subdir.
              * kjs/config.h: define HAVE_PCREPOSIX to true.
      	* kjs/regexp.h: Don't include pcreposix.h since nothing from there
      	is used.
      	* pcre/.cvsignore: Added.
              * pcre/ChangeLog: Removed.
              * pcre/INSTALL: Removed.
              * pcre/Makefile.am: Added.
              * pcre/Makefile.in: Removed.
              * pcre/NEWS: Removed.
              * pcre/NON-UNIX-USE: Removed.
              * pcre/README: Removed.
              * pcre/chartables.c: Added.
              * pcre/config.guess: Removed.
              * pcre/config.in: Removed.
              * pcre/config.sub: Removed.
              * pcre/configure: Removed.
              * pcre/configure.in: Removed.
              * pcre/dll.mk: Removed.
              * pcre/doc/Tech.Notes: Removed.
              * pcre/doc/pcre.3: Removed.
              * pcre/doc/pcre.html: Removed.
              * pcre/doc/pcre.txt: Removed.
              * pcre/doc/pcregrep.1: Removed.
              * pcre/doc/pcregrep.html: Removed.
              * pcre/doc/pcregrep.txt: Removed.
              * pcre/doc/pcreposix.3: Removed.
              * pcre/doc/pcreposix.html: Removed.
              * pcre/doc/pcreposix.txt: Removed.
              * pcre/doc/pcretest.1: Removed.
              * pcre/doc/pcretest.html: Removed.
              * pcre/doc/pcretest.txt: Removed.
              * pcre/doc/perltest.txt: Removed.
              * pcre/install-sh: Removed.
              * pcre/ltmain.sh: Removed.
              * pcre/pcre-config.h: Added.
              * pcre/pcre-config.in: Removed.
              * pcre/internal.h: Include pcre-config.h instead of config.h
              * pcre/pcre.c:
              (ord2utf8): Fix warnings.
              (pcre_compile): Fix warnings.
              * pcre/pcre.def: Removed.
              * pcre/pcre.h: Added.
              * pcre/pcre.in: Removed.
              * JavaScriptCore.pbproj/project.pbxproj: Added pcre files to build.
              * JavaScriptCorePrefix.h: Guard c++ headers with #ifdef __cplusplus.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2933 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      21dbd392
  7. 03 Dec, 2002 1 commit
    • mjs's avatar
      - fixed 3114790 - Gamespot reviews pages badly mis-rendering · 7c33c6fe
      mjs authored
      	because floating point numbers format wide
      
      	Reviewed by: David Hyatt
      
      	* kjs/dtoa.cpp: Imported float <--> string conversion routines
      	from David M. Gay. I changed this to fix warnings and avoid
      	colliding with names of standard library functions.
              * kjs/dtoa.h: Added a header I made up for dtoa.cpp
              * kjs/ustring.cpp:
              (UString::from): Use new double to string routine (kjs_strtod).
              (UString::toDouble): Use new string to double routine (kjs_dtoa).
              * JavaScriptCore.pbproj/project.pbxproj: Added new files
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2912 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7c33c6fe
  8. 22 Nov, 2002 1 commit
    • darin's avatar
      - prepare to reimplement KJS::List; move to its own file, add statistics · 6afbb079
      darin authored
              * kjs/function_object.cpp: (FunctionProtoFuncImp::call): Use new copyTail()
      	function rather than copy() and removeFirst().
      
              * kjs/identifier.cpp: Add statistics, off by default.
              * kjs/property_map.cpp: Add statistics, off by default.
      
              * kjs/list.cpp: Added. Moved code here. To be rewritten.
              * kjs/list.h: Added. Moved interface here. To be rewritten.
      
              * kjs/types.cpp: Removed.
              * kjs/types.h: Now just an empty header that includes other headers.
      
              * JavaScriptCore.pbproj/project.pbxproj: Add new files, rearrange.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2834 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6afbb079
  9. 21 Nov, 2002 1 commit
    • darin's avatar
      top level: · 36614a72
      darin authored
              * Site/Internal/Design/CFURL.rtf: Added.
      
      Tools:
      
              * Scripts/last-update: Added. Script for Trey that tells you when
      	you last did a cvs update, based on most-recently updated ChangeLog.
      
      JavaScriptCore:
      
      	- stop garbage collecting the ActivationImp objects, gets 3% on iBench
      	- pave the way to separate the argument lists from scope chains
      
              * kjs/context.h: Added. Moved ContextImp here so it can use things defined
      	in function.h
      
              * kjs/scope_chain.h: Added. Starting as a copy of List, to be improved.
              * kjs/scope_chain.cpp: Added. Starting as a copy of List, to be improved.
      
              * JavaScriptCore.pbproj/project.pbxproj: Rearranged things, added context.h.
      
              * kjs/function.cpp:
              (FunctionImp::call): Pass InterpreterImp, not ExecState, to ContextImp.
              (DeclaredFunctionImp::DeclaredFunctionImp): List -> ScopeChain.
              (ActivationImp::createArgumentsObject): ArgumentList -> List.
              (GlobalFuncImp::call): Pass InterpreterImp, not an ExecState, to ContextImp.
              * kjs/function.h: List -> ScopeChain.
              * kjs/function_object.cpp: (FunctionObjectImp::construct): List -> ScopeChain.
              * kjs/internal.cpp:
              (ContextImp::ContextImp): Set the context in the interpreter.
              (ContextImp::~ContextImp): Set the context in the interpreter to the caller.
              (ContextImp::mark): Mark all the activation objects.
              (InterpreterImp::InterpreterImp): Initialize context to 0.
              (InterpreterImp::mark): Mark the top context.
              (InterpreterImp::evaluate): Pass InterpreterImp to ContextImp.
              * kjs/internal.h: Move ContextImp to its own header. Add setContext to InterpreterImp.
              * kjs/interpreter.cpp: (Context::scopeChain): List -> ScopeChain.
              * kjs/interpreter.h: List -> ScopeChain.
              * kjs/nodes.cpp:
              (ResolveNode::evaluateReference): List -> ScopeChain.
              (FuncDeclNode::processFuncDecl): List -> ScopeChain.
              (FuncExprNode::evaluate): List -> ScopeChain.
              * kjs/object.cpp: List -> ScopeChain.
              * kjs/object.h: List -> ScopeChain.
      
              * kjs/types.h: Remove needsMarking features from List.
              * kjs/types.cpp: Ditto.
      
      WebCore:
      
              * khtml/ecma/kjs_dom.cpp: (DOMNode::eventHandlerScope): List -> ScopeChain.
              * khtml/ecma/kjs_dom.h: List -> ScopeChain.
              * khtml/ecma/kjs_events.cpp: (JSEventListener::handleEvent): List -> ScopeChain.
              * khtml/ecma/kjs_html.cpp: (KJS::HTMLElement::eventHandlerScope): List -> ScopeChain.
              * khtml/ecma/kjs_html.h: List -> ScopeChain.
      
              * force-js-clean-timestamp: Not sure this is required, but better safe than sorry.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2821 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      36614a72
  10. 20 Nov, 2002 1 commit
    • darin's avatar
      - decrease ref/deref -- 5% speedup in iBench · c758b286
      darin authored
              * JavaScriptCore.pbproj/project.pbxproj: Added array_instance.h
              * kjs/array_instance.h: Added so it can be shared by function.h.
      
              * kjs/array_object.cpp:
              * kjs/array_object.h:
              * kjs/bool_object.cpp:
              * kjs/bool_object.h:
              * kjs/collector.cpp:
              * kjs/date_object.cpp:
              * kjs/date_object.h:
              * kjs/error_object.cpp:
              * kjs/function.cpp:
              * kjs/function.h:
              * kjs/function_object.cpp:
              * kjs/internal.cpp:
              * kjs/internal.h:
              * kjs/math_object.cpp:
              * kjs/nodes.cpp:
              * kjs/number_object.cpp:
              * kjs/object.cpp:
              * kjs/object.h:
              * kjs/object_object.cpp:
              * kjs/property_map.cpp:
              * kjs/reference.cpp:
              * kjs/reference.h:
              * kjs/regexp_object.cpp:
              * kjs/string_object.cpp:
              * kjs/string_object.h:
              * kjs/value.cpp:
              * kjs/value.h:
      	Switched lots of interfaces so they don't require ref/deref.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2783 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c758b286
  11. 19 Nov, 2002 2 commits
    • darin's avatar
      JavaScriptCore: · 880105d6
      darin authored
      	- a first step towards atomic identifiers in JavaScript
      
      	Most places that work with identifiers now use Identifier
      	instead of UString.
      
              * kjs/identifier.cpp: Added.
              * kjs/identifier.h: Added.
              * JavaScriptCore.pbproj/project.pbxproj: Added files.
      
              * kjs/array_object.cpp:
              * kjs/array_object.h:
              * kjs/completion.cpp:
              * kjs/completion.h:
              * kjs/date_object.cpp:
              * kjs/date_object.h:
              * kjs/function.cpp:
              * kjs/function.h:
              * kjs/function_object.cpp:
              * kjs/grammar.cpp:
              * kjs/grammar.cpp.h:
              * kjs/grammar.h:
              * kjs/grammar.y:
              * kjs/internal.cpp:
              * kjs/internal.h:
              * kjs/lexer.cpp:
              * kjs/lookup.cpp:
              * kjs/lookup.h:
              * kjs/math_object.cpp:
              * kjs/math_object.h:
              * kjs/nodes.cpp:
              * kjs/nodes.h:
              * kjs/number_object.cpp:
              * kjs/number_object.h:
              * kjs/object.cpp:
              * kjs/object.h:
              * kjs/property_map.cpp:
              * kjs/property_map.h:
              * kjs/reference.cpp:
              * kjs/reference.h:
              * kjs/regexp_object.cpp:
              * kjs/regexp_object.h:
              * kjs/string_object.cpp:
              * kjs/string_object.h:
      
      WebCore:
      
      	- a first step towards atomic identifiers in JavaScript
      
      	Most places that work with identifiers now use Identifier
      	instead of UString.
      
              * khtml/ecma/kjs_binding.cpp:
              * khtml/ecma/kjs_binding.h:
              * khtml/ecma/kjs_css.cpp:
              * khtml/ecma/kjs_css.h:
              * khtml/ecma/kjs_dom.cpp:
              * khtml/ecma/kjs_dom.h:
              * khtml/ecma/kjs_events.cpp:
              * khtml/ecma/kjs_events.h:
              * khtml/ecma/kjs_html.cpp:
              * khtml/ecma/kjs_html.h:
              * khtml/ecma/kjs_navigator.cpp:
              * khtml/ecma/kjs_navigator.h:
              * khtml/ecma/kjs_range.cpp:
              * khtml/ecma/kjs_range.h:
              * khtml/ecma/kjs_traversal.cpp:
              * khtml/ecma/kjs_traversal.h:
              * khtml/ecma/kjs_views.cpp:
              * khtml/ecma/kjs_views.h:
              * khtml/ecma/kjs_window.cpp:
              * khtml/ecma/kjs_window.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2760 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      880105d6
    • darin's avatar
      JavaScriptCore: · 66092a36
      darin authored
      	- reduced the creation of Value objects and hoisted the property map
              into Object for another gain of about 6%
      
              * JavaScriptCore.pbproj/project.pbxproj: Made property_map.h public.
              * kjs/array_object.cpp:
              (compareWithCompareFunctionForQSort): Don't wrap the ValueImp * in a Value
      	just to add it to a list.
              (ArrayProtoFuncImp::call): Pass the globalObject directly so we don't have
      	to ref/deref.
              * kjs/function.cpp:
              (FunctionImp::call): Use a reference for the global object to avoid ref/deref.
              (GlobalFuncImp::call): Ditto.
              * kjs/internal.cpp:
              (BooleanImp::toObject): Put the object directly into the list, don't create a Value.
              (StringImp::toObject): Ditto.
              (NumberImp::toObject): Ditto.
              (InterpreterImp::evaluate): Use a reference for the global object.
              * kjs/internal.h: Return a reference for the global object.
              * kjs/interpreter.cpp: (Interpreter::globalObject): Ditto.
              * kjs/interpreter.h: Ditto.
              * kjs/object.cpp: Use _prop directly in the object, not a separate pointer.
              * kjs/object.h: Ditto.
              * kjs/types.cpp: Added List methods that work directly with ValueImp.
              (List::append): Added a ValueImp version.
              (List::prepend): Ditto.
              (List::appendList): Work directly with the ValueImp's.
              (List::prependList): Ditto.
              (List::copy): Use appendList.
              (List::empty): Use a shared global List.
              * kjs/types.h: Update for above changes.
      
      WebCore:
      
              * force-js-clean-timestamp: Another Object change.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2753 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      66092a36
  12. 18 Sep, 2002 1 commit
  13. 30 Aug, 2002 1 commit
    • darin's avatar
      JavaScriptCore: · 17f5929c
      darin authored
              * JavaScriptCore.pbproj/project.pbxproj: Allowed the new Project Builder to put in
      	encodings for each file.
      
      WebFoundation:
      
              * WebFoundation.pbproj/project.pbxproj: Allowed the new Project Builder to put in
      	encodings for each file.
      
      WebCore:
      
              * WebCore.pbproj/project.pbxproj: Allowed the new Project Builder to put in
      	encodings for each file.
      
      WebKit:
      
              * WebKit.pbproj/project.pbxproj: Allowed the new Project Builder to put in
      	encodings for each file.
      
      WebBrowser:
      
              * WebBrowser.pbproj/project.pbxproj: Allowed the new Project Builder to put in
      	encodings for each file.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1939 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      17f5929c
  14. 18 Aug, 2002 1 commit
    • mjs's avatar
      Separated Completion from Value and made it a pure stack · 5cf37c86
      mjs authored
      	object. This removed another 160,000 of the remaining 580,000
      	garbage collected object allocations.
      
      	6% speed increas on cvs-js-performance test.
      
              * kjs/completion.cpp: Added. New implementation that doesn't
      	require a ValueImp *.
              (Completion::Completion):
              (Completion::complType):
              (Completion::value):
              (Completion::target):
              (Completion::isValueCompletion):
              * kjs/completion.h: Added.
              * kjs/function.cpp:
      	(GlobalFuncImp::call): Removed some (apparently mistaken) uses of
      	Completion as a Value.
              * kjs/internal.cpp:
              * kjs/internal.h:
              * kjs/types.cpp: Removed Completion stuff.
              * kjs/types.h: Removed Completion stuff.
              * JavaScriptCore.pbproj/project.pbxproj: Added new header.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1859 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5cf37c86
  15. 16 Aug, 2002 4 commits
    • mjs's avatar
      Final step of the Reference change. Completely separate Reference · a3e1b218
      mjs authored
      	from Value, and eliminate ReferenceImp.
      
      	18% speedup on cvs-js-performance test.
      
              * kjs/internal.cpp, kjs/internal.h: Remove ReferenceImp.
              * kjs/nodes.cpp:
              (Node::evaluateReference): Use Reference::makeValueReference(),
      	not ConstReference.
              * kjs/reference.cpp:
              (Reference::Reference): New implementation, handles both regular
      	and value references.
              (Reference::makeValueReference): Incorporate functionality of ConstReference
      	into this class.
              (Reference::getBase): New implementation (incorporates error vase
      	for value references).
      	(Reference::getPropertyName): New implementation (incorporates error case
      	for value references).
              (Reference::putValue): New implementation (incorporates error case
      	for value references).
              (Reference::deleteValue): New implementation (incorporates error case
      	for value references).
              (Reference::getValue): New implementation (incorporates special case
      	for value references).
              (Reference::isMutable): New implementation.
      	* kjs/reference.h: New implementation that merges ReferenceImp
      	into the stack object.
              * kjs/value.h, kjs/value.cpp: Removed all reference-related method.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1850 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a3e1b218
    • mjs's avatar
      * JavaScriptCore.pbproj/project.pbxproj: Install reference.h and · bde3584b
      mjs authored
      	reference_list.h so WebCore compiles (duh).
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1842 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bde3584b
    • mjs's avatar
      Next step: reimplement ReferenceList from scratch, and store it as · 76f1b1c2
      mjs authored
      	an actual Reference object, so ReferenceList no longer depends on
      	Reference being a Value or having a ReferenceImp. A resizing
      	vector might be even better the way this is used.
      
      	Also moved Reference to its own header and implementation file in
      	preparation for reimplementing it.
      
              * JavaScriptCore.pbproj/project.pbxproj:
              * kjs/nodes.cpp:
              (ForInNode::execute):
              * kjs/reference.cpp: Added.
              (Reference::Reference):
              (Reference::dynamicCast):
              (ConstReference::ConstReference):
              * kjs/reference.h: Added.
              * kjs/reference_list.cpp: Added.
              (ReferenceList::ReferenceList):
              (ReferenceList::operator=):
              (ReferenceList::swap):
              (ReferenceList::append):
              (ReferenceList::~ReferenceList):
              (ReferenceList::begin):
              (ReferenceList::end):
              (ReferenceListIterator::ReferenceListIterator):
              (ReferenceListIterator::operator!=):
              (ReferenceListIterator::operator->):
              (ReferenceListIterator::operator++):
              * kjs/reference_list.h:
              * kjs/types.cpp:
              * kjs/types.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1841 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      76f1b1c2
    • mjs's avatar
      Phase 1 of optimization to stop allocating references through the · 01f82a58
      mjs authored
      	collector. This step clearly splits evaluating to a reference and
      	evaluating to a value, and moves all of the reference-specific
      	operations from Value to Reference. A special ConstReference class
      	helps out for the one case where you need special reference
      	operations if the result is a reference, and not otherwise.
      
      	Also, Reference now inherits privately from Value, and there is a
      	new ReferenceList class that inherits privately from List, so the
      	uses of Reference and Value are now completely orthogonal. This
      	means that as the next step, their implementations can be
      	completely disentangled.
      
      	This step has no actual performance impact.
      
              * kjs/collector.cpp:
              (Collector::collect):
              * kjs/nodes.cpp:
              (Node::evaluateReference):
              (ResolveNode::evaluate):
              (ResolveNode::evaluateReference):
              (ElementNode::evaluate):
              (PropertyValueNode::evaluate):
              (AccessorNode1::evaluate):
              (AccessorNode1::evaluateReference):
              (AccessorNode2::evaluate):
              (AccessorNode2::evaluateReference):
              (ArgumentListNode::evaluateList):
              (NewExprNode::evaluate):
              (FunctionCallNode::evaluate):
              (PostfixNode::evaluate):
              (DeleteNode::evaluate):
              (VoidNode::evaluate):
              (TypeOfNode::evaluate):
              (PrefixNode::evaluate):
              (UnaryPlusNode::evaluate):
              (NegateNode::evaluate):
              (BitwiseNotNode::evaluate):
              (LogicalNotNode::evaluate):
              (MultNode::evaluate):
              (AddNode::evaluate):
              (ShiftNode::evaluate):
              (RelationalNode::evaluate):
              (EqualNode::evaluate):
              (BitOperNode::evaluate):
              (BinaryLogicalNode::evaluate):
              (ConditionalNode::evaluate):
              (AssignNode::evaluate):
              (CommaNode::evaluate):
              (VarDeclNode::evaluate):
              (ExprStatementNode::execute):
              (IfNode::execute):
              (DoWhileNode::execute):
              (WhileNode::execute):
              (ForNode::execute):
              (ForInNode::execute):
              (ReturnNode::execute):
              (WithNode::execute):
              (CaseClauseNode::evaluate):
              (SwitchNode::execute):
              (ThrowNode::execute):
              * kjs/nodes.h:
              * kjs/types.cpp:
              (ConstReference::ConstReference):
              * kjs/types.h:
              * kjs/value.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1837 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      01f82a58
  16. 15 Aug, 2002 1 commit
    • mjs's avatar
      Phase 2 of fixnum optimization. Store any integral number that · da18fd0b
      mjs authored
      	will fit in two bits less than a long inside the ValueImp *
      	itself, thus avoiding the need to deal with the garbage collector
      	at all for these types. Such numbers comprised .5 million of the
      	1.7 million ValueImps created during the cvs-js-performance test,
      	so traffic through the garbage collector should be
      
      	20% improvement on cvs-js-performance. This may also show up on
      	cvs-base, but I did not compare and I am too lazy to make clean in
      	WebCore yet again.
      
      	This also significantly reduces memory footprint on
      	JavaScript-heavy pages. Size after going through
      	cvs-js-performance suite is now down from 22 MB to 17.5 MB.
      
              * JavaScriptCore.pbproj/project.pbxproj:
              * kjs/simple_number.h: Added. Some inline static methods for handling
      	simple numbers that are stored in the pointer.
              * kjs/ustring.h:
              * kjs/ustring.cpp:
              (UString::from): Added new overload for long.
              * kjs/value.cpp:
              (ValueImp::marked): Add special case for simple numbers.
              (ValueImp::setGcAllowed): Likewise.
      	(ValueImp::toInteger): Call dispatch version of
      	toUInt32(unsigned&), not the real method.
              (ValueImp::toInt32): Likewise.
              (ValueImp::toUInt32): Likewise.
              (ValueImp::toUInt16): Likewise.
              (ValueImp::dispatchType): Add special case for simple numbers.
              (ValueImp::dispatchToPrimitive): Likewise.
              (ValueImp::dispatchToBoolean): Likewise.
              (ValueImp::dispatchToNumber): Likewise.
              (ValueImp::dispatchToString): Likewise.
              (ValueImp::dispatchToObject): Likewise.
              (ValueImp::dispatchToUInt32): Likewise.
              (ValueImp::dispatchGetBase): Likewise.
              (ValueImp::dispatchGetPropertyName): Likewise.
              (ValueImp::dispatchPutValue): Likewise.
              (ValueImp::dispatchDeleteValue): Likewise.
              (Number::Number): Create a simple number instead of a full-blown
      	ValueImp when possible.
              (Number::value): Likewise.
              * kjs/value.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1825 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      da18fd0b
  17. 09 Aug, 2002 1 commit
    • darin's avatar
      JavaScriptCore: · 2dbbd423
      darin authored
      	Some string speedups. Makes sony.com cached 11% faster.
      
              * kjs/ustring.h: Made it possible for UChar objects to be uninitialized, which
      	gives a speed boost. Inlined CString's +=, UString's destructor, +=, and +.
              * kjs/ustring.cpp:
              (UString::UString): Optimize const char * version, which showed up
      	heavily in performance analysis. Added new two-UString version, which
      	makes the + operator fast.
              (UString::ascii): Remove thread safety changes. Change static buffer to remember
      	its size, and to always be at least 4096 bytes long; that way we never have to
      	reallocate unless it's for a long string. Also make code to extract the characters
      	significantly faster by getting rid of two pointer dereferences per character.
              (UString::is8Bit): Avoid one pointer dereference per character.
              (UString::toDouble): Use ascii() instead of cstring() to avoid copying the string.
      
              * kjs/collector.cpp: Remove unneeded APPLE_CHANGES.
              * kjs/regexp.cpp: Remove ifdefs around some APPLE_CHANGES that we
      	want to keep, because they just fix warnings.
              * kjs/value.h: Remove obsolete APPLE_CHANGES comment.
      
              * JavaScriptCore.pbproj/project.pbxproj: Project Builder decided
      	to move a line around in the file.
      
      WebCore:
      
              * force-clean-timestamp: JavaScriptCore headers changed that require a full build here.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1791 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2dbbd423
  18. 05 Aug, 2002 1 commit
    • mjs's avatar
      JavaScriptCore: · 78135715
      mjs authored
      	- fixed 3007072 - need to be able to build fat
      
              * JavaScriptCore.pbproj/project.pbxproj: Fixed DeploymentFat build.
      
      WebFoundation:
      
      	- fixed 3007072 - need to be able to build fat
      
              * WebFoundation.pbproj/project.pbxproj: Fixed DeploymentFat build.
      
      WebCore:
      
      	- fixed 3007072 - need to be able to build fat
      
              * WebCore.pbproj/project.pbxproj: Fixed DeploymentFat build.
      
      WebKit:
      
      	- fixed 3007072 - need to be able to build fat
      
              * WebKit.pbproj/project.pbxproj: Fixed DeploymentFat build.
              * Makefile.am: Build WebCore-combined.exp for Development and
      	Mixed build.
              * WebKit-tests.exp: Added.
              * WebKit.exp: Remove test-only function.
      
      WebBrowser:
      
      	- fixed 3007072 - need to be able to build fat
      
              * WebBrowser.pbproj/project.pbxproj: Fixed DeploymetFat build.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1743 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      78135715
  19. 25 Jul, 2002 1 commit
    • darin's avatar
      top level: · 7a896228
      darin authored
              * configure.in: Add DeploymentFat build style.
      
      JavaScriptCore:
      
              * JavaScriptCore.pbproj/project.pbxproj: Add DeploymentFat build style.
      
      WebFoundation:
      
              * WebFoundation.pbproj/project.pbxproj: Add DeploymentFat build style.
      
      WebCore:
      
              * WebCore.pbproj/project.pbxproj: Add DeploymentFat build style.
      
      	- fixed 3007532 -- Main documentation frame doesn't load on Apple docs page
      
      	This was caused by my recent fix for the "checkboxes in wrong place" bug.
      	While discussing that bug fix with Richard, I realized that I needed to do the
      	work at layout time, not print time. Luckily, this code ends up being simpler
      	than the original solution.
      
              * khtml/rendering/render_replaced.cpp:
              (RenderWidget::resizeWidget): Take out size limits based on X limits.
              (RenderWidget::layout): Move widgets off into far away coordinate space when
      	layout happens. They get moved back on to the right position during the print process.
      
              * kwq/KWQKHTMLPartImpl.h:
              * kwq/KWQKHTMLPartImpl.mm: Removed paint, buildViewsNotYetAddedSet, viewsNotYetAdded,
      	and addedWidget.
              * kwq/KWQScrollView.mm: (QScrollView::addChild): Removed call to addedWidget.
              * kwq/WebCoreBridge.mm: (-[WebCoreBridge drawRect:withPainter:]): Put the call to the
      	renderer to print back in here, since it's simple again.
      
              * kwq/KWQWidget.mm: (QWidget::internalSetGeometry): Left in a couple of asserts that
      	were useful in narrowing this one down.
      
      WebKit:
      
              * WebKit.pbproj/project.pbxproj: Add DeploymentFat build style.
      
      WebBrowser:
      
              * WebBrowser.pbproj/project.pbxproj: Add DeploymentFat build style.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1674 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7a896228
  20. 13 Jul, 2002 1 commit
    • darin's avatar
      top level: · f6706a30
      darin authored
              * embed.am: Removed.
      
      Tools:
      
              * Scripts/embed-in-alex: Added. Replaces the rules in embed.am as
      	the way to make our frameworks embed themselves in Alex so we can
      	rebuild a framework and re-run Alex with the changes without building
      	Alex too.
      
              * Scripts/create-forwarding-header: Added. Mainly useful for the
      	one-time job of making forwarding headers for WebCore, but saving
      	for possible use in the future.
      
              * Scripts/commit-log-editor: Make Tools log show up after top level,
      	but before things like JavaScriptCore.
      
      JavaScriptCore:
      
              * Makefile.am: Don't use embed.am any more.
              * JavaScriptCore.pbproj/project.pbxproj: Use embed-into-alex instead
      	of make embed.
      
      WebFoundation:
      
              * Makefile.am: Remove include of embed.am.
      
              * WebFoundation.pbproj/project.pbxproj: Remove unneeded ApplicationServices
      	framework search path. Use embed-into-alex instead of make embed.
      
      WebCore:
      
              * ForwardingHeaders/*: Added. New approach to headers to try to
      	make Project Builder's header dependency support work even for
      	includes like #include <render/render_object.h>.
              * kwq/kjs/*: Removed. Now part of ForwardingHeaders.
      
              * Makefile.am: Remove embed.am support.
      
              * WebCore.pbproj/project.pbxproj: Remove other search paths, and
      	add ForwardingHeaders directory as a search path. Add qucomextra_p.h.
      
              * khtml/ecma/kjs_navigator.cpp: Made gratuitous changes to touch this
      	file to make things build without requiring clean rebuild.
      
              * khtml/rendering/render_form.cpp: Removed many unneeded QObject::
      	qualifiers from inside APPLE_CHANGES to touch this file to make things
      	build without requiring clean rebuild.
      
              * kwq/KWQButton.mm: (QButton::setText), (QButton::text):
              * kwq/KWQColor.mm: (QColor::setNamedColor):
      	* kwq/KWQKConfigBase.mm: (KConfig::readEntry):
              * kwq/KWQKHTMLSettings.mm: (KHTMLSettings::stdFontName), (KHTMLSettings::fixedFontName):
              (KHTMLSettings::serifFontName), (KHTMLSettings::sansSerifFontName),
      	(KHTMLSettings::cursiveFontName), (KHTMLSettings::fantasyFontName), (KHTMLSettings::encoding):
              * kwq/KWQKLocale.mm: (i18n):
              * kwq/KWQKMessageBox.mm: (KMessageBox::error), (KMessageBox::warningYesNo):
              (KMessageBox::questionYesNo), (KMessageBox::sorry):
              * kwq/KWQListBox.mm: (-[KWQBrowserDelegate browser:willDisplayCell:atRow:column:]):
              * kwq/WebCoreBridge.mm: (-[WebCoreBridge selectedText]):
              Wean from QSTRING_TO_NSSTRING and NSSTRING_TO_QSTRING.
      
              * kwq/KWQComboBox.mm:
              (QComboBox::insertItem): Wean from QSTRING_TO_NSSTRING. Note that this
      	now stores a copy of the string in the array. The old version was unsafe
      	if anyone later modified the QString that was passed in.
      
              * kwq/KWQFontMetrics.mm: (QFontMetrics::width):
              * kwq/KWQPainter.mm: (QPainter::drawUnderlineForText), (QPainter::drawText):
      	Wean from QSTRING_TO_NSSTRING_LENGTH and _FAST_QSTRING_TO_NSSTRING. We still have
      	speed as high as before, in the "length" case slightly faster.
      
              * kwq/qt/qstring.h: Remove QSTRING_TO_NSSTRING family of macros.
      
              * kwq/KWQInvisibleButton.mm:
              * kwq/KWQKHTMLPart.mm:
              * kwq/KWQKHTMLPartBrowserExtension.mm:
              * kwq/KWQKJavaAppletWidget.mm:
              * kwq/KWQKloader.mm:
              * kwq/KWQView.mm:
              * kwq/KWQsignals.mm:
              * kwq/WebCoreBridge.mm:
              * kwq/kdecore/kconfig.h:
              * kwq/kdecore/klibloader.h:
              * kwq/kdecore/klocale.h:
              * kwq/khtml/khtml_ext.h:
              * kwq/khtml/khtml_factory.h:
              * kwq/kio/kmimetype.h:
      	Remove subdirectory prefix from imports to match Project Builder include scheme.
      
              * kwq/KWQKCursor.mm: (+[NSCursor _WebCore_linkCursor]):
              * kwq/KWQKLocale.mm: (i18n):
              * kwq/KWQKstddirs.mm: (locate):
      	Use bundleForClass instead of bundleWithIdentifier to avoid any potential problems
      	with multiple versions of the framework installed on the same system.
      
              * kwq/KWQKLineEdit.mm:
              (KLineEdit::completionBox): Remove _logNotYetImplemented, since this is implemented
      	well enough for our needs now, and if we need to implement it later, it will become
      	clear from the application behavior. This should be the destiny of most of these.
      
              * kwq/kdecore/kglobal.h: Simplify.
              * kwq/KWQKGlobal.mm: Simplify.
              * kwq/qt/qlineedit.h: Simplify.
              * kwq/KWQLineEdit.mm: Simplify.
      
              * kwq/KWQPaintDeviceMetrics.mm: Remove unneeded import.
              * kwq/qt/qbutton.h: Remove unneeded destructor.
      
      WebKit:
      
              * History.subproj/IFURIEntry.m: (-[IFURIEntry image]):
      	Use [IFURIEntry class] instead of [self class] so we get the
      	icon from the WebKit bundle even if someone subclasses IFURIEntry.
              * Plugins.subproj/IFNullPluginView.mm:
              (-[IFNullPluginView initWithFrame:mimeType:arguments:]): Use
      	bundleForClass instead of bundleWithIdentifier so things work even
      	if we have two copies of WebKit installed on the same machine.
      
              * Makefile.am: Remove include of embed.am.
      
              * WebKit.pbproj/project.pbxproj: Use embed-into-alex instead of make embed.
      	Also change bundle identifier to com.apple.WebKit instead of com.apple.webkit
      	to match standard used by our other frameworks. (Checked that we no longer have
      	any hard-coding of the bundle identifier anywhere in our code.)
      
      WebBrowser:
      
              * WebBrowser.pbproj/project.pbxproj: Remove unneeded build phase.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1551 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f6706a30
  21. 11 Jul, 2002 1 commit
  22. 25 Jun, 2002 1 commit
  23. 19 Jun, 2002 1 commit
    • kocienda's avatar
      2002-06-19 Kenneth Kocienda <kocienda@apple.com> · ef366e55
      kocienda authored
              I just played alchemical voodoo magic number games with the linker to
              make all our frameworks and Alexander prebound.
      
      	Is voodoo our fate here? ....will B & I come to save us?
      	We poor humble groundlings yearn for the light of truth!
      
      	* JavaScriptCore/ChangeLog
      	* JavaScriptCore/JavaScriptCore.pbproj/project.pbxproj: Now has -seg1addr 0x8000000
      	* WebBrowser/ChangeLog
      	* WebBrowser/WebBrowser.pbproj/project.pbxproj
      	* WebFoundation/ChangeLog
      	* WebFoundation/WebFoundation.pbproj/project.pbxproj: Now has -seg1addr 0x6000000
      	* WebKit/ChangeLog
      	* WebKit/WebKit.pbproj/project.pbxproj: Now has -seg1addr 0x7000000
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1401 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ef366e55
  24. 15 Jun, 2002 2 commits
  25. 07 Jun, 2002 1 commit
  26. 06 Jun, 2002 1 commit
    • darin's avatar
      * Makefile.am: Update warning flags for compatibility with new C++. · b40f7464
      darin authored
      	* configure.in: Update warning flags for compatibility with new C++.
      
      	* Tools/DiskCachePeek/DiskCachePeek.pbproj/project.pbxproj:
      	Project Builder wants what it wants.
      
      JavaScriptCore:
      
      	* JavaScriptCore.pbproj/project.pbxproj: Update warning flags for compatibility
      	with new C++.
      
      WebFoundation:
      
      	* WebFoundation.pbproj/project.pbxproj: Update warning flags for compatibility
      	with new C++.
      
      WebKit:
      
      	* WebKit.pbproj/project.pbxproj: Update warning flags for compatibility
      	with new C++.
      
      	* WebCoreSupport.subproj/IFTextRenderer.m: (FillStyleWithAttributes):
      	Remove workaround we copied from AppKit, because it's a workaround for
      	a bug that was fixed in Puma.
      
      WebBrowser:
      
      	* WebBrowser.pbproj/project.pbxproj: Update warning flags for compatibility
      	with new C++.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1287 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b40f7464
  27. 22 May, 2002 1 commit
  28. 10 May, 2002 1 commit
  29. 06 May, 2002 1 commit
    • darin's avatar
      i * Makefile.am: Generate the PFE precompiled headers to be used · ad4bde3d
      darin authored
      	by automake compiles. Currently these don't have any dependency
      	tracking, but I'm sure Maciej can fix that if he wants to.
      
      	* configure.in: Go from "xNDEBUG" to "NDEBUG" now that precompiled
      	headers aren't in the way. Pass in the --load-pch option to all the
      	various compiles so they get the precompiled headers.
      
      	* Tests/libiftest/Makefile.am: Generate a top_srcdir.h file rather
      	than passing it in on the command line. This works around a PFE bug
      	with -D, Radar 2921026.
      	* Tests/libiftest/IFTestDirectory.c: Use top_srcdir.h.
      	* Tests/libiftest/.cvsignore: Ignore top_srcdir.h.
      
      	* Tests/qt/qpoint-test.cpp: (main): Take out an unused variable and
      	all the USING_BORROWED_QPOINT code.
      
      	* Tools/Makefile.am: Don't built the HotSpots directory for now, since
      	it runs into a PFE bug and we usually use the application version now.
      
      	* Tools/Scripts/check-non-ASCII: Skip preprocessor directives.
      	* Tools/Scripts/cvs-abandon: Tweak.
      
      JavaScriptCore:
      
      	* JavaScriptCorePrefix.h: Added.
      	* JavaScriptCore.pbproj/project.pbxproj: Use PFE precompiling.
      	Also switch from xNDEBUG to NDEBUG.
      
      WebFoundation:
      
      	Reviewed by Ken Kocienda:
      
      	* WebFoundationPrefix.h: Added.
      	* WebFoundation.pbproj/project.pbxproj: Use PFE precompiling.
      	Also switch from xNDEBUG to NDEBUG.
      
      	* AuthenticationManager.subproj/IFAuthenticationManager.m:
      	* CookieManager.subproj/IFCookie.m:
      	* Misc.subproj/IFNSStringExtensions.m:
      	* Misc.subproj/WebFoundationDebug.m:
      	Add undefs to work around PFE problem with inline functions, Radar 2920554.
      
      	* CacheLoader.subproj/IFHTTPURLProtocolHandler.m:
      	Fix include to work with normal Project Builder way of dealing with frameworks.
      	Switch from xNDEBUG to NDEBUG.
      
      	* CacheLoader.subproj/IFURLLoad.m:
      	* CookieManager.subproj/IFCookie.m:
      	* Database.subproj/IFURLFileDatabase.m:
      	* Misc.subproj/IFError.m:
      	* Misc.subproj/IFMonitor.h:
      	* Misc.subproj/IFMonitor.m:
      	* Misc.subproj/IFRecursiveReadWriteLock.h:
      	Use import instead of include.
      
      	* Misc.subproj/IFCFNetworkExtensions.m: Added.
      	* Misc.subproj/IFCFRunLoopExtensions.m: Added.
      	* Misc.subproj/IFCFNetworkExtensions.c: Removed.
      	* Misc.subproj/IFCFRunLoopExtensions.c: Removed.
      	Renamed so we could share the Objective-C precompile. No need to compile this code
      	as plain C, even though it doesn't use any Objective-C features.
      
      	* Misc.subproj/WebFoundationDebug.h: Get rid of format attribute because of bug
      	2920557. Switch from xNDEBUG to NDEBUG.
      
      WebCore:
      
      	* WebCorePrefix.h: Added.
      
      	* .cvsignore: Ignore the .pfe files in this directory.
      
      	* khtml/dom/dom_doc.cpp:
      	* khtml/dom/dom_text.cpp:
      	Added namespace directives as a clean workaround for a conflict
      	with the struct named Comment in <Carbon/AIFF.h>
      
      	* kwq/KWQFont.mm:
      	* kwq/KWQFontMetrics.mm:
      	* kwq/KWQKGlobal.mm:
      	* kwq/KWQListImpl.mm:
      	* kwq/KWQPtrDictImpl.h:
      	* kwq/KWQVectorImpl.mm:
      	* kwq/kwqdebug.h:
      	* kwq/qt/qcolor.h:
      	* kwq/qt/qcombobox.h:
      	* kwq/qt/qregion.h:
      	* kwq/qt/qstring.h:
      	* kwq/qt/qwidget.h:
      	Remove old workaround for conflicts with Fixed, Rect, and Boolean.
      	It does not good with a precompiled header anyway, and there is a
      	more elegant small fix in the KDE code itself.
      
      	* kwq/qt/qpoint.h:
      	* kwq/KWQPointArray.mm: (QPointArray::setPoints):
      	Work around bug with va_arg and PFE by not using varargs here.
      
      	* kwq/KWQRect.mm: (QRect::unite): (QRect::operator&):
      	Use std::min and std::max instead of defining our own MIN and MAX, which
      	conflict with something in one of the headers we are precompiling (error
      	message did not make it clear which).
      
      	* kwq/KWQView.mm: (-[KWQHTMLView layout]), (-[KWQHTMLView drawRect:]):
      	Switch from xNDEBUG to NDEBUG.
      
      	* kwq/Makefile.am: Remove stuff for getting at the header inside the
      	ApplicationServices and QD frameworks, since that code is now in WebKit.
      
      	* kwq/kwqdebug.h: Get rid of format attribute because of bug 2920557.
      	Switch from xNDEBUG to NDEBUG.
      
      	* kwq/kwqdebug.mm: Switch from xNDEBUG to NDEBUG.
      
      	* kwq/qt/qstring.h: Define QT_VERSION in here instead of on the command
      	line to work around a PFE bug with -D, Radar 2921026.
      
      WebKit:
      
      	* WebKitPrefix.h: Added.
      	* WebKit.pbproj/project.pbxproj: Use PFE precompiling.
      	Also switch from xNDEBUG to NDEBUG.
      
      	* Misc.subproj/WebKitDebug.h: Get rid of format attribute because of bug
      	2920557. Switch from xNDEBUG to NDEBUG.
      
      	* Misc.subproj/WebKitDebug.m:
      	Add undef to work around PFE problem with inline functions, Radar 2920554.
      
      	* Plugins.subproj/IFPluginView.mm: Changed how we work around the bug in
      	the CGS defines.
      
      	* WebCoreSupport.subproj/IFCachedTextRenderer.h: Change include of the
      	private QD header to use the form that works with more-normal way of
      	getting at the private bits of frameworks.
      
      	* WebCoreSupport.subproj/IFCachedTextRenderer.m: Use the header
      	<CoreGraphics/CoreGraphicsPrivate.h> instead of <CoreGraphics/CGFontPrivate.h>.
      
      	* Misc.subproj/IFCache.mm:
      	* WebView.subproj/IFLoadProgress.mm:
      	* WebView.subproj/IFWebFrame.mm:
      	* WebView.subproj/IFWebFramePrivate.mm:
      	* WebView.subproj/IFWebView.mm:
      	Changed includes to imports.
      
      WebBrowser:
      
      	* WebBrowserPrefix.h: Added.
      	* WebBrowser.pbproj/project.pbxproj: Use PFE precompiling.
      	Also switch from xNDEBUG to NDEBUG.
      
      	* Debug/CacheController.m: Renamed to make it Objective C rather
      	than Objective C++.
      	* Debug/CacheController.mm: Removed.
      
      	* main.m: Use the real __CFA2UC. Use import instead of include.
      	* ___CFA2UC.c: Remove our copy.
      
      	* Debug/DOMTree.mm:
      	* Debug/RenderTree.mm:
      	* Preferences.subproj/ActiveContentPreferences.h:
      	* Preferences.subproj/AppearancePreferences.h:
      	* Preferences.subproj/GeneralPreferences.h:
      	* Preferences.subproj/SecurityPreferences.h:
      	* Preferences.subproj/TextPreferences.h:
      	* Preferences.subproj/WBPreferences.h:
      	* Test/PageLoadTestLogger.m:
      	Use import instead of include.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1102 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ad4bde3d
  30. 18 Apr, 2002 3 commits
    • darin's avatar
      Oops. Take out -Wstrict-prototypes, put back -Wmissing-prototypes. · c61efd0f
      darin authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1047 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c61efd0f
    • darin's avatar
      Take out -Wmissing-prototypes · 388747d8
      darin authored
      	because system headers are triggering it when we don't have
      	precompiled headers on.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1046 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      388747d8
    • darin's avatar
      * Makefile.am: Pass the -f flag to ln so it doesn't fail when · 8a88b319
      darin authored
      	there's already a link there.
      
      	* configure.in: Use gcc3 and g++3 so we always get gcc 3.0, no
      	matter how the system is configured. Besides the fact that gcc
      	3.0 includes more in -Wall, turned on the following additional
      	warnings that were not on before:
      	    -W
      	    -Wbad-function-cast
      	    -Wformat-security
      	    -Wmissing-format-attribute
      	    -Wstrict-prototypes
      	    -Wwrite-strings
      	Also removed the -fno-coalesce-static-vtables flag for C++
      	and removed explicit mention of C++ warnings that are part of
      	-Wall in gcc 3.0 at least.
      
      	* Tests/harness.c: (main): Const string fix.
      	* Tests/kde/kurl-test.cpp: (testURL): Std namespace and const string fix.
      	* Tests/libiftest/IFTestDirectory.c: (IFSetUpTestDirectory): Const string fix.
      	* Tests/libiftest/IFTestDirectory.h: Const string fix.
      
      	* Tests/qt/qarray-test.cpp:
      	* Tests/qt/qbuffer-test.cpp:
      	* Tests/qt/qchar-test.cpp:
      	* Tests/qt/qcstring-test.cpp:
      	* Tests/qt/qdate-test.cpp:
      	* Tests/qt/qdatetime-test.cpp:
      	* Tests/qt/qdict-test.cpp:
      	* Tests/qt/qdir-test.cpp:
      	* Tests/qt/qfile-test.cpp:
      	* Tests/qt/qlist-test.cpp:
      	* Tests/qt/qmap-test.cpp:
      	* Tests/qt/qpoint-test.cpp:
      	* Tests/qt/qptrdict-test.cpp:
      	* Tests/qt/qrect-test.cpp:
      	* Tests/qt/qregexp-test.cpp:
      	* Tests/qt/qsize-test.cpp:
      	* Tests/qt/qsortedlist-test.cpp:
      	* Tests/qt/qstack-test.cpp:
      	* Tests/qt/qstring-test.cpp:
      	* Tests/qt/qstringlist-test.cpp:
      	* Tests/qt/qtime-test.cpp:
      	* Tests/qt/qvaluelist-test.cpp:
      	* Tests/qt/qvector-test.cpp:
      	Add "using namespace std" to each test as a simple std namespace fix.
      
      WebFoundation:
      
      	Reviewed by Maciej
      
      	Fixes for compiling with gcc3 and more warnings.
      
      	* WebFoundation.pbproj/project.pbxproj: Turn on gcc3 and the same set of warnings
      	as in the rest of Labyrinth (see top level ChangeLog for details).
      
      	* CacheLoader.subproj/IFURLHandle.m: (-[IFURLHandle percentComplete]):
      	Rearrange code to avoid a cast to (float) that gcc3 didn't like.
      
      	* Database.subproj/IFNDBMDatabase.m: (-[IFNDBMDatabase objectForKey:]):
      	Mark some variables volatile to make gcc3 happy about their values and the
      	use of longjmp. Good catch on the compiler's part.
      
      	* Database.subproj/IFURLFileDatabase.m: Work around bug 2905545 so we can
      	have -W on for all the rest of WebFoundation.
      	(URLFileReaderInit): Mark this as (void) so it's not a non-prototyped function.
      	(-[IFURLFileReader initWithPath:]): Don't assign to self so gcc3 is not unhappy
      	about the use of it with longjmp.
      	(-[IFURLFileDatabase objectForKey:]): Mark some variables volatile to make gcc3
      	happy about their values and the use of longjmp.
      
      	* Misc.subproj/IFNSObjectExtensions.m: (-[NSObject performBooleanSelector:]),
      	(-[NSObject performBooleanSelector:withObject:]): Do a new implementation that
      	does't make the compiler unhappy about type casts.
      
      	* Misc.subproj/IFNSThreadExtensions.m: Work around bug 2905545 so we can
      	have -W on for all the rest of WebFoundation.
      	(InitJoinableThreads): Mark this as (void) so it's not a non-prototyped function.
      
      JavaScriptCore:
      
      	Reviewed by Maciej
      
      	* JavaScriptCore.pbproj/project.pbxproj: Turn on gcc3 and the same set of warnings
      	as in the rest of Labyrinth (see top level ChangeLog for details).
      
      WebCore:
      
      	Fixes for compiling with gcc3 and more warnings.
      
      	* khtml/html/.cvsignore: Add kentities.c; I could have sworn I did this
      	already.
      	* khtml/html/Makefile.am: Remove erroneous duplicate definition of
      	CLEAN_FILES.
      
      	* libwebcore.exp:
      	* libwebcoretests.exp:
      	Rebuilt these lists from scratch. Almost everything in here is different
      	since the C++ name mangling rules changed.
      
      	* khtml/css/cssparser.cpp:
      	* khtml/misc/htmlhashes.cpp:
      	Disable inlining in part of this file as a workaround for Radar 2905890.
      
      	* kwq/KWQApplication.mm: (QDesktopWidget::screenGeometry):
      	Add casts to int needed to make gcc3 happy.
      	* kwq/KWQArrayImpl.mm: Add missing #include of <string.h>.
      
      	* kwq/KWQBitmap.mm:
      	* kwq/KWQFrame.mm:
      	* kwq/KWQLineEdit.mm:
      	Removed some unused copy constructors and assignment operators to avoid
      	warnings in them.
      
      	* kwq/KWQButton.mm: (QButton::setText):
      	* kwq/KWQListBox.mm: (QListBox::~QListBox), (QListBox::clear),
      	(QListBox::setSelectionMode), (QListBox::currentItem), (QListBox::insertItem),
      	(QListBox::setSelected), (QListBox::isSelected), (QListBoxItem::width),
      	(QListBoxItem::height):
      	* kwq/KWQScrollView.mm: (QScrollView::setContentsPos), (QScrollView::addChild),
      	(QScrollView::resizeContents), (QScrollView::viewportToContents),
      	Use local variables to work around Radar 2905835.
      
      	* kwq/KWQCString.mm: (operator<<):
      	* kwq/KWQPoint.mm: (operator<<):
      	* kwq/KWQRect.mm: (operator<<):
      	* kwq/KWQSize.mm: (operator<<):
      	* kwq/qt/qarray.h:
      	* kwq/qt/qcstring.h:
      	* kwq/qt/qdatetime.h:
      	* kwq/qt/qdict.h:
      	* kwq/qt/qlist.h:
      	* kwq/qt/qmap.h:
      	* kwq/qt/qpainter.h:
      	* kwq/qt/qpoint.h:
      	* kwq/qt/qptrdict.h:
      	* kwq/qt/qrect.h:
      	* kwq/qt/qsize.h:
      	* kwq/qt/qstack.h:
      	* kwq/qt/qvaluelist.h:
      	* kwq/qt/qvector.h:
      	Say std::ostream instead of just ostream.
      
      	* kwq/KWQCharsets.mm: Fix a const problem.
      
      	* kwq/KWQDateTime.mm: (QTime::elapsed), (QTime::restart): Use int instead
      	of uint, since these functions try to handle values that are less than 0.
      	(operator<<): Say std::ostream instead of just ostream.
      	* kwq/KWQTextArea.mm: (RangeOfParagraph): Fix an int/uint issue.
      
      	* kwq/KWQFile.mm: (QFile::KWQFilePrivate::KWQFilePrivate),
      	(QFile::KWQFilePrivate::~KWQFilePrivate): Use new/delete instead of
      	malloc/free so we don't get void * warnings.
      
      	* kwq/KWQFontMetrics.mm: (__IFFillStyleWithAttributes),
      	(-[KWQLayoutInfo drawString:atPoint:withFont:color:]),
      	(-[KWQLayoutInfo _initializeCaches]),
      	(_rectForString):
      	* kwq/KWQKURL.mm: (KURL::KWQKURLPrivate::KWQKURLPrivate),
      	(RelativeURLKeyRetainCallBack), (RelativeURLKeyReleaseCallBack),
      	(RelativeURLKeyEqualCallBack), (RelativeURLKeyHashCallBack),
      	(KURL::normalizeURLString), (KURL::normalizeRelativeURLString):
      	* kwq/KWQPainter.mm: (QPainter::save):
      	* kwq/KWQKloader.mm:
      	(-[URLLoadClient IFURLHandle:resourceDidFailLoadingWithResult:]),
      	(-[URLLoadClient IFURLHandle:didRedirectToURL:]):
      	Add type casts where necessary to make the stricter gcc3 happy.
      
      	* kwq/KWQPixmap.mm: (QPixmap::QPixmap): Explicitly initialize the underlying
      	QPaintDevice.
      	(QPixmap::size), (QPixmap::rect): Add type casts where necessary to make
      	the stricter gcc3 happy.
      
      	* kwq/KWQPtrDictImpl.mm: (KWQPtrDictImpl::KWQPtrDictPrivate::KWQPtrDictPrivate):
      	Say std::bad_alloc instead of just bad_alloc.
      	(invokeDeleteFuncOnValue), (KWQPtrDictImpl::clear): Pass a pointer to a function
      	pointer rather than a function pointer to avoid a warning about turning function
      	pointers into void *.
      
      	* kwq/KWQRegion.mm: (QRegion::_initialize), (QRegion::~QRegion): Use new/delete
      	rather than calloc/free so we don't get void * warnings.
      	(QRegion::boundingRect): Add type casts.
      
      	* kwq/KWQString.mm: (QString::fromStringWithEncoding): Add cast.
      	(QString::setNum): use %ld and %lu rather than %D and %U.
      	(QString::fill), (QString::convertToQCString): Add casts.
      
      	* kwq/KWQTextStorage.mm: (-[KWQTextStorage _buildFragmentForString:]):
      	Add a cast to make gcc3 happy.
      
      	* kwq/KWQVariant.mm: Say "friend class" instead of "friend".
      
      	* kwq/KWQVectorImpl.mm: (KWQVectorImpl::KWQVectorPrivate::KWQVectorPrivate):
      	Say std::bad_alloc instead of just bad_alloc.
      	(KWQVectorImpl::data): Replace the old autorelease trick with a new one that
      	doesn't require mixing malloc with NSData.
      
      	* kwq/KWQView.mm: (-[KWQHTMLView mouseUp:]), (-[KWQHTMLView mouseDown:]):
      	Add casts to make gcc3 happy.
      
      	* kwq/KWQWidget.mm: (QWidget::frameGeometry), (QWidget::mapToGlobal),
      	(QWidget::minimumSizeHint): Add casts to make gcc3 happy. Also another
      	workaround for Radar 2905835.
      
      	* kwq/WCPlugin.mm: (-[WCPlugin load]): Add tons of type casts so we don't have
      	to mix void * with function pointer types.
      
      	* kwq/WCPluginWidget.h:
      	* kwq/WCPluginWidget.mm: (WCIFPluginMakeFunction), (WCIFNullPluginMakeFunction):
      	Change types so we don't have to mix void * with function pointer types.
      	This caught a mistake where WCIFNullPluginMakeFunction was returning the wrong
      	function pointer.
      
      	* kwq/external.h: Add some missing interfaces that the pickier gcc3 needed to see.
      
      	* kwq/kwqdebug.mm: Don't compile the file if xNDEBUG is set. Otherwise we get
      	a warning in here.
      
      	* kwq/npapi.h: Use function pointer types for function pointers and transition
      	vectors so we don't have to mix void * with function pointer types.
      
      	* kwq/npapi.mm: (NPN_GetURLNotify), (NPN_GetURL),
      	(NPN_PostURLNotify), (NPN_PostURL), (NPN_NewStream), (NPN_Write),
      	(NPN_DestroyStream), (NPN_Status), (NPN_GetValue), (NPN_SetValue),
      	(NPN_InvalidateRect), (NPN_InvalidateRegion), (NPN_ForceRedraw):
      	Use local variables to work around Radar 2905835.
      	(functionPointerForTVector), (tVectorForFunctionPointer):
      	Change types around so we don't have to mix void * with function pointer types.
      
      WebKit:
      
      	Fixes for compiling with gcc3 and more warnings.
      
      	* WebKit.pbproj/project.pbxproj: Turn on gcc3 and the same set of warnings
      	as in the rest of Labyrinth (see top level ChangeLog for details).
      
      	* Plugins.subproj/IFPluginView.mm:
      	Avoid warnings about malloc by not using it.
      	(-[IFPluginView initWithFrame:plugin:url:mime:arguments:mode:]): Keep the arguments
      	dictionary around instead of keeping the C format version of it around. Also don't
      	bother keeping the C string form of the MIME type around, and simplify some other
      	stuff in here.
      	(-[IFPluginView dealloc]): Corresponding changes since we keep a different set of things.
      	(-[IFPluginView newStream:mimeType:notifyData:]): Use [mimeType cString].
      	(-[IFPluginView start]): Build the lists of attributes and values in here. Do it using
      	[NSString cString] for simplicity and don't keep the lists around after we're done with
      	them.
      	(-[IFPluginView IFURLHandleResourceDidFinishLoading:data:]): Use [filenameClassic cString].
      
      	* WebView.subproj/IFMainURLHandleClient.mm:
      	(-[IFMainURLHandleClient IFURLHandleResourceDidCancelLoading:]),
      	(-[IFMainURLHandleClient IFURLHandleResourceDidFinishLoading:data:]),
      	(-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]),
      	(-[IFMainURLHandleClient IFURLHandle:resourceDidFailLoadingWithResult:]):
      	* WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSourcePrivate dealloc]),
      	(-[IFWebDataSource _setLoading:]), (-[IFWebDataSource _setController:]),
      	(-[IFWebDataSource _setLocationChangeHandler:]):
      	* WebView.subproj/IFWebView.mm: (-[IFWebView provisionalDataSourceChanged:]),
      	(-[IFWebView mouseUp:]), (-[IFWebView mouseDown:]):
      	Add type casts required by pickier gcc3.
      
      	* WebView.subproj/IFWebViewPrivate.mm: (-[IFWebViewPrivate dealloc]):
      	Add type cast required by pickier gcc3.
      	(-[IFWebView _stopPlugins]): Use local variable to work around Radar 2905835.
      
      WebBrowser:
      
      	Fixes for compiling with gcc3 and more warnings.
      
      	* WebBrowser.pbproj/project.pbxproj: Turn on gcc3 and the same set of warnings
      	as in the rest of Labyrinth (see top level ChangeLog for details).
      
      	* InternetConfigUtilities.m: (stringValueForICKey), (setStringValue):
      	Some const string fixes.
      	* Preferences.subproj/TextPreferences.m: (-[TextPreferences changeFont:]):
      	Remove a cast that makes gcc3 unhappy.
      	* ___CFA2UC.c: (NSGiantRaise): Const string fix.
      	(gcompg): Old-style function prototype fix.
      	(initialguess): Remove a cast that makes gcc3 unhappy.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1045 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8a88b319
  31. 15 Apr, 2002 1 commit
    • darin's avatar
      Merged KDE 3.0 final code in and: · b70665a4
      darin authored
      JavaScriptCore:
      
      	* kjs/internal.cpp:
      	* kjs/property_map.cpp:
      	* kjs/ustring.h:
      	Removed some unneeded <config.h> includes so we are more similar
      	to the real KDE sources.
      
      	Merged changes from KDE 3.0 final and did some build fixes.
      
      	* JavaScriptCore.pbproj/project.pbxproj: Added nodes2string.cpp.
      
      	* kjs/grammar.*: Regenerated.
      	* kjs/*.lut.h: Regenerated.
      
      WebCore:
      
      	* src/kdelibs/khtml/rendering/render_text.cpp: (TextSlave::printDecoration):
      	Remove some minor gratuitous diffs vs. KDE.
      
      	* src/kdelibs/khtml/rendering/render_text.cpp: (TextSlave::printDecoration):
              Richard updated to reflect changes in KDE.
      
      	* src/kdelibs/khtml/css/css_valueimpl.cpp:
      	(FontFamilyValueImpl::FontFamilyValueImpl): Fix comment.
      	* src/kdelibs/khtml/css/cssstyleselector.cpp: Remove some gratuitous diffs vs. KDE.
      	* src/kdelibs/khtml/html/html_objectimpl.cpp:
      	(HTMLEmbedElementImpl::parseAttribute): Remove unneeded copy from KWQ's early days.
      	* src/kdelibs/khtml/html/html_tableimpl.cpp:
      	(HTMLTableElementImpl::parseAttribute),
      	(HTMLTablePartElementImpl::parseAttribute): Remove unneeded copy from KWQ's early days.
      	* src/kdelibs/khtml/html/htmltokenizer.cpp: (HTMLTokenizer::processToken): Redo the
      	APPLE_CHANGES ifdef here.
      	* src/kdelibs/khtml/khtmlpart_p.h: Update to latest kde.
      	* src/kdelibs/khtml/khtmlview.cpp: (KHTMLView::KHTMLView): Add ifdef APPLE_CHANGES.
      	(KHTMLView::~KHTMLView): Add ifdef APPLE_CHANGES.
      	(KHTMLView::print): Remove code left in here during merge process.
      	* src/kwq/KWQKHTMLPart.mm: Remove unused setFontSizes(), fontSizes(), and
      	resetFontSizes(). After the merge is landed, remove more.
      	* src/libwebcore.exp: Export updateStyleSelector() for WebKit.
      
      	Fix text to it displays at the right font size.
      
      	* src/kdelibs/khtml/css/cssstyleselector.cpp:
      	(CSSStyleSelector::computeFontSizes): Apply the same SCREEN_RESOLUTION hack here
      	that we do elsewhere.
      	* src/kdelibs/khtml/rendering/font.cpp: (Font::width): Use kMin instead of max (oops).
      	(Font::update): Turn off font database chicanery.
      	* src/kwq/KWQKHTMLPart.mm: (KHTMLPart::zoomFactor): Use zoom factor 100, not 1.
      
      	More fixes so text displays (still at wrong font size).
      
      	* src/kdelibs/khtml/rendering/font.cpp: (max): New helper.
      	(Font::drawText): Simplified implementation for now.
      	(Font::width): Simplified implementation for now.
      	* src/kwq/KWQColorGroup.mm: Reinstated QCOLOR_GROUP_SIZE.
      
      	* src/kwq/qt/qfontmetrics.h: Removed charWidth and changed _width to take QChar *.
      	* src/kwq/KWQFontMetrics.mm: Removed charWidth and changed _width to take QChar *.
      
      	Merged changes from KDE 3.0 final. Other fixes to get things compiling.
      
      	* src/kdelibs/khtml/css/css_valueimpl.cpp:
      	(CSSStyleDeclarationImpl::setProperty): Fix unused variable.
      	* src/kdelibs/khtml/khtmlview.cpp: (KHTMLView::contentsContextMenuEvent):
      	Fix unused variable.
      	* src/kdelibs/khtml/rendering/font.cpp: (Font::drawText), (Font::width),
      	(Font::update): Disable special "nsbp" logic for now. We can reenable it
      	if necessary.
      	* src/kdelibs/khtml/rendering/render_replaced.cpp: Fix mismerge.
      	* src/kdelibs/khtml/rendering/render_text.cpp: (RenderText::nodeAtPoint):
      	Fix unused variable.
      	* src/kwq/KWQApplication.mm: (QDesktopWidget::width), (QApplication::desktop):
      	Fix mismerge.
      	* src/kwq/KWQColorGroup.mm: Fix QCOLOR_GROUP_SIZE.
      	* src/kwq/KWQFontMetrics.mm: (QFontMetrics::lineSpacing): New.
      	(QFontMetrics::width): Remove unused optimization.
      	* src/kwq/qt/qfontmetrics.h: Add lineSpacing().
      
              Merged changes from previous merge pass.
      
              2002-03-25  Darin Adler  <darin@apple.com>
      
              Last bit of making stuff compile and link. Probably will drop the merge now
              and take it up again when it's time to merge in KDE 3.0 final.
      
      	* src/kwq/KWQEvent.mm: (QFocusEvent::reason): New.
      	* src/kwq/KWQPainter.mm: (QPainter::drawText): New overload.
      
              2002-03-25  Darin Adler  <darin@apple.com>
      
      	* src/kdelibs/khtml/rendering/font.cpp: (Font::width): Make it call _width so we
              don't lose the optimization.
      
      	* src/kwq/KWQApplication.mm: (QDesktopWidget::screenNumber): New.
      	(QDesktopWidget::screenGeometry): New.
              (QApplication::style): New.
      	* src/kwq/KWQColorGroup.mm: (QColorGroup::highlight): New.
      	(QColorGroup::highlightedText): New.
      	* src/kwq/KWQFont.mm: (QFont::setPixelSize): New.
      	* src/kwq/KWQFontMetrics.mm: (QFontMetrics::charWidth): New.
      	* src/kwq/KWQKGlobal.mm: (KGlobal::locale): Implement.
              (KLocale::KLocale): New.
      	(KLocale::languageList): New.
      	* src/kwq/KWQKHTMLPart.mm: (KHTMLPart::sheetUsed): New.
      	(KHTMLPart::setSheetUsed): New.
              (KHTMLPart::zoomFactor): New.
      	* src/kwq/KWQKHTMLSettings.mm: (KHTMLSettings::mediumFontSize): New.
      	* src/kwq/KWQScrollView.mm: (QScrollView::childX): New.
              (QScrollView::childY): New.
      
      	* src/kwq/qt/qapplication.h: style() returns a QStyle &.
      	* src/kwq/qt/qpalette.h: Add Highlight and HighlightedText.
      
              2002-03-24  Darin Adler  <darin@apple.com>
      
              More compiling. Still won't link.
      
      	* src/kdelibs/khtml/khtmlview.cpp: Disable printing and drag and drop code.
      	* src/kdelibs/khtml/rendering/render_text.cpp: (TextSlave::printDecoration):
              Temporarily turn off our smarter underlining since it relies on access to the
              string, and TextSlave doesn't have that any more.
      	(RenderText::nodeAtPoint): Get rid of a workaround we don't need any more for
              a bug that was fixed by KDE folks.
      	* src/kwq/KWQApplication.mm: (QApplication::desktop): Make the desktop be a
              QDesktopWidget.
      	* src/kwq/qt/qnamespace.h: Add MetaButton.
      	* src/kwq/qt/qtooltip.h: Add a maybeTip virtual function member and a virtual
              destructor.
      
              2002-03-24  Darin Adler  <darin@apple.com>
      
              Some fixes to get more stuff to compile.
      
      	* src/kdelibs/khtml/ecma/kjs_dom.cpp: (DOMDocument::getValueProperty):
              Don't try to look at the private m_bComplete to display "complete". Just do
              "loading" and "loaded".
              * src/kdelibs/khtml/khtmlpart_p.h: #ifdef this all out for APPLE_CHANGES.
      	* src/kdelibs/khtml/rendering/font.cpp: (Font::update): Add an explicit cast to
              int to avoid float -> int warning.
      	* src/kdelibs/khtml/rendering/render_table.cpp: (RenderTable::calcColMinMax):
              Add an explicit cast to int to avoid uint compared with int warning.
      	* src/kdelibs/khtml/xml/dom_docimpl.cpp: (DocumentImpl::recalcStyleSelector):
              Use sheetUsed() and setSheetUsed() functions on KHTMLPart intead of getting
              at private fields the way the real KDE code does.
      
              * src/kwq/KWQKHTMLPart.h: Declare zoomFactor(), sheetUsed(), and setSheetUsed().
      	* src/kwq/KWQStyle.h: Add PM_DefaultFramWidth as another metric.
      	* src/kwq/kdecore/klocale.h: Add languageList().
      	* src/kwq/khtml/khtml_settings.h: Add mediumFontSize().
      	* src/kwq/qt/qapplication.h: Add style() and QDesktopWidget.
      	* src/kwq/qt/qevent.h: Add reason().
      	* src/kwq/qt/qfont.h: Add setPixelSize(int).
      	* src/kwq/qt/qfontmetrics.h: Add charWidth() and _charWidth() functions.
      	* src/kwq/qt/qpainter.h: Add drawText() overload with position parameter.
      	* src/kwq/qt/qpalette.h: Add highlight() and highlightedText().
      	* src/kwq/qt/qscrollview.h: Add childX() and childY().
      
      	* src/kwq/KWQApplication.mm: Change KWQDesktopWidget to QDesktopWidget.
      
      WebKit:
      
      	* WebView.subproj/IFPreferences.h:
      	* WebView.subproj/IFPreferences.mm: (+[IFPreferences load]): Remove the old
      	WebKitFontSizes preference.
      	(-[IFPreferences mediumFontSize]), (-[IFPreferences setMediumFontSize:]): New.
      
      	* WebView.subproj/IFWebView.mm: (-[IFWebView reapplyStyles]): Call
      	updateStyleSelector() instead of recalcStyle().
      
              Merged changes from previous merge branch.
      
              2002-03-25  Darin Adler  <darin@apple.com>
      
      	* WebView.subproj/IFPreferences.mm: (+[IFPreferences load]):
              Add WebKitMediumFontSizePreferenceKey.
      
      WebBrowser:
      
      	* Preferences.subproj/TextPreferences.m: (-[TextPreferences defaultFontSize]),
      	(-[TextPreferences setDefaultFontSize:]): Just get and set the new mediumFontSize
      	preference rather than doing the whole fontSizes preference dance.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1024 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b70665a4
  32. 08 Apr, 2002 1 commit