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

Timeline



May 9, 2005:

9:40 PM Changeset in webkit [9149] by mjs
  • 7 edits in trunk/WebCore

Reviewed by Kevin.

  • remove more isFirst/isLast functions and use isStart/isEnd verions instead
  • khtml/editing/htmlediting.cpp: (khtml::DeleteSelectionCommand::initializePositionData): (khtml::InsertParagraphSeparatorCommand::calculateStyleBeforeInsertion): (khtml::InsertTextCommand::input): (khtml::ReplaceSelectionCommand::doApply): (khtml::ReplaceSelectionCommand::removeLinePlaceholderIfNeeded):
  • khtml/editing/visible_position.cpp: (khtml::VisiblePosition::previous): (khtml::setAffinityUsingLinePosition): (khtml::isFirstVisiblePositionInNode):
  • khtml/editing/visible_position.h:
  • khtml/editing/visible_units.cpp: (khtml::endOfLine): (khtml::previousLinePosition):
  • khtml/xml/dom_position.cpp: (DOM::Position::previousCharacterPosition): (DOM::Position::nextCharacterPosition):
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge smartInsertForString:replacingRange:beforeString:afterString:]):
9:03 PM Changeset in webkit [9148] by mjs
  • 7 edits in trunk/WebCore

Reviewed by Kevin.

  • remove isFirstVisiblePositionInBlock and isLastVisiblePositionInBlock, in favor of isStartOfBlock and isEndOfBlock

It turned out that both isEndOfBlock and isLastVisiblePositionInBlock had (different) bugs,
and there was code relying on the bugs of each. So in addition I fixed isEndOfBlock and fixed
the parts of the code relying on buggy behavior.

I also removed the includeEndOfLine parameter to endOfBlock since no one used it and it's not
clear if it would ever be useful.

  • khtml/editing/htmlediting.cpp: (khtml::InsertLineBreakCommand::doApply): Use new calls. (khtml::InsertParagraphSeparatorCommand::calculateStyleBeforeInsertion): Don't gratuitously make an UPSTREAM VisiblePosition, as this will cause trouble comparing it to end of block. (khtml::InsertParagraphSeparatorCommand::doApply): Use new calls. (khtml::ReplaceSelectionCommand::doApply): Use new calls. Also, don't make a position <BR,0> and test if it is the end of a block, that can never be true, although the buggy code in isLastVisiblePositionInBlock would say it is. Make <BR,1> instead.
  • khtml/editing/markup.cpp: (khtml::createMarkup): Instead of checking isEndOfBlock on the start position, check if the start's next is in a different block, to avoid relying on the buggy old isEndOfBlock behavior.
  • khtml/editing/visible_position.cpp: (khtml::isFirstVisiblePositionInParagraph): Use isStartOfBlock. (khtml::isLastVisiblePositionInParagraph): Use isEndOfBlock.
  • khtml/editing/visible_position.h:
  • khtml/editing/visible_units.cpp: (khtml::endOfBlock): Greatly simplify, and no longer consider the start of a descendant block to be the end of the block. That's inconsistent with how startOfBlock works. Also remove include end of line parameter. (khtml::isEndOfBlock): Don't pass unneeded parameter.
  • khtml/editing/visible_units.h:
6:15 PM Changeset in webkit [9147] by adele
  • 2 edits in branches/Safari-1-3-branch/WebCore

Merged fix for <rdar://problem/4110775> from TOT.

2005-05-09 Adele Peterson <adele@apple.com>

fix for <rdar://problem/4110775> Crash will occur when double-clicking outerHTML link on W3 DOM test

Reviewed by Darin.

  • khtml/html/html_elementimpl.cpp: (HTMLElementImpl::setOuterHTML): added nil check. This was causing a crash when you tried to set the outerHTML on an element that was no longer in the DOM tree.
6:04 PM Changeset in webkit [9146] by adele
  • 3 edits
    8 adds in trunk

fix for <rdar://problem/4110775> Crash will occur when double-clicking outerHTML link on W3 DOM test

