⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Aug 20, 2004:

5:58 PM Changeset in webkit [7320] by hyatt
  • 4 edits in trunk/WebCore

Divorce the notion of a marquee being stopped from JS from the notion of being suspended by the back/forward cache.

  • khtml/ecma/kjs_html.cpp: (KJS::HTMLElementFunction::tryCall):
  • khtml/rendering/render_layer.cpp: (m_direction): (Marquee::start): (Marquee::stop): (Marquee::updateMarqueePosition):
  • khtml/rendering/render_layer.h: (khtml::):
4:37 PM Changeset in webkit [7319] by hyatt
  • 22 edits in trunk/LayoutTests

Fix layout tests.

4:12 PM Changeset in webkit [7318] by hyatt
  • 2 edits in trunk/WebKit

Fix the directionality of the unicode hyphen so that on Panther it now matches Tiger.

Reviewed by darin

  • Misc.subproj/WebUnicode.m: (_unicodeDirection):
4:09 PM Changeset in webkit [7317] by rjw
  • 1 add in trunk/JavaScriptCore/bindings/jni/jni_objc.mm

Added.

2:57 PM Changeset in webkit [7316] by rjw
  • 18 edits in trunk

WebKit:

Implemented new JNI abstraction. We no longer invoke Java methods
directly with JNI, rather we call into the plugin. This allows the
plugin to dispatch the call to the appropriate VM thread. This
change should (will?) fix a whole class of threading related problems with
the Java VM.

Reviewed by Hyatt.

  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge getAppletInView:]):

WebCore:

Implemented new JNI abstraction. We no longer invoke Java methods
directly with JNI, rather we call into the plugin. This allows the
plugin to dispatch the call to the appropriate VM thread. This
change should (will?) fix a whole class of threading related problems with
the Java VM.

Reviewed by Hyatt.

  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::getAppletInstanceForView):
  • kwq/WebCoreBridge.mm: (rootForView): (-[WebCoreBridge executionContextForView:]):

JavaScriptCore:

Implemented new JNI abstraction. We no longer invoke Java methods
directly with JNI, rather we call into the plugin. This allows the
plugin to dispatch the call to the appropriate VM thread. This
change should (will?) fix a whole class of threading related problems with
the Java VM.

Reviewed by Hyatt.

  • JavaScriptCore.pbproj/project.pbxproj:
  • bindings/c/c_instance.h: (KJS::Bindings::CInstance::setExecutionContext): (KJS::Bindings::CInstance::executionContext):
  • bindings/jni/jni_instance.cpp: (JavaInstance::JavaInstance): (JavaInstance::invokeMethod): (JavaInstance::setExecutionContext): (JavaInstance::executionContext):
  • bindings/jni/jni_instance.h:
  • bindings/jni/jni_jsobject.cpp: (JSObject::convertJObjectToValue):
  • bindings/jni/jni_runtime.cpp: (JavaField::JavaField): (JavaArray::convertJObjectToArray): (JavaField::valueFromInstance): (JavaArray::JavaArray): (JavaArray::valueAt):
  • bindings/jni/jni_runtime.h: (KJS::Bindings::JavaArray::operator=): (KJS::Bindings::JavaArray::executionContext):
  • bindings/jni/jni_utility.h:
  • bindings/objc/objc_instance.h: (KJS::Bindings::ObjcInstance::setExecutionContext): (KJS::Bindings::ObjcInstance::executionContext):
  • bindings/runtime.cpp: (Instance::createBindingForLanguageInstance):
  • bindings/runtime.h:
  • bindings/runtime_root.h: (KJS::Bindings::RootObject::nativeHandle):
2:15 PM Changeset in webkit [7315] by mjs
  • 2 edits in trunk/WebCore

Reviewed by Darin.

More text paint cleanup. Separated the background and foreground
passes instead of doing a weird for loop thing. Eliminated
redundant if conditions. Added comments.

  • khtml/rendering/render_text.cpp: (RenderText::paint):
1:19 PM Changeset in webkit [7314] by kocienda
  • 14 edits in trunk

Reviewed by Darin

  • khtml/css/css_computedstyle.cpp: (DOM::): Changed CopyProperties constant to InheritableProperties. This reflects the name change of copy() to copyInheritableProperties() (DOM::CSSComputedStyleDeclarationImpl::copyInheritableProperties: Renamed from copy(). Now just copies those properties which can be inherited. (DOM::CSSComputedStyleDeclarationImpl::diff): Add a couple null checks.
  • khtml/css/css_computedstyle.h: copyInheritableProperties name change. No longer needs to be virtual.
  • khtml/css/css_valueimpl.cpp: Removed unneeded copy() function from CSSStyleDeclarationImpl.
  • khtml/css/css_valueimpl.h: Ditto.
  • khtml/editing/htmlediting.cpp: (khtml::EditCommand::typingStyle): Added. (khtml::EditCommand::setTypingStyle): Added.
  • khtml/editing/htmlediting.h:
  • khtml/editing/htmlediting_impl.cpp: (khtml::StyleChange::currentlyHasStyle): Fix leak of computed style used in this function. (khtml::EditCommandImpl::EditCommandImpl): Initialize m_typingStyle. (khtml::EditCommandImpl::~EditCommandImpl): Deref m_typingStyle. (khtml::EditCommandImpl::assignTypingStyle): New helper used in setting typing style. (khtml::EditCommandImpl::setTypingStyle): New setter. (khtml::DeleteSelectionCommandImpl::doApply): Use new method for managing typing style.
  • khtml/editing/htmlediting_impl.h: (khtml::EditCommandImpl::typingStyle): New accessor.
  • khtml/khtml_part.cpp: (KHTMLPart::appliedEditing): Restores typing style from command after setting selection. (KHTMLPart::applyStyle): Does a diff between the current style and the style of the caret.
  • khtml/khtml_part.h:
  • khtml/xml/dom_position.cpp: (DOM::Position::computedStyle): Now returns a CSSComputedStyleDeclarationImpl instead of a plain CSSStyleDeclarationImpl.
  • khtml/xml/dom_position.h:
  • layout-tests/editing/style/style-3681552-fix-002-expected.txt:
11:44 AM Changeset in webkit [7313] by trey
  • 2 edits in trunk

Get rid of weird chars in bug titles from last checkin (maybe nb spaces?)

11:33 AM Changeset in webkit [7312] by vicki
  • 1 edit in branches/Safari-1-0-branch/WebKit/ChangeLog

remove spurious M characters from this ChangeLog, so that it is readable

11:29 AM Changeset in webkit [7311] by trey
  • 6 edits in trunk

WebCore:

3655407 - Editing:�complete:�ethod�nimplemented�WebKit�diting�PI)

One new support routine here.

Reviewed by John

  • kwq/WebCoreBridge.h:
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge caretRectAtNode:offset:]): New routine. (-[WebCoreBridge rangeByExpandingSelectionWithGranularity:]): Fixed former misleading method name.

WebKit:

3655407 - Editing:�complete:�ethod�nimplemented�WebKit�diting�PI)

This feature is mostly implemented. The only loose ends I know of are:

3769654 - text insertions done via complete: should preserve case of full replacement string
3769652 - positioning of complete: popup window wrong for right-to-left languages

Reviewed by John

  • WebView.subproj/WebHTMLView.m: (-[WebHTMLViewPrivate dealloc]): Free new object. (-[WebHTMLView menuForEvent:]): Bail on completion session. (-[WebHTMLView windowDidResignKey:]): Ditto. (-[WebHTMLView windowWillClose:]): Ditto. (-[WebHTMLView mouseDown:]): Ditto. (-[WebHTMLView resignFirstResponder]): Ditto. (-[WebHTMLView keyDown:]): Bail on completion session if WebCore takes the event. Give the CompleteController a crack at the key event. (-[WebHTMLView _expandSelectionToGranularity:]): Adopt method rename (-[WebHTMLView complete:]): Make CompleteController, tell it to do its thing. (-[WebHTMLView checkSpelling:]): Add ERROR(). (-[WebHTMLView showGuessPanel:]): Add ERROR(). (-[WebHTMLView _changeSpellingToWord:]): Add ERROR(). (-[WebHTMLView ignoreSpelling:]): Add ERROR().

(-[WebTextCompleteController initWithHTMLView:]):
(-[WebTextCompleteController dealloc]):
(-[WebTextCompleteController _insertMatch:]): Stick the new string into the doc.
(-[WebTextCompleteController _buildUI]): Make popup window.
(-[WebTextCompleteController _placePopupWindow:]): Position popup window.
(-[WebTextCompleteController doCompletion]): Lookup matches, display window.
(-[WebTextCompleteController endRevertingChange:moveLeft:]): Bail on complete: session.
(-[WebTextCompleteController filterKeyDown:]): Process keys while popup is up.
(-[WebTextCompleteController _reflectSelection]): Handle choice in popup.
(-[WebTextCompleteController tableAction:]): Handle double click in popup
(-[WebTextCompleteController numberOfRowsInTableView:]): Fill table with matches.
(-[WebTextCompleteController tableView:objectValueForTableColumn:row:]): Ditto.
(-[WebTextCompleteController tableViewSelectionDidChange:]): Handle selection change.

  • WebView.subproj/WebHTMLViewInternal.h:
9:57 AM Changeset in webkit [7310] by kocienda
  • 2 adds in trunk/LayoutTests/editing/inserting

I neglected to add these files on my previous checkin

9:55 AM Changeset in webkit [7309] by kocienda
  • 3 edits in trunk

Reviewed by Trey

Fix for this bug:

<rdar://problem/3768378> crash typing newline in Blot

  • khtml/editing/htmlediting_impl.cpp: (khtml::InputNewlineCommandImpl::doApply): Adding an assert in a recent change showed up that inserting newlines that was not being handled correctly for the case described in the bug. I added a new case to handle inserting BR's when at the caret max offset for a node, and this new code runs instead of the fall-through case that should not have been running and triggered the assert.
  • layout-tests/editing/inserting/insert-br-case2-expected.txt: Regenerated results.
  • layout-tests/editing/inserting/insert-br-case6-expected.txt: Added.
  • layout-tests/editing/inserting/insert-br-case6.html: Added.
9:53 AM Changeset in webkit [7308] by trey
  • 2 edits in trunk/WebCore

Fixing: Spellchecker called once or twice for every char typed.

Reviewed by Ken

  • khtml/khtml_part.cpp: (KHTMLPart::setSelection): Don't do any spell checking if we're typing (it's done elsewhere, in markMisspellingsAfterTyping)
9:06 AM Changeset in webkit [7307] by sullivan
  • 2 edits in trunk/WebKit
  • English.lproj/StringsNotToBeLocalized.txt: checked this in; the only difference is that the strings were out of order.

Aug 19, 2004:

8:26 PM Changeset in webkit [7306] by mjs
  • 2 edits in trunk/WebCore

Reviewed by John.

  • fixed <rdar://problem/3549369> Crash at www.e1.ru in HTMLTokenizer::notifyFinished

Probably also fixed the following likely duplicates:

<rdar://problem/3503938> Safari crashed opening many tabs (HTMLTokenizer::notifyFinished(khtml::CachedObject*))
<rdar://problem/3566332> CrashTracer: ..405 crashes at com.apple.WebCore: QString::QString[unified] + 0x5c
<rdar://problem/3703964> CrashTracer: ...86 crashes at com.apple.WebCore: QString::QString[unified] + 0x5c
<rdar://problem/3703969> CrashTracer: ..234 crashes at com.apple.WebCore: HTMLTokenizer::notifyFinished + 0x1c8

  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::open): call setParsing(true), because we need to know we are once again parsing when we re-open a document that has previously completed loading.
7:21 PM Changeset in webkit [7305] by mjs
  • 2 edits in trunk/WebCore

Reviewed by Dave and Darin.

  • khtml/rendering/render_text.cpp: (RenderText::paint): Split apple and non-apple code paths to allow further cleanup.
5:38 PM Changeset in webkit [7304] by darin
  • 3 edits in trunk/WebCore

Reviewed by Dave.

  • fixed <rdar://problem/3767274> crash in partForWidget inside setFocus (test page attached)
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::nextKeyViewInFrame): Remove code to do position the widget; no longer needed since we reworked how widgets get their positions.
  • kwq/KWQWidget.mm: (QWidget::setFocus): Ditto. This was the one that caused the bug.
5:11 PM Changeset in webkit [7303] by rjw
  • 2 edits in trunk/WebKit

Continue to call old pollForAppletInView: in Tiger until
we get an plugin that supports the new API.

Reviewed by Chris.

  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge getAppletInView:]):
  • WebKit.pbproj/project.pbxproj:
4:23 PM Changeset in webkit [7302] by hyatt
  • 2 edits in trunk/WebCore

Fix crash when text is contained inside a table-colgroup.

Reviewed by john

  • khtml/xml/dom_textimpl.cpp: (TextImpl::rendererIsNeeded):
4:17 PM Changeset in webkit [7301] by trey
  • 2 edits in trunk/WebCore

Unexpected errors hit while finding word boundaries, leading to crash.

Reviewed by Ken.

  • kwq/KWQTextUtilities.cpp: (KWQFindWordBoundary): Don't call UCFindTextBreak with edge cases it thinks are param errors, and pass correct mask for forward case. Also fix off-by-one crashers in fallback code.
3:50 PM Changeset in webkit [7300] by hyatt
  • 10 edits in trunk/WebCore

Make XSLT imports/includes work. This code has to be turned off until the newer version of libxslt is
available.

Reviewed by kocienda

  • khtml/css/css_ruleimpl.cpp: (CSSImportRuleImpl::init):
  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::DocumentImpl): (DocumentImpl::~DocumentImpl): (DocumentImpl::applyXSLTransform):
  • khtml/xml/dom_docimpl.h: (DOM::DocumentImpl::setTransformSource): (DOM::DocumentImpl::transformSource):
  • khtml/xml/dom_xmlimpl.cpp: (DOM::ProcessingInstructionImpl::checkStyleSheet):
  • khtml/xml/xml_tokenizer.cpp: (khtml::matchFunc): (khtml::openFunc): (khtml::readFunc): (khtml::writeFunc): (khtml::createQStringParser): (khtml::XMLTokenizer::setTransformSource):
  • khtml/xsl/xsl_stylesheetimpl.cpp: (DOM::XSLStyleSheetImpl::XSLStyleSheetImpl): (DOM::XSLStyleSheetImpl::~XSLStyleSheetImpl): (DOM::XSLStyleSheetImpl::isLoading): (DOM::XSLStyleSheetImpl::clearDocuments): (DOM::XSLStyleSheetImpl::parseString): (DOM::XSLStyleSheetImpl::loadChildSheets): (DOM::XSLStyleSheetImpl::loadChildSheet): (DOM::XSLImportRuleImpl::parentStyleSheet): (DOM::XSLStyleSheetImpl::compileStyleSheet): (DOM::XSLStyleSheetImpl::locateStylesheetSubResource): (DOM::XSLImportRuleImpl::XSLImportRuleImpl): (DOM::XSLImportRuleImpl::~XSLImportRuleImpl): (DOM::XSLImportRuleImpl::setStyleSheet): (DOM::XSLImportRuleImpl::isLoading): (DOM::XSLImportRuleImpl::loadSheet):
  • khtml/xsl/xsl_stylesheetimpl.h: (DOM::XSLStyleSheetImpl::setOwnerDocument): (DOM::XSLStyleSheetImpl::setDocument): (DOM::XSLStyleSheetImpl::markAsProcessed): (DOM::XSLStyleSheetImpl::processed): (DOM::XSLImportRuleImpl::href): (DOM::XSLImportRuleImpl::styleSheet): (DOM::XSLImportRuleImpl::isImportRule):
  • khtml/xsl/xslt_processorimpl.cpp: (DOM::m_sourceDocument): (DOM::stylesheetLoadFunc): (DOM::XSLTProcessorImpl::transformDocument):
  • khtml/xsl/xslt_processorimpl.h:
2:00 PM Changeset in webkit [7299] by vicki
  • 3 edits in trunk

set version to Safari 2.0, (v159u) for tip of tree.

1:54 PM Changeset in webkit [7298]
  • 3 copies in tags/Safari-159

This commit was manufactured by cvs2svn to create tag 'Safari-159'.

1:54 PM Changeset in webkit [7297]
  • 3 copies in tags/Safari-158

This commit was manufactured by cvs2svn to create tag 'Safari-158'.

1:54 PM Changeset in webkit [7296]
  • 3 copies in branches/ParisExpo-2004-branch

This commit was manufactured by cvs2svn to create branch
'ParisExpo-2004-branch'.

1:54 PM Changeset in webkit [7295]
  • 3 copies in tags/ParisExpo-2004-anchor

This commit was manufactured by cvs2svn to create tag
'ParisExpo-2004-anchor'.

1:54 PM Changeset in webkit [7294] by vicki
  • 6 edits in trunk

Safari-158 stamp

10:34 AM Changeset in webkit [7293] by cblu
  • 2 edits in trunk/WebKit

Fixed typo in comment.

  • Misc.subproj/WebIconDatabase.m: (-[WebIconDatabase _updateFileDatabase]):
10:33 AM Changeset in webkit [7292] by cblu
  • 2 edits in trunk/WebKit

Fixed: <rdar://problem/3566336> CrashTracer: .2403 crashes at com.apple.WebKit: -[WebFileDatabase performSetObject:forKey:] + 0x94

Reviewed by trey.

  • Misc.subproj/WebIconDatabase.m: (-[WebIconDatabase _updateFileDatabase]): pass WebFileDatabase copies of the mutable dictionaries or else they may be accessed on a separate thread as the main thread is modifying them
9:21 AM Changeset in webkit [7291] by vicki
  • 2 edits in trunk/JavaScriptCore
  • initialize deletedElementIndex to make the compiler happy

Aug 18, 2004:

5:30 PM Changeset in webkit [7290] by trey
  • 2 edits in trunk/WebCore

3765958 - downstreamPosition() can hit infinite loop when at end of doc

The problem was that I had a position that was after the maximum position in the text
node, because it was the old caret position before a backspace was processed. Later
I happened to call downstream() on that position, and hit the bug. Fix is to consider
a position past the end point of its node if it is *greater than* or equal to its max offset.

Reviewed by Ken.

  • khtml/xml/dom_positioniterator.cpp: (DOM::PositionIterator::atEnd):
5:15 PM Changeset in webkit [7289] by hyatt
  • 2 edits in trunk/WebCore

Make the header overlap the footer in the zero-line case. Changes to Emerson's template will ensure the
header draws over the footer.

Reviewed by darin

  • khtml/rendering/render_block.cpp: (khtml::getHeightForLineCount):
4:34 PM Changeset in webkit [7288] by rjw
  • 5 edits in trunk

WebKit:

Replace horrible pollForAppletInView: with new
webPlugInGetApplet. The details of how the applet instance
is provided now belong to the Java team. Yeh.

Reviewed by Chris.

  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge getAppletInView:]):

WebCore:

Replace horrible pollForAppletInView: with new
webPlugInGetApplet. The details of how the applet instance
is provided now belong to the Java team. Yeh.

Reviewed by Chris.

  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::getAppletInstanceForView):
  • kwq/WebCoreBridge.h:
11:19 AM Changeset in webkit [7287] by cblu
  • 6 edits in trunk/WebCore

Fixed: <rdar://problem/3692199> 8A146: Safari crashes in toHTMLWithOptions, selection with no renderer (various sites)

Reviewed by trey.

  • khtml/xml/dom2_rangeimpl.cpp: (DOM::RangeImpl::toHTML): renamed, don't assume that nodes of the range had renderers, use the common ancestor of the range as the root
  • khtml/xml/dom2_rangeimpl.h:
  • khtml/xml/dom_nodeimpl.cpp: (NodeImpl::recursive_toHTML): renamed, removed code that determines whether to include the root in the HTML, leave this up to the caller
  • khtml/xml/dom_nodeimpl.h:
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge markupStringFromNode:nodes:]): call renamed methods (-[WebCoreBridge markupStringFromRange:nodes:]): ditto
10:43 AM Changeset in webkit [7286] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by me

  • khtml/css/css_valueimpl.cpp: (CSSStyleDeclarationImpl::copy): Roll back silly last minute change that broke this code. Note to self: read code before making changes to it.
10:34 AM Changeset in webkit [7285] by kocienda
  • 5 edits in trunk/WebCore

Coded by Darin and Ken

  • khtml/css/css_computedstyle.cpp: Added CopyProperties static array. This contains the properties we implement that we also want to copy in the new CSSComputedStyleDeclarationImpl::copy described below. (DOM::CSSComputedStyleDeclarationImpl::copy): New function. In this class, copies the computed values of all the properties listed in CopyProperties. In essence, this makes a freeze-dired version of a computed style. (DOM::CSSComputedStyleDeclarationImpl::diff): Removes every property from the passed-in CSSStyleDeclarationImpl that is also in the computed style.
  • khtml/css/css_computedstyle.h:
  • khtml/css/css_valueimpl.cpp: (CSSStyleDeclarationImpl::copy): New function. In this class, the copy operation is straightforward. Returns a copy that will be unchanged when the original changes.
  • khtml/css/css_valueimpl.h: (DOM::CSSStyleDeclarationImpl::values): Added a accessor suitable for use when the CSSStyleDeclarationImpl is const.

