Timeline


and

01/14/03:

22:42 Changeset [3325] by darin

Reviewed by Maciej.

  • fixed 3147036 -- words separated only by newlines are getting rammed together on XML page
  • fixed 3147032 -- preformatted text is missing much whitespace on XML page
  • khtml/xml/xml_tokenizer.cpp: (XMLHandler::characters): Don't try to strip whitespace at all, because it needs to be in the DOM.
  • add support for more MIME types
  • khtml/khtml_part.cpp: (KHTMLPart::begin): Add "application/xml" and "application/xhtml+xml".
19:28 Changeset [3324] by mjs

WebFoundation:

Reviewed by Darin, Dave and Trey, and given the seal of approval by Don.

Added a new NSFileManager extension method which can be used to
remove a file but will refuse to remove a directory. Used it
wherever we remove files but not directories.

  • Misc.subproj/WebNSFileManagerExtras.h:
  • Misc.subproj/WebNSFileManagerExtras.m: (-[NSFileManager _web_removeFileOnlyAtPath:]): New method that removes a file using unlink(2), which means we can't possibly remove a directory. Also unlink ._ file if we are on a filesystem that doesn't support a resource fork.
  • Database.subproj/WebFileDatabase.m: (-[WebFileDatabase _truncateToSizeLimit:]): Use the new method. (-[WebFileDatabase performRemoveObjectForKey:]): Use the new method.

WebKit:

Reviewed by Darin, Dave and Trey, and given the seal of approval by Don.

Use new safer file removal call that does not handle directories.

  • Downloads.subproj/WebDownloadHandler.m: (-[WebDownloadHandler cleanUpAfterFailure]): Use _web_removeFileOnlyAtPath:
  • Plugins.subproj/WebBaseNetscapePluginStream.m: (-[WebBaseNetscapePluginStream dealloc]): Use _web_removeFileOnlyAtPath: (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): Use _web_removeFileOnlyAtPath:
18:47 Changeset [3323] by darin

Reviewed by Dave.

  • Plugins.subproj/WebBaseNetscapePluginStream.m: (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): Fixed uninitialized variable warning so builds work again.
  • WebView.subproj/WebDataSourcePrivate.m: (+[WebDataSource _repTypes]): Added "application/xml".
  • WebView.subproj/WebViewPrivate.m: (+[WebView _viewTypes]): Added "application/xml".
  • English.lproj/Localizable.strings: Regenerated.
  • English.lproj/StringsNotToBeLocalized.txt: Updated for above change.
16:56 Changeset [3322] by hyatt

Make FOUC work with XML.

Reviewed by darin.

  • khtml/html/html_baseimpl.cpp: (HTMLBodyElementImpl::attach):
  • khtml/xml/dom_xmlimpl.cpp: (ProcessingInstructionImpl::ProcessingInstructionImpl): (ProcessingInstructionImpl::checkStyleSheet): (ProcessingInstructionImpl::isLoading): (ProcessingInstructionImpl::sheetLoaded): (ProcessingInstructionImpl::setStyleSheet):
  • khtml/xml/dom_xmlimpl.h:
13:51 Changeset [3321] by darin

Reviewed by Maciej.

  • first cut at XML parsing with expat
  • khtml/khtml_part.cpp: (KHTMLPart::begin): Remove APPLE_CHANGES and use the XML code for text/xml documents.
  • WebCore.pbproj/project.pbxproj: Added the ForwardingHeaders to the project. Added new QXml files, removed old ones.
  • kwq/KWQXml.h: Removed.
  • kwq/KWQXml.mm: Removed.
  • kwq/KWQXmlAttributes.h: Added.
  • kwq/KWQXmlAttributes.mm: Added.
  • kwq/KWQXmlDefaultHandler.h: Added.
  • kwq/KWQXmlDefaultHandler.mm: Added.
  • kwq/KWQXmlSimpleReader.h: Added.
  • kwq/KWQXmlSimpleReader.mm: Added.
  • kwq/KWQString.h: Add fromUtf8 functions.
  • kwq/KWQString.mm: (QString::fromUtf8): Added. Simple implementation just calls fromStringWithEncoding. We may need something more efficient later, at least for all-ASCII text.
  • other changes
  • khtml/khtml_part.h: Fix spelling of occurrence.
  • khtml/misc/decoder.cpp: (Decoder::decode): Turn on Japanese auto-detect. It doesn't seem to work yet, but this does no harm.