Reviewed by Darin.

  • khtml/html/html_elementimpl.cpp: (HTMLElementImpl::setOuterHTML): added nil check. This was causing a crash when you tried to set the outerHTML on an element that was no longer in the DOM tree.
  • layout-tests/fast/dom/outerText-no-element.html: Added. Tests case where you try to set outerText on an element no longer in the DOM tree.
  • layout-tests/fast/dom/outerText-no-element-expected.txt: Added.
  • layout-tests/fast/dynamic/outerHTML-doc.html: Added. Tests case where someone tries to set outerHTML on the document.
  • layout-tests/fast/dynamic/outerHTML-doc-expected.txt: Added..
  • layout-tests/fast/dynamic/outerHTML-no-element.html: Added. Tests case where you try to set outerHTML on an element no longer in the DOM tree.
  • layout-tests/fast/dynamic/outerHTML-no-element-expected.txt: Added.
  • layout-tests/fast/dynamic/outerHTML-img.html: moved images to resources directory
  • layout-tests/fast/dynamic/resources/apple.gif: Added.
  • layout-tests/fast/dynamic/resources/mozilla.gif: Added.
4:57 PM Changeset in webkit [9145] by darin
  • 14 edits in trunk/JavaScriptCore

Reviewed by John.

  • turn on conservative GC unconditionally and start on SPI changes to eliminate the now-unneeded smart pointers since we don't ref count any more
  • kjs/value.h: Removed macros to turn conservative GC on and off. Removed ref and deref functions. (KJS::ValueImp::ValueImp): Removed non-conservative-GC code path. (KJS::ValueImp::isUndefined): Added. New SPI to make it easier to deal with ValueImp directly. (KJS::ValueImp::isNull): Ditto. (KJS::ValueImp::isBoolean): Ditto. (KJS::ValueImp::isNumber): Ditto. (KJS::ValueImp::isString): Ditto. (KJS::ValueImp::isObject): Ditto. (KJS::Value::Value): Removed non-conservative-GC code path and made constructor no longer explicit so we can quietly create Value wrappers from ValueImp *; inexpensive with conservative GC and eases the transition. (KJS::Value::operator ValueImp *): Added. Quietly creates ValueImp * from Value. (KJS::ValueImp::marked): Removed non-conservative-GC code path.
  • kjs/value.cpp: (KJS::ValueImp::mark): Removed non-conservative-GC code path. (KJS::ValueImp::isUndefinedOrNull): Added. New SPI to make it easier to deal with ValueImp directly. (KJS::ValueImp::isBoolean): Ditto. (KJS::ValueImp::isNumber): Ditto. (KJS::ValueImp::isString): Ditto. (KJS::ValueImp::asString): Ditto. (KJS::ValueImp::isObject): Ditto. (KJS::undefined): Ditto. (KJS::null): Ditto. (KJS::boolean): Ditto. (KJS::string): Ditto. (KJS::zero): Ditto. (KJS::one): Ditto. (KJS::two): Ditto. (KJS::number): Ditto.
  • kjs/object.h: Made constructor no longer explicit so we can quietly create Object wrappers from ObjectImp *; inexpensive with conservative GC and eases the transition. (KJS::Object::operator ObjectImp *): Added. Quietly creates ObjectImp * from Object. (KJS::ValueImp::isObject): Added. Implementation of new object-related ValueImp function. (KJS::ValueImp::asObject): Ditto.
  • kjs/object.cpp: (KJS::ObjectImp::setInternalValue): Remove non-conservative-GC code path. (KJS::ObjectImp::putDirect): Ditto. (KJS::error): Added. Function in the new SPI style to create an error object.
  • kjs/internal.h: Added the new number-constructing functions as friends of NumberImp. There may be a more elegant way to do this later; what's important now is the new SPI.
  • kjs/collector.h: Remove non-conservative-GC code path and also take out some unneeded APPLE_CHANGES.
  • bindings/runtime_root.cpp: (KJS::Bindings::addNativeReference): Remove non-conservative-GC code path. (KJS::Bindings::removeNativeReference): Ditto. (RootObject::removeAllNativeReferences): Ditto.
  • bindings/runtime_root.h: (KJS::Bindings::RootObject::~RootObject): Ditto. (KJS::Bindings::RootObject::setRootObjectImp): Ditto.
  • kjs/collector.cpp: (KJS::Collector::allocate): Ditto. (KJS::Collector::collect): Ditto. (KJS::Collector::numGCNotAllowedObjects): Ditto. (KJS::Collector::numReferencedObjects): Ditto. (KJS::Collector::rootObjectClasses): Ditto.
  • kjs/internal.cpp: (NumberImp::create): Ditto. (InterpreterImp::globalInit): Ditto. (InterpreterImp::globalClear): Ditto.
  • kjs/list.cpp: (KJS::List::markProtectedLists): Ditto. (KJS::List::clear): Ditto. (KJS::List::append): Ditto.
  • kjs/list.h: (KJS::List::List): Ditto. (KJS::List::deref): Ditto. (KJS::List::operator=): Ditto.
  • kjs/protect.h: (KJS::gcProtect): Ditto. (KJS::gcUnprotect): Ditto.