Aug 17, 2004:

8:13 PM Changeset in webkit [7284] by darin
  • 1 edit in trunk/WebKit/ChangeLog

Change some tabs to spaces.

6:16 PM Changeset in webkit [7283] by rjw
  • 5 edits in trunk/WebKit

Fixed <rdar://problem/3759093> Need PDF context menu: "Open in Preview" or other external app

Added support for "Open with ..." in PDF view.

Reviewed by Chris and Trey.

  • ChangeLog:
  • English.lproj/Localizable.strings:
  • English.lproj/StringsNotToBeLocalized.txt:
  • WebView.subproj/WebPDFView.h:
  • WebView.subproj/WebPDFView.m: (-[WebPDFView initWithFrame:]): (-[WebPDFView dealloc]): (applicationInfoForMIMEType): (-[WebPDFView path]): (-[WebPDFView menuForEvent:]): (-[WebPDFView setDataSource:]): (-[WebPDFView layout]): (-[WebPDFView viewDidMoveToHostWindow]): (-[WebPDFView openWithFinder:]):
5:09 PM Changeset in webkit [7282] by mjs
  • 2 edits in trunk/WebCore

Reviewed by Darin.

<rdar://problem/3703768> CrashTracer: ...50 crashes at com.apple.WebCore: KHTMLPart::xmlDocImpl const + 0

  • khtml/khtmlview.cpp: (KHTMLView::viewportMouseMoveEvent): Add a nil check and an assertion for m_part being null. It seems impossible for this to happen, so we want to debug it ourselves, but in the meantime, let's try to avoid causing crashes for our users.
5:07 PM Changeset in webkit [7281] by darin
  • 3 edits in trunk/JavaScriptCore

Reviewed by Adele.

  • fixed <rdar://problem/3746676> SAP WebDynpro app hangs inside JavaScript property map hash table code (deleted sentinel problem)
  • kjs/property_map.h: Added some private functions.
  • kjs/property_map.cpp: (KJS::PropertyMap::clear): Set sentinelCount to 0. (KJS::PropertyMap::put): Complete search for the element before choosing to use the deleted-element sentinel. Also keep sentinel count up to date when we destroy a sentinel by overwriting with a new added element. (KJS::PropertyMap::expand): Added. Calls rehash with a size 2x the old size, or 16. (KJS::PropertyMap::rehash): Added. Refactored the rehash code into a separate function. (KJS::PropertyMap::remove): Add one to sentinelCount, and rehash if 1/4 or more of the elements are deleted-element sentinels. (KJS::PropertyMap::checkConsistency): Check the sentinelCount.
4:19 PM Changeset in webkit [7280] by mjs
  • 2 edits in trunk/JavaScriptCore

Code change by Eric Albert, reviewd by me.

<rdar://problem/3571960> washingtonpost.com claims I don't have cookies enabled and won't let me read articles

  • kjs/date_object.cpp: (timetUsingCF): Clamp time to LONG_MAX (getting rid of time_t entirely would be even better, but is not required to fix this bug.
3:14 PM Changeset in webkit [7279] by rjw
  • 1 edit in trunk/WebKit/Plugins.subproj/WebJavaPlugIn.h

JNI needs both the jmethodID and return type. Changed API to
pass both.

Reviewed by Chris.

  • Plugins.subproj/WebJavaPlugIn.h:
3:03 PM Changeset in webkit [7278] by hyatt
  • 3 edits in trunk/WebCore

Fix the line truncation function for Emerson so that at the far left setting of the slider, only the header
is visible.

Reviewed by darin

  • khtml/rendering/render_block.cpp: (khtml::getHeightForLineCount):
  • khtml/rendering/render_flexbox.cpp: (khtml::RenderFlexibleBox::layoutVerticalBox):
2:53 PM Changeset in webkit [7277] by kocienda
  • 18 edits in trunk

Reviewed by Hyatt

Rewrite of the command that deletes a selection. I deleted great
big swaths of bug-ridden code to accomplish this and replaced it
with code that is much cleaner and smarter.

Also, renamed equivalentUpstreamPosition and equivalentDownstreamPosition to
upstream to downstream, respectively.

Added a couple of new helper methods.

  • khtml/editing/htmlediting.cpp: DeleteCollapsibleWhitespaceCommand and RemoveNodeAndPruneCommand now obsolete. A huge win.
  • khtml/editing/htmlediting.h: Ditto.
  • khtml/editing/htmlediting_impl.cpp: (khtml::debugPosition): Fix printf which had a placeholder, but no argument passed in the varargs. (khtml::CompositeEditCommandImpl::deleteUnrenderedText): New helper. Much simplified and cleaner version of (khtml::ApplyStyleCommandImpl::doApply): upstream/downstream name change (khtml::ApplyStyleCommandImpl::nodeFullySelected): upstream/downstream name change (khtml::DeleteSelectionCommandImpl::doApply): upstream/downstream name change (khtml::DeleteTextCommandImpl::DeleteTextCommandImpl): Add an assert to check that the passed offset is less than the length of the text node. (khtml::InputNewlineCommandImpl::insertNodeAfterPosition): upstream/downstream name change (khtml::InputNewlineCommandImpl::insertNodeBeforePosition): upstream/downstream name change (khtml::InputNewlineCommandImpl::doApply): upstream/downstream name change (khtml::InputTextCommandImpl::prepareForTextInsertion): upstream/downstream name change (khtml::InputTextCommandImpl::execute): upstream/downstream name change (khtml::InputTextCommandImpl::insertSpace): upstream/downstream name change (khtml::ReplaceSelectionCommandImpl::doApply): upstream/downstream name change (khtml::TypingCommandImpl::issueCommandForDeleteKey): upstream/downstream name change (khtml::TypingCommandImpl::deleteKeyPressed):
  • khtml/editing/htmlediting_impl.h:
  • khtml/xml/dom_position.cpp: (DOM::Position::previousWordBoundary): (DOM::Position::nextWordBoundary): (DOM::Position::upstream): (DOM::Position::downstream): (DOM::Position::inRenderedText): Add null check. (DOM::Position::isRenderedCharacter): New helper. (DOM::isWS): New helper in this file. (DOM::Position::leadingWhitespacePosition): New helper. Factored out from htmlediting_impl.cpp. (DOM::Position::trailingWhitespacePosition): Ditto. (DOM::Position::debugPosition): Add null check.
  • khtml/xml/dom_position.h:
  • khtml/xml/dom_selection.cpp: (DOM::Selection::toRange): upstream/downstream name change (DOM::Selection::validate): upstream/downstream name change (DOM::Selection::debugPosition): upstream/downstream name change
  • layout-tests/editing/deleting/delete-block-contents-003-expected.txt: Updated tests with new expected results.
  • layout-tests/editing/deleting/delete-contiguous-ws-001-expected.txt: Ditto.
  • layout-tests/editing/deleting/delete-selection-001-expected.txt: Ditto.
  • layout-tests/editing/deleting/delete-trailing-ws-001-expected.txt: Ditto.
  • layout-tests/editing/inserting/insert-br-case1-expected.txt: Ditto.
  • layout-tests/editing/inserting/insert-br-case2-expected.txt: Ditto.
  • layout-tests/editing/style/style-3681552-fix-002-expected.txt: Ditto.
2:41 PM Changeset in webkit [7276] by trey
  • 5 edits in trunk/WebCore

Various spelling fixes.

Reviewed by Ken.

  • khtml/khtml_part.cpp: (KHTMLPart::setSelection): No misspellings in the spelling code comments
  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::removeMarker): Repaint if doc changes. Sometimes the markers were not being erased when you clicked in a word.
  • khtml/xml/dom_position.cpp: (DOM::Position::previousWordBoundary): Small optimization. Bail after first try if the second try will not come out any different. (DOM::Position::nextWordBoundary): Ditto
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::markMisspellingsInSelection): Comment.
1:42 PM Changeset in webkit [7275] by darin
  • 1 edit in trunk/WebCore/ChangeLog-2005-08-23

Added a bug number to the textarea bug fix check-in,
so I can look it up here in ChangeLog.

1:41 PM Changeset in webkit [7274] by darin
  • 5 edits in trunk/WebCore

Reviewed by Maciej.

  • fixed <rdar://problem/3689700> crash loading page; stoxx.com (works in IE and Firefox)
  • khtml/khtml_part.h: Make completeURL public.
  • kwq/KWQKJavaAppletWidget.mm: (KJavaAppletWidget::KJavaAppletWidget): Complete the base URL before passing it across the bridge. This sidesteps the crashing bug in CFURL, filed as '<rdar://problem/3764632> CFURLCreateAbsoluteURLWithBytes crashes if passed the string "../.."' and also is obviously correct behavior that may fix other sites too.
  • fixed <rdar://problem/3547725> Crashes at csuohio.edu, list box vs. mouse event problem (Spoof No Fix)
  • kwq/KWQListBox.mm: (QListBox::~QListBox): Nil out the pointer from the KWQTableView back to the widget by calling a new detach method. (-[KWQTableView detach]): Set the pointer to the QListBox to 0. Also set the delegate and data source to nil, so we don't need nil checks in delegate and data source methods. (-[KWQTableView mouseDown:]): Add nil check. (-[KWQTableView keyDown:]): Add nil check. (-[KWQTableView keyUp:]): Add nil check. (-[KWQTableView becomeFirstResponder]): Add nil check. (-[KWQTableView resignFirstResponder]): Add nil check. (-[KWQTableView canBecomeKeyView]): Add nil check. (-[KWQTableView tableViewSelectionDidChange:]): Add nil checks, even though this is a delegate callback, to handle cases where calls to JavaScript result in the QListBox going away partway through. (-[KWQTableView drawRow:clipRect:]): Add nil check. (-[KWQTableView _accessibilityTableCell:tableColumn:]): Add nil check.
12:55 PM Changeset in webkit [7273] by trey
  • 2 edits in trunk/WebCore

Fix ASSERT in spelling marker management.

Reviewed by John.

  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::shiftMarkers): Use assert instead of ASSERT. Tweak test to allow for a start position of 0.
12:48 PM Changeset in webkit [7272] by trey
  • 5 edits in trunk

WebCore:

3764147 - failure of subframe to load leaves links in parent doc broken

Reviewed by Maciej.

  • khtml/khtml_part.cpp: (KHTMLPart::childBegin): New method to mark part as not complete. (KHTMLPart::processObjectRequest): Mark child part imcomplete, so if we later get a failure on load it won't think it's already complete and do nothing.
  • khtml/khtml_part.h:

WebKit:

3764147 - failure of subframe to load leaves links in parent doc broken

Reviewed by Maciej.

  • WebView.subproj/WebDataSource.m: (-[WebDataSource _receivedMainResourceError:complete:]): Need to call [bridge end] in the case of an error, so WC can clean up.
12:05 PM Changeset in webkit [7271] by vicki
  • 3 edits in trunk

set version number to '158u'. the tree is open

11:59 AM Changeset in webkit [7270]
  • 3 copies in tags/Safari-157

This commit was manufactured by cvs2svn to create tag 'Safari-157'.

11:59 AM Changeset in webkit [7269] by vicki
  • 6 edits in trunk

Safari-157 stamp

Aug 16, 2004:

9:53 PM Changeset in webkit [7268] by hyatt
  • 1 edit in trunk/WebCore/WebCore.pbproj/project.pbxproj

Fix project so that OTHER_LDFLAGS in the project also links dynamically to libxslt

7:10 PM Changeset in webkit [7267] by hyatt
  • 2 edits in trunk/WebCore

Fix the #define. I had it all backwards.

  • WebCorePrefix.h:
6:54 PM Changeset in webkit [7266] by hyatt
  • 11 edits
    5 adds
    2 deletes in trunk/WebCore

Land initial support for XSLT using xml-stylesheet PIs.

  • WebCore.pbproj/project.pbxproj:
  • khtml/khtml_part.cpp: (KHTMLPart::replaceDocImpl):
  • khtml/khtml_part.h:
  • khtml/khtmlview.h:
  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::DocumentImpl): (DocumentImpl::~DocumentImpl): (DocumentImpl::recalcStyleSelector): (DocumentImpl::applyXSLTransform): (DocumentImpl::setTransformSourceDocument):
  • khtml/xml/dom_docimpl.h: (DOM::DocumentImpl::setTransformSource): (DOM::DocumentImpl::transformSource): (DOM::DocumentImpl::transformSourceDocument):
  • khtml/xml/dom_xmlimpl.cpp: (DOM::ProcessingInstructionImpl::checkStyleSheet):
  • khtml/xml/dom_xmlimpl.h: (DOM::ProcessingInstructionImpl::isXSL):
  • khtml/xml/xml_tokenizer.cpp: (khtml::matchFunc): (khtml::openFunc): (khtml::createQStringParser): (khtml::XMLTokenizer::processingInstruction): (khtml::XMLTokenizer::finish): (khtml::XMLTokenizer::setTransformSource):
  • khtml/xml/xml_tokenizer.h: (khtml::Tokenizer::setTransformSource):
  • khtml/xml/xsl_stylesheetimpl.cpp: Removed.
  • khtml/xml/xsl_stylesheetimpl.h: Removed.
  • khtml/xsl/xsl_stylesheetimpl.cpp: Added. (DOM::XSLStyleSheetImpl::XSLStyleSheetImpl): (DOM::XSLStyleSheetImpl::~XSLStyleSheetImpl): (DOM::XSLStyleSheetImpl::isLoading): (DOM::XSLStyleSheetImpl::checkLoaded): (DOM::XSLStyleSheetImpl::docLoader): (DOM::XSLStyleSheetImpl::parseString):
  • khtml/xsl/xsl_stylesheetimpl.h: Added. (DOM::XSLStyleSheetImpl::isXSLStyleSheet): (DOM::XSLStyleSheetImpl::type): (DOM::XSLStyleSheetImpl::ownerDocument): (DOM::XSLStyleSheetImpl::document): (DOM::XSLStyleSheetImpl::clearDocument):
  • khtml/xsl/xslt_processorimpl.cpp: Added. (DOM::m_sourceDocument): (DOM::XSLTProcessorImpl::~XSLTProcessorImpl): (DOM::XSLTProcessorImpl::transformDocument): (DOM::bufferWrite): (DOM::XSLTProcessorImpl::addToResult): (DOM::XSLTProcessorImpl::documentFromXMLDocPtr):
  • khtml/xsl/xslt_processorimpl.h: Added.
4:06 PM Changeset in webkit [7265] by mjs
  • 2 edits in trunk/WebCore

Fix build.

  • khtml/khtml_part.cpp: (KHTMLPart::isImmediateRedirectPending):
3:26 PM Changeset in webkit [7264] by rjw
  • 4 edits in trunk/WebCore

Fixed <rdar://problem/3704339> Context2D forces integer positions in drawImage

Use floats instead of ints to draw images.

Reviewed by Ken.

  • khtml/ecma/kjs_html.cpp: (KJS::Context2DFunction::tryCall):
  • kwq/KWQPainter.h:
  • kwq/KWQPainter.mm: (QPainter::drawPixmap): (QPainter::drawFloatPixmap):
3:21 PM Changeset in webkit [7263] by mjs
  • 4 edits in trunk/WebCore

Reviewed by Darin.

  • fixed <rdar://problem/3752509> Pop up windows not showing up within SAP's BW Module (changing location.href on new window created by window.open)

(actually the previous fix for this bug was mostly correct, but
this additional change is needed to avoid the regression in
<rdar://problem/3751025> REGRESSION: website rejects Safari 125.9
as "need to upgrade to IE 6", but didn't reject 125.8

So if merging for a software update, make sure to include both
this and the previous fix.

  • khtml/html/htmltokenizer.cpp: (khtml::HTMLTokenizer::write): When there is an immediate reidrect pending, make sure to stop tokenizing, because we need to make sure no further script tags are processed beyond the one that triggered the redirect.
  • khtml/khtml_part.cpp: (KHTMLPart::isImmediateRedirectPending): New method to allow checking if a redirect is pending.
  • khtml/khtml_part.h:
2:17 PM Changeset in webkit [7262] by rjw
  • 4 edits in trunk/JavaScriptCore

Fixed <rdar://problem/3581092> cash in KJS::Bindings::JSObject::eval at tcvetantcvetkov.com

Adds bullet proofing to protect against evaluation of bogus JS in all the flavors of bindings (Java, C, and ObjC).

Reviewed by Chris.

  • bindings/NP_jsobject.cpp: (NPN_Evaluate):
  • bindings/jni/jni_jsobject.cpp: (JSObject::eval):
  • bindings/objc/WebScriptObject.mm: (-[WebScriptObject evaluateWebScript:]):
1:56 PM Changeset in webkit [7261] by hyatt
  • 3 edits in trunk/WebCore

Fix the blank textarea problem by ensuring that any change to a <textarea>'s DOM children causes the form control
to resync with the DOM. This behavior matches WinIE.

Reviewed by kocienda

  • khtml/html/html_formimpl.cpp: (HTMLTextAreaElementImpl::childrenChanged):
  • khtml/html/html_formimpl.h:

Aug 15, 2004:

8:41 PM Changeset in webkit [7260] by rjw
  • 9 edits in trunk

WebKit:

More changes to np headers.

Reviewed by Darin.

  • Plugins.subproj/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage load]):
  • Plugins.subproj/npapi.h:
  • Plugins.subproj/npfunctions.h:
  • Plugins.subproj/npruntime.h:

JavaScriptCore:

More updates to np headers. Implemented new NPN functions.

Reviewed by Darin.

  • bindings/NP_jsobject.cpp: (NPN_HasProperty): (NPN_HasMethod):
  • bindings/npapi.h:
  • bindings/npruntime.h:

Aug 13, 2004:

3:04 PM Changeset in webkit [7259] by mjs
  • 2 edits in trunk/WebKit

Back out accidental bad change.

2:58 PM Changeset in webkit [7258] by mjs
  • 2 edits in trunk/WebKit

top level:

Reviewed by Ken.

  • Makefile.am: Remove WebKitExamples for now, until it actually works to include it in a recursive make.

WebKit:

Reviewed by NOBODY (OOPS!).

  • Plugins.subproj/npapi.h:
2:26 PM Changeset in webkit [7257] by trey
  • 5 edits in trunk/WebCore

3761794 Slider doesn't call onmouseup handler

Reviewed by Hyatt

  • khtml/rendering/render_form.cpp: (RenderSlider::RenderSlider): Listen for signal. (RenderSlider::slotClicked): Pass to superclass.
  • khtml/rendering/render_form.h:
  • kwq/KWQSlider.h:
  • kwq/KWQSlider.mm: (-[KWQSlider mouseDown:]): Generate mouseUp and clicked events, since AK consumes the mouseUp event in a modal tracking loop. (QSlider::QSlider): Make signal. (QSlider::clicked): Send signal.
10:45 AM Changeset in webkit [7256] by darin
  • 4 edits in trunk/WebKit

Reviewed by Chris.

  • fixed <rdar://problem/3760924> Carbon path passed in NPP_StreamAsFile must be in local character set, not UTF-8
  • Plugins.subproj/WebBaseNetscapePluginStream.m: (CarbonPathFromPOSIXPath): Added. New function that uses the path pieces from an FSSpec. This has many advantages; the big one that fixes the bug is that it gives the mangled names that work even for files that have names that can't otherwise be encoded in Carbon-style path names. I didn't write this from scratch: I started with the method in Foundation and just changed it to use FSSpec. (-[WebBaseNetscapePluginStream destroyStream]): Remove code that used NSString and just call CarbonPathFromPOSIXPath instead.
  • Plugins.subproj/npapi.h: The Revision tag wanted to touch this file. I think we are going to have some trouble with this; I'd like to take that out.
  • English.lproj/StringsNotToBeLocalized.txt: Updated.
10:13 AM Changeset in webkit [7255] by trey
  • 5 edits in trunk

WebCore:

3761329 - query result links all dead in ingrammicro.com (sometimes)
3761328 - links in some docs dead when doc is loaded from WebArchive

Make sure to get part to completed state when end is called,
even if we have no doc. See WebKit changelog for more info.

Reviewed by Richard and Darin.

  • khtml/khtml_part.cpp: (KHTMLPart::end):

WebKit:

3761329 - query result links all dead in ingrammicro.com (sometimes)
3761328 - links in some docs dead when doc is loaded from WebArchive

Nasty problem. It turns out that these result pages are a parent frame with two child
frames. One of the child frames is a 1 or 2 byte text document. When the text child
is the last doc to complete, because we use a Text rep instead of an HTMLRep, it turns
out we never send [bridge end] from WebKit. That mistake results in checkCompleted not
being called enough in the part, and we never realize the load is done. WebCore does
not allow redirects to happen until the entire load is complete, and the links on this
results page are actually little pieces of JS that set location to a generated URL. Since
redirects are not allowed these links all silently fail to do anything, and the doc never
achieves a completed state where they will work.

Solution is to make sure we always call [bridge end] from the DataSource instead of only
the HTML rep doing it.