13:23 Changeset [3320] by mjs

Reviewed by Darin.

  • fixed 3144771 - Crash in KJS::WindowFunc::tryCall leaving www.smogcheck.org

I fixed this by making sure we couldn't send the unload event twice, which was
happening before in certain circumstances.

  • khtml/khtml_part.cpp: (KHTMLPart::closeURL): When emitting load event, note that unload event has not yet been sent. (KHTMLPart::checkEmitLoadEvent): Note when unload event has been sent to avoid sending it twice.
  • khtml/khtmlpart_p.h:
13:14 Changeset [3319] by rjw

Fix for 3139120. This patch was contributed by Mitz Pettel. It correctly
handles the visually ordered encodings. The patch also picks up changes
from kde that accounts for european numbers correctly in bidiReorderLine().

Reviewed by Dave.

08:55 Changeset [3318] by darin

Reviewed by Trey, John, and Maciej, and given the seal of approval by Don.

  • fixed 3143317 -- plug-in supplied URLs cause correspondingly named files in /tmp to be deleted
  • fixed 3143330 -- plug-in supplied URLs can overwrite files used in other windows by same plug-in
  • Plugins.subproj/WebBaseNetscapePluginStream.h: Make path be a char * rather than an NSString.
  • Plugins.subproj/WebBaseNetscapePluginStream.m: (-[WebBaseNetscapePluginStream dealloc]): Use unlink() to delete the temporary file we made. Since we created the file, we know it doesn't have any fancy stuff like a resource fork. (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): Create the file with mkstemp instead of trying to come up with our own filename. This eliminates the need to delete an old file (because we are guaranteed the file is new) and also mkstemp opens the file for us, so we just need to write the contents.
  • English.lproj/StringsNotToBeLocalized.txt: Updated for above changes.
  • unrelated change to help with other bug analysis
  • WebView.subproj/WebBaseResourceHandleDelegate.m: Added assertions.

01/13/03:

19:33 Changeset [3317] by mjs

Reviewed by Darin.

  • made minor tweaks to work better with Mozilla's JavaScript tests.
  • kjs/testkjs.cpp: (VersionFunctionImp::call): Implemented (main): Ignore files named -f (hack to match -f <filename syntax that moz JavaScript tests expect). Also use return code 3 instead of 1 for uncaught exception.
18:02 Changeset [3316] by cblu

WebFoundation:

Fix for checking and creating proper download filenames.

Reviewed by mjs, kocienda, trey.

  • CacheLoader.subproj/WebResourceResponse.h:
  • CacheLoader.subproj/WebResourceResponse.m: removed the filename method. That is now a category in WebKit
  • CacheLoader.subproj/WebResourceResponsePrivate.h:
  • Misc.subproj/WebNSStringExtras.h:
  • Misc.subproj/WebNSStringExtras.m: (-[NSString _web_filenameByFixingIllegalCharacters]): new, turns "/" into "-", strips leading dots
  • ProtocolHandlers.subproj/WebHTTPProtocolHandler.m: (-[WebHTTPProtocolHandler setResponseMetadata:]): don't parse out the content disposition. This is done in WebKit.

WebKit:

Fix for checking and creating proper download filenames.

Reviewed by mjs, kocienda, trey.

  • WebKit.pbproj/project.pbxproj:
  • WebView.subproj/WebControllerPolicyDelegate.h: changes for renamed savePathForResponse:andRequest: method
  • WebView.subproj/WebDefaultPolicyDelegate.m: changes for renamed savePathForResponse:andRequest: method (-[WebDefaultPolicyDelegate savePathForResponse:andRequest:]): renamed
  • WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient continueAfterContentPolicy:response:]): changes for renamed savePathForResponse:andRequest: method

WebBrowser:

Fix for checking and creating proper download filenames.

Reviewed by mjs, kocienda, trey.

  • BrowserDocument.m: (-[BrowserDocument pageName]): call _web_filenameByFixingIllegalCharacters on the web page title when saving the document
  • BrowserWebController.m: (-[BrowserWebController savePathForResponse:andRequest:]): renamed, removed temporary that checks for invalid filename. That work is done in WebKit.
  • HTMLSourceDocument.m: (-[HTMLSourceDocument displayName]): call suggestedFilenameForSaving