2:03 PM Changeset in webkit [9144] by mjs
  • 9 edits in trunk/WebCore

Reviewed by Kevin.

  • remove code for DoNotStayInBlock variant of upstream/downstream and make the methods take no parameters
  • khtml/editing/htmlediting.cpp: (khtml::CompositeEditCommand::deleteInsignificantTextDownstream): (khtml::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): (khtml::ApplyStyleCommand::applyRelativeFontStyleChange): (khtml::ApplyStyleCommand::applyInlineStyle): (khtml::ApplyStyleCommand::removeInlineStyle): (khtml::ApplyStyleCommand::nodeFullySelected): (khtml::ApplyStyleCommand::nodeFullyUnselected): (khtml::DeleteSelectionCommand::initializePositionData): (khtml::DeleteSelectionCommand::fixupWhitespace): (khtml::InsertLineBreakCommand::insertNodeAfterPosition): (khtml::InsertLineBreakCommand::insertNodeBeforePosition): (khtml::InsertLineBreakCommand::doApply): (khtml::InsertParagraphSeparatorCommand::doApply): (khtml::InsertParagraphSeparatorInQuotedContentCommand::doApply): (khtml::InsertTextCommand::prepareForTextInsertion): (khtml::InsertTextCommand::input): (khtml::InsertTextCommand::insertSpace): (khtml::ReplaceSelectionCommand::doApply):
  • khtml/editing/selection.cpp: (khtml::Selection::toRange): (khtml::Selection::validate):
  • khtml/editing/visible_position.cpp: (khtml::VisiblePosition::previousVisiblePosition): (khtml::VisiblePosition::nextVisiblePosition): (khtml::VisiblePosition::downstreamDeepEquivalent): (khtml::isFirstVisiblePositionInParagraph): (khtml::isFirstVisiblePositionInBlock): (khtml::isLastVisiblePositionInParagraph):
  • khtml/xml/dom2_rangeimpl.cpp: (DOM::RangeImpl::editingStartPosition):
  • khtml/xml/dom_position.cpp: (DOM::isStreamer): (DOM::Position::upstream): (DOM::Position::downstream): (DOM::Position::leadingWhitespacePosition): (DOM::Position::trailingWhitespacePosition):
  • khtml/xml/dom_position.h:
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge smartDeleteRangeForProposedRange:]):
1:31 PM Changeset in webkit [9143] by cblu
  • 5 edits in trunk/WebKit

Turned assertion into error message to prevent crash when encountering this bug:
<rdar://problem/4067625> connection:willCacheResponse: is called inside of [NSURLConnection initWithRequest:delegate:]

  • WebView.subproj/WebBaseResourceHandleDelegate.h:
  • WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate loadWithRequest:]): set flag to track when we're initializing the connection (-[WebBaseResourceHandleDelegate connection:willCacheResponse:]): log error
12:04 PM Changeset in webkit [9142] by mjs
  • 5 edits in trunk/WebCore