Reviewed by Richard and Darin.

  • WebView.subproj/WebDataSource.m: (-[WebDataSource _finishedLoading]): Call [bridge end] here for all kinds of docs.
  • WebView.subproj/WebHTMLRepresentation.m: (-[WebHTMLRepresentation finishedLoadingWithDataSource:]): Don't call is just for HTMLReps.
9:57 AM Changeset in webkit [7254] by trey
  • 2 edits in trunk/WebCore

3761098 - red dotted underline for misspelled words shows up in drag image

Reviewed by Ken

  • khtml/rendering/render_text.cpp: (RenderText::paint): Don't draw misspelling when creating selection image.
9:50 AM Changeset in webkit [7253] by darin
  • 1 edit
    1 add in trunk/JavaScriptCore
  • fix build so we can compile again
  • bindings/npapi.h: Added. Richard forgot to check this in. The one I'm checking in here is good enough so that we can compile, but it's only a stopgap measure, because I think Richard has a newer one he wants to check in.

Aug 12, 2004:

6:31 PM Changeset in webkit [7252] by rjw
  • 15 edits
    1 add in trunk

WebKit:

Bring npruntime.h and friends closer to compliance with
latest spec.

Reviewed by Maciej.

  • Plugins.subproj/npapi.h:
  • Plugins.subproj/npfunctions.h:
  • Plugins.subproj/npruntime.h: (_NPString::): (_NPString::_NPVariant::):
  • copy-webcore-files-to-webkit:

WebCore:

Bring npruntime.h and friends closer to compliance with
latest spec.

Reviewed by Maciej.

  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::windowScriptNPObject):

JavaScriptCore:

Bring npruntime.h and friends closer to compliance with
latest spec.

Reviewed by Maciej.

  • JavaScriptCore.pbproj/project.pbxproj:
  • bindings/NP_jsobject.cpp: (jsAllocate): (_NPN_CreateScriptObject): (NPN_Call): (NPN_Evaluate): (NPN_GetProperty): (NPN_SetProperty): (NPN_RemoveProperty):
  • bindings/NP_jsobject.h:
  • bindings/c/c_instance.cpp: (CInstance::invokeMethod):
  • bindings/c/c_utility.cpp: (convertNPVariantToValue):
  • bindings/npruntime.cpp: (NPN_IdentifierIsString): (NPN_VariantIsVoid): (NPN_VariantIsNull): (NPN_VariantIsUndefined): (NPN_VariantIsBool): (NPN_VariantIsInt32): (NPN_VariantIsDouble): (NPN_VariantIsString): (NPN_VariantIsObject): (NPN_VariantToBool): (NPN_VariantToString): (NPN_VariantToInt32): (NPN_VariantToDouble): (NPN_VariantToObject): (NPN_InitializeVariantAsVoid): (NPN_InitializeVariantAsNull): (NPN_InitializeVariantAsUndefined): (NPN_InitializeVariantWithBool): (NPN_InitializeVariantWithInt32): (NPN_InitializeVariantWithDouble): (NPN_InitializeVariantWithString): (NPN_InitializeVariantWithStringCopy): (NPN_InitializeVariantWithObject): (NPN_InitializeVariantWithVariant): (NPN_ReleaseVariantValue): (NPN_CreateObject):
  • bindings/npruntime.h: (_NPString::): (_NPString::_NPVariant::):
  • bindings/npruntime_priv.h: Added.
5:43 PM Changeset in webkit [7251] by mjs
  • 2 edits in trunk/WebCore

Reviewed by Richard.

<rdar://problem/3245706> URLs with backslashes instead of slashes work on WinIE; should work on Safari (SAP)
<rdar://problem/3506429> <BASE> tag containing backslash is breaking images with absolute URLs

  • kwq/KWQKURL.mm: (substituteBackslashes): Helper method (KURL::KURL): If the URL contains any backslashes, substitute all that appear before the query or fragment.
5:25 PM Changeset in webkit [7250] by cblu
  • 2 edits in trunk/WebKit

Fixed: <rdar://problem/3761097> should be able to option-drag selection so HTML can be copied within a page

Reviewed by rjw.

  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView _isMoveDrag]): new, take into account the option key (-[WebHTMLView draggingUpdatedWithDraggingInfo:actionMask:]): call _isMoveDrag (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): call _isMoveDrag
4:58 PM Changeset in webkit [7249] by kocienda
  • 4 edits in trunk/WebCore

Reviewed by Chris

Fix for this bug:

<rdar://problem/3761014> command-down-arrow takes you to start of document instead of end of document

  • khtml/xml/dom_selection.cpp: (DOM::Selection::modifyExtendingRightForward): Code used to assume, incorrectly, that index 1 of the document element was beyond the last node in the document. But this is not true, since the document element is the HTML element (generally). Instead, move to the index equal to the number of children of the document element. This puts us past everything. (DOM::Selection::modifyMovingRightForward): Ditto.
4:28 PM Changeset in webkit [7248] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by Trey

Fix for this bug:

<rdar://problem/3695446> shift-down-arrow on last line of editable text should select to end of document

Detect when current position is on first or last line and move to the
start or end of that line, respectively.

  • khtml/xml/dom_position.cpp: (DOM::Position::previousLinePosition) (DOM::Position::nextLinePosition)
4:19 PM Changeset in webkit [7247] by rjw
  • 3 edits in trunk/WebKit

Quick fix for 3760903. The real fix is described in 3760920. Needed
by Java plugin guys so they can be unblocked for feature freeze.

Reviewed by Chris.

  • WebView.subproj/WebFrame.m: (-[WebFrame _reloadForPluginChanges]):
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView addSubview:]):
4:04 PM Changeset in webkit [7246] by cblu
  • 2 edits in trunk/WebKit

WebKit:

Fixed: <rdar://problem/3760898> error pages in subframes attempt to load appledata URLs when reloaded

Reviewed by darin.

  • WebView.subproj/WebFrame.m: (-[WebFrame _createItem:]): when setting the original URL of the history item, use the unreachable URL

WebBrowser:

Fixed:
<rdar://problem/3760743> "Save As.." and "View Source" context menu items should be omitted from error pages
<rdar://problem/3760892> PARENTAL: buttons in parental control error page do nothing when in subframes

Reviewed by darin

  • BrowserWebController.m: (-[BrowserWebView webView:unableToImplementPolicyWithError:frame:]): handle subframes for error page schemes
  • ContextMenuHandler.m: (-[BrowserWebView webView:contextMenuItemsForElement:defaultMenuItems:]): omit menu item in error pages
4:04 PM Changeset in webkit [7245] by darin
  • 3 edits in trunk/JavaScriptCore

Reviewed by Adele.

  • fixed 3 problems with parse functions that I just wrote, fixing 3 more Mozilla JavaScript tests
  • kjs/function.cpp: (KJS::parseDigit): Fix typo, 'Z' instead of 'z', that prevented lowercase hex digits from working. (KJS::parseInt): Add octal support. Specification says it's optional, but I guess not. (KJS::parseFloat): Fix check for "0x" in parseFloat to return 0 rather than NaN. Also add code to skip leading "+" or "-".
3:57 PM Changeset in webkit [7244] by vicki
  • 3 edits in trunk

back to 157u, 2.0 for TOT. the tree is open!

3:47 PM Changeset in webkit [7243]
  • 3 copies in tags/Safari-156

This commit was manufactured by cvs2svn to create tag 'Safari-156'.

3:47 PM Changeset in webkit [7242] by vicki
  • 6 edits in trunk

Safari-156 stamp

1:53 PM Changeset in webkit [7241] by kocienda
  • 5 edits in trunk/WebCore

Reviewed by Darin

Some consolidation in style application code.

  • khtml/editing/htmlediting_impl.cpp: (khtml::StyleChange::StyleChange): Made this a full-on class and added a couple of members and a constructors to make a StyleChange from a CSSStyleDeclarationImpl, as well as from a CSSStyleDeclarationImpl and a Position. (khtml::StyleChange::init): Common init function for StyleChange constructors. (khtml::StyleChange::currentlyHasStyle): Moved this here from ApplyStyleCommandImpl. (khtml::CompositeEditCommandImpl::applyTypingStyle): Tweak to adjust to new StyleChange interface. (khtml::ApplyStyleCommandImpl::applyStyleIfNeeded): Ditto.
  • khtml/editing/htmlediting_impl.h: (khtml::StyleChange::StyleChange): (khtml::StyleChange::cssStyle): New accessor. (khtml::StyleChange::applyBold): Ditto. (khtml::StyleChange::applyItalic): Ditto.
  • khtml/xml/dom_position.cpp: (DOM::Position::computedStyle): New helper.
  • khtml/xml/dom_position.h: Ditto.
10:34 AM Changeset in webkit [7240] by kocienda
  • 7 edits in trunk

Reviewed by Darin

Fix for this bug:
<rdar://problem/3751098> HTML email has one set of SPAN tags per character in the message

Progress on this bug:
<rdar://problem/3755562> Typing styles do not use same tag application conventions as font and color panel

  • khtml/editing/htmlediting_impl.cpp: (khtml::CompositeEditCommandImpl::applyTypingStyle): Name changed from createTypingStyleElement. Also, interface changed to take the node to which the typing style is to be applied. This makes it easier to apply what may be up to three levels of nested tags to get the desired style (<B>, <I>, and <SPAN STYLE="">). Also, Borrow some of the style change smarts from ApplyStyleCommandImpl to use bold and italic tags for applying styles when that is apprpriate. This creates on opportunity to factor the code to do this so that this function and the ApplyStyleCommandImpl class can share the implementation. I will follow up with a change to do that after landing this change. Some future code factoring could be done here to bring together some similar code into one place. (khtml::ApplyStyleCommandImpl::applyStyleIfNeeded): Add comment about code factoring work. (khtml::ApplyStyleCommandImpl::computeStyleChange): StyleChange struct no longer a member of the ApplyStyleCommandImpl class. CompositeEditCommandImpl needs it now in its applyTypingStyle() function. (khtml::InputNewlineCommandImpl::doApply): Pass along node to style to applyTypingStyle. (khtml::InputTextCommandImpl::prepareForTextInsertion): Ditto.
  • khtml/editing/htmlediting_impl.h: (khtml::StyleChange::StyleChange): Pull this struct out of ApplyStyleCommandImpl so CompositeEditCommandImpl can use it.
  • khtml/khtml_part.cpp: (KHTMLPart::notifySelectionChanged): Always clear typing style when the selection changes, not only when closing typing. This fixes 3751098.

These three tests actually had results that treated the buggy behavior as correct!

  • layout-tests/editing/style/style-3681552-fix-001-expected.txt
  • layout-tests/editing/style/style-3681552-fix-002-expected.txt
  • layout-tests/editing/style/typing-style-002-expected.txt
10:21 AM Changeset in webkit [7239] by darin
  • 23 edits in trunk/JavaScriptCore

Reviewed by Ken.

  • fixed 43 Mozilla JavaScript tests
  • kjs/date_object.h: Change parseDate and timeClip to take and return doubles.
  • kjs/date_object.cpp: (DateObjectImp::construct): Change to use a timeClip function that takes and returns a double rather than constructing a number object to pass to it. (DateObjectFuncImp::call): Change to use a parseDate function that returns a double. (KJS::parseDate): Change to return a double instead of creating the Number object here. (KJS::timeClip): Implement this as specified in the language standard.
  • kjs/error_object.cpp: (NativeErrorImp::NativeErrorImp): Set the DontDelete, ReadOnly, and DontEnum flags on the prototype property.
  • kjs/function.cpp: (KJS::FunctionImp::get): Return null rather than undefined for arguments when the function is not currently in scope. (KJS::isStrWhiteSpace): Added. Matches specification for StrWhiteSpace. Could move it to some utility file later. (KJS::parseDigit): Added. Helper function for parseInt. (KJS::parseInt): Added. Integer parser that puts result in a double so we're not limited to what strtoll can handle. Also matches standard more closely. (KJS::parseFloat): Added. Handles "0x" properly and passes flag to make empty string turn into NaN instead of 0. (KJS::GlobalFuncImp::call): Use the new parseInt and parseFloat.
  • kjs/function_object.cpp: (FunctionPrototypeImp::FunctionPrototypeImp): Add a length property.
  • kjs/lexer.h: Added error flag and sawError() function for detecting errors.
  • kjs/lexer.cpp: (Lexer::setCode): Clear error state. (Lexer::lex): Set error state if the lexer encounters an error
  • kjs/internal.cpp: (NumberImp::toString): Roll in change from KDE version to special case 0 so we handle -0 correctly. (Parser::parse): Use new lexer error method so those errors are treated like parser errors.
  • kjs/math_object.cpp: (MathFuncImp::call): Change min and max to treat -0 as less than +0. Change round to round values between -0.5 and -0 to -0 instead of +0.
  • kjs/nodes.h: Add evaluateReference function to GroupNode.
  • kjs/nodes.cpp: (GroupNode::evaluateReference): Pass references through groups (parenthesized expressions) properly so that expressions like "delete (x.y)" work. Before, the parentheses would change x.y into a value that can't be deleted as a side effect.
  • kjs/string_object.cpp: Change parameter count for indexOf and lastIndexOf from 2 to 1 to match the specification.
  • kjs/testkjs.cpp: Rolled in changes from KDE to add a "quit" function to the test tool and get rid of the fixed size limit for code.
  • kjs/ustring.cpp: (KJS::UString::substr): Added optimized case for substr(0, length) so it just returns the string without creating a new Rep, since I'm using substr in a place where it will often be passed a 0.
  • tests/mozilla/ecma/String/15.5.4.11-1.js: Fixed one wrong entry in the Unicode table I added to the other day that was making a couple tests fail.
  • tests/mozilla/ecma/String/15.5.4.12-1.js: Ditto.
  • tests/mozilla/ecma/String/15.5.4.12-2.js: Ditto.
  • tests/mozilla/ecma/String/15.5.4.12-3.js: Ditto.
  • tests/mozilla/ecma/String/15.5.4.12-4.js: Ditto.
  • tests/mozilla/ecma/String/15.5.4.12-5.js: Ditto.
  • kjs/string_object.lut.h: Regenerated.
9:45 AM Changeset in webkit [7238] by darin
  • 2 edits in trunk/WebCore

Reviewed by Ken.

  • fixed <rdar://problem/3740485> Repro crash involving replacing content that includes form field
  • kwq/KWQLineEdit.mm: (QLineEdit::selectAll): Since this function calls selectText: which has a side effect of making the text field be first responder, call to bridge first to make it first responder. The bridge version lets WebHTMLView know we are changing the responder, avoiding some unpleasantness because it sets the "changing focus programmatically" flag. Without that flag set, we were getting an additional setFocusNode(0) call, which is unnecessary and incorrect.
9:39 AM Changeset in webkit [7237] by darin
  • 4 edits in trunk/WebCore

Reviewed by Ken.

  • fixed <rdar://problem/3758756> copying text selected with down arrow results in all text to end of document
  • khtml/xml/dom2_rangeimpl.h: Make startNode and pastEndNode public.
  • khtml/xml/dom2_rangeimpl.cpp: (DOM::RangeImpl::pastEndNode): Fix bug where this would return one node too far in the case where the end container was not a text node.
  • khtml/xml/dom_nodeimpl.cpp: (NodeImpl::recursive_toHTMLWithOptions): Rewrite loop, using startNode and pastEndNode, to fix bug where it would run past the end node, including too many nodes in the generated HTML. Nice side benefit: easier to read the code.

Aug 11, 2004:

8:17 PM Changeset in webkit [7236] by darin
  • 3 edits in trunk/JavaScriptCore
  • fixed a tiny problem with the UTF-16 PCRE check-in
  • pcre/maketables.c: (pcre_maketables): Fix mistake in table-generating code that sometimes caused the ctype_meta flag to get set in items that should not have it.
  • pcre/chartables.c: Regenerated.
5:36 PM Changeset in webkit [7235] by adele
  • 2 edits in trunk/WebKit

Reviewed by me, bug fix by Darin.

  • fixed <rdar://problem/3736477> Pages don't load if hard drive is named with non-ASCII Symbol
  • Plugins.subproj/WebBaseNetscapePluginStream.m: (-[WebBaseNetscapePluginStream startStreamWithURL:expectedContentLength:lastModifiedDate:MIMEType:]):

Use UTF8String instead of cString to convert the MIME type to a C string. Safer, since it can't
ever fail due to encoding problems even though this string should always be ASCII.

(-[WebBaseNetscapePluginStream destroyStream]): Use stringWithUTF8String to convert the path name

to an NSString, since stringWithCString is deprecated (doesn't really matter since the path is always
all ASCII). Fix the bug by calling fileSystemRepresentation on the NSString to turn it into a C
string form. Even though the POSIX path can't have any non-ASCII characters in it, the Carbon path
can, so we need to use this instead of cString which can fail depending on characters and encoding.

4:39 PM Changeset in webkit [7234] by cblu
  • 2 edits in trunk/WebCore

Fixed: <rdar://problem/3758216> PARENTAL: buttons on parental controls page only work once

Reviewed by john.

  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::submitForm): prevent a form from being submitted more than once only if it uses a scheme of http or https
2:35 PM Changeset in webkit [7233] by darin
  • 2 edits in trunk/WebCore

Reviewed by Ken.

  • fixed <rdar://problem/3715878> 8A162: connect.apple.com password field showed in cleartext
  • kwq/KWQTextField.mm: (-[KWQSecureTextField textDidEndEditing:]): Enhanced workaround for shifting focus from one secure text field to another so that it works even for the case of shifting focus from a secure text field back to itself.
1:11 PM Changeset in webkit [7232] by kocienda
  • 1 edit
    1 add in trunk/WebCore

Reviewed by me

Missed adding this file before.

  • kwq/KWQTextUtilities.mm: Added. (KWQFindNextWordFromIndex):
10:55 AM Changeset in webkit [7231] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by Trey

Efficiency improvements on string manipulations in these two new function
implementations. Use the versions of QString append/prepend that take
(QChar *c, uint length) instead of creating new strings each time.

  • khtml/xml/dom_position.cpp: (DOM::Position::previousWordPosition): Changed, as described above. (DOM::Position::nextWordPosition): Ditto.
10:27 AM Changeset in webkit [7230] by kocienda
  • 10 edits in trunk/WebCore

Reviewed by Darin

Fix for this bug:
<rdar://problem/3675812> Moving a word at a time does not use the correct conception of "word"

I have implemented versions of previousWordPosition and nextWordPosition that are now
different than previousWordBoundary and nextWordBoundary. The behavior of the new
functions attempts to match what Cocoa does as closely as it can. Let the bug filing begin!

  • WebCore.pbproj/project.pbxproj: Added KWQTextUtilities.mm
  • khtml/misc/helper.cpp: (khtml::nextWordFromIndex): Glue to call through to KWQFindNextWordFromIndex.
  • khtml/misc/helper.h: Declare the function above.
  • khtml/misc/khtml_text_operations.cpp: Added SimplifiedBackwardsTextIterator class. (khtml::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator): New (khtml::SimplifiedBackwardsTextIterator::advance): Ditto. (khtml::SimplifiedBackwardsTextIterator::handleTextNode): Ditto. (khtml::SimplifiedBackwardsTextIterator::handleReplacedElement): Ditto. (khtml::SimplifiedBackwardsTextIterator::handleNonTextNode): Ditto. (khtml::SimplifiedBackwardsTextIterator::exitNode): Ditto. (khtml::SimplifiedBackwardsTextIterator::emitCharacter): Ditto. (khtml::SimplifiedBackwardsTextIterator::range): Ditto.
  • khtml/misc/khtml_text_operations.h: (khtml::SimplifiedBackwardsTextIterator::atEnd): Ditto. (khtml::SimplifiedBackwardsTextIterator::length): Ditto. (khtml::SimplifiedBackwardsTextIterator::characters): Ditto.
  • khtml/xml/dom_position.cpp: (DOM::Position::previousWordBoundary): Updated to gather appropriate text and call through to AppKit to perform the same calculations NSText uses. (DOM::Position::nextWordBoundary): Ditto. (DOM::Position::previousWordPosition): Unrelated change to fix case where the function could get "stuck". (DOM::Position::nextWordPosition): Ditto (DOM::Position::equivalentDeepPosition): Changed to look backwards if the position's offset is equal to the number of child nodes it has. This handles more cases correctly, like when the position is gives as one beyond the end of a document element's last child.
  • kwq/KWQTextUtilities.h: Declared KWQFindNextWordFromIndex.
  • kwq/KWQTextUtilities.mm: Added. (KWQFindNextWordFromIndex): New function.
9:45 AM Changeset in webkit [7229] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by John

Fix for this bug:

<rdar://problem/3732702> crash in CSSComputedStyleDeclarationImpl running devtools.com editing sample code

  • khtml/khtml_part.cpp: (KHTMLPart::selectionComputedStyle): Added a null check.

Aug 10, 2004:

11:26 PM Changeset in webkit [7228] by darin
  • 4 edits in trunk/WebCore

Reviewed by Trey.

  • fixed <rdar://problem/3710123> Loading iframe that replaces content in the parent document crashes Safari