10:27 Changeset [3315] by darin
  • kjs/ustring.h: Fix spelling of occurrence.
09:38 Changeset [3314] by darin

Reviewed by Ken.

  • fixed 3143781 -- submitting the same form twice doesn't work properly (example at directory.apple.com)
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::submitForm): Only run the "don't submit the same form twice" logic when the form is one that affects the frame that the form is in.
07:49 Changeset [3313] by darin

Reviewed by Maciej.

  • turned more recursion into iteration, and fixed some backwards stuff
  • kjs/grammar.y: Use the normal idiom for CaseClauses and FormalParameterList rather than using append().
  • kjs/grammar.cpp: Regenerated.
  • kjs/nodes.h: Change ClauseListNode and ParameterNode to use the normal idiom, and got rid of append methods. Also added friend declarations and calls to reverseList().
  • kjs/nodes.cpp: (StatListNode::ref): Iteration, not recursion. (StatListNode::deref): Iteration, not recursion. (StatListNode::execute): Iteration, not recursion. (StatListNode::processVarDecls): Iteration, not recursion. (CaseClauseNode::reverseList): Added. (ClauseListNode::ref): Iteration, not recursion. (ClauseListNode::deref): Iteration, not recursion. (ClauseListNode::processVarDecls): Iteration, not recursion. (CaseBlockNode::reverseLists): Added. (ParameterNode::ref): Iteration, not recursion. (ParameterNode::deref): Iteration, not recursion. (FuncDeclNode::reverseParameterList): Added. (FuncExprNode::reverseParameterList): Added. (SourceElementsNode::ref): Iteration, not recursion. (SourceElementsNode::deref): Iteration, not recursion. (SourceElementsNode::execute): Use variable name of n to match other functions. (SourceElementsNode::processFuncDecl): Ditto. (SourceElementsNode::processVarDecls): Ditto.
  • kjs/nodes2string.cpp: (SourceStream::operator<<): Used a switch statement for a bit of added clarity. (ElementNode::streamTo): Iteration, not recursion. (PropertyValueNode::streamTo): Iteration, not recursion. (ArgumentListNode::streamTo): Iteration, not recursion. (StatListNode::streamTo): Iteration, not recursion, and fixed order. (VarDeclListNode::streamTo): Iteration, not recursion. (ClauseListNode::streamTo): Used for statement to match other functions. (CaseBlockNode::streamTo): Used for statement to match other functions. (ParameterNode::streamTo): Iteration, not recursion. (SourceElementsNode::streamTo): Iteration, not recursion, and fixed order that has been backwards since I changed how this works in nodes.cpp.

01/12/03:

21:53 Changeset [3312] by darin
  • WebCorePrefix.h: Needed to touch this file since we now have plain C source (expat).
  • kwq/KWQKHTMLPart.cpp: Reformatted a bit.
21:30 Changeset [3311]

This commit was manufactured by cvs2svn to create tag 'EXPAT_1_95_5'.

21:30 Changeset [3310] by darin

Check in files that I had modified from expat 1.95.5.

21:28 Changeset [3309]

This commit was manufactured by cvs2svn to create branch 'expat'.

21:28 Changeset [3308] by darin

Reviewed by Maciej.

  • first step towards integrating expat for XML support: make it compile and link
  • kwq/KWQXml.mm: (QXmlSimpleReader::parse): Put in a placeholder that calls expat. Mainly just used to make sure we link.
  • WebCore.pbproj/project.pbxproj: Added expat files.
  • expat/COPYING: Added.
  • expat/Changes: Added.
  • expat/MANIFEST: Added.
  • expat/README: Added.
  • expat/expat_config.h: Added.
  • expat/lib/ascii.h: Added.
  • expat/lib/asciitab.h: Added.
  • expat/lib/expat.h: Added.
  • expat/lib/iasciitab.h: Added.
  • expat/lib/internal.h: Added.
  • expat/lib/latin1tab.h: Added.
  • expat/lib/nametab.h: Added.
  • expat/lib/utf8tab.h: Added.
  • expat/lib/xmlparse.c: Added.
  • expat/lib/xmlrole.c: Added.
  • expat/lib/xmlrole.h: Added.
  • expat/lib/xmltok.c: Added.
  • expat/lib/xmltok.h: Added.
  • expat/lib/xmltok_impl.c: Added.
  • expat/lib/xmltok_impl.h: Added.
  • expat/lib/xmltok_ns.c: Added.
