1. 19 Dec, 2002 1 commit
  2. 18 Dec, 2002 2 commits
    • sheridan's avatar
      Alexander-40 stamp · a5f80239
      sheridan authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3129 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • mjs's avatar
      Tools: · cc196b5c
      mjs authored
      	Reviewed by John.
      	- fixed 3131171 - Change Alex versions to satisfy both marketing and B&I requirements
              * Scripts/set-alex-version: New the script takes 3 different
      	versions, source version, marketing version and internal version.
      	Reviewed by John.
      	- fixed 3131171 - Change Alex versions to satisfy both marketing and B&I requirements
              * English.lproj/InfoPlist.strings:
              * JavaScriptCore.pbproj/project.pbxproj:
      	Reviewed by John.
      	- fixed 3131171 - Change Alex versions to satisfy both marketing and B&I requirements
              * English.lproj/InfoPlist.strings:
              * WebFoundation.pbproj/project.pbxproj:
      	Reviewed by John.
      	- fixed 3131171 - Change Alex versions to satisfy both marketing and B&I requirements
              * English.lproj/InfoPlist.strings:
      	Reviewed by John.
      	- fixed 3131171 - Change Alex versions to satisfy both marketing and B&I requirements
              * English.lproj/InfoPlist.strings:
      	Reviewed by John.
      	- fixed 3131171 - Change Alex versions to satisfy both marketing and B&I requirements
              * English.lproj/InfoPlist.strings:
              * WebBrowser.pbproj/project.pbxproj:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3126 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  3. 17 Dec, 2002 4 commits
    • darin's avatar
      JavaScriptCore: · 7894002d
      darin authored
              Reviewed by Trey.
              * JavaScriptCore.pbproj/project.pbxproj: Removed signature.
              Reviewed by Trey.
              * WebFoundation.pbproj/project.pbxproj: Remove signature.
              Reviewed by Trey.
              * WebCore.pbproj/project.pbxproj: Remove signature.
              * kwq/KWQColor.mm: Turn off inlining so we can build even on the
      	compiler that warns about static data in inline functions.
              Reviewed by Trey.
              * WebKit.pbproj/project.pbxproj: Remove signature.
              * WebView.subproj/WebController.m: Turn off inlining so we can build even on the
      	compiler that warns about static data in inline functions.
              Reviewed by Trey.
              * Scripting.subproj/Safari.scriptSuite: Change signature to sfri.
              * WebBrowser.pbproj/project.pbxproj: Change signature to sfri.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3115 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • sheridan's avatar
      Alexander-39, submitting to B&I · 7146c87d
      sheridan authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3110 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • sheridan's avatar
      Alex-38 · 6535a5fe
      sheridan authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3107 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • darin's avatar
      top level: · fc4fd1d0
      darin authored
              Reviewed by Don and Maciej.
              * force-clean-timestamp: Trigger a full build since we are setting
      	MACOSX_DEPLOYMENT_TARGET to 10.2, which requires remaking all PFEs.
              * Scripts/check-copyright: Added.
              Reviewed by Don and Maciej.
      	- fixed 3129115 -- need Apple copyright added to open source documents
      	* tons of files: Added our copyright to files we modified, and updated all to standard format.
      	- other changes
              * JavaScriptCore.pbproj/project.pbxproj: Set MACOSX_DEPLOYMENT_TARGET to 10.2.
      	Also removed completion.cpp.
              * kjs/completion.cpp: Removed.
              * kjs/completion.h: Made the Completion constructor inline.
              * kjs/grammar.y: Removed an obsolete "pretend ifdef". No need to put these in APPLE_CHANGES now.
              Reviewed by Don and Maciej.
              * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
              * WebFoundation.pbproj/project.pbxproj: Set MACOSX_DEPLOYMENT_TARGET to 10.2.
              Reviewed by Don and Maciej.
      	- fixed 3129115 -- need Apple copyright added to open source documents
      	* tons of files: Added copyright message to files we modified and
      	standardized format of copyrights too.
      	- fixed 3129235 -- assert in LRUList visiting apple.com if "Display images" preference is off
              * khtml/misc/loader.cpp:
              (Cache::getLRUListFor): Use the first list for 0-sized objects.
              (Cache::removeFromLRUList): Allow 0-sized objects.
      	- other changes
              * khtml/rendering/render_style.h: Remove bogus unused private constructor.
              * kwq/KWQFont.h: Added copy constructor and assignment operator.
              * kwq/KWQFont.mm:
              (QFont::QFont): Copy constructor now retains the NSFont. The old version didn't which could
      	cause retain/release problems.
              (QFont::operator=): Retain the new NSFont and release the old one.
              * WebCore.pbproj/project.pbxproj: Set MACOSX_DEPLOYMENT_TARGET to 10.2.
              Reviewed by Don and Maciej.
              * WebView.subproj/WebUserAgentSpoofTable.gperf: Added a couple of new domains to the list we
      	spoof as Mac IE, and added comments.
              * WebView.subproj/WebUserAgentSpoofTable.c: Regenerated.
              * WebKit.pbproj/project.pbxproj: Set MACOSX_DEPLOYMENT_TARGET to 10.2
              Reviewed by Don and Maciej.
      	- fixed 3106686 -- Remove "world leak" debugging window before beta
              * Test/PageLoadTestController.m:
              (-[PageLoadTestController windowDidLoad]): (Not part of the bug fix.) Changed the combo
      	box so it automatically sizes to the number of pltsuite files so we don't have to edit
      	the nib all the time.
              (-[PageLoadTestController anyWindowWillClose:]): Don't do any world leak test when the
      	window closes. The one in the page load test window is still there.
              * Debug/DebugUtilities.m: (-[NSApplication validate_toggleAlwaysCheckForWorldLeaks:]):
      	Don't enable or check the debug menu item at all. Put an ifdef in so we can turn it on later.
      	- fixed 3124310 -- remove "app refuses to launch" code before shipping
              * main.m: (main): Remove all the licensing code.
      	- other changes
              * BrowserNSNetServiceExtras.m: Made all locally-defined-and used functions static
      	so we would know if any were unused and for cleanliness.
              (-[NSNetService hostName:andPort:]): Remove some silly assertions.
              (decode_name): Change printf for errors to ERROR.
              (decode_srv): Ditto.
      	(decode_txt): Removed because it's unused.
              (skip_question): Ditto.
              (MyDictionaryKeyHashCallBack): Removed silly assertion.
              (MyCreateCFDictionaryFromTXT): Ditto.
              * WebBrowser.pbproj/project.pbxproj: Set MACOSX_DEPLOYMENT_TARGET to 10.2
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3098 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  4. 16 Dec, 2002 2 commits
  5. 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.
              Reviewed by Maciej.
              * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
              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
              * 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.
              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
  6. 14 Dec, 2002 2 commits
    • 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
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3053 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • 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
  7. 13 Dec, 2002 1 commit
  8. 12 Dec, 2002 3 commits
  9. 11 Dec, 2002 1 commit
    • mjs's avatar
      Reviewed by Don. · 9132b10b
      mjs authored
      	- Add kjsprint global function in Development build for ease of	debugging.
      	- Print uncaught JavaScript exceptions to the console in Development.
      	- Improve wording of exception error messages.
              * kjs/function.cpp:
              * kjs/function.h:
              * kjs/internal.cpp:
              * kjs/interpreter.cpp:
              * kjs/nodes.cpp:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3009 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  10. 10 Dec, 2002 1 commit
    • sullivan's avatar
      Tools: · 0e8b5efe
      sullivan authored
      	Fixed more "Alexander"s that were lurking in places
      	I forgot to look before.
              * Scripts/embed-into-alex:
              * Scripts/run-plt:
      	many occurrences
              * Scripts/set-alex-version:
      	occurred in comment only
              * Scripts/time-alex-startup:
      	my $alex = $ENV{"SAFARI"} || "$symroots/Safari.app";
      	if ($alex =~ /Safari\.app$/) {
      	    $alex .= "/Contents/MacOS/Safari";
      	Fixed more "Alexander"s that were lurking in places I forgot
      	to look before.
              Reviewed by Darin
              * Makefile.am:
      	"rm -rf $(SYMROOTS)/Safari.app/Frameworks/JavaScriptCore.framework"
      	Fixed more "Alexander"s that were lurking in places I forgot
      	to look before.
              Reviewed by Darin
              * Makefile.am:
      	"rm -rf $(SYMROOTS)/Safari.app/Frameworks/WebFoundation.framework"
      	Fixed more "Alexander"s that were lurking in places I forgot
      	to look before.
              Reviewed by Darin
              * Makefile.am:
      	"rm -rf $(SYMROOTS)/Safari.app/Frameworks/WebCore.framework"
      	Fixed more "Alexander"s that were lurking in places I forgot
      	to look before.
              Reviewed by Darin
              * Makefile.am:
      	"rm -rf $(SYMROOTS)/Safari.app/Frameworks/WebKit.framework"
      	Fixed more "Alexander"s that were lurking in places
      	I forgot to look before.
              Reviewed by Darin
              * Makefile.am:
      	"rm -rf $(SYMROOTS)/Safari.app" in make clean
              * Preferences.subproj/English.lproj/GeneralPreferences.nib:
      	"When Safari Quits"
              * Scripting.subproj/Safari.scriptSuite:
      	value for Name key
              * copy-frameworks-to-dstroot.sh:
              * embed-frameworks.sh:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2995 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  11. 09 Dec, 2002 2 commits
    • 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.
              Reviewed by Maciej.
              * JavaScriptCore.pbproj/project.pbxproj: Bump versions to 0.8 and 35u.
      	* English.lproj/InfoPlist.strings: In here too.
              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.
              Reviewed by Maciej.
              * WebCore.pbproj/project.pbxproj: Bump versions to 0.8 and 35u.
              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.
              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
    • mjs's avatar
      Reviewed by Ken. · ca7af085
      mjs authored
      	- fixed 3059637 - all articles missing at excite.com sports page
      	- fixed 3065903 - most of content missing at excite.com news page
      	These bugs both came up because a JavaScript function has a var
      	declaration that collides with a function parameter name.
              * kjs/nodes.cpp:
              (VarDeclNode::processVarDecls): Don't set the property to
      	undefined if a property with that name is already set on the
      	global object. Otherwise we may clobber function parameters with
      	undefined even before hitting a possible var initializer.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2974 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  12. 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.
              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.
              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
              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
              Reviewed by: Darin Adler
      	- made framework embedding work correctly with buildit
              * copy-frameworks-to-dstroot.sh: Copy frameworks from
              * embed-frameworks.sh: Fixed typo.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2958 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  13. 05 Dec, 2002 1 commit
  14. 04 Dec, 2002 5 commits
    • mjs's avatar
      Reviewed by: Richard Williamson · e5d3a406
      mjs authored
      	Added explicit lock/unlock methods so Sherlock can grab the
      	interpreter lock as needed.
      	- partially addressed 3084320 - JavaScriptCore crash
              * kjs/internal.cpp:
              * kjs/internal.h:
              * kjs/interpreter.cpp:
              * kjs/interpreter.h:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2935 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • mjs's avatar
      Added missing reviewer. · 365dd053
      mjs authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2934 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • 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
    • mjs's avatar
      top level: · fb68e855
      mjs authored
              Reviewed by: Richard Williamson
              * pcre/doc/*: Added.
              * pcre/testdata/*: Added.
         (i)   Added long-form option names like gnu grep.
         (ii)  Added --help to list all options with an explanatory phrase.
         (iii) Added -r, --recursive to recurse into sub-directories.
         (iv)  Added -f, --file to read patterns from a file.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2927 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • mjs's avatar
      Reviewed by: Darin Adler · e62e1a3c
      mjs authored
      	- imported PCRE 3.9 into the tree; this isn't actually compiled or
      	used yet.
              * pcre/*: Added.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2926 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  15. 03 Dec, 2002 3 commits
  16. 27 Nov, 2002 1 commit
  17. 26 Nov, 2002 5 commits
    • sheridan's avatar
      Alex-34 stamp · 28b2189d
      sheridan authored
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2884 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • mjs's avatar
      Change ActivationImp to be allocated via the garbage collector · 0e6b4f09
      mjs authored
      	again instead of on the stack. This fixes the following four
      	regressions but sadly it causes a 6% performance hit. It's
      	probably possibly to reduce the hit a bit by being smarter about
      	inlining and the way the marking list variant is implemented, but
      	I'll look into that later.
      	- fixed 3111500 - REGRESSION: crash in "KJS::ScopeChain::mark()" on www.posci.com
      	- fixed 3111145 - REGRESSION: reproducible crash in KJS hashtable lookup at time.com
      	- fixed 3110897 - REGRESSION: javascript crasher on http://bmwgallery.tripod.com/
      	- fixed 3109987 - REGRESSION: Reproducible crash in KJS ObjectImp at live365.com
      	- improved DEBUG_COLLECTOR mode a bit by never giving memory back
      	to the system.
              * kjs/collector.cpp:
              * kjs/context.h:
              * kjs/function.cpp:
              * kjs/function.h:
              * kjs/internal.cpp:
              * kjs/list.cpp:
              * kjs/list.h:
              * kjs/value.cpp:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2883 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • darin's avatar
      * kjs/property_map.cpp: · 13d73dc6
      darin authored
      	(PropertyMap::save): Look at the attributes the same way in the single hash entry
      	case as in the actual hash table case. Change the rule for which attributes to save
      	to "attributes that don't have the ReadOnly, DontEnum, or Function bit set".
              Also fix bug where saving an empty property map would leave the count set to the old value.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2882 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • rjw's avatar
      JavaScriptCore · 3f05b75a
      rjw authored
              Remove debugging code.  Could be cause of performance regresssion.
              * kjs/nodes.cpp:
              Restire attributes correctly.
              * kjs/property_map.cpp:
      WebKit        Only cache page if the load has completed.
              * WebView.subproj/WebFramePrivate.m:
              (-[WebFrame _setState:]):
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2881 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • rjw's avatar
      JavaScriptCore · e67107bd
      rjw authored
              Use delete[] (not delete) operator to delete array.
              * kjs/property_map.cpp:
              Use cleaned up API to enable/disable page cache.
              * Debug/DebugUtilities.m:
              (-[BrowserDocument toggleBackForwardEnabled:]):
              Cleanup up leaking objects in page cache.
              * kwq/KWQKHTMLPart.mm:
              * kwq/WebCoreBridge.mm:
              (-[KWQPageState initWithDocument:DOM::URL:windowProperties:KJS::locationProperties:KJS::]):
              (-[KWQPageState dealloc]):
              Cleanup leaking objects in page cache.
              Cleaned up API a bit.
              * History.subproj/WebBackForwardList.h:
              * History.subproj/WebBackForwardList.m:
              (-[WebBackForwardList dealloc]):
              (+[WebBackForwardList setUsesPageCache:]):
              (+[WebBackForwardList usesPageCache]):
              (+[WebBackForwardList setPageCacheSize:]):
              (+[WebBackForwardList pageCacheSize]):
              * History.subproj/WebHistoryItem.h:
              * History.subproj/WebHistoryItem.m:
              (-[WebHistoryItem setHasPageCache:]):
              * WebCoreSupport.subproj/WebBridge.m:
              (-[WebBridge saveDocumentToPageCache:]):
              * WebKit.exp:
              * WebView.subproj/WebFramePrivate.m:
              (-[WebFrame _canCachePage]):
              (-[WebFrame _purgePageCache]):
              (-[WebFrame _setState:]):
              (-[WebFrame _continueLoadRequestAfterNavigationPolicy:request:]):
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2874 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  18. 25 Nov, 2002 3 commits
    • rjw's avatar
      i Added a debug menu to turn back/forward cache on and off. · 683c446f
      rjw authored
              Off by default.  Use with discretion.  Still leaks like
              a sieve.  Useful to provide a sense of potential speed up.
              * Debug/DebugUtilities.m:
              (-[DebugUtilities createDebugMenu]):
              (-[BrowserDocument validate_showDOMTree:]):
              (-[BrowserDocument toggleBackForwardEnabled:]):
              Changes fro back/forward cache.
              * History.subproj/WebHistoryItem.h:
              * History.subproj/WebHistoryItem.m:
              (+[WebHistoryItem setUsePageCache:]):
              (+[WebHistoryItem usePageCache]):
              * WebCoreSupport.subproj/WebBridge.m:
              (-[WebBridge saveDocumentToPageCache:]):
              * WebView.subproj/WebFramePrivate.h:
              * WebView.subproj/WebFramePrivate.m:
              (-[WebFrame _detachFromParent]):
              (-[WebFrame _canCachePage]):
              (-[WebFrame _setState:]):
              Tweaked some debugging info.
              * khtml/xml/dom_docimpl.cpp:
              Added debugging info.  Fixed property map save function.
              * kjs/nodes.cpp:
              * kjs/property_map.cpp:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2871 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • rjw's avatar
      Changes for back/forward. Currently disabled. · b0eb2ac5
      rjw authored
              * History.subproj/WebHistoryItem.h:
              * History.subproj/WebHistoryItem.m:
              (-[WebHistoryItem dealloc]):
              (-[WebHistoryItem setPageCacheEnabled:]):
              (-[WebHistoryItem pageCache]):
              * Misc.subproj/WebKitLogging.h:
              * Misc.subproj/WebKitLogging.m:
              * WebCoreSupport.subproj/WebBridge.m:
              (-[WebBridge saveDocumentToPageCache:]):
              * WebView.subproj/WebDataSource.m:
              (-[WebDataSource startLoading]):
              * WebView.subproj/WebDataSourcePrivate.h:
              * WebView.subproj/WebDataSourcePrivate.m:
              (-[WebDataSource _startLoading:]):
              (-[WebDataSource _startLoading]):
              (-[WebDataSource _commitIfReady:]):
              (-[WebDataSource _commitIfReady]):
              (-[WebDataSource _setStoredInPageCache:]):
              (-[WebDataSource _storedInPageCache]):
              * WebView.subproj/WebFramePrivate.h:
              * WebView.subproj/WebFramePrivate.m:
              (-[WebFrame _transitionToCommitted:]):
              (-[WebFrame _canCachePage]):
              (-[WebFrame _purgePageCache]):
              (-[WebFrame _setState:]):
              (-[WebFrame _continueFragmentScrollAfterNavigationPolicy:request:]):
              (-[WebFrame _continueLoadRequestAfterNavigationPolicy:request:]):
              Changes for back/forward.  Currently disabled.
              * ForwardingHeaders/kjs/property_map.h: Added.
              * khtml/ecma/kjs_window.cpp:
              * khtml/ecma/kjs_window.h:
              * khtml/khtmlpart_p.h:
              * khtml/xml/dom_docimpl.cpp:
              * khtml/xml/dom_docimpl.h:
              * kwq/KWQKHTMLPart.h:
              * kwq/KWQKHTMLPart.mm:
              * kwq/WebCoreBridge.h:
              * kwq/WebCoreBridge.mm:
              (-[WebCoreBridge openURL:reload:headers:lastModified:pageCache:]):
              (-[WebCoreBridge saveDocumentToPageCache]):
              (-[WebCoreBridge canCachePage]):
              (-[KWQPageState initWithDocument:DOM::URL:windowProperties:KJS::locationProperties:KJS::]):
              (-[KWQPageState dealloc]):
              (-[KWQPageState DOM::]):
              (-[KWQPageState URL]):
              (-[KWQPageState KJS::]):
              Changes for back/forward.  Currently disabled.
              * kjs/property_map.cpp:
              * kjs/property_map.h:
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2863 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    • darin's avatar
      JavaScriptCore: · d4ca2268
      darin authored
              * kjs/property_map.cpp: Rearrange code a little bit and tweak indentation.
      	This might provide a tiny speedup because we don't look at the single entry
      	any more in cases where the _table pointer is non-0.
      	- fixed a problem I discovered in testing where multiple identical bookmarks confuse us
              * Bookmarks.subproj/WebBookmarkList.m:
              (-[WebBookmarkList removeChild:]): Use indexOfObjectIdenticalTo: and removeObjectIdenticalTo:
      	instead of containsObject: and removeObject:.
              (-[WebBookmarkList insertChild:atIndex:]): Use indexOfObjectIdenticalTo: instead of
      	containsObject: in the assertion.
              - fixed 3042781 -- slidey animation sometimes draws partial item behind overflow indicator
              - fixed 3090845 -- would be nice to be able to drop bookmarks into folders using the bookmark toolbar
              - fixed 3107422 -- bookmark in toolbar gets stuck highlighted if window is moved by the stacking code
              - fixed problem where you would get an overflow indicator even if there was room for the last bookmark
              - fixed problem where the cursor could change to an I-beam during a constrained drag
              * FavoriteButton.h: Add canAcceptDroppedBookmark, setHighlighted, and
      	acceptDroppedBookmark methods for use when doing a constrained drag that
      	drop items into folders. Also add a category on NSView to be used to pause
      	animation when over a button that will accept a drop.
              * FavoriteButton.m:
              (-[FavoriteButton registerForDraggedTypes]): Accept DraggedFavoriteButtonPboardType.
              (-[FavoriteButton initTrackingRect]): Add an observer so we update the tracking rect
      	when the window moves too. This fixes bug 3107422.
              (-[FavoriteButton bookmarksFromPasteboard:]): Added. Helper method that accepts drag
      	from DraggedFavoriteButtonPboardType as well as the other bookmark pasteboard types,
      	but only within the same superview.
              (-[FavoriteButton determineDragOperation:]): Call [self bookmarksFromPasteboard:]
      	instead of [WebBookmark bookmarksFromPasteboard].
              (-[FavoriteButton draggingEntered:]): Pause animation when we enter a button that can
      	accept a dropped bookmark. This makes sure that the button doesn't slide out from under
      	the mouse.
              (-[FavoriteButton draggingUpdated:]): Don't do any highlighting here because it's not
              (-[FavoriteButton draggingExited:]): Resume the animation in case we paused it.
              (-[FavoriteButton performDragOperation:]): Call [self bookmarksFromPasteboard:]
      	instead of [WebBookmark bookmarksFromPasteboard]. Also resume the animation in case we
      	paused it.
              (-[FavoriteButton canAcceptDroppedBookmark]): Added. Returns YES if the bookmark's type
      	is WebBookmarkTypeList.
              (-[FavoriteButton setHighlighted:]): Added. Calls setHighlighted: on the button's cell.
              (-[FavoriteButton acceptDroppedBookmark:]): Added. Does the same work that performDragOperation
      	does for the case of moving a button within the same bar.
              (-[FavoriteButton _hitTest:dragTypes:]): Don't accept drags at the edges of the button.
      	This makes space between buttons so there's room to put new buttons between two old ones, even
      	if the old ones are both for folders.
              (-[NSView pauseAnimation]): Added. Passes the call up the superview chain.
              (-[NSView resumeAnimation]): Added. Passes the call up the superview chain.
              * FavoritesBar.m:
              (-[FavoritesBar maxButtonXWithoutClipIndicator]): Added. Leaves a margin,
      	currently 3 pixels.
              (-[FavoritesBar maxButtonXWithClipIndicator]): Added. Leaves a margin,
      	currently 3 pixels.
              (-[FavoritesBar maxButtonX]): Modified to call either maxButtonXWithoutClipIndicator
      	or maxButtonXWithClipIndicator depending on whether the clip indicator is showing.
              (-[FavoritesBar slideButtonsIntoPlace]): Slide buttons off the right side of the bar
      	if they are going to be clipped out. Allow the last button to go all the way to the
      	right, using the space that would otherwise be used by the clip indicator. Make the
      	clip indicator disappear if buttons are going to slide past it to the left or the right.
              (-[FavoritesBar _layOutButtons]): Include the smarts about leaving space for the
      	item to be dropped and about leaving out the currently dragged item that was formerly
      	only in slideButtonsIntoPlace. Also include the smarts about positioning mentioned
      	above, and do positioning here, rather than in _refreshButtons. To allow calling this
      	during constrained dragging, add the dragged item after adding all the other items.
              (-[FavoritesBar finishedSlidingAnimation:]): Added. Calls _layOutButtons. This is used
      	to make the clip indicator reappear in case slideButtonsIntoPlace made it disappear.
              (-[FavoritesBar addButtonForBookmark:]): Removed left edge parameter. This no method longer
              tries to position bookmarks at all.
              (-[FavoritesBar _refreshButtons]): Get rid of code that attempts to position the buttons.
      	We now do that in _layOutButtons.
              (-[FavoritesBar initWithView:]): Initialize _dragSourceIndexIfMoving to NSNotFound.
      	Make us the animation's delegate so we get a finishedSlidingAnimation:.
              (-[FavoritesBar performDragOperation:]): Check for drags within the favorites bar by
      	checking _dragSourceIndexIfMoving rather than looking for DraggedFavoriteButtonPboardType.
      	Also reset _dropIndex since _layOutButtons now looks at it.
              (-[FavoritesBar draggingEnded:]): Reset _dragSourceIndexIfMoving since _layOutButtons
      	now looks at it.
              (-[FavoritesBar reorderFavoriteButton:fromMouseDownEvent:]): Disable cursor rectangles and
      	set the cursor to the arrow cursor during the reorder process. Add hit testing so that the
      	constrained dragging can drop items in FavoriteButtons that are folders. Pause animation
      	when over such a FavoriteButton, and resume it when not over it.
              (-[FavoritesBar pauseAnimation]): Added.
              (-[FavoritesBar resumeAnimation]): Added.
              * FavoritesBarView.h: Add pauseAnimation and resumeAnimation methods to the delegate.
              * FavoritesBarView.m:
              (-[FavoritesBarView pauseAnimation]): Pass call on to the delegate.
              (-[FavoritesBarView resumeAnimation]): Ditto.
              * SlidingAnimation.h: Add delegate, setDelegate method, pause and resume methods, and
      	finishedSlidingAnimation: method for the delegate.
              * SlidingAnimation.m:
              (-[SlidingAnimation updateTimer]): Take the paused state into account, and also call the
      	finishedSlidingAnimation: method when the animation completes.
              (-[SlidingAnimation showNextFrame]): Simplify by using a call to updateTimer to do most
      	of the work.
              (-[SlidingAnimation setDelegate:]): Added. Just sets the delegate field.
              (-[SlidingAnimation pause]): Added. Just sets the paused state and calls updateTimer.
              (-[SlidingAnimation resume]): Added. Just sets the paused state and calls updateTimer.
      	- fixed a problem I discovered in testing where multiple identical bookmarks confuse us
              * BookmarksViewController.m:
              ([BookmarksViewController anyAncestorOfBookmark:inArray:]): Use indexOfObjectIdenticalTo:
      	instead of containsObject:, because we want to use identity on bookmarks, not equality
      	([BookmarksViewController bookmarkOrAnyAncestor:inArray:]): Ditto.
      	([BookmarksViewController newContentItemWithTitle:URLString:type:positionIgnoresSelection:]): Ditto.
      	([BookmarksViewController sourceRowForBookmark:]): Ditto.
      	([BookmarksViewController outlineView:validateDrop:proposedItem:proposedChildIndex:]): Ditto.
      	([BookmarksViewController paste:]): Ditto.
      	([UndoRemoveInfo initWithBookmark:]): Ditto.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2861 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  19. 24 Nov, 2002 1 commit
    • darin's avatar
      JavaScriptCore: · 8d450d34
      darin authored
      	- changed ScopeChain to not ref each item in the chain, and use
              marking instead; gains 1% on JavaScript iBench
              * kjs/context.h: Return chain by reference.
              * kjs/internal.cpp: (ContextImp::mark): Mark the scope chain.
              * kjs/interpreter.cpp: (Context::scopeChain): Return chain by reference.
              * kjs/interpreter.h: Make some Context methods inline.
              * kjs/nodes.cpp:
              (ThisNode::evaluate): Get at ContextImp directly.
              (ResolveNode::evaluateReference): Ditto.
              (VarDeclNode::evaluate): Ditto.
              (VarDeclNode::processVarDecls): Ditto.
              (FuncDeclNode::processFuncDecl): Pass ScopeChain directly to avoid copying.
              (FuncExprNode::evaluate): Ditto.
              * kjs/object.cpp: Make scope and setScope inline.
              * kjs/object.h: Make scope return a chain by reference. Make scope and
      	setScope both be inline. Use a normal ScopeChain instead of NoRefScopeChain
      	since they are now one and the same.
              * kjs/scope_chain.cpp: Remove all the code to ref and deref objects.
      	Merge NoRefScopeChain in with ScopeChain since they both work this way now.
              * kjs/scope_chain.h: Remove NoRefScopeChain and simplify the ref counts.
      	Make more functions inline.
              * force-js-clean-timestamp: Touch for ScopeChain change.
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2851 268f45cc-cd09-0410-ab3c-d52691b4dbfc