I fixed three problems:

1) script interpreter destroyed while it was interpreting scripts, caused random havoc
2) code trying to get to view after view was detached from part, caused nil-deref
3) signals sent to parent after child was no longer in the parent's frames list, caused nil-deref

Now the test page works fine. Hope the real sites do too.

  • khtml/khtml_part.h: Add connectChild and disconnectChild helper functions (private).
  • khtml/khtml_part.cpp: (KHTMLPart::clear): Call disconnectChild on each frame as we detach it (see below). (KHTMLPart::end): Ref the part at the start, and deref the part at the end, of this function. Otherwise, we can end up destroying the part, and hence the interpreter, inside a script that the interpreter itself is running. (KHTMLPart::slotFinishedParsing): Add another check for a nil m_view, after the call to checkCompleted. (KHTMLPart::checkCompleted): Remove bogus if statement with empty body. (KHTMLPart::processObjectRequest): Call disconnectChild to disconnect the child <-> parent signals of the old child that the new one is replacing, and connectChild to connect the signals (nicer factoring). (KHTMLPart::slotChildCompleted): Fixed up a confusing boolean if/expression to be simpler. Not related to the bug fix, but an earlier version of the fix had changes in this function. (KHTMLPart::connectChild): Added. Connects the appropriate signals for a child frame. (KHTMLPart::disconnectChild): Added. Disconnects the same signals that connectChild connects.
  • kwq/KWQKHTMLPart.mm: (KHTMLPart::frameDetached): Added a call to disconnectChild before removing the child from the frames list.
7:51 PM Changeset in webkit [7227] by rjw
  • 14 edits in trunk/JavaScriptCore

Fixed <rdar://problem/3674747> Need to implement invokeUndefinedMethodFromWebScript:withArguments:

The following WebScripting methods are now supported on bound
objects:

  • (id)invokeUndefinedMethodFromWebScript:(NSString *)name withArguments:(NSArray *)args;
  • (void)setValue:(id)value forUndefinedKey:(NSString *)key
  • (id)valueForUndefinedKey:(NSString *)key

Reviewed by Chris.

  • bindings/c/c_class.cpp: (CClass::fieldNamed):
  • bindings/c/c_class.h:
  • bindings/jni/jni_class.cpp: (JavaClass::fieldNamed):
  • bindings/jni/jni_class.h:
  • bindings/objc/objc_class.h: (KJS::Bindings::ObjcClass::isa):
  • bindings/objc/objc_class.mm: (ObjcClass::methodsNamed): (ObjcClass::fieldNamed): (ObjcClass::fallbackObject):
  • bindings/objc/objc_instance.h:
  • bindings/objc/objc_instance.mm: (ObjcInstance::invokeMethod): (ObjcInstance::setValueOfField): (ObjcInstance::setValueOfUndefinedField): (ObjcInstance::getValueOfField): (ObjcInstance::getValueOfUndefinedField):
  • bindings/objc/objc_runtime.h: (KJS::Bindings::ObjcField::~ObjcField): (KJS::Bindings::ObjcField::ObjcField): (KJS::Bindings::ObjcField::operator=): (KJS::Bindings::FallbackObjectImp::classInfo):
  • bindings/objc/objc_runtime.mm: (ObjcField::ObjcField): (ObjcField::name): (ObjcField::type): (ObjcField::valueFromInstance): (ObjcField::setValueToInstance): (FallbackObjectImp::FallbackObjectImp): (FallbackObjectImp::get): (FallbackObjectImp::put): (FallbackObjectImp::canPut): (FallbackObjectImp::implementsCall): (FallbackObjectImp::call): (FallbackObjectImp::hasProperty): (FallbackObjectImp::deleteProperty): (FallbackObjectImp::defaultValue):
  • bindings/runtime.h: (KJS::Bindings::Class::fallbackObject): (KJS::Bindings::Instance::getValueOfUndefinedField): (KJS::Bindings::Instance::setValueOfUndefinedField):
  • bindings/runtime_object.cpp: (RuntimeObjectImp::get): (RuntimeObjectImp::put): (RuntimeObjectImp::canPut): (RuntimeObjectImp::hasProperty):
  • bindings/testbindings.mm: (-[MyFirstInterface valueForUndefinedKey:]): (-[MyFirstInterface setValue:forUndefinedKey:]):
5:21 PM Changeset in webkit [7226] by mjs
  • 10 edits in trunk

WebCore:

Reviewed by Trey.

WebCore part of:

  • made basic marked text highlighting work to complete basic level of <rdar://problem/3704359> input method support not yet implemented for HTML editing
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge setMarkedDOMRange:]): Added this new call to support storing a marked range in WebCore. The provided DOMRange must start and end in the same node, which must be a text node. (-[WebCoreBridge markedDOMRange]): New call to get the marked range. (-[WebCoreBridge clearMarkedDOMRange]): New call to clear the marked range.
  • kwq/WebCoreBridge.h: Prototype new methods.
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::markedRange): Implementation of WebCore call above. (KWQKHTMLPart::setMarkedRange): Implementation of WebCore call above - store the marked range, and repaint new and old nodes if needed. (KWQKHTMLPart::clear): Clear marked range.
  • kwq/KWQKHTMLPart.h: Prototype new methods.
  • khtml/rendering/render_text.cpp: (InlineTextBox::paintMarkedTextBackground): New method to paint the background for marked text, modeled on paintSelection. (RenderText::paint): Optionally handle painting marked text background as well as selection background in the marked text pass.
  • khtml/rendering/render_text.h: Prototype new method.

WebKit:

Reviewed by Trey.

WebKit part of:

  • made basic marked text highlighting work to complete basic level of <rdar://problem/3704359> input method support not yet implemented for HTML editing
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView markedRange]): Use new bridge calls instead of internal marked range storage. (-[WebHTMLView hasMarkedText]): Likewise. (-[WebHTMLView unmarkText]): Likewise. (-[WebHTMLView _selectMarkedText]): Likewise. (-[WebHTMLView _selectRangeInMarkedText:]): Likewise. (-[WebHTMLView _selectionIsInsideMarkedText]): Likewise. (-[WebHTMLView _updateSelectionForInputManager]): Likewise. (-[WebHTMLView setMarkedText:selectedRange:]): Use direct bridge call instead of private _selectMarkedDOMRange: method, which would now be trivial.
  • WebView.subproj/WebHTMLViewInternal.h: Remove unneeded
2:57 PM Changeset in webkit [7225]
  • 64 copies
    2 deletes in tags/WebCore-125~8~7

This commit was manufactured by cvs2svn to create tag
'WebCore-125~8~7'.

2:57 PM Changeset in webkit [7224] by vicki
  • 2 edits in branches/Safari-1-2-branch/WebCore
  • versioning for WebCore submission to SUPanXpress, WebCore-125.8.7
2:35 PM Changeset in webkit [7223] by darin
  • 14 edits in trunk

JavaScriptCore:

Reviewed by Dave.

  • switch PCRE to do UTF-16 directly instead of converting to/from UTF-8 for speed
  • pcre/pcre.h: Added PCRE_UTF16 switch, set to 1. Added pcre_char typedef, which is char or uint16_t depending on the mode, and used appropriate in the 7 public functions that need to use it.
  • pcre/pcre.c: Add UTF-16 support to all functions.
  • pcre/study.c: Ditto.
  • pcre/internal.h: Added ichar typedef, which is unsigned char or uint16_t depending on the mode. Changed declarations to use symbolic constants and typedefs so we size things to ichar when needed.
  • pcre/maketables.c: (pcre_maketables): Change code to make tables that are sized to 16-bit characters instead of 8-bit.
  • pcre/get.c: (pcre_copy_substring): Use pcre_char instead of char. (pcre_get_substring_list): Ditto. (pcre_free_substring_list): Ditto. (pcre_get_substring): Ditto. (pcre_free_substring): Ditto.
  • pcre/dftables.c: (main): Used a bit more const, and use ICHAR sizes instead of hard-coding 8-bit table sizes.
  • pcre/chartables.c: Regenerated.
  • kjs/ustring.h: Remove functions that convert UTF-16 to/from UTF-8 offsets.
  • kjs/ustring.cpp: Change the shared empty string to have a unicode pointer that is not null. The null string still has a null pointer. This prevents us from passing a null through to the regular expression engine (which results in a null error even when the string length is 0).
  • kjs/regexp.cpp: (KJS::RegExp::RegExp): Null-terminate the pattern and pass it. (KJS::RegExp::match): Use the 16-bit string directly, no need to convert to UTF-8.

WebCore:

Reviewed by Dave.

  • switch PCRE to do UTF-16 directly instead of converting to/from UTF-8 for speed
  • kwq/KWQRegExp.mm: (QRegExp::KWQRegExpPrivate::compile): Null-terminate the pattern and pass it. (QRegExp::match): Use the 16-bit string directly, no need to convert to UTF-8.
11:43 AM Changeset in webkit [7222] by darin
  • 25 edits in trunk/JavaScriptCore

Reviewed by Maciej.

  • fixed 28 Mozilla JavaScript tests
  • kjs/array_object.cpp: (ArrayProtoFuncImp::call): Check for undefined rather than checking the number of arguments for the join method.
  • kjs/lexer.cpp: (Lexer::lex): Parse hexadecimal and octal constants in doubles rather than integers, so we aren't limited to 32 bits.
  • kjs/math_object.cpp: (MathFuncImp::call): Get rid of many unneeded special cases in the implementation of the pow operation. Also simplied a case that was handling positive and negative infinity separately.
  • kjs/nodes.cpp: (ShiftNode::evaluate): Keep the result of shifts in a double instead of putting them in a long, so that unsigned shift will work properly.
  • kjs/number_object.cpp: Add the DontDelete and ReadOnly flags to the numeric constants.
  • kjs/operations.cpp: (KJS::isPosInf): Added an implementation inside APPLE_CHANGES that does not depend on the sign of isinf; our isinf function returns +1 even for negative infinity. (KJS::isNegInf): And again. (KJS::relation): Put in a nice simple implementation of comparison inside APPLE_CHANGES. Our floating point already handles the various infinity cases correctly.
  • kjs/regexp_object.cpp: (RegExpProtoFuncImp::call): Add missing return before Null() in Exec method. (RegExpObjectImp::arrayOfMatches): Put undefined rather than an empty string into the array in cases where we did not match. (RegExpObjectImp::construct): Set the DontDelete, ReadOnly, and DontEnum flags for "global", "ignoreCase", "multiline", and "source".
  • kjs/string_object.cpp: (StringProtoFuncImp::call): For the match method, turn a null string into undefined rather than an empty string. For the slice method, handle an undefined parameter for the limit properly as decribed in the specification, and add the limit to one case that didn't have the limit at all. For the methods that generate HTML strings, use lowercase tags instead of uppercase.
  • kjs/ustring.cpp: (KJS::UChar::toLower): Use u_tolower from the ICU library. (KJS::UChar::toUpper): Use u_toupper from the ICU library. (KJS::UString::append): Fix some math that caused a buffer overflow. (KJS::convertUTF16OffsetsToUTF8Offsets): Ignore negative numbers (-1 is used as a special flag) rather than converting them all to 0. (KJS::convertUTF8OffsetsToUTF16Offsets): Ditto.
  • tests/mozilla/jsDriver.pl: Fixed the relative links to point to our actual test files.
  • tests/mozilla/ecma/String/15.5.4.11-1.js: Fixed the Unicode table in this test to match the Unicode specification in a few cases where it was wrong before.
  • tests/mozilla/ecma/String/15.5.4.11-2.js: Ditto.
  • tests/mozilla/ecma/String/15.5.4.11-3.js: Ditto.
  • tests/mozilla/ecma/String/15.5.4.11-5.js: Ditto.
  • tests/mozilla/ecma/String/15.5.4.11-6.js: Ditto.
  • tests/mozilla/ecma/String/15.5.4.12-1.js: Ditto.
  • tests/mozilla/ecma/String/15.5.4.12-2.js: Ditto.
  • tests/mozilla/ecma/String/15.5.4.12-3.js: Ditto.
  • tests/mozilla/ecma/String/15.5.4.12-4.js: Ditto.
  • tests/mozilla/ecma/String/15.5.4.12-5.js: Ditto.
  • kjs/number_object.lut.h: Regenerated.
11:14 AM Changeset in webkit [7221] by darin
  • 4 edits in trunk/WebKit

Reviewed by Ken.

  • change name of WebMakeCollectable to WebNSRetainCFRelease so it fits into the "NS and CF retain counts are separate" mental model, rather than the "think about how garbage collection works" one
  • Misc.subproj/WebKitNSStringExtras.m: (+[NSString _web_encodingForResource:]): Rename.
  • Misc.subproj/WebNSObjectExtras.h: (WebNSRetainCFRelease): Ditto.
  • Misc.subproj/WebNSURLExtras.m: (+[NSURL _web_URLWithData:relativeToURL:]): Ditto. (-[NSURL _web_URLWithLowercasedScheme]): Ditto.
11:09 AM Changeset in webkit [7220] by darin
  • 3 edits in trunk/WebCore

Reviewed by Ken.

  • minor cleanup
  • khtml/editing/jsediting.cpp: Capitalize command names to match Windows. The dictionary lookup is case insensitive.
  • kwq/KWQFoundationExtras.h: Remove inaccurate comment.
10:48 AM Changeset in webkit [7219] by trey
  • 2 edits in trunk/WebCore

3757094 - crash spell checking after a paste

Reviewed by Ken

  • khtml/rendering/render_text.cpp: (InlineTextBox::paintSelection): Add nil check.
9:34 AM Changeset in webkit [7218] by trey
  • 6 edits in trunk/WebCore

3756195 - spell checking leaves misspelling marker behind after bad word is deleted
... and other follow-on spell check fixes

Reviewed by Ken

  • khtml/rendering/render_text.cpp: (InlineTextBox::paintMarker): Close inspection shows we were drawing the misspelling marker one pixel lower than AK, and one pixel outside the selection rect we draw, in the case of Times-16. So move it up one. Still not an exact match for AK, but less bad.
  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::removeMarker): Track whether we make any changes, so we only repaint if something actually changed. (DocumentImpl::removeAllMarkers): New utility. (DocumentImpl::removeAllMarkers): Use clear() instead of (errant) hand-rolled loop to empty array. (DocumentImpl::shiftMarkers): Track whether we make any changes, so we only repaint if something actually changed.
  • khtml/xml/dom_docimpl.h:
  • khtml/xml/dom_textimpl.cpp: (CharacterDataImpl::deleteData): Along with shifting existing markers around, remove any markers in the deleted range. Fixes 3756195. (CharacterDataImpl::replaceData): Ditto for the replaced range.
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::updateSpellChecking): comment

Aug 9, 2004:

11:30 PM Changeset in webkit [7217] by trey
  • 2 edits in trunk/WebKit

3756599 - REGRESSION: hit assertion in KWQPageState invalidate

By inspection I found a flaw in the recently added logic, although
I have no steps to repro. My theoretical explanation is that we would
get two errors and go through _receivedMainResourceError: twice, which
would cause the pageState to be invalidated twice, which is the only
way I can see to hit the assert.

Reviewed by Darin

  • WebView.subproj/WebFrame.m: (-[WebFrame _receivedMainResourceError:]): Clear the pageState out of the history item after it's been invalidated by WebCore.
8:05 PM Changeset in webkit [7216] by darin
  • 2 edits in trunk/JavaScriptCore

Reviewed by Maciej.

  • fixed <rdar://problem/3753467> REGRESSION (137-138): reproducible buffer overrun in UString manipulation code
  • kjs/ustring.cpp: (KJS::UString::append): Fix incorrect size computation. Without it we get a buffer overflow.
5:33 PM Changeset in webkit [7215]
  • 4 copies in tags/Safari-155

This commit was manufactured by cvs2svn to create tag 'Safari-155'.

5:33 PM Changeset in webkit [7214] by rjw
  • 2 edits in trunk/WebKit

Inspired by Trey we have a much better approach for conditionally
linking Quart.framework. Instead of multiple targets we use
to invoke some inline script to extend COMMON_LDFLAGS as
necessary. Thanks Trey!

Reviewed by Trey.

  • WebKit.pbproj/project.pbxproj:
5:11 PM Changeset in webkit [7213] by trey
  • 3 edits in trunk/WebKit

Hookup UI for "Continuous Spelling" menu item.

Reviewed by Richard.

  • WebView.subproj/WebView.m: (-[WebView validateUserInterfaceItem:]): Enable and check the menu item to reflect our state. (-[WebView toggleContinuousSpellChecking:]): Change type to IBAction, just cosmetic.
  • WebView.subproj/WebViewPrivate.h:
3:00 PM Changeset in webkit [7212] by trey
  • 10 edits in trunk

WebCore:

3745023 - Safari crashes trying to access anchor while downloading

I bet this is behind a few other crashers as well. In this bug the start of the
download leaves a KWQPageState hanging around, and when that is freed it damages
the part and view. If you're still using that page, you're dead.

The fix is to properly invalidate the PageState when we receive an error before
reaching WebFrameCommitted state. Normally this happens when a page is reheated
from the PageState, but in this case we never manage to leave the page to begin
with, although we've already created the PageState.

Other errors besides the synthetic one download generates would have caused similar
crashing. Another example would be clicking on a second link before the load
caused by clicking on the first link reached committed state.

Reviewed by Richard

  • kwq/WebCoreBridge.h:
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge didNotOpenURL:pageCache:]): Invalidate the pageCache state when a load doesn't get off the ground.

WebKit:

3745023 - Safari crashes trying to access anchor while downloading

I bet this is behind a few other crashers as well. In this bug the start of the
download leaves a KWQPageState hanging around, and when that is freed it damages
the part and view. If you're still using that page, you're dead.

The fix is to properly invalidate the PageState when we receive an error before
reaching WebFrameCommitted state. Normally this happens when a page is reheated
from the PageState, but in this case we never manage to leave the page to begin
with, although we've already created the PageState.

Other errors besides the synthetic one download generates would have caused similar
crashing. Another example would be clicking on a second link before the load
caused by clicking on the first link reached committed state.

Reviewed by Richard

  • WebView.subproj/WebDataSource.m: (-[WebDataSource _receivedMainResourceError:complete:]): Let the frame do the main work (since it has access to the pageCache state). Also renamed to make it clear that this is about an error for the main resource.
  • WebView.subproj/WebDataSourcePrivate.h:
  • WebView.subproj/WebFrame.m: (-[WebFrame _receivedMainResourceError:]): Let WC know about the failure, as the DataSource used to, but now pass the pageCache state along too.
  • WebView.subproj/WebFramePrivate.h:
  • WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient receivedError:]): Call renamed method. (-[WebMainResourceClient cancelWithError:]): Ditto.

Aug 8, 2004:

1:44 PM Changeset in webkit [7211] by vicki
  • 2 edits in trunk/WebKit

Reviewed by vicki (changes by rjw)

  • make "weak" linking with Quartz work with buildit
  • WebKit.pbproj/project.pbxproj:

Aug 6, 2004:

5:25 PM Changeset in webkit [7210] by kocienda
  • 19 edits in trunk

WebCore:

Reviewed by Maciej

Finish off spellchecking support to HTML editing. Includes work to
enable continuous spellchecking.

  • khtml/editing/htmlediting_impl.cpp: (khtml::EditCommandImpl::markMisspellingsInSelection): Basically, a one-liner convenience to make the call over to the KWQKHTMLPart. (khtml::ReplaceSelectionCommandImpl::doApply): Did some rearranging of code so that the inserted content can be spell-checked. The function is basically the same, except for the addition of calls to markMisspellingsInSelection. (khtml::TypingCommandImpl::markMisspellingsAfterTyping): New function. Takes a look at the selection that results after typing and determines whether it needs to spellcheck. Since the word containing the current selection is never marked, this does a check to see if typing made a new word that is not in the current selection. Basically, you get this by being at the end of a word and typing a space. (khtml::TypingCommandImpl::typingAddedToOpenCommand): Call markMisspellingsAfterTyping.
  • khtml/editing/htmlediting_impl.h: Add new function declarations.
    • khtml/khtml_part.cpp:

(KHTMLPart::setSelection): Since spell checks are updated when the selection changes,
and every selection change passes through here, this is a good place to put the call
to the spellchecker.

  • khtml/rendering/render_text.cpp: (InlineTextBox::paintMarker): Remove temporary misspelling line drawing code. Replace with call that does AppKit-style drawing. Fix up some comments.
  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::addMarker): Repaint the node that had the marker added. This makes it show up on setting it. (DocumentImpl::removeMarker): Ditto. (DocumentImpl::removeAllMarkers): New function. Convenience for clearing all markers. Used when not in continuous spellchecking mode. (DocumentImpl::shiftMarkers): Moves markers in response to changes in a node's contents. This shifts the marker offsets by a given amount. This keeps the markers in the right place when a user types in a node with markers already set on it.
  • khtml/xml/dom_docimpl.h: Added new functions. Removed unnecessary enum qualifier from some declarations.
  • khtml/xml/dom_position.cpp: (DOM::Position::previousWordBoundary): This function was susceptible to endless loops...and needlessly so. Basically, if the current position is at a word boundary, run the code again to find the previous word boundary. (DOM::Position::nextWordBoundary): Same as above, but for next word boundary.
  • khtml/xml/dom_textimpl.cpp: (CharacterDataImpl::setData): Call shiftMarkers to update markers when this node changes. (CharacterDataImpl::insertData): Ditto. (CharacterDataImpl::deleteData): Ditto. (CharacterDataImpl::replaceData): Ditto.
  • kwq/KWQKHTMLPart.h:
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::advanceToNextMisspelling): (KWQKHTMLPart::markMisspellingsInSelection): (KWQKHTMLPart::updateSpellChecking): (KWQKHTMLPart::respondToChangedSelection):
  • kwq/KWQPainter.h:
  • kwq/KWQPainter.mm: (QPainter::drawLineForMisspelling): New function. Call over to WebKit to do the drawing.
  • kwq/WebCoreBridge.h:
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge alterCurrentSelection:direction:granularity:]): Pass markMisspellings flag to setSelection call.
  • kwq/WebCoreTextRenderer.h:

WebKit:

Reviewed by Maciej

Finish off spellchecking support to HTML editing. Includes work to
enable continuous spellchecking.

  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge isContinuousSpellCheckingEnabled]): Simple bridge method.
  • WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer drawLineForMisspelling:withWidth:]): New method to add AppKit-style misspelling underline.
11:50 AM Changeset in webkit [7209] by vicki
  • 3 edits in trunk

156u, Safari 2.0 for TOT. The tree is open!

11:45 AM Changeset in webkit [7208] by vicki
  • 6 edits in trunk

Safari-155 stamp

Aug 5, 2004:

8:18 PM Changeset in webkit [7207] by darin
  • 2 edits in trunk/WebKit
  • WebView.subproj/WebHTMLView.m: Added a list of methods that NSTextView implements that we don't. All inside #if 0.
6:05 PM Changeset in webkit [7206] by rjw
  • 6 edits in trunk/JavaScriptCore

Fixed part of 3674747. The QT guys need this for feature freeze.

This patch implements support for the

  • (id)invokeUndefinedMethodFromWebScript:(NSString *)name withArguments:(NSArray *)args

method of objects bound to JavaScript.

Reviewed by John.

  • ChangeLog:
  • bindings/objc/objc_class.mm: (ObjcClass::methodsNamed): (ObjcClass::fieldNamed):
  • bindings/objc/objc_instance.mm: (ObjcInstance::invokeMethod):
  • bindings/objc/objc_runtime.h: (KJS::Bindings::ObjcMethod::~ObjcMethod): (KJS::Bindings::ObjcMethod::isFallbackMethod): (KJS::Bindings::ObjcMethod::javaScriptName):
  • bindings/objc/objc_runtime.mm: (ObjcMethod::ObjcMethod): (ObjcMethod::getMethodSignature): (ObjcMethod::setJavaScriptName):
  • bindings/testbindings.mm:
3:32 PM Changeset in webkit [7205]
  • 64 copies
    2 deletes in tags/WebCore-125~8~6

This commit was manufactured by cvs2svn to create tag
'WebCore-125~8~6'.

3:32 PM Changeset in webkit [7204] by vicki
  • 2 edits in branches/Safari-1-2-branch/WebCore

bump the version number again for latest Moccasin fix, WebCore-125.8.6

3:27 PM Changeset in webkit [7203] by vicki
  • 2 edits in branches/Safari-1-2-branch/WebCore
  • merge this fix from HEAD for SUPanMoccasin

2004-08-05 David Hyatt <hyatt@apple.com>

Fix for 3752542, stack overflow that crashes Safari at www.dr.dk. This bug is a regression caused by a fix that
attempted to repair <caption> behavior to make it behave like Panther. This fix was incorrect, and in addition
even our <caption> behavior on Panther was incorrect.

The patch that fixes this bug also makes <caption> handling work when <caption>s are contained inside a <td>, a <tr>,
a <th>, or various table section tags (<tbody>, <tfoot>, <thead>). The <caption> is pulled out and inserted just before
the relevant ancestor table section. This behavior matches other browsers.

Reviewed by mjs

  • khtml/html/htmlparser.cpp: (KHTMLParser::insertNode):
2:54 PM Changeset in webkit [7202] by hyatt
  • 2 edits in trunk/WebCore

Fix for 3752542, stack overflow that crashes Safari at www.dr.dk. This bug is a regression caused by a fix that
attempted to repair <caption> behavior to make it behave like Panther. This fix was incorrect, and in addition
even our <caption> behavior on Panther was incorrect.

The patch that fixes this bug also makes <caption> handling work when <caption>s are contained inside a <td>, a <tr>,
a <th>, or various table section tags (<tbody>, <tfoot>, <thead>). The <caption> is pulled out and inserted just before
the relevant ancestor table section. This behavior matches other browsers.

Reviewed by mjs

  • khtml/html/htmlparser.cpp: (KHTMLParser::insertNode):
2:52 PM Changeset in webkit [7201] by cblu
  • 3 edits in trunk/WebKit

WebKit:

Fixed unnecessary import of NSURLFileTypeMappings.

  • WebView.subproj/WebMainResourceClient.m:

WebBrowser:

Fixed unnecessary import of NSURLFileTypeMappings.

  • BrowserWebController.m:
12:27 PM Changeset in webkit [7200] by rjw
  • 2 edits in trunk/WebKit

Make builds conditionally include -framework Quartz.

Reviewed by Chris.

  • WebKit.pbproj/project.pbxproj:
11:04 AM Changeset in webkit [7199]
  • 64 copies
    2 deletes in tags/WebCore-125~8~4

This commit was manufactured by cvs2svn to create tag
'WebCore-125~8~4'.

11:04 AM Changeset in webkit [7198] by vicki
  • 2 edits in branches/Safari-1-2-branch/WebCore
  • versioning for SUPanMoccasin, WebCore-125.8.4
10:59 AM Changeset in webkit [7197]
  • 64 copies
    2 deletes in tags/WebCore-125~8~5

This commit was manufactured by cvs2svn to create tag
'WebCore-125~8~5'.

10:59 AM Changeset in webkit [7196] by vicki
  • 2 edits in branches/Safari-1-2-branch/WebCore
  • new versioning for SUPanXpress (WebCore-125.8.5), since the fix for 3534851 (Moccasin clone is 3703230) has to be backed out here as well
10:54 AM Changeset in webkit [7195] by vicki
  • 2 edits in branches/Safari-1-2-branch/WebCore
  • roll out this chang for SUPanMoccasin, since it causes 3751025

2004-06-18 John Sullivan <sullivan@apple.com>

Reviewed by Darin

  • fixed <rdar://problem/3534851> Pop up windows not showing up within SAP's BW Module (changing location.href on new window created by window.open)
  • khtml/khtml_part.cpp: (KHTMLPart::scheduleRedirection): allow new redirect to win if delay <= current delay, not just <

Aug 4, 2004:

5:18 PM Changeset in webkit [7194] by vicki
  • 2 adds in trunk/LayoutTests/fast/js

add a layout test for 3649789

4:58 PM Changeset in webkit [7193] by vicki
  • 2 edits in trunk/JavaScriptCore

Reviewed by mjs.

  • fix <rdar://problem/3649789> SAP WebGUI has problems loading first page because of parse error
  • kjs/lexer.cpp: (Lexer::lex): if the current character is a '\' and the next character is a line terminator, go to the next line and continue parsing the string (instead of failing). This matches behavior in Mac IE and Mozilla.
3:05 PM Changeset in webkit [7192] by hyatt
  • 8 edits
    2 adds in trunk/WebCore

The top-level XSL sheet is now loaded and shows up in the activity window. It is not yet parsed.

Reviewed by kocienda

  • WebCore.pbproj/project.pbxproj:
  • khtml/css/css_base.h: (DOM::StyleBaseImpl::isXSLStyleSheet):
  • khtml/css/css_stylesheetimpl.cpp: (CSSStyleSheetImpl::CSSStyleSheetImpl):
  • khtml/css/css_stylesheetimpl.h: (DOM::StyleSheetImpl::isLoading):
  • khtml/misc/loader.cpp:
  • khtml/xml/dom_xmlimpl.cpp: (DOM::ProcessingInstructionImpl::ProcessingInstructionImpl): (DOM::ProcessingInstructionImpl::checkStyleSheet): (DOM::ProcessingInstructionImpl::sheet): (DOM::ProcessingInstructionImpl::isLoading): (DOM::ProcessingInstructionImpl::setStyleSheet):
  • khtml/xml/dom_xmlimpl.h:
1:25 PM Changeset in webkit [7191] by hyatt
  • 3 edits in trunk/WebCore

Add XSL Stylesheets to the WebCore cache.

Reviewed by kocienda

  • khtml/misc/loader.cpp: (CachedXSLStyleSheet::CachedXSLStyleSheet): (CachedXSLStyleSheet::ref): (CachedXSLStyleSheet::deref): (CachedXSLStyleSheet::data): (CachedXSLStyleSheet::checkNotify): (CachedXSLStyleSheet::error): (DocLoader::requestXSLStyleSheet): (Cache::requestXSLStyleSheet): (Cache::getStatistics):
  • khtml/misc/loader.h: (khtml::CachedObject::): (khtml::CachedXSLStyleSheet::sheet): (khtml::CachedXSLStyleSheet::schedule):
9:50 AM Changeset in webkit [7190] by darin
  • 2 edits in trunk/WebKit
  • fixed broken Deployment build
  • Carbon.subproj/HIWebView.m: (Click): Remove code that checks err variable before setting it.

Aug 3, 2004:

5:30 PM Changeset in webkit [7189] by rjw
  • 7 edits
    4 adds in trunk/WebKit

First cut at dirt simple PDF support. This feature
depends on Quartz.framework (parent of PDFKit), which only exists
on Tiger. So, we "weak" link against Quartz.

We do very basic PDF rendering. Coming up are support for
"Find..." and linearized PDF (incremental). Linearized PDF
support will require API changes in PDFKit.

No UI is added to Safari, yet.

Reviewed by John.

  • WebKit.pbproj/project.pbxproj:
  • WebView.subproj/WebDataSource.m: (+[WebDataSource _repTypesAllowImageTypeOmission:]):
  • WebView.subproj/WebFrameView.m: (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
  • WebView.subproj/WebPDFRepresentation.h: Added.
  • WebView.subproj/WebPDFRepresentation.m: Added. (-[WebPDFRepresentation finishedLoadingWithDataSource:]): (-[WebPDFRepresentation canProvideDocumentSource]): (-[WebPDFRepresentation documentSource]): (-[WebPDFRepresentation title]):
  • WebView.subproj/WebPDFView.h: Added.
  • WebView.subproj/WebPDFView.m: Added. (-[WebPDFView initWithFrame:]): (-[WebPDFView setDataSource:]): (-[WebPDFView dataSourceUpdated:]): (-[WebPDFView setNeedsLayout:]): (-[WebPDFView layout]): (-[WebPDFView viewWillMoveToHostWindow:]): (-[WebPDFView viewDidMoveToHostWindow]):

Copied fix from Jaguar carbon/cocoa work.

Reviewed by Darin (Jaguar version)

  • Carbon.subproj/CarbonWindowAdapter.h:
  • Carbon.subproj/CarbonWindowAdapter.m: (-[CarbonWindowAdapter relinquishFocus]):
  • Carbon.subproj/HIWebView.m: (Click): (OwningWindowChanged): (WindowHandler):
4:58 PM Changeset in webkit [7188] by hyatt
  • 3 edits in trunk/WebKit

Add the text/xsl MIME type as one that can be displayed.

Reviewed by john

  • WebView.subproj/WebDataSource.m: (+[WebDataSource _repTypesAllowImageTypeOmission:]):
  • WebView.subproj/WebFrameView.m: (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
4:40 PM Changeset in webkit [7187] by kocienda
  • 20 edits in trunk/WebCore

Reviewed by Hyatt

Changes to improve our handling of object tags during editing, including
fixing this bug:

<rdar://problem/3744533> Problem editing <OBJECT> elements displayed by WebPlugIns

Part of the fix for this bug involves removing the close() function from render objects.
It was decided that this code was no longer needed, as the work it did could be moved
to other, more modern, places.

Fixed this bug:

<rdar://problem/3748537> crash due to nil node passed into parentNode in computeTypingStyle deleting text

Finally, I filed and fixed this bug I discovered while fixing the one above:

<rdar://problem/3749338> Select-all + delete leaves editing view without blinking caret

  • khtml/editing/htmlediting_impl.cpp: (khtml::DeleteSelectionCommandImpl::computeTypingStyle): Fix for 3748537. Put in some more null checks. Bail, returning 0 for typing style if any null checks yield a null. (khtml::DeleteSelectionCommandImpl::doApply): Fix for 3749338. A removeNodeAndPrune call may wind up deleting the node where we calculated that we wanted to put the selection after deleting. If this happens, move this ending selection to a sensible alternative. (khtml::RemoveNodeAndPruneCommandImpl::doApply): Call previousNodeConsideringAtomicNodes instead of traversePreviousNode when doing the prune.
  • khtml/html/html_objectimpl.cpp: (HTMLObjectElementImpl::attach): Part of the fix for 3744533. (HTMLObjectElementImpl::recalcStyle): Change old strcmp check for type of renderer to be a call to canRenderImageType. (HTMLObjectElementImpl::childrenChanged): New function. Helps to keep object tags up to date as their children change. This also will help to make object tags respond properly to having their params changed by DOM calls.
  • khtml/html/html_objectimpl.h: Cosmetic change.
  • khtml/html/htmlparser.cpp: (KHTMLParser::insertNode): Remove call to obsolete closeRenderer() function. (KHTMLParser::popOneBlock): Ditto.
  • khtml/rendering/render_block.cpp: (khtml::RenderBlock::makeChildrenNonInline): Remove call to obsolete close() function.
  • khtml/rendering/render_container.cpp: (RenderContainer::updatePseudoChild): Ditto.
  • khtml/rendering/render_form.cpp: Remove obsolete close() function.
  • khtml/rendering/render_form.h: Ditto.
  • khtml/rendering/render_frames.cpp: Ditto.
  • khtml/rendering/render_frames.h: Ditto.
  • khtml/rendering/render_inline.cpp: (RenderInline::splitFlow): Remove calls to obsolete close() function.
  • khtml/rendering/render_object.h: Remove obsolete close() function.
  • khtml/rendering/render_table.cpp: (RenderTableCell::layout): Ditto.
  • khtml/rendering/render_table.h: Ditto.
  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::closeInternal): Remove call to obsolete close() function.
  • khtml/xml/dom_nodeimpl.cpp: Remove obsolete m_rendererNeedsClose initialization. (NodeImpl::NodeImpl): Remove obsolete closeRenderer() function. (NodeImpl::attach): Remove call to obsolete close() function. (NodeImpl::isAtomicNode): New function. Helps to fix 3744533. Determines if a node should be treated as an atomic node for the purposes of editing. (NodeImpl::previousNodeConsideringAtomicNodes): New helper to traverse tree taking atomic nodes into account. (NodeImpl::nextNodeConsideringAtomicNodes): Ditto. (NodeImpl::previousLeafNode): Now calls nextNodeConsideringAtomicNodes to iterate. This helps to prevent deleting PARAM tag portions of object tags erroneously. (NodeImpl::nextLeafNode): Ditto.
  • khtml/xml/dom_nodeimpl.h: Removed m_rendererNeedsClose bit. Added declarations for new functions.
  • khtml/xml/dom_position.cpp: (DOM::Position::equivalentDeepPosition): Now takes atomic nodes into account as it drills down into the tree.
  • khtml/xml/xml_tokenizer.cpp: (khtml::XMLTokenizer::endElement): Remove call to obsolete closeRenderer() function.
4:22 PM Changeset in webkit [7186] by hyatt
  • 4 edits in trunk/WebCore

Add the deprecated text/xsl MIME type (introduced by Internet Explorer 5) as an acceptable MIME type for XML
documents.

Reviewed by john

  • khtml/ecma/xmlhttprequest.cpp: (KJS::XMLHttpRequest::getValueProperty):
  • khtml/khtml_part.cpp: (KHTMLPart::begin):
  • khtml/misc/loader.cpp: (CachedXBLDocument::CachedXBLDocument):
3:45 PM Changeset in webkit [7185] by kdecker
  • 5 edits in trunk/JavaScriptCore

Reviewed by Darin.

Rolled in changes from the latest KJS sources that support additional
Number.prototype functions.

Specifically this patch covers the follow parts of the ECMA 3 spec:

15.7.4.5, 15.7.4.6, and 15.7.4.7

Fixes:
<rdar://problem/3663716> missing Number.toFixed (and toPrecision, toExponential)
<rdar://problem/3749492> missing Number.toPrecision prototype implementation
<rdar://problem/3749591> missing Number.toExponential prototype implementation

  • kjs/identifier.h: Added toFixed, toPrecision, and toExponential to the list of supported identifiers (a macro).
  • kjs/number_object.cpp: Implemented support for toFixed(), toPrecision(), and toExponential(). (NumberPrototypeImp::NumberPrototypeImp): (NumberProtoFuncImp::call):
  • kjs/number_object.h: Added property names for toFixed, toPrecision, and toExponential. (KJS::NumberProtoFuncImp::):
  • tests/mozilla/expected.html: Update results.
3:37 PM Changeset in webkit [7184] by mjs
  • 3 edits in trunk/WebKit

Reviewed by Ken.

  • implemented enough of the NSTextInput protocol and added the proper calls to NSInputManager to allow input methods to work. However, the text is not marked yet.
  • WebView.subproj/WebHTMLViewInternal.h: Added new fields to track marked range.
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView markedRange]): Implemented (-[WebHTMLView conversationIdentifier]): Implemented (-[WebHTMLView hasMarkedText]): Implemented (-[WebHTMLView unmarkText]): Implemented (-[WebHTMLView setMarkedText:selectedRange:]): Implemented - does not yet handle attributes in attributed strings (-[WebHTMLView insertText:]): Modified to handle replacing or abandoning the marked text when set. (-[WebHTMLView _selectMarkedText]): new helper method, self-explanatory (-[WebHTMLView _setMarkedDOMRange:]): hitto. (-[WebHTMLView _selectRangeInMarkedText:]): ditto (-[WebHTMLView _discardMarkedText]): ditto (-[WebHTMLView _selectionIsInsideMarkedText]): ditto (-[WebHTMLView _updateSelectionForInputManager]): ditto
  • did a bit of refactoring while I was in here.
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView _shouldReplaceSelectionWithText:givenAction:]): added this new helper method to simplify the common case of calling the shouldInsertText: delegate (-[WebHTMLView pasteAsPlainText:]): use it (-[WebHTMLView insertTab:]): ditto (-[WebHTMLView insertNewline:]): ditto (-[WebHTMLView _changeWordCaseWithSelector:]): ditto (-[WebHTMLView _changeSpellingToWord:]): ditto (-[WebHTMLView _selectionChanged]): ditto
2:56 PM Changeset in webkit [7183] by cblu
  • 3 edits in trunk/WebKit

Fixed: <rdar://problem/3572737> Images not resizing at www.bmx-test.com (spoof nofix)

Reviewed by darin.

  • WebCoreSupport.subproj/WebImageRendererFactory.m: (-[WebImageRendererFactory supportedMIMETypes]): hard code image/pjpeg to the list of image mime types that we can handle
2:41 PM Changeset in webkit [7182] by mjs
  • 2 edits in trunk/WebCore

Reviewed by Ken.

  • remove assertions that asserted text is non-empty, just avoid doing anything for the empty case; this is needed because input methods like to insert empty text in various cases.
  • khtml/editing/htmlediting_impl.cpp: (khtml::InsertTextCommandImpl::InsertTextCommandImpl): (khtml::InsertTextCommandImpl::doApply): (khtml::InsertTextCommandImpl::doUnapply):
11:28 AM Changeset in webkit [7181] by darin
  • 3 edits in trunk/JavaScriptCore

Reviewed by Ken.

  • added support for copying RegExp objects so 7 more Mozilla regexp tests pass
  • kjs/regexp_object.cpp: (RegExpObjectImp::construct): Check for case where we are supposed to just copy the regular expression object, and do so. Also tighten up arguments check to handle case where an actual "undefined" is passed rather than just omitting an argument.
  • tests/mozilla/expected.html: Update results.
11:09 AM Changeset in webkit [7180] by darin
  • 8 edits
    2 adds in trunk

WebCore:

Reviewed by Ken.

  • fixed <rdar://problem/3740937> ER: A way to turn a DOMRange into text (equivalent of -innerText)
  • khtml/xml/dom2_rangeimpl.h: Added text function. Like innerText, but on a range.
  • khtml/xml/dom2_rangeimpl.cpp: (DOM::RangeImpl::text): Added.
  • kwq/DOM.mm: (-[DOMRange _text]): Added. Calls DOM::RangeImpl::text.
  • kwq/DOMPrivate.h: Added.
  • WebCore.pbproj/project.pbxproj: Added DOMPrivate.h, an internal header (private in WebKit, internal here).