19:49 Changeset [3307] by darin

Reviewed by John.

  • fixed 3144882 -- pretend to be WinIE for abcnews.com
  • WebView.subproj/WebControllerPrivate.h: Add an enum, UserAgentStringType, with values Safari, MacIE, and WinIE. Also add NumUserAgentStringTypes and turn the userAgent and userAgentWhenPretendingToBeMacIE strings into an array indexed by type.
  • WebView.subproj/WebController.m: (-[WebController setApplicationNameForUserAgent:]): Use a loop to discard the user agent strings, since we have an array now. (-[WebController userAgentForURL:]): Change user agent algorithm to check two strings rather than once against the spoof table, allowing two dots in the "domain name", which is needed for "abcnews.go.com". Get a user agent string type from the table rather than just a boolean "pretend to be MacIE". Store a string per type rather than one for normalcy and one for MacIE. Add a case for WinIE to the user agent computations.
  • English.lproj/StringsNotToBeLocalized.txt: Update for change above.
  • WebView.subproj/WebControllerPrivate.m: (-[WebControllerPrivate dealloc]): Use a loop to discard the user agent strings, since we have an array now. (-[WebController _defaultsDidChange]): Ditto.
  • WebView.subproj/WebUserAgentSpoofTable.gperf: Add a UserAgentStringType field to the struct. Add MacIE to each existing table entry, and add a new one that says WinIE for abcnews.go.com.
  • Makefile.am: Pass "-F ,0" to gperf so that we don't get warnings compiling empty entries in the hash table.
  • WebView.subproj/WebUserAgentSpoofTable.c: Re-generated.
  • other changes
  • WebView.subproj/WebHTMLView.m: Removed some old, dead, #if 0'd code.
10:43 Changeset [3306] by darin

Reviewed by John.

  • changes inspired by things I noticed reviewing diffs vs. KDE when preparing the tarball
  • kjs/function.cpp: (GlobalFuncImp::call): Use strtol when strtoll is not available. Do #ifndef NDEBUG, not #if !NDEBUG.
  • kjs/function.h: Do #ifndef NDEBUG, not #if !NDEBUG.
  • kjs/internal.cpp: (InterpreterImp::initGlobalObject): Do #ifndef NDEBUG, not #if !NDEBUG. (KJS::printInfo): Remove case for ListType and remove default case that just ends up suppressing the "missing case" warning and does no good.
  • kjs/interpreter.cpp: (Interpreter::evaluate): Do #ifndef NDEBUG, not #if !NDEBUG.
  • kjs/nodes.cpp: (Node::finalCheck): Fix accidentally-deleted code in an ifdef we never compile. (FunctionCallNode::evaluate): Remove bogus XXX comment. Maciej put this comment in, and together we determined it's not needed. (TypeOfNode::evaluate): Ditto.
  • kjs/object.cpp: Remove assert that refers to ListType.
  • kjs/value.h: Remove ListType.
10:41 Changeset [3305] by darin

Reviewed by Dave.

  • minor cleanup of plug-in-related classes in ECMA directory
  • khtml/ecma/kjs_navigator.cpp: Remove unneeded PluginBase member functions ref() and deref(). Instead just make Plugin and MimeType both derive from PluginBase and remove APPLE_CHANGES. (Navigator::getValueProperty): Don't use "Konqueror" for the fallback. Just return Undefined() for that case since we will never reach it anyway.
  • simplify the logic in khtmlMoveMouseEvent so it's easier to decipher
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::khtmlMouseMoveEvent): By merging two identical if statements, the logic of this function becomes much clearer.
09:05 Changeset [3304] by darin