Reviewed by Dave Harrison.

  • remove remaining uses of upstream/downstream DoNotStayInBlock
  • khtml/editing/htmlediting.cpp: (khtml::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): (khtml::ApplyStyleCommand::nodeFullySelected): (khtml::ApplyStyleCommand::nodeFullyUnselected): (khtml::DeleteSelectionCommand::insertPlaceholderForAncestorBlockContent): (khtml::InsertParagraphSeparatorCommand::doApply): (khtml::InsertParagraphSeparatorInQuotedContentCommand::doApply): (khtml::InsertTextCommand::insertSpace): (khtml::ReplaceSelectionCommand::doApply):
  • khtml/editing/visible_position.cpp: (khtml::enclosingBlockFlowElement): New helper function.
  • khtml/editing/visible_position.h:
  • khtml/editing/visible_units.cpp: (khtml::inSameBlock): Check enclosing block flows instead of comparing visible block starts. Two nested blocks may have the same visible start but different visible ends, so the old check would give false positives.
12:01 PM Changeset in webkit [9141] by harrison
  • 1 edit
    2 adds in trunk

Add layout test for <rdar://problem/4110366>.

  • layout-tests/editing/deleting/delete-at-paragraph-boundaries-011-expected.txt: Added.
  • layout-tests/editing/deleting/delete-at-paragraph-boundaries-011.html: Added.
11:46 AM Changeset in webkit [9140] by cblu
  • 2 edits in trunk/JavaScriptCore

Workaround gcc 3.3 internal compiler errors.

Reviewed by darin.

  • bindings/objc/WebScriptObject.mm: (-[WebScriptObject stringRepresentation]): call [NSString stringWithCString:encoding] rather than using @""
9:23 AM Changeset in webkit [9139] by darin
  • 1 edit
    1 add in trunk
  • checked in a result for the Flash replacement test that Dave added
  • layout-tests/fast/dynamic/flash-replacement-test-expected.txt: Added. Hope it's right! If not, Dave can update it.
9:10 AM Changeset in webkit [9138] by darin
  • 7 edits in trunk

top level:

  • Makefile.am: Don't set up PBXIntermediatesDirectory explicitly; Not needed to make builds work, spews undesirable error messages too.
  • configure.in: Ditto.

Tools:

  • CommitLogEditor/Makefile.am: Don't set up PBXIntermediatesDirectory explicitly; Not needed to make builds work, spews undesirable error messages too.
  • HotSpotFinder/Makefile.am: Ditto.
  • jst/Makefile.am: Ditto.

JavaScriptCore:

  • Makefile.am: Don't set up PBXIntermediatesDirectory explicitly; Not needed to make builds work, spews undesirable error messages too.

Tests:

  • Makefile.am: Don't set up PBXIntermediatesDirectory explicitly; Not needed to make builds work, spews undesirable error messages too.
  • TestBindingsPlugin/Makefile.am: Ditto.

WebCore:

  • Makefile.am: Don't set up PBXIntermediatesDirectory explicitly; Not needed to make builds work, spews undesirable error messages too.
  • WebCore.pbproj/project.pbxproj: Remove unneeded $(DSTROOT) in framework paths.

WebKit:

  • Makefile.am: Don't set up PBXIntermediatesDirectory explicitly; Not needed to make builds work, spews undesirable error messages too.

WebBrowser:

  • Makefile.am: Don't set up PBXIntermediatesDirectory explicitly; Not needed to make builds work, spews undesirable error messages too.

May 8, 2005:

2:02 PM Changeset in webkit [9137] by mjs
  • 5 edits in trunk/WebCore

Reviewed by Kevin.

  • remove some of the uses of upstream/downstream DoNotStayInBlock
  • khtml/editing/markup.cpp: (khtml::createMarkup): Instead of using upstream to decide if a line break should be added at the end, use inSameParagraph.
  • khtml/editing/selection.cpp: (khtml::Selection::debugPosition): Remove the code to print upstream and downstream, the selection endpoints themselves are adequate for debugging and are what we use for layout tests.
  • khtml/xml/dom2_rangeimpl.cpp: (DOM::RangeImpl::editingStartPosition): Skip a possible paragraph break at the start of the selection in a more explicit way to avoid DoNotStayInBlock.
Note: See TracTimeline for information about the timeline view.