WebKit:

Reviewed by Ken.

  • fixed <rdar://problem/3740937> ER: A way to turn a DOMRange into text (equivalent of -innerText)
  • DOM.subproj/DOMPrivate.h: Added.
  • WebKit.pbproj/project.pbxproj: Added DOMPrivate.h.
  • copy-webcore-files-to-webkit: Added DOMPrivate.h.

Aug 2, 2004:

4:49 PM Changeset in webkit [7179] by darin
  • 3 edits
    1 add in trunk/JavaScriptCore
  • tests/mozilla/.cvsignore: Added.
  • tests/mozilla/expected.html: Update results.
4:47 PM Changeset in webkit [7178] by darin
  • 2 edits in trunk/JavaScriptCore

Reviewed by Ken.

  • fixed RegExp.toString so 3 more Mozilla regexp tests pass
  • kjs/regexp_object.cpp: (RegExpProtoFuncImp::call): Append the flags here so more tests paseed.
4:43 PM Changeset in webkit [7177]
  • 4 copies
    2 deletes in tags/WebCore-154~0~1

This commit was manufactured by cvs2svn to create tag
'WebCore-154~0~1'.

4:43 PM Changeset in webkit [7176] by vicki
  • 1 edit in trunk/WebCore/WebCore.pbproj/project.pbxproj

Fix the install path so that WebCore will build again in B&I. Looks like some changes to the project file were accidentally committed (I saw "INSTALL_PATH_MODIFIED_BY_SCRIPT_DO_NOT_COMMIT").

4:38 PM Changeset in webkit [7175] by darin
  • 4 edits in trunk/JavaScriptCore

Reviewed by Ken.

  • fixed a couple things making 5 Mozilla regexp tests pass
  • kjs/regexp_object.cpp: (RegExpProtoFuncImp::call): Implement toString for the prototype. (RegExpObjectImp::construct): Fix bug where the string "undefined" would be used as the flags string when no parameter was passed.
  • kjs/regexp_object.h: (KJS::RegExpPrototypeImp::classInfo): Added a class info object for RegExp prototype so it can return a string instead of raising an exception when converting to a string.
  • tests/mozilla/expected.html: Update results.
3:31 PM Changeset in webkit [7174] by sullivan
  • 5 edits in trunk

WebCore:

Reviewed by Darin.

WebCore part of fix for <rdar://problem/3631868> NSToolbar adoption:
Tab key should cycle around toolbar and page content

  • kwq/WebCoreBridge.mm: (-[WebCoreBridge nextKeyViewInsideWebFrameViews]): Made this method start looking from the current focus node. This won't affect any existing callers because there were no existing callers. (-[WebCoreBridge previousKeyViewInsideWebFrameViews]): ditto

WebKit:

Reviewed by Darin.

WebKit part of fix for <rdar://problem/3631868> NSToolbar adoption:
Tab key should cycle around toolbar and page content

  • WebView.subproj/WebHTMLView.m: removed overrides of nextKeyView and previousKeyView (-[WebHTMLView nextValidKeyView]): call super only if we can't move the focus within the frame hierarchy (-[WebHTMLView previousValidKeyView]): ditto
  • WebView.subproj/WebHTMLViewInternal.h: removed nextKeyViewAccessShouldMoveFocus ivar
3:15 PM Changeset in webkit [7173] by hyatt
  • 2 edits in trunk/WebCore

Create a #define for XSLT support that at the moment will only be enabled on Tiger.

Reviewed by kocienda

  • WebCorePrefix.h:
3:01 PM Changeset in webkit [7172] by vicki
  • 1 edit in branches/Safari-1-2-branch/WebKit/ChangeLog

Add missing WebKit-125.4 release marker to the Changelog; I diffed to be sure that the fix for 3728558 was included in WebKit-125.4

2:44 PM Changeset in webkit [7171] by darin
  • 5 edits in trunk/JavaScriptCore

Reviewed by Kevin.

  • fix crashes in mozilla tests due to mishandling NaN
  • kjs/array_object.cpp: (ArrayProtoFuncImp::call): Rerranged range checks after calls to toInteger so that NaN will get turned into something that fits in an integer. These were the ones John already fixed, but his fix used isnan and the new fix is more efficient.
  • kjs/number_object.cpp: (NumberProtoFuncImp::call): Rearranged radix range checks after a call to toInteger to handle NaN properly. Also removed separate check for undefined that's not needed.
  • kjs/string_object.cpp: (StringProtoFuncImp::call): More of the same kinds of changes as in the above two files, but for a lot more functions. Also changed one place with an explicit check for undefined to instead just check isNaN.
  • tests/mozilla/run-mozilla-tests: Changed to invoke jst using $SYMROOTS for people like me who don't keep $SYMROOTS in their $PATH.
11:38 AM Changeset in webkit [7170] by kocienda
  • 5 edits in trunk/WebKit

Tests:

Reviewed by John

Remove special code that placed the caret when the document loads.
This is now handled by WebKit in a more generalized way.

  • Blot/Blot.xcode/project.pbxproj:
  • Blot/BlotDocument.m: (-[BlotDocument webView:didFinishLoadForFrame:]):

WebKit:

Reviewed by John

Update name of firstResponderIsSelfOrDescendantView, adding _web_ prefix to this SPI call.

Do some work to make caret blinking in newly-created editable WebView's that are
similar in structure to Blot more "automatic".

  • Misc.subproj/WebNSViewExtras.h: Change name of firstResponderIsSelfOrDescendantView. Add _web_ prefix.
  • Misc.subproj/WebNSViewExtras.m: (-[NSView _web_firstResponderIsSelfOrDescendantView]): Name change. (-[NSView _web_firstResponderCausesFocusDisplay]): Adds an additional check for whether the view's is first responder. This helps to make the focus setting in viewDidMoveToWindow work right.
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView updateFocusDisplay]): Use _web_firstResponderCausesFocusDisplay now instead of firstResponderIsSelfOrDescendantView. (-[WebHTMLView viewDidMoveToWindow]): Schedule call to updateFocusDisplay for the next crank of the run loop. The reason is that placing the caret in the just-installed view requires the HTML/XML document to be available on the WebCore side, but it is not at the time this code is running. However, it will be there on the next crank of the run loop. Doing this helps to make a blinking caret appear in a new, empty window "automatic". (-[WebHTMLView performKeyEquivalent:]): _web_firstResponderIsSelfOrDescendantView name change.
  • WebView.subproj/WebView.m: (-[WebView _performResponderOperation:with:]): _web_firstResponderIsSelfOrDescendantView name change.
11:04 AM Changeset in webkit [7169] by kocienda
  • 4 edits in trunk/WebCore

Reviewed by Hyatt

Fix for this bug:

<rdar://problem/3747945> Deleting replaced element can cause crash

  • khtml/xml/dom_selection.cpp: (DOM::Selection::layoutCaret): The crux of the problem is that the caret drawing code tries to draw the caret at the image offset after it has been removed from the document. So, make sure the start node for the selection is in the document before trying to lay out the caret using that node.

Jul 31, 2004:

10:32 AM Changeset in webkit [7168] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by John

<rdar://problem/3745498> HTMLCompose: Can't edit new empty message (and typing eventually crashes)
<rdar://problem/3746408> HTMLCompose: cannot type in message body of new messages (and tabbing causes a crash.)

  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::setDisplaysWithFocusAttributes): Add in some smarts to look around for a good place to put the caret if focus is turning "on", the part is contentEditable, and it does not currently have a selection. This has the effect of flashing the caret in a contentEditable view automatically without requiring the programmer to set a selection explicitly. This also fixes the bug listed above. Both are cases where the bad behavior happened since the editing code tried to process input without an active selection. I always took the extra step of setting the selection explicitly when opening new windows in programs like Blot, but it seems silly to require developers to do this in general. With this patch, they no longer need to.
10:30 AM Changeset in webkit [7167] by kocienda
  • 4 edits in trunk/WebCore

Reviewed by John

Fix for this bug:

<rdar://problem/3745498> HTMLCompose: Can't edit new empty message (and typing eventually crashes)

  • khtml/xml/dom_selection.cpp: (DOM::Selection::layoutCaret): Don't bail when the start position of the selection is not in rendered content. The validate() bottleneck function will do all it can to make sure that the start is moved to rendered content if at all possible before this function runs. If no rendered position can be found, like in the case of an empty body element, we still want to flash the caret there. (DOM::Selection::validate): Look for rendered positions for the base and extent, but save off the base before making this move, and set the selection to the enclosing block flow element of this original base if no rendered positions can be found. This has the effect of flashing the caret someplace in an editable block, even if it does not contain any rendered content.

Jul 30, 2004:

11:17 AM Changeset in webkit [7166]
  • 64 copies
    2 deletes in tags/WebCore-125~8~2

This commit was manufactured by cvs2svn to create tag
'WebCore-125~8~2'.

11:17 AM Changeset in webkit [7165] by vicki
  • 2 edits in branches/Safari-1-2-branch/WebCore
  • versioning for SUPanMoccasin, WebCore-125.8.2
11:09 AM Changeset in webkit [7164] by kocienda
  • 5 edits in trunk/WebCore

Reviewed by John

Fix a large number of editing layout test regressions.

  • khtml/misc/khtml_text_operations.cpp: (khtml::TextIterator::TextIterator): Use a new way to compute the end offset of a node for purposes of text iteration. The end offset is either child count of a node with children, or the maxOffset() of a node that does not.
  • khtml/xml/dom_nodeimpl.cpp: Remove maxOffset() implementation from NodeBaseImpl. This conflicted with the usage of this function that is needed for editing.
  • khtml/xml/dom_nodeimpl.h: Ditto.
10:32 AM Changeset in webkit [7163] by trey
  • 6 edits in trunk/WebCore

Next steps for spell checking: We have data structures for the marked pieces of
text and the smarts to draw them (although at this point, they just get a green
underline instead of using the real AppKit pattern.)

Note we don't call this code outside of development, since at this point I suspect
it could be made to crash by mixing spelling and editing.

Reviewed by Ken.

  • khtml/rendering/render_text.cpp: (InlineTextBox::paintMarker): Paint one marker's intersection with a text run (RenderText::paint): Find intersections of all markers and runs, call paintMarker
  • khtml/rendering/render_text.h:
  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::addMarker): Adds a marker to a DOM Range. (DocumentImpl::removeMarker): Removes a marker from a DOM Range. (DocumentImpl::addMarker): Adds a marker to a single DOM Node, merging previous markers as needed. (DocumentImpl::removeMarker): Removes a marker from a single DOM Node, breaking up previous markers as needed. (DocumentImpl::markersForNode): Return markers for a Node.
  • khtml/xml/dom_docimpl.h: (DOM::DocumentMarker::): New marker struct (DOM::DocumentMarker::operator == ): (DOM::DocumentMarker::operator != ):
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::advanceToNextMisspelling): Mark misspelled ranges when we find them. Debug only for now.
10:23 AM Changeset in webkit [7162]
  • 64 copies
    2 deletes in tags/WebCore-125~8~3

This commit was manufactured by cvs2svn to create tag
'WebCore-125~8~3'.

10:23 AM Changeset in webkit [7161] by vicki
  • 2 edits in branches/Safari-1-2-branch/WebCore
  • versioning for resubmission to SUPanXpress. The Security Update has to include all Moccasin changes, since it ships after Moccasin. We have to resubmit to both build trains because of <rdar://problem/3745334> *SUPanMoccasin* Seed: WebKit: Table's caption broken.

Jul 29, 2004:

9:18 PM Changeset in webkit [7160] by mjs
  • 5 edits in trunk/WebKit

Reviewed by John.

Added stubbed-out versions of all the NSTextInput protocol
methods, and put comments in places where we will need to call the
input manager to make input methods work 100%.

  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge respondToChangedSelection]):
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView mouseDown:]): (-[WebHTMLView mouseDragged:]): (-[WebHTMLView mouseUp:]): (-[WebHTMLView _interceptEditingKeyEvent:]): (-[WebHTMLView keyDown:]): (-[WebHTMLView _selectionChanged]): (-[WebHTMLView _delegateDragSourceActionMask]): (-[WebHTMLView validAttributesForMarkedText]): (-[WebHTMLView characterIndexForPoint:]): (-[WebHTMLView firstRectForCharacterRange:]): (-[WebHTMLView selectedRange]): (-[WebHTMLView markedRange]): (-[WebHTMLView attributedSubstringFromRange:]): (-[WebHTMLView conversationIdentifier]): (-[WebHTMLView hasMarkedText]): (-[WebHTMLView unmarkText]): (-[WebHTMLView setMarkedText:selectedRange:]): (-[WebHTMLView doCommandBySelector:]): (-[WebHTMLView insertText:]):
  • WebView.subproj/WebHTMLViewInternal.h:
  • WebView.subproj/WebView.m:
6:27 PM Changeset in webkit [7159] by mjs
  • 2 edits in branches/Safari-1-2-branch/WebCore

Rolled in the change below from HEAD to fix this SU bug:

<rdar://problem/3745334> *SUPanMoccasin* Seed: WebKit: Table's caption broken

2004-07-29 Maciej Stachowiak <mjs@apple.com>

Reviewed by Darin.

<rdar://problem/3745808> Seed: WebKit: Table's caption broken

  • khtml/html/htmlparser.cpp: (KHTMLParser::insertNode): When a caption appears in an illegal place in a table, pop blocks until we hit a place where it's allowed.
6:22 PM Changeset in webkit [7158] by mjs
  • 2 edits in trunk/WebCore

Reviewed by Darin.

<rdar://problem/3745808> Seed: WebKit: Table's caption broken

  • khtml/html/htmlparser.cpp: (KHTMLParser::insertNode): When a caption appears in an illegal place in a table, pop blocks until we hit a place where it's allowed.
2:51 PM Changeset in webkit [7157] by vicki
  • 3 edits in trunk

155u, 2.0 for TOT. The tree is open!

2:45 PM Changeset in webkit [7156]
  • 3 copies in tags/Safari-154

This commit was manufactured by cvs2svn to create tag 'Safari-154'.

2:45 PM Changeset in webkit [7155] by vicki
  • 6 edits in trunk

Safari-154 stamp

1:18 PM Changeset in webkit [7154] by darin
  • 2 edits in trunk/WebKit

Reviewed by Ken.

  • fill in some unimplemented methods
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView moveToBeginningOfDocument:]): Implement, using new document granularity. (-[WebHTMLView moveToBeginningOfDocumentAndModifySelection:]): Ditto. (-[WebHTMLView moveToBeginningOfParagraph:]): Implement, even though the underlying WebCore code is not yet implemented. (-[WebHTMLView moveToBeginningOfParagraphAndModifySelection:]): Ditto. (-[WebHTMLView moveToEndOfDocument:]): More of the same. (-[WebHTMLView moveToEndOfDocumentAndModifySelection:]): Ditto. (-[WebHTMLView moveToEndOfParagraph:]): More of the same. (-[WebHTMLView moveToEndOfParagraphAndModifySelection:]): Ditto. (-[WebHTMLView pageDown:]): Added comment describing desired behavior. (-[WebHTMLView pageUp:]): Ditto. (-[WebHTMLView copyFont:]): Ditto. (-[WebHTMLView pasteFont:]): Ditto. (-[WebHTMLView changeAttributes:]): Ditto. (-[WebHTMLView indent:]): Ditto.
1:04 PM Changeset in webkit [7153] by darin
  • 8 edits in trunk/WebCore

Reviewed by Ken.

  • added constants for motion across entire document for use in operations like move to beginning of document
  • khtml/xml/dom_selection.h: Added DOCUMENT to ETextGranularity.
  • khtml/xml/dom_selection.cpp: (DOM::Selection::modifyExtendingRightForward): Added case for DOCUMENT. (DOM::Selection::modifyMovingRightForward): Added case for DOCUMENT. (DOM::Selection::modifyExtendingLeftBackward): Added case for DOCUMENT. (DOM::Selection::modifyMovingLeftBackward): Added case for DOCUMENT. (DOM::Selection::validate): Changed if statements into switch statement, added case for DOCUMENT.
  • kwq/WebCoreBridge.h: Added WebCoreBridge to WebSelectionGranularity.
11:06 AM Changeset in webkit [7152] by trey
  • 6 edits in trunk/WebCore

Small refinement of last checkin. The text iterators now return reasonable values
for range() when atEnd, which gets rid of special cases and pitfalls in the client.

Reviewed by Ken.

  • khtml/misc/khtml_text_operations.cpp: (khtml::TextIterator::TextIterator): Set endOffset to a valid value instead of using LONG_MAX. (khtml::TextIterator::range): Implement when atEnd. (khtml::CharacterIterator::range): Don't massage result when atEnd. (khtml::WordAwareIterator::WordAwareIterator): Now that this is fixed, we no longer need this special case. (khtml::WordAwareIterator::advance): Always set range, even when atEnd, now that TextIterator::range() always works.
  • khtml/xml/dom_nodeimpl.cpp: (NodeImpl::childNodeCount): Made const (NodeBaseImpl::maxOffset): Add missing implementation
  • khtml/xml/dom_nodeimpl.h:
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::advanceToNextMisspelling): Get rid of special cases, always call range on our iterator even when it is atEnd.

Jul 28, 2004:

5:09 PM Changeset in webkit [7151] by cblu
  • 2 edits in trunk/WebKit

Fixed: <rdar://problem/3737864> Can not download image from web by using drag and drop

Reviewed by john.

  • Misc.subproj/WebNSPasteboardExtras.m: (-[NSPasteboard _web_declareAndWriteDragImage:URL:title:archive:source:]): On Tiger, to use NSFilesPromisePboardType with other pasteboard types, set the file types of the promise on the pasteboard as a property list instead of mucking with the NSFilePromiseDragSource class
4:15 PM Changeset in webkit [7150] by mjs
  • 2 edits in trunk/WebKit

Reviewed by John.

  • avoid triggering an assertion when using dead keys (like option-e)
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView insertText:]): Don't pass zero-length strings to WebCore. Dead-key input seems to insert empty strings as a side effect.
3:46 PM Changeset in webkit [7149] by mjs
  • 6 edits in trunk/WebCore

Reviewed by Trey.

<rdar://problem/3678534> controls on page at http://help.sap.com don't work properly

To fix this I implemented the various JavaScript BarInfo properties in JavaScript.

  • khtml/ecma/kjs_window.cpp: (Window::Window): (Window::locationbar): (Window::menubar): (Window::personalbar): (Window::statusbar): (Window::toolbar): (Window::scrollbars): (Window::mark): (Window::get): (SelectionFunc::tryCall): (BarInfo::BarInfo): (BarInfo::~BarInfo): (BarInfo::get): (BarInfo::put):
  • khtml/ecma/kjs_window.h: (KJS::Window::): (KJS::BarInfo::): (KJS::BarInfo::part): (KJS::BarInfo::classInfo):
  • khtml/ecma/kjs_window.lut.h: (KJS::):
  • kwq/KWQKHTMLPart.h:
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::locationbarVisible): (KWQKHTMLPart::menubarVisible): (KWQKHTMLPart::personalbarVisible): (KWQKHTMLPart::scrollbarsVisible): (KWQKHTMLPart::statusbarVisible): (KWQKHTMLPart::toolbarVisible):
3:38 PM Changeset in webkit [7148] by kocienda
  • 1 edit
    11 adds in trunk

Reviewed by me

Added more layout tests.

  • layout-tests/editing/style/style-3681552-fix-001-expected.txt: Added.
  • layout-tests/editing/style/style-3681552-fix-001.html: Added.
  • layout-tests/editing/style/style-3681552-fix-002-expected.txt: Added.
  • layout-tests/editing/style/style-3681552-fix-002.html: Added.
  • layout-tests/editing/style/style-3690704-fix-expected.txt: Added.
  • layout-tests/editing/style/style-3690704-fix.html: Added.
  • layout-tests/editing/style/typing-style-001-expected.txt: Added.
  • layout-tests/editing/style/typing-style-001.html: Added.
  • layout-tests/editing/style/typing-style-002-expected.txt: Added.
  • layout-tests/editing/style/typing-style-002.html: Added.
2:52 PM Changeset in webkit [7147] by kocienda
  • 1 edit
    6 adds in trunk

Reviewed by me

Added some layout tests.

  • layout-tests/editing/selection/select-all-001-expected.txt: Added.
  • layout-tests/editing/selection/select-all-001.html: Added.
  • layout-tests/editing/selection/select-all-002-expected.txt: Added.
  • layout-tests/editing/selection/select-all-002.html: Added.
  • layout-tests/editing/selection/select-all-003-expected.txt: Added.
  • layout-tests/editing/selection/select-all-003.html: Added.
2:24 PM Changeset in webkit [7146] by trey
  • 18 edits in trunk

Tests:

Cut out unimplemented spelling methods. WebKit implements them.

Reviewed by Ken

  • Blot/BlotDocument.h:
  • Blot/BlotDocument.m:

WebCore:

Spellchecking, Part I. Basic spellcheck is working. Spelling panel is hooked up.

At this point, no special marking of misspellings, no grammar check, no context
menu integration, no "check continually" mode.