Reviewed by Dave.

  • fixed a bunch of places where KHTML did !x == y instead of !(x == y) or x != y.
  • khtml/css/cssstyleselector.cpp: (CSSStyleSelector::applyRule):
  • khtml/html/htmlparser.cpp: (KHTMLParser::insertNode):
  • khtml/misc/loader.cpp: (Cache::requestImage), (Cache::requestStyleSheet):
  • khtml/rendering/render_flow.cpp: (RenderFlow::setStyle): Changed !x == y to x != y. In each case, there's a reason that this does not create any problem in practice, which is why we didn't rush to get this in for beta 1.
09:01 Changeset [3303] by darin

Reviewed by John.

  • fixed 3144789 -- reproducible crash in KHTMLParser::freeBlock on a page at www.library.arizona.edu
  • khtml/html/htmlparser.cpp: (KHTMLParser::finished): Call freeBlock here rather than waiting until the parser is destroyed. This fixes the bug because when the parser is destroyed, the document is already destroyed, so we have a dangling current pointer to an already-destroyed node.
  • fixed 3142024 -- crash/hang/assert on java.sun.com in HTMLTokenizer

The bug was caused by an erroneous clicked signal that was being emitted by
QListBox at just the wrong time.

  • kwq/KWQListBox.h: Added _changingSelection boolean.
  • kwq/KWQListBox.mm: (QListBox::QListBox): Set _changingSelection to false. (QListBox::setSelected): Set _changingSelection to true. (-[KWQListBoxTableViewDelegate tableViewSelectionDidChange:]): Only emit the "clicked" signal if _changingSelection is false.
  • khtml/html/htmltokenizer.h: Add debug-only boolean inWrite.
  • khtml/html/htmltokenizer.cpp: (HTMLTokenizer::HTMLTokenizer): Set inWrite to false. (HTMLTokenizer::write): Set inWrite to true. (HTMLTokenizer::~HTMLTokenizer): Assert that inWrite is not true.

01/11/03:

21:13 Changeset [3302] by darin

Reviewed by John.

  • fixed 3144479 -- put TITLE from links in status bar
  • WebKit.exp: Add _WebElementLinkTitleKey and also sort this file.
  • WebCoreSupport.subproj/WebImageRenderer.m: Need to touch a file to get the above to have any effect, so update the copyright date here.
17:17 Changeset [3301] by darin

Reviewed by Dave.

  • fixed 3136944 -- mouseover feedback over non-mapped part of image map claims link to current page
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge elementAtPoint:]): Change code so we won't call completeURL and complete a null ATTR_HREF (which is distinct from an empty ATTR_HREF). Did a similar cleanup on the image code.

01/10/03:

00:20 Changeset [3300] by darin

JavaScriptCore:

  • JavaScriptCore.pbproj/project.pbxproj: Add the year 2003, remove CFBundleIconFile, bump marketing version to 0.8.1 and version to 52u to keep up with the branch, remove CFHumanReadableCopyright, remove NSPrincipalClass.
  • English.lproj/InfoPlist.strings: Updated to match above changes.

WebFoundation:

  • WebFoundation.pbproj/project.pbxproj: Add the year 2003, remove CFBundleIconFile, bump marketing version to 0.8.1 and version to 52u to keep up with the branch, remove NSHumanReadableCopyright, remove NSPrincipalClass.
  • English.lproj/InfoPlist.strings: Update to match above.

WebCore:

  • WebCore.pbproj/project.pbxproj: Add the year 2003, remove CFBundleIconFile, bump marketing version to 0.8.1 and version to 52u to keep up with the branch, remove NSHumanReadableCopyright, remove NSPrincipalClass, remove SKIP_INSTALL that was in the Info plist instead of project settings.
  • English.lproj/InfoPlist.strings: Update to match above.

WebKit:

  • WebKit.pbproj/project.pbxproj: Add the year 2003, remove CFBundleIconFile, bump marketing version to 0.8.1 and version to 52u to keep up with the branch, remove CFHumanReadableCopyright, remove NSPrincipalClass.
  • English.lproj/InfoPlist.strings: Updated to match above changes.

WebBrowser:

  • WebBrowser.pbproj/project.pbxproj: Add 2003 to copyright, bump versions to 0.8.1 and 52u to keep up with the branch.
  • English.lproj/InfoPlist.strings: Update to match above.
Note: See TracTimeline for information about the timeline view.