Much of the TextIterator and CharacterIterator interface got published outside
of khtml_text_operations.cpp, with a little API rationalizing.

Reviewed by Ken.

  • khtml/misc/khtml_text_operations.cpp: (khtml::TextIterator::range): Name changes. (khtml::CharacterIterator::CharacterIterator): Ditto. (khtml::CharacterIterator::range): Ditto. (khtml::CharacterIterator::advance): Ditto. (khtml::CharacterIterator::string): New method to consume chars into a string. (khtml::WordAwareIterator::WordAwareIterator): New class that iterates over the text respecting word boundaries. (khtml::WordAwareIterator::advance): (khtml::WordAwareIterator::length): (khtml::WordAwareIterator::characters): (khtml::plainText): Name changes. (khtml::findPlainText): Ditto.

API moved from cpp to header file.

  • khtml/misc/khtml_text_operations.h: (khtml::TextIterator::atEnd): (khtml::TextIterator::length): (khtml::TextIterator::characters): (khtml::CharacterIterator::atBreak): (khtml::CharacterIterator::atEnd): (khtml::CharacterIterator::length): (khtml::CharacterIterator::characters): (khtml::CharacterIterator::characterOffset): (khtml::WordAwareIterator::atEnd): (khtml::WordAwareIterator::range):
  • khtml/xml/dom_position.cpp: (DOM::Position::previousWordBoundary): New name for the old routine. This routines semantics match the current behavior of this code. (DOM::Position::nextWordBoundary): Ditto. (DOM::Position::previousWordPosition): Call old code with the new name. When we fix word advancement, this routine will have its own impl. (DOM::Position::nextWordPosition): Ditto.
  • khtml/xml/dom_position.h:
  • khtml/xml/dom_selection.h: (DOM::Selection::rangeStart): New convenience methods (DOM::Selection::rangeEnd):
  • kwq/KWQKHTMLPart.h:
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::findString): Ensure we use range-compatible positions. (KWQKHTMLPart::advanceToNextMisspelling): Brand new.
  • kwq/WebCoreBridge.h:
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge advanceToNextMisspelling]): Typical bridge glue.

WebKit:

Spellchecking, Part I. Basic spellcheck is working. Spelling panel is hooked up.

At this point, no special marking of misspellings, no grammar check, no context
menu integration, no "check continually" mode.

Reviewed by Ken.

  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge spellCheckerDocumentTag]): Typical bridge glue.
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView validateUserInterfaceItem:]): Validate various spelling actions. (-[WebHTMLView checkSpelling:]): Call WC for real work, update panel. (-[WebHTMLView showGuessPanel:]): Show panel, call WC for real work. (-[WebHTMLView _changeSpellingToWord:]): Apply correction to our doc. (-[WebHTMLView changeSpelling:]): Simple pass through to above method. (-[WebHTMLView ignoreSpelling:]): Tell checker to ignore the word.
  • WebView.subproj/WebView.m: (-[WebView _close]): Call AK's closeSpellDocumentWithTag: for proper cleanup.
2:14 PM Changeset in webkit [7145] by kocienda
  • 3 edits in trunk/WebCore

Tools:

Reviewed by John

Added debugging summary output for CSSStyleDeclarationImpl

  • LabyrinthDataFormatters/CustomDataViews.plist:
  • LabyrinthDataFormatters/LabyrinthDataFormatters.cpp: (LabyrinthDataFormatCSSStyleDeclarationImpl):
  • LabyrinthDataFormatters/LabyrinthDataFormatters.h:
  • LabyrinthDataFormatters/LabyrinthDataFormatters.xcode/project.pbxproj:

WebCore:

Reviewed by John

Export a couple more symbols for test programs.

  • WebCore-combined.exp:
  • WebCore-tests.exp:
1:43 PM Changeset in webkit [7144] by rjw
  • 6 edits in trunk/WebCore

We're changing the way color is specified as a parameter in the
<canvas> API. Colors are now specified using the CSS color
functions (or old style names or "#"). For example
'context.setStrokeColor ("rgba(128,128,128,0.5)")'. Most of the
patch is cleanup of duplicated code in cssparser.cpp and a new
static function that'll crank up the CSS parser to parse the
color. This patch leaves the old mechanisms in place for now, so
we don't break any existing gadgets.

Reviewed by John.

  • WebCore.pbproj/project.pbxproj:
  • khtml/css/cssparser.cpp: (CSSParser::CSSParser): (CSSParser::setupParser): (CSSParser::parseSheet): (CSSParser::parseRule): (CSSParser::parseValue): (CSSParser::parseColor): (CSSParser::parseDeclaration):
  • khtml/css/cssparser.h:
  • khtml/ecma/kjs_html.cpp: (KJS::Context2DFunction::tryCall):
  • kwq/KWQColor.h: (QColor::alpha): Added alpha() function to QColor, use instead of quirky qAlpha() global function.
1:28 PM Changeset in webkit [7143] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by Trey

Only apply the typing style if it is non-null and has a length.
This fixes a problem Trey noticed with my last checkin, where
typed characters were placed in empty "typing style" spans.

  • khtml/editing/htmlediting_impl.cpp: (khtml::InputNewlineCommandImpl::doApply) (khtml::InputTextCommandImpl::prepareForTextInsertion)
12:31 PM Changeset in webkit [7142]
  • 22 copies
    2 deletes in tags/WebKit-85~8~2

This commit was manufactured by cvs2svn to create tag
'WebKit-85~8~2'.

12:31 PM Changeset in webkit [7141] by vicki
  • 2 edits in branches/Safari-1-0-branch/WebKit
  • bump version number to WebKit-85.8.2 to avoid confusion. 85.8.1 was already submitted to another build train
11:52 AM Changeset in webkit [7140] by vicki
  • 2 edits in branches/Safari-1-0-branch/WebKit
  • versioning for Safari 1.0.3 update on Jaguar, WebKit-85.8.1
11:44 AM Changeset in webkit [7139]
  • 17 copies
    2 deletes in tags/WebCore-85~6~3

This commit was manufactured by cvs2svn to create tag
'WebCore-85~6~3'.

11:44 AM Changeset in webkit [7138] by vicki
  • 2 edits in branches/Safari-1-0-branch/WebCore
  • versioning for Safari 1.0.3 on Jaguar, WebCore-85.6.3
11:33 AM Changeset in webkit [7137] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by Maciej

Fixed this bug:

<rdar://problem/3690704> marking partly bold text italic across blocks wrongly extends the bold section

  • khtml/editing/htmlediting_impl.cpp: (khtml::ApplyStyleCommandImpl::doApply): Fixed loop that gathers up groups of nodes to pass off to the function that applies styles. While this is meant to be conservative in order to leave the DOM well-formed in all cases, it contained an error where the set of nodes to be styled together erroneously could include a node that was meant for the next set. Fixed. (khtml::ApplyStyleCommandImpl::applyStyleIfNeeded): Unrelated change to remove DOM:: scope resolution qualifier. Unneeded here.
9:36 AM Changeset in webkit [7136] by darin
  • 5 edits in trunk/WebCore

Reviewed by Trey.

  • fixed <rdar://problem/3658471> REGRESSION: Node.appendChild( ) fails when parent already contains that child
  • khtml/xml/dom_nodeimpl.cpp: (NodeImpl::isAncestor): Restore the original meaning of this function. It returns true if the parameter is an ancestor of this, but had been changed to return true if this is an ancestor of the parameter. However, we do retain one change we made at the same time, which is that it does not consider a node an ancestor of itself.
  • khtml/editing/htmlediting_impl.cpp: (khtml::ApplyStyleCommandImpl::nodeFullySelected):
  • khtml/xml/dom2_traversalimpl.cpp: (DOM::NodeIteratorImpl::notifyBeforeNodeRemoval): Reverse parameters for callers who wanted the new meaning of isAncestor, with care to not use it in any cases where the pointer might be 0.
  • khtml/xml/dom_nodeimpl.h: Added const to the parameter to make things more symmetric and allow the new uses to all compile.
9:22 AM Changeset in webkit [7135] by kocienda
  • 6 edits in trunk/WebCore

Reviewed by Darin

Fix for this bug:

<rdar://problem/3681552> html editing needs to preserve typing font when replacing selection

  • khtml/css/css_valueimpl.cpp: (CSSStyleDeclarationImpl::merge): New helper that merges styles together. Helpful for dealing with typing styles.
  • khtml/css/css_valueimpl.h:
  • khtml/editing/htmlediting_impl.cpp: (khtml::DeleteSelectionCommandImpl::computeTypingStyle): New helper that updates the typing style based on the current selection. This is a convenient bottleneck for all the code that needs to worry about typing style. (khtml::DeleteSelectionCommandImpl::doApply): Update typing style before doing the delete. (khtml::InputNewlineCommandImpl::doApply): No need to redeclare exceptionCode local. Improve comments. (khtml::InputTextCommandImpl::prepareForTextInsertion): Remove unneeded complication when figuring out where to insert style node. Not even sure what I was trying to do here, but it does not seem to be needed any more. (khtml::InputTextCommandImpl::execute): Remove unneeded comment.
  • khtml/editing/htmlediting_impl.h: Declare new computeTypingStyle helper.
  • khtml/khtml_part.cpp: (KHTMLPart::setCaretVisible): Call selectionLayoutChanged instead of notifySelectionChanged in this function. The selection did not change simply by calling this function, but it does need a layout. (KHTMLPart::notifySelectionChanged): Treat clearing the typing style much like closing typing, instead of clearing it unconditionally. (KHTMLPart::applyStyle): In the case where the current selection is a caret, merge the style being applied with any current typing style that already exists.
8:45 AM Changeset in webkit [7134] by darin
  • 8 edits in trunk

Reviewed by Ken.

  • fixed <rdar://problem/3711080> REGRESSION (125-146): form fields have shrunk by 1 pixel, and now clip descenders
  • kwq/KWQLineEdit.mm: (QLineEdit::sizeForCharacterWidth): Compute the size without ever calling cellSize. After talking with Andrew Platzer, we decided that hard-coding the size of the borders of a text field was the best way for WebCore to handle this.
7:45 AM Changeset in webkit [7133] by darin
  • 2 edits in trunk/WebCore

Reviewed by Ken.

  • fixed <rdar://problem/3743204> REGRESSION: crash at startribune.com in InlineBox::root()
  • khtml/rendering/render_flow.cpp: (RenderFlow::dirtyLinesFromChangedChild): Added a check for nil.
7:31 AM Changeset in webkit [7132] by darin
  • 2 edits in trunk/WebCore

Reviewed by Trey.

  • fixed <rdar://problem/3743138> opaque colors come out of getComputedStyle as "rgba", transparent ones as "rgb"
  • khtml/css/css_valueimpl.cpp: (CSSPrimitiveValueImpl::cssText): Use "rgb" rather than "rgba" when alpha is 0xFF, not when alpha is 0.

Jul 27, 2004:

3:00 PM Changeset in webkit [7131] by kocienda
  • 6 edits in trunk/WebCore

Reviewed by Hyatt

Fixed the problem where BR elements on lines by themselves don't paint when selected.

  • khtml/khtml_part.cpp: (KHTMLPart::selectAll): Related fix. Include BR's when figuring out what "all" is.
  • khtml/rendering/render_br.cpp: (RenderBR::paint): New function implementation. Teach BR's how to paint selections.
  • khtml/rendering/render_br.h:
  • khtml/rendering/render_text.cpp: (InlineTextBox::paintSelection): Fix some geometry calculations to be more readable (i.e. don't reuse function argument as a local). Also, improve the logic for determining whether to extend the selection to block boundaries. (RenderText::paint): Remove extendSelection argument from paintSelection. The logic to figure out extensions is now fully contained in paintSelection.
  • khtml/rendering/render_text.h:
1:13 PM Changeset in webkit [7130] by sullivan
  • 2 edits in trunk/WebKit

WebKit:

Reviewed by Trey.

WebKit part of fix for <rdar://problem/3622268> Reload failed pages when a
network problem is corrected, inc. using Network Diagnostics

  • WebView.subproj/WebFrame.m: (-[WebFrame reload]): This method did not handle unreachableURLs at all. The reason Safari's Reload did work with unreachableURLs was that Safari does "reloadObeyingLocationField" which never actually calls -[WebFrame reload]. Fixed by creating a fresh request for the previously-unreachable URL.

WebBrowser:

Reviewed by Trey.

  • part of fix for <rdar://problem/3622268> Reload failed pages when a network problem is corrected, inc. using Network Diagnostics

We don't actually use Network Diagnostics yet, but we now react to network
configuration changes by reloading any error pages. Using Network Diagnostics
is the remaining part of 3622268.

  • NetworkController.h: Added. New file, copied and simplified from Message project.
  • NetworkController.m: Added. New file, copied and simplified from Message project. (+[NetworkController sharedInstance]): returns singleton instance (-[NetworkController dealloc]): release ivars (-[NetworkController init]): call _listenForNetworkChanges (-[NetworkController _postNetworkChangeNotification:]): post notification that network configuration changed (_networkChangeCallBack): call _postNetworkChangeNotification after a delay to coalesce multiple SystemConfiguration callbacks (_listenForNetworkChanges): register with SystemConfiguration for network changes
  • BrowserWebController.h: new ivar _registeredForNetworkConfigurationChanges
  • BrowserWebController.m: (-[BrowserWebView dealloc]): if registered for network config changes, remove appropriate observer (-[BrowserWebView networkConfigurationDidChange:]): reload main frame if it's showing an unreachable URL (-[BrowserWebView showErrorPageForURL:withTitle:message:]): register for network config changes if necessary
  • WebBrowser.pbproj/project.pbxproj: updated for new files and for including the SystemConfiguration framework
10:47 AM Changeset in webkit [7129] by hyatt
  • 2 edits in trunk/WebCore

Fix for 3665211 (again). Make sure not to leave child line boxes pointing to deleted ancestor line boxes.

Reviewed by kocienda

  • khtml/rendering/render_block.cpp: (khtml::RenderBlock::removeChild):

Jul 26, 2004:

4:25 PM Changeset in webkit [7128] by rjw
  • 3 edits in trunk/WebKit

Fixed 3739737. When setting the focus to a NSView, set the focus
carbon focus to kControlIndicatorPart. kControlIndicatorPart is a
placeholder value for use to indicate that Cocoa has the focus.

Reviewed by Ken.

  • Carbon.subproj/CarbonWindowAdapter.m: (-[CarbonWindowAdapter makeFirstResponder:]):
  • Carbon.subproj/HIWebView.m: (Click): (SetFocusPart):
4:13 PM Changeset in webkit [7127] by cblu
  • 2 edits in trunk/WebCore

Fixed: WebView scrolls to the top after making an editing change via drag & drop

Fixed by Ken, reviewed by me.

  • kwq/WebCoreBridge.mm: (-[WebCoreBridge ensureCaretVisible]): do nothing if the selection is not a caret
4:13 PM Changeset in webkit [7126] by cblu
  • 2 edits in trunk/WebKit

Fixed: <rdar://problem/3689734> dragging to an editable WebView does not scroll document

Reviewed by rjw.

  • WebView.subproj/WebView.m: (-[WebView documentViewAtWindowPoint:]): new, factored from draggingDocumentViewAtWindowPoint: (-[WebView _draggingDocumentViewAtWindowPoint:]): call documentViewAtWindowPoint: (-[WebView _autoscrollForDraggingInfo:timeDelta:]): forward call to the document view (-[WebView _shouldAutoscrollForDraggingInfo:]): ditto
4:09 PM Changeset in webkit [7125] by vicki
  • 3 edits in trunk

change version number to 154u, 2.0

4:01 PM Changeset in webkit [7124]
  • 3 copies in tags/Safari-153

This commit was manufactured by cvs2svn to create tag 'Safari-153'.

4:01 PM Changeset in webkit [7123] by vicki
  • 6 edits in trunk

Safari-153 stamp

3:45 PM Changeset in webkit [7122] by mjs
  • 2 edits
    9 adds in trunk

Reviewed by John.

<rdar://problem/3740855> REGRESSION: Flash incorrectly positioned at macromedia.com

  • khtml/html/htmltokenizer.cpp: (khtml::HTMLTokenizer::scriptExecution): Do the prepending-src trick as for inline script execution.

Added new layout tests covering this and other recent tokenizer
bugs.

  • layout-tests/fast/tokenizer/001-expected.txt: Added.
  • layout-tests/fast/tokenizer/001.html: Added.
  • layout-tests/fast/tokenizer/002-expected.txt: Added.
  • layout-tests/fast/tokenizer/002.html: Added.
  • layout-tests/fast/tokenizer/003-expected.txt: Added.
  • layout-tests/fast/tokenizer/003.html: Added.
  • layout-tests/fast/tokenizer/resources/003-script.js: Added.
3:31 PM Changeset in webkit [7121] by kdecker
  • 8 edits
    1 delete in trunk/JavaScriptCore

Changes done by Darin, reviewed by Kevin.

  • changed testkjs to build in Xcode rather than from Makefile
  • .cvsignore: Removed obsolete files from this list.
  • Makefile.am: Removed code to build testkjs; we do this in Xcode now. Changed to build target "All" rather than default target. This makes us build the testkjs test tool.
  • dummy.cpp: Removed.
  • kjs/.cvsignore: Removed obsolete files from this list, including the testkjs tool, which is now built in the symroots directory.
  • kjs/testkjs.cpp: Added copyright notice that was missing, since we have changed this file. Also this has the nice side effect of causing the tool to be rebuilt in the new location even if there are no other changes in your tree when you check this out.
  • tests/mozilla/run-mozilla-tests: Invoke perl explicitly so this works without setting the execute bit on jsDriver.pl.
2:13 PM Changeset in webkit [7120] by rjw
  • 5 edits in branches/Safari-1-0-branch/WebKit

Fix for 3739752. We now clear the carbon control focus when setting
the focus on a Cocoa NSView. When a carbon control receives a click we de-focus any Cocoa NSView. This fixes the problem, but we still
have 3739736, which may never be fixed for Jaguar.

Reviewed by Ken.

  • Carbon.subproj/CarbonWindowAdapter.h:
  • Carbon.subproj/CarbonWindowAdapter.m: (-[CarbonWindowAdapter relinquishFocus]): (-[CarbonWindowAdapter makeFirstResponder:]):
  • Carbon.subproj/HIWebView.m: (Click): (OwningWindowChanged): (WindowHandler):
  • WebKit.pbproj/project.pbxproj:
11:34 AM Changeset in webkit [7119]
  • 21 copies
    3 deletes in tags/WebKit-125~4~2

This commit was manufactured by cvs2svn to create tag
'WebKit-125~4~2'.

11:34 AM Changeset in webkit [7118] by vicki
  • 2 edits in branches/Safari-1-2-branch/WebKit
  • WebKit-125.4.2 stamp
10:58 AM Changeset in webkit [7117] by darin
  • 2 edits in branches/Safari-1-2-branch/WebKit
  • fix 3721690 bug fix so it compiles
  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge canTargetLoadInFrame:]): Change this so it compiles.

Jul 23, 2004:

4:17 PM Changeset in webkit [7116] by kocienda
  • 8 edits in trunk

WebCore:

Reviewed by Trey

Fix for this bug:

<rdar://problem/3738920> Caret blinks in inactive window

As part of the fix, I cleaned up the way we handle special drawing that needs
to be done in the HTML view that is first responder in the key window (e.g the
drawing of text selection highlight and caret blinking).

  • khtml/khtml_part.cpp: Removed setCaretVisible function. Updating caret visibility is now done in setDisplaysWithFocusAttributes, described below.
  • khtml/khtml_part.h: Ditto.
  • khtml/khtmlpart_p.h: (KHTMLPartPrivate::KHTMLPartPrivate): m_caretVisible now defaults to false. This prevents the caret from blinking when an app is started from the command line and remains in the background.
  • khtml/khtmlview.cpp: (KHTMLView::focusInEvent): Remove caret code from here. Not needed. (KHTMLView::focusOutEvent): Ditto.
  • kwq/KWQKHTMLPart.h: (KWQKHTMLPart::displaysWithFocusAttributes): New accessor to return cached value to other code in WebCore.
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::KWQKHTMLPart): (KWQKHTMLPart::setDisplaysWithFocusAttributes): Renamed from setShowsFirstResponder and modified to do the display updating in a clearer way....and now has comments!
  • kwq/WebCoreBridge.h: Remove several obsolete functions that use to try to do the work of the new setDisplaysWithFocusAttributes function (and did so less well).
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge drawRect:]): Now calls displaysWithFocusAttributes to figure out how to draw the text selection background. (-[WebCoreBridge setDisplaysWithFocusAttributes:]): Calls through to setDisplaysWithFocusAttributes in KWQKHTMLPart. (-[WebCoreBridge selectionColor]): Flipped the value of this ternary expression to accommodate the change from usesInactiveTextBackgroundColor to setDisplaysWithFocusAttributes. (-[WebCoreBridge setCaretVisible:]): Removed.

WebKit:

Reviewed by Trey

Fix for this bug:

<rdar://problem/3738920> Caret blinks in inactive window

As part of the fix, I cleaned up the way we handle special drawing that needs
to be done in the HTML view that is first responder in the key window (e.g the
drawing of text selection highlight and caret blinking).

  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView updateFocusDisplay]): New method that centralizes the changes we need to make when the first responder-ness of the view or key-ness of the window changes. (-[WebHTMLView viewDidMoveToWindow]): Call new updateFocusDisplay helper. (-[WebHTMLView windowDidBecomeKey:]): Ditto. (-[WebHTMLView windowDidResignKey:]): Ditto. (-[WebHTMLView becomeFirstResponder]): Ditto. (-[WebHTMLView resignFirstResponder]): Ditto.
2:42 PM Changeset in webkit [7115] by sullivan
  • 2 edits in trunk/WebCore

Reviewed by Maciej.

  • fixed <rdar://problem/3691569> REGRESSION (142): cmd-shift-clicking on a link now also extends selection (even if there wasn't one before)
  • khtml/khtml_part.cpp: (KHTMLPart::handleMousePressEventSingleClick): Uh, duh. Got a ! wrong last time somehow, so it did even more the wrong thing than ever. I did test this before, so my best guess is an accidental undo or something before committing.
10:58 AM Changeset in webkit [7114] by hyatt
  • 2 edits in trunk/WebCore

Fix for 3735084 and 3737209, when you can find no line boxes in your previous sibling, the line box to dirty
should be the *first* line box and not the last.

Reviewed by kocienda

  • khtml/rendering/render_flow.cpp: (RenderFlow::dirtyLinesFromChangedChild):
10:08 AM Changeset in webkit [7113]
  • 63 copies
    2 deletes in tags/WebCore-125~8~1

This commit was manufactured by cvs2svn to create tag
'WebCore-125~8~1'.

10:08 AM Changeset in webkit [7112] by vicki
  • 2 edits in branches/Safari-1-2-branch/WebCore

WebCore-125.8.1 stamp

9:59 AM Changeset in webkit [7111] by vicki
  • 3 edits in branches/Safari-1-2-branch/WebCore
  • roll this change back to the branch for the Security Update

2004-07-09 Chris Blumenberg <cblu@apple.com>

Allowed my change for 3715785 to compile on Jaguar.

Reviewed by kocienda.

  • kwq/WebCoreBridge.h:
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge domain]): new, allows access to the domain without using the DOM API which doesn't exist on Jaguar
9:16 AM Changeset in webkit [7110] by kocienda
  • 4 edits in trunk/WebCore

Reviewed by John

  • khtml/xml/dom_selection.cpp: (DOM::Selection::validate): Not exactly a fix of anything per se, but more of a refinement of how selection validation works. The idea is to let the selection validation process end up with an empty selection given real DOM position inputs if the validation code cannot find a rendered position. Since selection is all about display, this makes sense. Currently, the code will allow the selection to be placed in a location that is not rendered, and this does nobody any good, as it can lead to bugs like accepting key input in a div that is set to display:none.
7:39 AM Changeset in webkit [7109] by kocienda
  • 5 edits in trunk

Reviewed by me

Updated layout tests with new expected results.

  • layout-tests/editing/execCommand/boldSelection-expected.txt
  • layout-tests/editing/selection/extend-by-character-001-expected.txt
  • layout-tests/editing/selection/extend-by-character-003-expected.txt
  • layout-tests/editing/selection/unrendered-005-expected.txt
12:25 AM Changeset in webkit [7108] by mjs
  • 2 edits in trunk/WebCore

Reviewed by Kevin.

<rdar://problem/3725467> REGRESSION(140-142) nothing displayed at http://Ye-Olde-Movies.tripod.com
<rdar://problem/3599494> REGRESSION (100-125): Frame does not refresh until user clicks on browser.

  • khtml/rendering/render_frames.cpp: (RenderFrameSet::layout): When returning early because there are no children, make sure to mark self as no longer needing layout. Otherwise, when children are added, we'll fail to propagate childrenNeedLayout to our own parent! This is almost certainly a long-standing bug that was just masked by our old layout tomfoolery.

Jul 22, 2004:

6:21 PM Changeset in webkit [7107] by rjw
  • 23 edits in branches/Safari-1-0-branch

WebKit:

Fixes for:

<rdar://problem/3668209>: after typing double-byte text, delete return and arrow keys don't work in form field (Jaguar only)
<rdar://problem/3668252>: can't type using Roman alphabet within Japanese input method in form fields on Jaguar
<rdar://problem/3668300>: Jaguar: Contribute hangs when you print from Safari
<rdar://problem/3706572>: Jag: Context menu in Contrib. not appearing according to where mouse is clicked
<rdar://problem/3730044>: Contribute: Setting focus to browser view has problems (clone for Safari 1.0.3)
<rdar://problem/3730127>: Macromedia Flash 6 cannot take Asian text entry in Safari (clone for Safari 1.0.3)

This patch back ports several fixes from Panther to Jaguar, specifically to address the needs
Macromedia's Contribute application.

Reviewed by Darin.

  • Carbon.subproj/CarbonUtils.m: (getNumPools): (WebInitForCarbon): (PoolCleaner):
  • Carbon.subproj/CarbonWindowAdapter.m: (-[CarbonWindowAdapter initWithCarbonWindowRef:takingOwnership:disableOrdering:carbon:]): (-[CarbonWindowAdapter sendSuperEvent:]): (-[CarbonWindowAdapter makeKeyWindow]): (-[CarbonWindowAdapter _growBoxRect]):
  • Carbon.subproj/CarbonWindowFrame.m: (-[CarbonWindowFrame titlebarRect]):
  • Carbon.subproj/HIWebView.m: (MouseMoved): (MouseDragged): (ContextMenuClick): (OwningWindowChanged): (WindowHandler): (HIWebViewEventHandler):
  • Misc.subproj/WebNSPrintOperationExtras.h: Added.
  • Misc.subproj/WebNSPrintOperationExtras.m: Added. (-[NSPrintOperation _web_pageSetupScaleFactor]):
  • Plugins.subproj/WebBaseNetscapePluginView.h:
  • Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView sendEvent:]): (-[WebBaseNetscapePluginView restartNullEvents]): (-[WebBaseNetscapePluginView installKeyEventHandler]): (-[WebBaseNetscapePluginView removeKeyEventHandler]): (-[WebBaseNetscapePluginView becomeFirstResponder]): (-[WebBaseNetscapePluginView resignFirstResponder]): (-[WebBaseNetscapePluginView keyMessageForEvent:]): (-[WebBaseNetscapePluginView keyUp:]): (-[WebBaseNetscapePluginView keyDown:]): (TSMEventHandler): (-[WebBaseNetscapePluginView stop]): (-[WebBaseNetscapePluginView windowBecameKey:]):
  • WebKit.pbproj/project.pbxproj:
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): (-[WebHTMLView layout]): (-[WebHTMLView _setPrinting:minimumPageWidth:maximumPageWidth:adjustViewSize:]): (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): (-[WebHTMLView _availablePaperWidthForPrintOperation:]): (-[WebHTMLView _scaleFactorForPrintOperation:]): (-[WebHTMLView _provideTotalScaleFactorForPrintOperation:]): (-[WebHTMLView setPageWidthForPrinting:]): (-[WebHTMLView knowsPageRange:]): (-[WebHTMLView rectForPage:]): (-[WebHTMLView _calculatePrintHeight]): (-[WebHTMLView drawPageBorderWithSize:]): (-[WebHTMLView endDocument]):
  • WebView.subproj/WebHTMLViewPrivate.h:
  • WebView.subproj/WebView.m: (-[WebView _headerHeight]): (-[WebView _footerHeight]): (-[WebView _drawHeaderInRect:]): (-[WebView _drawFooterInRect:]): (-[WebView _adjustPrintingMarginsForHeaderAndFooter]): (-[WebView _drawHeaderAndFooter]):
  • WebView.subproj/WebViewPrivate.h:

WebCore:

Fixes for:

<rdar://problem/3668209>: after typing double-byte text, delete return and arrow keys don't work in form field (Jaguar only)
<rdar://problem/3668252>: can't type using Roman alphabet within Japanese input method in form fields on Jaguar
<rdar://problem/3668300>: Jaguar: Contribute hangs when you print from Safari
<rdar://problem/3706572>: Jag: Context menu in Contrib. not appearing according to where mouse is clicked
<rdar://problem/3730044>: Contribute: Setting focus to browser view has problems (clone for Safari 1.0.3)
<rdar://problem/3730127>: Macromedia Flash 6 cannot take Asian text entry in Safari (clone for Safari 1.0.3)

This patch back ports several fixes from Panther to Jaguar, specifically to address the needs
Macromedia's Contribute application.

Reviewed by Darin.

  • WebCore.pbproj/project.pbxproj:
  • khtml/khtmlview.cpp: (KHTMLView::adjustViewSize):
  • khtml/khtmlview.h:
  • khtml/rendering/render_text.cpp: (RenderText::paintObject):
  • kwq/KWQKHTMLPart.h:
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::forceLayoutWithPageWidthRange):
  • kwq/WebCoreBridge.h:
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge forceLayoutAdjustingViewSize:]): (-[WebCoreBridge forceLayoutWithMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): (-[WebCoreBridge computePageRectsWithPrintWidthScaleFactor:printHeight:]): (-[WebCoreBridge adjustViewSize]):
4:43 PM Changeset in webkit [7106] by kdecker
  • 6 edits in trunk/WebCore

Reviewed by Darin

Fixed <rdar://problem/3682340> (error console does not include source urls or line numbers of event exceptions).

  • khtml/ecma/kjs_events.cpp: (JSLazyEventListener::JSLazyEventListener): (JSLazyEventListener::parseCode):
  • khtml/ecma/kjs_events.h:
  • khtml/ecma/kjs_proxy.cpp: (KJSProxyImpl::createHTMLEventHandler):
  • khtml/ecma/kjs_window.cpp: (Window::getJSLazyEventListener):
  • khtml/ecma/kjs_window.h:
4:30 PM Changeset in webkit [7105] by kdecker
  • 5 edits in trunk/JavaScriptCore

Reviewed by Darin

Fixed <rdar://problem/3682340> (error console does not include source urls or line numbers of event exceptions).

  • kjs/function_object.cpp: (FunctionObjectImp::construct):
  • kjs/function_object.h:
  • kjs/object.cpp: (KJS::ObjectImp::construct):
  • kjs/object.h: (KJS::Object::construct):
4:04 PM Changeset in webkit [7104] by kocienda
  • 5 edits in trunk/WebCore

Reviewed by Hyatt

Fix for this bug:

<rdar://problem/3724344> Bolding and unbolding creates extraneous tags

  • khtml/editing/htmlediting_impl.cpp: (khtml::ApplyStyleCommandImpl::doApply): Move the start of the selection upstream before calling removeStyle. This makes sure we remove all styles that could apply to the selection, and not just ones in from the start position of the selection passed to us. This fixes the bug.
  • khtml/xml/dom_selection.cpp: (DOM::Selection::validate): Related fix to "constrain" the selection to be the smallest equivalent range of nodes, in effect making a "canonical" version of the selection. While this is not strictly necessary to fix the bug, it is a step I have been wanting to take this step for a long time, and some recent improvements made it possible for me to do now in just two lines of code.
3:44 PM Changeset in webkit [7103]
  • 9 copies
    2 deletes in tags/WebKit-85~7~2

This commit was manufactured by cvs2svn to create tag
'WebKit-85~7~2'.

3:44 PM Changeset in webkit [7102] by darin
  • 2 edits in branches/WebKit-85~7-branch/WebKit

Reviewed by Richard.

  • fix frame check to compile in Jaguar version
  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge canTargetLoadInFrame:]):
3:41 PM Changeset in webkit [7101] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by Hyatt

Fix for this bug:

<rdar://problem/3711264> difficult (impossible?) to get cursor in an editable webview containing only tags

  • khtml/rendering/render_container.cpp: (RenderContainer::positionForCoordinates): Don't assume you can pass off the check to a first child if there is one, since the child can be an element we do not want to place the caret in, like a table row with no cells (the case in the bug above). So now, we iterate of the renderer's children looking for the closest one, but only consider those renderers which either have children themselves, or are render block flows or are render inlines.
3:35 PM Changeset in webkit [7100] by darin
  • 2 edits in branches/Safari-1-0-branch/WebKit

Reviewed by Richard.

  • fix frame check to compile in Jaguar version
  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge canTargetLoadInFrame:]):
3:26 PM Changeset in webkit [7099] by darin
  • 1 edit
    7 deletes in trunk/WebCore
  • remove a bunch of now-unused code
  • ForwardingHeaders/qxml.h: Removed.
  • kwq/KWQXmlAttributes.h: Removed.
  • kwq/KWQXmlAttributes.mm: Removed.
  • kwq/KWQXmlDefaultHandler.h: Removed.
  • kwq/KWQXmlDefaultHandler.mm: Removed.
  • kwq/KWQXmlSimpleReader.h: Removed.
  • kwq/KWQXmlSimpleReader.mm: Removed.
3:14 PM Changeset in webkit [7098] by darin
  • 2 edits in trunk/WebKit
  • Plugins.subproj/npruntime.h: Update with new version from newer JavaScriptCore.
2:04 PM Changeset in webkit [7097]
  • 12 copies
    2 deletes in tags/WebCore-85~6~2

This commit was manufactured by cvs2svn to create tag
'WebCore-85~6~2'.

2:04 PM Changeset in webkit [7096] by darin
  • 2 edits in branches/Safari-1-0-branch/WebCore

Reviewed by Chris.

  • change to get things compiling
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge domain]): Add cast to HTMLDocumentImpl so call to domain() function compiles.
2:04 PM Changeset in webkit [7095] by darin
  • 2 edits in branches/Safari-1-0-branch/WebCore

Reviewed by Chris.

  • change to get things compiling
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge domain]): Add cast to HTMLDocumentImpl so call to domain() function compiles.
1:50 PM Changeset in webkit [7094] by darin
  • 11 edits in trunk/WebCore

Reviewed by Dave.

  • got rid of QXml classes and changed XML parsing to use libxml directly

This is the first step toward more direct use of libxml and libxslt.
Dave is planning to build on this to implement XSLT and to improve our handling
of XML documents (faster and more feature complete, including DTDs).

  • khtml/html/html_elementimpl.cpp: (HTMLElementImpl::createContextualFragment):
  • khtml/html/htmltokenizer.cpp: (khtml::HTMLTokenizer::HTMLTokenizer):
  • khtml/html/htmltokenizer.h:
  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::createTokenizer): (DocumentImpl::open):
  • khtml/xml/dom_docimpl.h: (DOM::DocumentImpl::tokenizer):
  • khtml/xml/dom_xmlimpl.cpp: (DOM::ProcessingInstructionImpl::checkStyleSheet):
  • khtml/xml/dom_xmlimpl.h:
  • khtml/xml/xml_tokenizer.h:
  • khtml/xml/xml_tokenizer.cpp: Redid this all to use libxml directly.
  • WebCore.pbproj/project.pbxproj: Removed a bunch of files.
1:38 PM Changeset in webkit [7093] by darin
  • 1 edit in branches/Safari-1-0-branch/WebKit/WebKit.pbproj/project.pbxproj

Bump version to 1.0.3 and 85.8.

1:37 PM Changeset in webkit [7092] by darin
  • 2 edits in branches/Safari-1-0-branch/WebKit
  • merge this fix from HEAD for Safari 1.0.3 (to match July 2004 Security Update)

2004-07-20 Maciej Stachowiak <mjs@apple.com>

Reviewed by Chris.

<rdar://problem/3721690> REGRESSION (125.7-148u) clicking on links at macosx.apple.com/Builds does not load new page in frame

  • Plugins.subproj/npruntime.h:
  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge canTargetLoadInFrame:]): Don't apply the restrictions to frames that are in the same window (Mozilla does this too).
1:33 PM Changeset in webkit [7091] by darin
  • 1 edit in branches/WebKit-85~7-branch/WebKit/WebKit.pbproj/project.pbxproj

Bump copyright year.

1:31 PM Changeset in webkit [7090] by darin
  • 2 edits in branches/WebKit-85~7-branch/WebKit

Bump version for WebKit 85.7.2

1:29 PM Changeset in webkit [7089] by darin
  • 2 edits in branches/WebKit-85~7-branch/WebKit
  • merge this fix from HEAD for July 2004 Security Update

2004-07-20 Maciej Stachowiak <mjs@apple.com>

Reviewed by Chris.

<rdar://problem/3721690> REGRESSION (125.7-148u) clicking on links at macosx.apple.com/Builds does not load new page in frame

  • Plugins.subproj/npruntime.h:
  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge canTargetLoadInFrame:]): Don't apply the restrictions to frames that are in the same window (Mozilla does this too).
9:37 AM Changeset in webkit [7088] by trey
  • 2 edits in trunk/WebCore

DHTML dragging should use UTI for MIME-pboard type conversion

Reviewed by NOBODY (OOPS!).

  • kwq/KWQClipboard.mm: (cocoaTypeFromMIMEType): Use UTI, except for cases we need to hardwire. Only cut off MIME args following a semi-colon for text/plain. (MIMETypeFromCocoaType): Use UTI, except for cases we need to hardwire. (KWQClipboard::types): Filter out ancient NSAsciiPboardType so DHTML never sees this cruft.
7:56 AM Changeset in webkit [7087] by kocienda
  • 10 edits in trunk

WebCore:

Reviewed by Trey

Remove handling of HTML editing key events from WebCore.
This now happens in WebKit if an event passes all the
way through WebCore without being handled by the DOM.

In each case below, function were removed, as their
only purpose was to handle editing key events.

  • khtml/xml/dom_elementimpl.cpp
  • khtml/xml/dom_elementimpl.h
  • kwq/KWQKHTMLPart.h
  • kwq/KWQKHTMLPart.mm
  • kwq/WebCoreBridge.h

WebKit:

Reviewed by Trey

  • WebCoreSupport.subproj/WebBridge.m: Remove interceptEditingKeyEvent bridge call over. This method of handling editing key events is now obsolete.
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView performKeyEquivalent:]): Send key event over to the DOM if this view is or contains the first responder. This now happens unconditionally. (-[WebHTMLView keyDown:]): Send key event to the DOM, then see if the web view wants to interpret it an an editing key event. This is the new place to intercept key events for editing.

Jul 21, 2004:

11:42 AM Changeset in webkit [7086] by kocienda
  • 10 edits in trunk

WebCore:

Reviewed by John

  • khtml/xml/dom_selection.cpp: (DOM::Selection::modifyExtendingRightForward): Add LINE_BOUNDARY case to the switch statement in this function. Use the startAndEndLineNodesIncludingNode helper which already existed to get the right position. (DOM::Selection::modifyMovingRightForward): Ditto (DOM::Selection::modifyExtendingLeftBackward): Ditto (DOM::Selection::modifyMovingLeftBackward): Ditto
  • khtml/xml/dom_selection.h: (DOM::Selection::): Add LINE_BOUNDARY constant to ETextGranularity enum. This specifies a new kind of movement that we need to implement the "move-to beggining/end of line" behavior which AppKit binds to cmd+left/right arrow keys.
  • kwq/WebCoreBridge.h: Add WebSelectToLineBoundary constant. This matches

WebKit:

Reviewed by John

Add implementations for these methods. Formerly, they logged an error.

  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView moveToBeginningOfLine:]): (-[WebHTMLView moveToBeginningOfLineAndModifySelection:]): (-[WebHTMLView moveToEndOfLine:]): (-[WebHTMLView moveToEndOfLineAndModifySelection:]):
10:47 AM Changeset in webkit [7085] by kocienda
  • 4 edits in trunk/WebKit

Reviewed by John

Added some more handlers for standard Cocoa key bindings.
These are "secrets" of NSText, meaning they are not public API, but we choose to mimic.

  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView moveToBeginningOfDocumentAndModifySelection:]): (-[WebHTMLView moveToBeginningOfLineAndModifySelection:]): (-[WebHTMLView moveToBeginningOfParagraphAndModifySelection:]): (-[WebHTMLView moveToEndOfDocumentAndModifySelection:]): (-[WebHTMLView moveToEndOfLineAndModifySelection:]): (-[WebHTMLView moveToEndOfParagraph:]): (-[WebHTMLView moveToEndOfParagraphAndModifySelection:]):
  • WebView.subproj/WebView.h: Add these declarations to the comment in the header listing the responder-like methods we support.
  • WebView.subproj/WebView.m: (-[WebView moveToBeginningOfParagraphAndModifySelection:]): (-[WebView moveToEndOfParagraphAndModifySelection:]): (-[WebView moveToBeginningOfLineAndModifySelection:]): (-[WebView moveToEndOfLineAndModifySelection:]): (-[WebView moveToBeginningOfDocumentAndModifySelection:]): (-[WebView moveToEndOfDocumentAndModifySelection:]):
9:09 AM Changeset in webkit [7084] by darin
  • 2 edits in trunk/JavaScriptCore
  • bindings/npruntime.h: Fixed typo.
Note: See TracTimeline for information about the timeline view.