Timeline
Sep 19, 2005:
- 6:23 PM Changeset in webkit [10568] by
-
- 2 edits in trunk/WebKitTools
Bug #: 4613
Submitted by: eseidel
Reviewed by: darin
- Scripts/run-webkit-tests: added --guard-malloc option http://bugzilla.opendarwin.org/show_bug.cgi?id=4613
- 2:53 PM Changeset in webkit [10567] by
-
- 2 edits in trunk/JavaScriptCore
- Fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=5028 9 layout tests fail following the change from long to int
- Rolled out changes to simple_number.h, and added fits(long long) and SimpleNumber::fits(unsigned long long) to the old system.
Reviewed by mjs.
- kjs/simple_number.h: (KJS::SimpleNumber::): (KJS::SimpleNumber::value): (KJS::SimpleNumber::fits): (KJS::SimpleNumber::integerFits): (KJS::SimpleNumber::make):
- 1:54 PM Changeset in webkit [10566] by
-
- 10 edits2 adds in trunk
Bug #:
Submitted by:
Reviewed by:
- 11:52 AM Changeset in webkit [10565] by
-
- 18 edits in trunk/WebCore
Reviewed by Geoff.
- fixed <rdar://problem/4214783> REGRESSION: kjs_fast_malloc crash due to lack of locking on multiple threads (seen selecting volumes in the installer)
Make sure to lock using the InterpreterLock class in all places that need it
(including anything that uses the collector, the parser, the protect count hash table,
and anything that allocates via fast_malloc).
Added assertions to ensure that main_thread_malloc and friends are
only called on the main thread.
Also changed main_thread_free to schedule a free on the main
thread if called from a background thread. This contingency is
rare, but unavoidable in the case that JavaScript runs on
background threads, since then objects can be garbage collected on
any thread.
Test cases added: Node, this is impossible to reproduce in Safari without the use of
PAC files.
- Makefile.am:
- khtml/dom/dom_misc.h:
- khtml/ecma/kjs_events.cpp: (JSAbstractEventListener::handleEvent): (JSLazyEventListener::parseCode): (KJS::getDOMEvent):
- khtml/ecma/kjs_events.h:
- khtml/ecma/kjs_proxy.cpp: (KJSProxyImpl::~KJSProxyImpl): (KJSProxyImpl::evaluate): (KJSProxyImpl::clear): (KJSProxyImpl::createHTMLEventHandler): (KJSProxyImpl::initScript):
- khtml/ecma/kjs_traversal.cpp: (JSNodeFilterCondition::acceptNode):
- khtml/ecma/kjs_traversal.h:
- khtml/ecma/kjs_window.cpp: (Window::clear): (ScheduledAction::execute):
- khtml/ecma/kjs_window.h:
- khtml/ecma/xmlhttprequest.cpp: (KJS::XMLHttpRequest::send): (KJS::XMLHttpRequest::abort): (KJS::XMLHttpRequest::slotFinished):
- khtml/misc/main_thread_malloc.cpp: (khtml::main_thread_malloc): (khtml::main_thread_calloc): (khtml::main_thread_free): (khtml::main_thread_realloc): (khtml::initialize_scheduled_free_list): (khtml::drain_scheduled_free_list): (khtml::schedule_free_on_main_thread): (khtml::public_fREe):
- kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::bindingRootObject): (KWQKHTMLPart::windowScriptObject): (KWQKHTMLPart::saveLocationProperties): (KWQKHTMLPart::restoreLocationProperties): (KWQKHTMLPart::openURLFromPageCache): (KWQKHTMLPart::cleanupPluginRootObjects):
- kwq/KWQPageState.mm: (-[KWQPageState clear]):
- kwq/KWQTimer.h:
- kwq/KWQTimer.mm: (-[KWQMainThreadPerformTarget initWithFunction:]): (-[KWQMainThreadPerformTarget callFunction:]): (QTimer::immediateSingleShotOnMainThread):
- kwq/WebCoreBridge.mm: (-[WebCoreBridge saveDocumentToPageCache]):
- kwq/WebCoreJavaScript.mm: (+[WebCoreJavaScript rootObjectClasses]): (+[WebCoreJavaScript garbageCollect]):
- kwq/WebCoreScriptDebugger.mm: (-[WebCoreScriptCallFrame evaluateWebScript:]):
- 11:10 AM Changeset in webkit [10564] by
-
- 1 add in trunk/JavaScriptCore/kjs/protected_reference.h
Bug #:
Submitted by:
Reviewed by:
Sep 18, 2005:
- 11:57 PM Changeset in webkit [10563] by
-
- 23 edits1 delete in trunk/JavaScriptCore
Reviewed by Geoff.
- fixed <rdar://problem/4214783> REGRESSION: kjs_fast_malloc crash due to lack of locking on multiple threads (seen selecting volumes in the installer)
Make sure to lock using the InterpreterLock class in all places that need it
(including anything that uses the collector, the parser, the protect count hash table,
and anything that allocates via fast_malloc).
Also added assertions to ensure that the locking rules are followed for the relevant
resources.
- Makefile.am:
- bindings/NP_jsobject.cpp: (identifierFromNPIdentifier): (_NPN_Invoke): (_NPN_Evaluate): (_NPN_GetProperty): (_NPN_SetProperty): (_NPN_RemoveProperty): (_NPN_HasProperty): (_NPN_HasMethod): (_NPN_SetException):
- bindings/jni/jni_jsobject.cpp: (JSObject::call): (JSObject::eval): (JSObject::getMember): (JSObject::setMember): (JSObject::removeMember): (JSObject::getSlot): (JSObject::setSlot): (JSObject::toString): (JSObject::convertJObjectToValue):
- bindings/objc/WebScriptObject.mm: (-[WebScriptObject callWebScriptMethod:withArguments:]): (-[WebScriptObject evaluateWebScript:]): (-[WebScriptObject setValue:forKey:]): (-[WebScriptObject valueForKey:]): (-[WebScriptObject removeWebScriptKey:]): (-[WebScriptObject stringRepresentation]): (-[WebScriptObject webScriptValueAtIndex:]): (-[WebScriptObject setWebScriptValueAtIndex:value:]): (+[WebScriptObject _convertValueToObjcValue:KJS::originExecutionContext:Bindings::executionContext:Bindings::]):
- bindings/runtime.cpp: (Instance::createRuntimeObject):
- bindings/runtime_root.h:
- bindings/testbindings.cpp: (main):
- bindings/testbindings.mm: (main):
- kjs/fast_malloc.cpp: (KJS::kjs_fast_malloc): (KJS::kjs_fast_calloc): (KJS::kjs_fast_free): (KJS::kjs_fast_realloc):
- kjs/fast_malloc.h:
- kjs/identifier.h:
- kjs/internal.cpp: (InterpreterImp::InterpreterImp): (InterpreterImp::clear): (InterpreterImp::mark): (InterpreterImp::checkSyntax): (InterpreterImp::evaluate):
- kjs/internal.h: (KJS::InterpreterImp::globalObject):
- kjs/interpreter.cpp: (Interpreter::evaluate):
- kjs/interpreter.h: (KJS::InterpreterLock::InterpreterLock): (KJS::InterpreterLock::~InterpreterLock):
- kjs/nodes.h:
- kjs/protect.h: (KJS::ProtectedValue::ProtectedValue): (KJS::ProtectedValue::~ProtectedValue): (KJS::ProtectedValue::operator=): (KJS::ProtectedObject::ProtectedObject): (KJS::ProtectedObject::~ProtectedObject): (KJS::ProtectedObject::operator=): (KJS::ProtectedReference::ProtectedReference): (KJS::ProtectedReference::~ProtectedReference): (KJS::ProtectedReference::operator=):
- kjs/protected_object.h:
- kjs/protected_values.cpp: (KJS::ProtectedValues::getProtectCount): (KJS::ProtectedValues::increaseProtectCount): (KJS::ProtectedValues::decreaseProtectCount):
- kjs/string_object.cpp: (StringObjectImp::StringObjectImp):
- kjs/testkjs.cpp: (main):
- 2:45 PM Changeset in webkit [10562] by
-
- 11 edits in trunk
Bug #: 5045
Submitted by: eseidel
Reviewed by: none needed, svg build fix only.
- WebCore+SVG/DrawDocument.mm: (-[DrawView primaryView]): cast to DrawView * (newer gcc fix)
- kdom/cache/KDOMLoader.cpp: (Loader::slotFinished): toLong -> toInt
- ksvg2/svg/SVGAngleImpl.cpp: (SVGAngleImpl::setValueAsString): toFloat -> toDouble
- ksvg2/svg/SVGComponentTransferFunctionElementImpl.cpp: (SVGComponentTransferFunctionElementImpl::parseAttribute): ditto
- ksvg2/svg/SVGFEGaussianBlurElementImpl.cpp: (SVGFEGaussianBlurElementImpl::parseAttribute): ditto
- ksvg2/svg/SVGFEOffsetElementImpl.cpp: (SVGFEOffsetElementImpl::parseAttribute): ditto
- ksvg2/svg/SVGFETurbulenceElementImpl.cpp: (SVGFETurbulenceElementImpl::parseAttribute): ditto
- ksvg2/svg/SVGFitToViewBoxImpl.cpp: (SVGFitToViewBoxImpl::parseViewBox): ditto
- ksvg2/svg/SVGNumberListImpl.cpp: (SVGNumberListImpl::parse): ditto
- ksvg2/svg/SVGStopElementImpl.cpp: (SVGStopElementImpl::parseAttribute): ditto
Sep 16, 2005:
- 5:09 PM Changeset in webkit [10561] by
-
- 2 edits in trunk/WebKit
- WebView.subproj/WebImageView.m: (-[WebImageView copy:]): fixed build-breaking silly error in previous checkin
- 4:55 PM Changeset in webkit [10560] by
-
- 2 edits in trunk/WebKit
Reviewed by Tim Omernick
- fixed <rdar://problem/4256557> CrashTracer: 238 crashes in Safari at com.apple.AppKit: -[NSPasteboard setData:forType:] + 188
- WebView.subproj/WebImageView.m: (-[WebImageView copy:]): declare types to pasteboard before starting to set their data (-[WebImageView writeSelectionToPasteboard:types:]): ditto
- 4:34 PM Changeset in webkit [10559] by
-
- 1 edit1 delete in trunk/WebKitTools
Reviewed by geoff
Removed a script that is only used by apple internal developers
- Scripts/update-webkitsysteminterface: Removed.
- 4:09 PM Changeset in webkit [10558] by
-
- 8 edits in trunk
WebCore:
Rolling out the fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=4924
QPainter should use CGContext as much as possible rather than NSGraphicsContext
since it caused a performance regression.
WebKit:
Rolling out the fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=4924
QPainter should use CGContext as much as possible rather than NSGraphicsContext
since it caused a performance regression.
- 4:04 PM Changeset in webkit [10557] by
-
- 2 edits in trunk/WebKitTools
Reviewed by Maciej.
- Scripts/prepare-ChangeLog: Allow semicolons for protocols too.
- 3:42 PM Changeset in webkit [10556] by
-
- 158 edits in trunk
Change by Darin, reviewed by me and Maciej.
Fixes http://bugzilla.opendarwin.org/show_bug.cgi?id=4547
use int instead of long for 32-bit (to prepare for LP64 compiling)
- bindings/c/c_class.h: (KJS::Bindings::CClass::constructorAt): (KJS::Bindings::CClass::numConstructors):
- bindings/c/c_runtime.h: (KJS::Bindings::CMethod::numParameters):
- bindings/jni/jni_class.cpp: (JavaClass::JavaClass):
- bindings/jni/jni_class.h: (KJS::Bindings::JavaClass::constructorAt): (KJS::Bindings::JavaClass::numConstructors):
- bindings/jni/jni_instance.cpp: (JavaInstance::invokeMethod):
- bindings/jni/jni_jsobject.cpp: (JSObject::convertJObjectToValue): (JSObject::listFromJArray):
- bindings/jni/jni_runtime.cpp: (JavaMethod::JavaMethod):
- bindings/jni/jni_runtime.h: (KJS::Bindings::JavaConstructor::_commonCopy): (KJS::Bindings::JavaConstructor::parameterAt): (KJS::Bindings::JavaConstructor::numParameters): (KJS::Bindings::JavaMethod::_commonCopy): (KJS::Bindings::JavaMethod::parameterAt): (KJS::Bindings::JavaMethod::numParameters):
- bindings/npapi.h:
- bindings/objc/WebScriptObject.mm: (listFromNSArray):
- bindings/objc/objc_class.h: (KJS::Bindings::ObjcClass::constructorAt): (KJS::Bindings::ObjcClass::numConstructors):
- bindings/objc/objc_instance.h:
- bindings/objc/objc_runtime.h:
- bindings/objc/objc_runtime.mm: (ObjcMethod::numParameters):
- bindings/runtime.h:
- kjs/identifier.h:
- kjs/internal.h:
- kjs/property_slot.h: (KJS::PropertySlot::setCustomIndex): (KJS::PropertySlot::index): (KJS::PropertySlot::):
- kjs/regexp_object.cpp: (RegExpObjectImp::backrefGetter): (RegExpObjectImp::getOwnPropertySlot):
- kjs/simple_number.h: (KJS::SimpleNumber::): (KJS::SimpleNumber::value): (KJS::SimpleNumber::fits): (KJS::SimpleNumber::integerFits): (KJS::SimpleNumber::make):
- kjs/string_object.cpp: (substituteBackreferences):
- kjs/ustring.cpp: (KJS::UString::from): (KJS::UString::toUInt32): (KJS::UString::find): (KJS::UString::rfind):
- kjs/ustring.h:
- kjs/value.cpp: (KJS::jsNumber):
- kjs/value.h:
WebCore:
Change by Darin, reviewed by me and Maciej.
Fixes http://bugzilla.opendarwin.org/show_bug.cgi?id=4547
use int instead of long for 32-bit (to prepare for LP64 compiling)
Changed longs (which IDL files use as 32-bit) to ints
- ForwardingHeaders/khtml_pagecache.h:
- khtml/css/css_base.h: (DOM::StyleListImpl::length): (DOM::StyleListImpl::item):
- khtml/css/css_computedstyle.cpp: (DOM::CSSComputedStyleDeclarationImpl::length): (DOM::CSSComputedStyleDeclarationImpl::item):
- khtml/css/css_computedstyle.h:
- khtml/css/css_ruleimpl.cpp: (CSSMediaRuleImpl::append): (CSSMediaRuleImpl::insertRule): (CSSMediaRuleImpl::cssText): (CSSRuleListImpl::CSSRuleListImpl): (CSSRuleListImpl::deleteRule): (CSSRuleListImpl::insertRule):
- khtml/css/css_ruleimpl.h: (DOM::CSSRuleListImpl::length): (DOM::CSSRuleListImpl::item): (DOM::CSSMediaRuleImpl::deleteRule):
- khtml/css/css_stylesheetimpl.cpp: (CSSStyleSheetImpl::insertRule): (CSSStyleSheetImpl::addRule): (CSSStyleSheetImpl::deleteRule): (StyleSheetListImpl::length): (StyleSheetListImpl::item):
- khtml/css/css_stylesheetimpl.h: (DOM::MediaListImpl::length): (DOM::MediaListImpl::item):
- khtml/css/css_valueimpl.cpp: (DOM::CSSMutableStyleDeclarationImpl::length): (DOM::CSSMutableStyleDeclarationImpl::item):
- khtml/css/css_valueimpl.h: (DOM::CSSValueListImpl::length): (DOM::CSSValueListImpl::item):
- khtml/dom/css_rule.h:
- khtml/dom/css_stylesheet.h:
- khtml/dom/css_value.h:
- khtml/dom/dom2_events.cpp: (DOM::UIEvent::detail): (DOM::UIEvent::initUIEvent): (DOM::MouseEvent::screenX): (DOM::MouseEvent::screenY): (DOM::MouseEvent::clientX): (DOM::MouseEvent::clientY): (DOM::MouseEvent::initMouseEvent): (DOM::KeyboardEvent::keyLocation): (DOM::KeyboardEvent::initKeyboardEvent):
- khtml/dom/dom2_events.h:
- khtml/dom/dom2_range.h:
- khtml/dom/dom2_traversal.cpp: (DOM::NodeIterator::whatToShow): (DOM::TreeWalker::whatToShow):
- khtml/dom/dom2_traversal.h:
- khtml/dom/dom_node.h:
- khtml/ecma/kjs_css.cpp: (KJS::DOMCSSStyleDeclaration::getOwnPropertySlot): (KJS::DOMStyleSheetList::getOwnPropertySlot): (KJS::DOMMediaList::getOwnPropertySlot): (KJS::DOMCSSStyleSheetProtoFunc::callAsFunction): (KJS::DOMCSSRuleList::getOwnPropertySlot): (KJS::DOMCSSValueList::getOwnPropertySlot):
- khtml/ecma/kjs_dom.cpp: (KJS::DOMNodeList::getOwnPropertySlot): (KJS::DOMNodeList::callAsFunction): (KJS::DOMNamedNodeMap::getOwnPropertySlot): (KJS::DOMNamedNodesCollection::getOwnPropertySlot):
- khtml/ecma/kjs_events.cpp: (KJS::DOMEvent::getValueProperty):
- khtml/ecma/kjs_html.cpp: (KJS::HTMLElement::getOwnPropertySlot): (KJS::KJS::HTMLElement::put): (KJS::HTMLCollection::getOwnPropertySlot): (KJS::KJS::HTMLCollection::callAsFunction): (KJS::KJS::HTMLSelectCollection::put):
- khtml/ecma/kjs_navigator.cpp: (KJS::Plugins::getOwnPropertySlot): (KJS::MimeTypes::getOwnPropertySlot): (KJS::Plugin::getOwnPropertySlot):
- khtml/editing/apply_style_command.cpp: (khtml::ApplyStyleCommand::splitTextAtStartIfNeeded): (khtml::ApplyStyleCommand::splitTextElementAtStartIfNeeded): (khtml::ApplyStyleCommand::mergeStartWithPreviousIfIdentical):
- khtml/editing/break_blockquote_command.cpp: (khtml::BreakBlockquoteCommand::doApply):
- khtml/editing/composite_edit_command.cpp: (khtml::CompositeEditCommand::insertNodeAt): (khtml::CompositeEditCommand::splitTextNode): (khtml::CompositeEditCommand::splitTextNodeContainingElement): (khtml::CompositeEditCommand::insertTextIntoNode): (khtml::CompositeEditCommand::deleteTextFromNode): (khtml::CompositeEditCommand::replaceTextInNode): (khtml::CompositeEditCommand::deleteInsignificantText):
- khtml/editing/composite_edit_command.h:
- khtml/editing/delete_from_text_node_command.cpp: (khtml::DeleteFromTextNodeCommand::DeleteFromTextNodeCommand):
- khtml/editing/delete_from_text_node_command.h: (khtml::DeleteFromTextNodeCommand::offset): (khtml::DeleteFromTextNodeCommand::count):
- khtml/editing/insert_into_text_node_command.cpp: (khtml::InsertIntoTextNodeCommand::InsertIntoTextNodeCommand):
- khtml/editing/insert_into_text_node_command.h: (khtml::InsertIntoTextNodeCommand::offset):
- khtml/editing/insert_paragraph_separator_command.cpp: (khtml::InsertParagraphSeparatorCommand::doApply):
- khtml/editing/insert_text_command.cpp: (khtml::InsertTextCommand::input): (khtml::InsertTextCommand::insertSpace):
- khtml/editing/insert_text_command.h: (khtml::InsertTextCommand::charactersAdded):
- khtml/editing/join_text_nodes_command.h:
- khtml/editing/markup.cpp: (khtml::startMarkup): (khtml::completeURLs):
- khtml/editing/move_selection_command.cpp: (khtml::MoveSelectionCommand::doApply):
- khtml/editing/rebalance_whitespace_command.cpp: (khtml::RebalanceWhitespaceCommand::doApply):
- khtml/editing/rebalance_whitespace_command.h:
- khtml/editing/replace_selection_command.cpp: (khtml::ReplaceSelectionCommand::insertNodeAtAndUpdateNodesInserted):
- khtml/editing/replace_selection_command.h:
- khtml/editing/selection.cpp: (khtml::Selection::debugPosition):
- khtml/editing/split_text_node_command.cpp: (khtml::SplitTextNodeCommand::SplitTextNodeCommand):
- khtml/editing/split_text_node_command.h: (khtml::SplitTextNodeCommand::offset):
- khtml/editing/split_text_node_containing_element.cpp: (khtml::SplitTextNodeContainingElementCommand::SplitTextNodeContainingElementCommand):
- khtml/editing/split_text_node_containing_element_command.h:
- khtml/editing/visible_position.cpp: (khtml::VisiblePosition::VisiblePosition): (khtml::VisiblePosition::deepEquivalent): (khtml::VisiblePosition::rangeCompliantEquivalent): (khtml::VisiblePosition::maxOffset): (khtml::VisiblePosition::character): (khtml::VisiblePosition::debugPosition):
- khtml/editing/visible_position.h:
- khtml/editing/visible_range.h:
- khtml/editing/visible_text.cpp: (khtml::CircularSearchBuffer::length): (khtml::TextIterator::TextIterator): (khtml::TextIterator::handleTextNode): (khtml::TextIterator::handleTextBox): (khtml::TextIterator::emitCharacter): (khtml::TextIterator::range): (khtml::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator): (khtml::SimplifiedBackwardsTextIterator::handleReplacedElement): (khtml::SimplifiedBackwardsTextIterator::emitCharacter): (khtml::SimplifiedBackwardsTextIterator::emitNewlineForBROrText): (khtml::CharacterIterator::range): (khtml::CharacterIterator::advance): (khtml::CharacterIterator::string): (khtml::WordAwareIterator::length): (khtml::CircularSearchBuffer::append): (khtml::CircularSearchBuffer::neededCharacters): (khtml::CircularSearchBuffer::isMatch): (khtml::TextIterator::rangeLength): (khtml::TextIterator::rangeFromLocationAndLength): (khtml::plainText): (khtml::findPlainText):
- khtml/editing/visible_text.h: (khtml::TextIterator::length): (khtml::SimplifiedBackwardsTextIterator::length): (khtml::CharacterIterator::length): (khtml::CharacterIterator::characterOffset):
- khtml/editing/visible_units.cpp: (khtml::startOfLine): (khtml::endOfLine): (khtml::startOfParagraph): (khtml::endOfParagraph):
- khtml/html/html_blockimpl.cpp: (HTMLPreElementImpl::width): (HTMLPreElementImpl::setWidth):
- khtml/html/html_blockimpl.h:
- khtml/html/html_formimpl.cpp: (DOM::HTMLFormElementImpl::length): (DOM::HTMLGenericFormElementImpl::tabIndex): (DOM::HTMLGenericFormElementImpl::setTabIndex): (DOM::HTMLInputElementImpl::selectionStart): (DOM::HTMLInputElementImpl::selectionEnd): (DOM::HTMLInputElementImpl::setSelectionStart): (DOM::HTMLInputElementImpl::setSelectionEnd): (DOM::HTMLInputElementImpl::setSelectionRange): (DOM::HTMLInputElementImpl::setMaxLength): (DOM::HTMLInputElementImpl::setSize): (DOM::HTMLSelectElementImpl::selectedIndex): (DOM::HTMLSelectElementImpl::setSelectedIndex): (DOM::HTMLSelectElementImpl::length): (DOM::HTMLSelectElementImpl::remove): (DOM::HTMLSelectElementImpl::setSize): (DOM::HTMLOptionElementImpl::index): (DOM::HTMLOptionElementImpl::setIndex): (DOM::HTMLTextAreaElementImpl::selectionStart): (DOM::HTMLTextAreaElementImpl::selectionEnd): (DOM::HTMLTextAreaElementImpl::setSelectionStart): (DOM::HTMLTextAreaElementImpl::setSelectionEnd): (DOM::HTMLTextAreaElementImpl::setSelectionRange): (DOM::HTMLTextAreaElementImpl::setCols): (DOM::HTMLTextAreaElementImpl::setRows): (DOM::HTMLOptionsCollectionImpl::length): (DOM::HTMLOptionsCollectionImpl::setLength): (DOM::HTMLOptionsCollectionImpl::item):
- khtml/html/html_formimpl.h: (DOM::HTMLInputElementImpl::maxLength): (DOM::HTMLInputElementImpl::maxResults): (DOM::HTMLSelectElementImpl::minWidth): (DOM::HTMLSelectElementImpl::size): (DOM::HTMLTextAreaElementImpl::cols): (DOM::HTMLTextAreaElementImpl::rows):
- khtml/html/html_imageimpl.cpp: (HTMLImageElementImpl::width): (HTMLImageElementImpl::height): (HTMLImageElementImpl::border): (HTMLImageElementImpl::setBorder): (HTMLImageElementImpl::setHeight): (HTMLImageElementImpl::hspace): (HTMLImageElementImpl::setHspace): (HTMLImageElementImpl::vspace): (HTMLImageElementImpl::setVspace): (HTMLImageElementImpl::setWidth): (HTMLImageElementImpl::x): (HTMLImageElementImpl::y): (HTMLAreaElementImpl::tabIndex): (HTMLAreaElementImpl::setTabIndex):
- khtml/html/html_imageimpl.h:
- khtml/html/html_inlineimpl.cpp: (DOM::HTMLAnchorElementImpl::tabIndex): (DOM::HTMLAnchorElementImpl::setTabIndex):
- khtml/html/html_inlineimpl.h:
- khtml/html/html_listimpl.cpp: (DOM::HTMLOListElementImpl::setStart): (DOM::HTMLLIElementImpl::value): (DOM::HTMLLIElementImpl::setValue):
- khtml/html/html_listimpl.h: (DOM::HTMLUListElementImpl::start): (DOM::HTMLOListElementImpl::start):
- khtml/html/html_miscimpl.cpp: (DOM::HTMLCollectionImpl::calcLength): (DOM::HTMLCollectionImpl::length): (DOM::HTMLCollectionImpl::item): (DOM::HTMLFormCollectionImpl::calcLength): (DOM::HTMLFormCollectionImpl::item):
- khtml/html/html_miscimpl.h:
- khtml/html/html_objectimpl.cpp: (DOM::HTMLObjectElementImpl::tabIndex): (DOM::HTMLObjectElementImpl::setTabIndex):
- khtml/html/html_objectimpl.h:
- khtml/html/html_tableimpl.cpp: (DOM::HTMLTableElementImpl::insertRow): (DOM::HTMLTableElementImpl::deleteRow): (DOM::HTMLTableSectionElementImpl::insertRow): (DOM::HTMLTableSectionElementImpl::deleteRow): (DOM::HTMLTableRowElementImpl::rowIndex): (DOM::HTMLTableRowElementImpl::sectionRowIndex): (DOM::HTMLTableRowElementImpl::insertCell): (DOM::HTMLTableRowElementImpl::deleteCell): (DOM::HTMLTableCellElementImpl::cellIndex): (DOM::HTMLTableCellElementImpl::setColSpan): (DOM::HTMLTableCellElementImpl::setRowSpan): (DOM::HTMLTableColElementImpl::setSpan):
- khtml/html/html_tableimpl.h: (DOM::HTMLTableColElementImpl::span):
- khtml/html/htmlparser.cpp: (HTMLParser::handleError):
- khtml/html/htmltokenizer.cpp: (khtml::HTMLTokenizer::processToken):
- khtml/khtml_events.cpp: (khtml::MouseEvent::offset):
- khtml/khtml_events.h: (khtml::MouseReleaseEvent::MouseReleaseEvent):
- khtml/khtml_part.cpp: (KHTMLPart::restoreURL): (KHTMLPart::stopLoading): (KHTMLPart::receivedFirstData): (KHTMLPart::slotFinished): (KHTMLPart::begin): (KHTMLPart::slotViewFrameSource): (KHTMLPart::selectFrameElementInParentIfFullySelected):
- khtml/khtml_part.h:
- khtml/khtmlpart_p.h: (KHTMLPartPrivate::KHTMLPartPrivate):
- khtml/misc/loader.h:
- khtml/rendering/render_block.cpp: (khtml::RenderBlock::positionForRenderer):
- khtml/rendering/render_br.cpp: (RenderBR::caretMinOffset): (RenderBR::caretMaxOffset): (RenderBR::caretMaxRenderedOffset): (RenderBR::inlineBox):
- khtml/rendering/render_br.h:
- khtml/rendering/render_form.cpp: (RenderLineEdit::selectionStart): (RenderLineEdit::selectionEnd): (RenderLineEdit::setSelectionStart): (RenderLineEdit::setSelectionEnd): (RenderLineEdit::setSelectionRange): (RenderTextArea::calcMinMaxWidth): (RenderTextArea::selectionStart): (RenderTextArea::selectionEnd): (RenderTextArea::setSelectionStart): (RenderTextArea::setSelectionEnd): (RenderTextArea::setSelectionRange):
- khtml/rendering/render_form.h:
- khtml/rendering/render_frames.cpp: (RenderPartObject::updateWidget):
- khtml/rendering/render_line.cpp: (khtml::InlineBox::caretMinOffset): (khtml::InlineBox::caretMaxOffset): (khtml::InlineBox::caretMaxRenderedOffset):
- khtml/rendering/render_line.h:
- khtml/rendering/render_list.cpp: (RenderListMarker::calcMinMaxWidth):
- khtml/rendering/render_list.h: (khtml::RenderListItem::value): (khtml::RenderListItem::setValue):
- khtml/rendering/render_object.cpp: (RenderObject::caretMinOffset): (RenderObject::caretMaxOffset): (RenderObject::caretMaxRenderedOffset): (RenderObject::previousOffset): (RenderObject::nextOffset): (RenderObject::inlineBox):
- khtml/rendering/render_object.h:
- khtml/rendering/render_replaced.cpp: (RenderReplaced::caretMinOffset): (RenderReplaced::caretMaxOffset): (RenderReplaced::caretMaxRenderedOffset):
- khtml/rendering/render_replaced.h:
- khtml/rendering/render_table.h: (khtml::RenderTableCell::cellIndex): (khtml::RenderTableCell::setCellIndex):
- khtml/rendering/render_text.cpp: (InlineTextBox::paintMarker): (InlineTextBox::paintMarkedTextUnderline): (InlineTextBox::caretMinOffset): (InlineTextBox::caretMaxOffset): (InlineTextBox::caretMaxRenderedOffset): (RenderText::previousOffset): (RenderText::nextOffset): (InlineTextBox::positionForOffset): (RenderText::caretMinOffset): (RenderText::caretMaxOffset): (RenderText::caretMaxRenderedOffset): (RenderText::inlineBox):
- khtml/rendering/render_text.h:
- khtml/xml/dom2_eventsimpl.cpp: (DOM::EventImpl::timeStamp): (DOM::UIEventImpl::UIEventImpl): (DOM::UIEventImpl::initUIEvent): (DOM::UIEventImpl::layerX): (DOM::UIEventImpl::layerY): (DOM::UIEventImpl::pageX): (DOM::UIEventImpl::pageY): (DOM::UIEventImpl::which): (DOM::MouseRelatedEventImpl::MouseRelatedEventImpl): (DOM::MouseRelatedEventImpl::pageX): (DOM::MouseRelatedEventImpl::pageY): (DOM::MouseEventImpl::MouseEventImpl): (DOM::MouseEventImpl::initMouseEvent): (DOM::MouseEventImpl::which): (DOM::KeyboardEventImpl::KeyboardEventImpl): (DOM::KeyboardEventImpl::initKeyboardEvent): (DOM::KeyboardEventImpl::which): (DOM::WheelEventImpl::WheelEventImpl):
- khtml/xml/dom2_eventsimpl.h: (DOM::UIEventImpl::detail): (DOM::UIEventWithKeyStateImpl::UIEventWithKeyStateImpl): (DOM::MouseRelatedEventImpl::screenX): (DOM::MouseRelatedEventImpl::screenY): (DOM::MouseRelatedEventImpl::clientX): (DOM::MouseRelatedEventImpl::clientY): (DOM::MouseRelatedEventImpl::layerX): (DOM::MouseRelatedEventImpl::layerY): (DOM::KeyboardEventImpl::keyLocation): (DOM::WheelEventImpl::wheelDelta):
- khtml/xml/dom2_rangeimpl.cpp: (DOM::RangeImpl::RangeImpl): (DOM::RangeImpl::startOffset): (DOM::RangeImpl::endOffset): (DOM::RangeImpl::setStart): (DOM::RangeImpl::setEnd): (DOM::RangeImpl::compareBoundaryPoints): (DOM::RangeImpl::processContents): (DOM::RangeImpl::checkNodeWOffset):
- khtml/xml/dom2_rangeimpl.h:
- khtml/xml/dom2_traversalimpl.cpp: (DOM::TraversalImpl::TraversalImpl): (DOM::TreeWalkerImpl::TreeWalkerImpl):
- khtml/xml/dom2_traversalimpl.h: (DOM::TraversalImpl::whatToShow):
- khtml/xml/dom_docimpl.cpp: (DocumentImpl::createNodeIterator): (DocumentImpl::createTreeWalker): (DocumentImpl::processHttpEquiv): (DocumentImpl::removeMarkers): (DocumentImpl::copyMarkers): (DocumentImpl::markersForNode): (DocumentImpl::shiftMarkers):
- khtml/xml/dom_docimpl.h:
- khtml/xml/dom_elementimpl.cpp: (ElementImpl::openTagStartToString): (NamedAttrMapImpl::item): (NamedAttrMapImpl::getAttributeItem): (NamedAttrMapImpl::removeAttribute):
- khtml/xml/dom_elementimpl.h: (DOM::NamedAttrMapImpl::length): (DOM::NamedAttrMapImpl::attributeItem): (DOM::NamedMappedAttrMapImpl::attributeItem):
- khtml/xml/dom_nodeimpl.cpp: (DOM::NodeImpl::normalize): (DOM::NodeImpl::nodeIndex): (DOM::NodeImpl::childNodeCount): (DOM::NodeImpl::childNode): (DOM::NodeImpl::maxOffset): (DOM::NodeImpl::maxDeepOffset): (DOM::NodeImpl::caretMinOffset): (DOM::NodeImpl::caretMaxOffset): (DOM::NodeImpl::caretMaxRenderedOffset): (DOM::NodeImpl::previousOffset): (DOM::NodeImpl::nextOffset): (DOM::ContainerNodeImpl::childNodeCount): (DOM::ContainerNodeImpl::childNode): (DOM::NodeListImpl::recursiveLength): (DOM::NodeListImpl::recursiveItem): (DOM::NodeListImpl::itemById): (DOM::ChildNodeListImpl::length): (DOM::ChildNodeListImpl::item): (DOM::TagNodeListImpl::length): (DOM::TagNodeListImpl::item): (DOM::NameNodeListImpl::length): (DOM::NameNodeListImpl::item):
- khtml/xml/dom_nodeimpl.h:
- khtml/xml/dom_position.cpp: (DOM::Position::Position): (DOM::Position::previous): (DOM::Position::next): (DOM::Position::renderedOffset): (DOM::Position::equivalentRangeCompliantPosition): (DOM::Position::rendersInDifferentPosition): (DOM::Position::trailingWhitespacePosition): (DOM::Position::debugPosition):
- khtml/xml/dom_position.h: (DOM::Position::offset):
- khtml/xml/dom_textimpl.cpp: (CharacterDataImpl::length): (CharacterDataImpl::substringData): (CharacterDataImpl::insertData): (CharacterDataImpl::deleteData): (CharacterDataImpl::replaceData): (CharacterDataImpl::checkCharDataOperation): (CharacterDataImpl::maxOffset): (CharacterDataImpl::caretMinOffset): (CharacterDataImpl::caretMaxOffset): (CharacterDataImpl::caretMaxRenderedOffset): (TextImpl::splitText):
- khtml/xml/dom_textimpl.h:
- kwq/DOM-CSS.mm: (-[DOMStyleSheetList length]): (-[DOMStyleSheetList item:]): (-[DOMCSSStyleSheet insertRule::]): (-[DOMCSSStyleSheet deleteRule:]): (-[DOMMediaList length]): (-[DOMMediaList item:]): (-[DOMCSSRuleList length]): (-[DOMCSSRuleList item:]): (-[DOMCSSMediaRule insertRule::]): (-[DOMCSSMediaRule deleteRule:]): (-[DOMCSSStyleDeclaration length]): (-[DOMCSSStyleDeclaration item:]): (-[DOMCSSValueList length]): (-[DOMCSSValueList item:]):
- kwq/DOM.mm: (-[DOMNamedNodeMap item:]): (-[DOMNamedNodeMap length]): (-[DOMNodeList item:]): (-[DOMNodeList length]): (-[DOMCharacterData length]): (-[DOMCharacterData substringData::]): (-[DOMCharacterData insertData::]): (-[DOMCharacterData deleteData::]): (-[DOMCharacterData replaceData:::]): (-[DOMText splitText:]): (-[DOMRange description]): (-[DOMRange startOffset]): (-[DOMRange endOffset]): (-[DOMRange setStart::]): (-[DOMRange setEnd::]): (-[DOMNodeIterator whatToShow]): (-[DOMTreeWalker whatToShow]): (-[DOMDocument createNodeIterator::::]): (-[DOMDocument createTreeWalker::::]):
- kwq/DOMCSS.h:
- kwq/DOMCore.h:
- kwq/DOMEvents.h: (-[DOMMouseEvent initMouseEvent:::::::::::::::]):
- kwq/DOMEvents.mm: (-[DOMMouseEvent screenX]): (-[DOMMouseEvent screenY]): (-[DOMMouseEvent clientX]): (-[DOMMouseEvent clientY]): (-[DOMMouseEvent initMouseEvent:::::::::::::::]): (-[DOMUIEvent detail]): (-[DOMUIEvent initUIEvent:::::]):
- kwq/DOMExtensions.h:
- kwq/DOMHTML.h:
- kwq/DOMHTML.mm: (-[DOMHTMLCollection length]): (-[DOMHTMLCollection item:]): (-[DOMHTMLOptionsCollection length]): (-[DOMHTMLOptionsCollection setLength:]): (-[DOMHTMLOptionsCollection item:]): (-[DOMHTMLFormElement length]): (-[DOMHTMLSelectElement selectedIndex]): (-[DOMHTMLSelectElement setSelectedIndex:]): (-[DOMHTMLSelectElement length]): (-[DOMHTMLSelectElement setLength:]): (-[DOMHTMLSelectElement size]): (-[DOMHTMLSelectElement setSize:]): (-[DOMHTMLSelectElement tabIndex]): (-[DOMHTMLSelectElement setTabIndex:]): (-[DOMHTMLSelectElement remove:]): (-[DOMHTMLOptionElement index]): (-[DOMHTMLInputElement maxLength]): (-[DOMHTMLInputElement setMaxLength:]): (-[DOMHTMLInputElement size]): (-[DOMHTMLInputElement setSize:]): (-[DOMHTMLInputElement tabIndex]): (-[DOMHTMLInputElement setTabIndex:]): (-[DOMHTMLTextAreaElement cols]): (-[DOMHTMLTextAreaElement setCols:]): (-[DOMHTMLTextAreaElement rows]): (-[DOMHTMLTextAreaElement setRows:]): (-[DOMHTMLTextAreaElement tabIndex]): (-[DOMHTMLTextAreaElement setTabIndex:]): (-[DOMHTMLButtonElement tabIndex]): (-[DOMHTMLButtonElement setTabIndex:]): (-[DOMHTMLOListElement start]): (-[DOMHTMLOListElement setStart:]): (-[DOMHTMLLIElement value]): (-[DOMHTMLLIElement setValue:]): (-[DOMHTMLPreElement width]): (-[DOMHTMLPreElement setWidth:]): (-[DOMHTMLAnchorElement tabIndex]): (-[DOMHTMLAnchorElement setTabIndex:]): (-[DOMHTMLImageElement height]): (-[DOMHTMLImageElement setHeight:]): (-[DOMHTMLImageElement hspace]): (-[DOMHTMLImageElement setHspace:]): (-[DOMHTMLImageElement vspace]): (-[DOMHTMLImageElement setVspace:]): (-[DOMHTMLImageElement width]): (-[DOMHTMLImageElement setWidth:]): (-[DOMHTMLObjectElement hspace]): (-[DOMHTMLObjectElement setHspace:]): (-[DOMHTMLObjectElement tabIndex]): (-[DOMHTMLObjectElement setTabIndex:]): (-[DOMHTMLObjectElement vspace]): (-[DOMHTMLObjectElement setVspace:]): (-[DOMHTMLAppletElement hspace]): (-[DOMHTMLAppletElement setHspace:]): (-[DOMHTMLAppletElement vspace]): (-[DOMHTMLAppletElement setVspace:]): (-[DOMHTMLAreaElement tabIndex]): (-[DOMHTMLAreaElement setTabIndex:]): (-[DOMHTMLTableSectionElement insertRow:]): (-[DOMHTMLTableSectionElement deleteRow:]): (-[DOMHTMLTableElement insertRow:]): (-[DOMHTMLTableElement deleteRow:]): (-[DOMHTMLTableColElement span]): (-[DOMHTMLTableColElement setSpan:]): (-[DOMHTMLTableRowElement rowIndex]): (-[DOMHTMLTableRowElement sectionRowIndex]): (-[DOMHTMLTableRowElement insertCell:]): (-[DOMHTMLTableRowElement deleteCell:]): (-[DOMHTMLTableCellElement cellIndex]): (-[DOMHTMLTableCellElement colSpan]): (-[DOMHTMLTableCellElement setColSpan:]): (-[DOMHTMLTableCellElement rowSpan]): (-[DOMHTMLTableCellElement setRowSpan:]): (-[DOMHTMLEmbedElement height]): (-[DOMHTMLEmbedElement setHeight:]): (-[DOMHTMLEmbedElement width]): (-[DOMHTMLEmbedElement setWidth:]):
- kwq/DOMRange.h:
- kwq/DOMStylesheets.h:
- kwq/DOMTraversal.h:
- kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::advanceToNextMisspelling): (KWQKHTMLPart::openURLFromPageCache): (KWQKHTMLPart::markMisspellings):
- kwq/KWQString.h:
- kwq/KWQString.mm: (QString::toShort): (QString::toUShort): (QString::toInt): (QString::toUInt):
- kwq/KWQTextEdit.h:
- kwq/KWQTextEdit.mm: (QTextEdit::selectionStart): (QTextEdit::selectionEnd): (QTextEdit::setSelectionStart): (QTextEdit::setSelectionEnd): (QTextEdit::setSelectionRange):
- kwq/WebCoreBridge.mm: (-[WebCoreBridge convertToNSRange:DOM::]):
WebKit:
Change by Darin, reviewed by me and Maciej.
Fixes http://bugzilla.opendarwin.org/show_bug.cgi?id=4547
use int instead of long for 32-bit (to prepare for LP64 compiling)
- Plugins.subproj/npapi.m: changed types to match those defined in npapi.h (NPN_MemAlloc): (NPN_MemFlush): (NPN_PostURLNotify): (NPN_PostURL): (NPN_Write):
- 3:14 PM Changeset in webkit [10555]
-
- 51 copies22 deletes in tags/WebKit-416~8
This commit was manufactured by cvs2svn to create tag 'WebKit-416~8'.
- 3:14 PM Changeset in webkit [10554]
-
- 238 copies14 deletes in tags/WebCore-416~8
This commit was manufactured by cvs2svn to create tag
'WebCore-416~8'.
- 3:14 PM Changeset in webkit [10553]
-
- 366 copies33 deletes in tags/Safari-416~8
This commit was manufactured by cvs2svn to create tag 'Safari-416~8'.
- 3:14 PM Changeset in webkit [10552] by
-
- 6 edits in branches/Safari-Den-branch
Versioning to Safari-416.8
- 12:35 PM Changeset in webkit [10551] by
-
- 5 edits in branches/Safari-2-0-branch/WebKit
Merged fix from TOT to Safari-2-0-branch
2005-09-14 Justin Garcia <justin.garcia@apple.com>
Reviewed by john
Fixes <rdar://problem/4237479> REGRESSION (Cambridge-Denver): old QuickTime movie continues to play sound after reload
We were adding the movie to the document twice after the changes were added to handle fallback content.
There are some errors for which we should not render fall back content
- Misc.subproj/WebKitErrorsPrivate.h: Introduced WebKitErrorPlugInWillHandleLoad to represent the cancel we do to prevent loading plugin content twice
- Plugins.subproj/WebPluginDocumentView.m: (-[WebPluginDocumentView dataSourceUpdated:]): Ditto
- WebView.subproj/WebDataSource.m: (-[WebDataSource _receivedMainResourceError:complete:]): Don't handleFallbackContent on WebKitErrorPlugInWillHandleLoad or on a user cancel
- 12:28 PM Changeset in webkit [10550] by
-
- 3 edits in branches/Safari-2-0-branch/WebCore
Merged fix from TOT to Safari-2-0-branch
2005-09-14 Justin Garcia <justin.garcia@apple.com>
Reviewed by john
Test cases added: none, method rename
Part of fix for <rdar://problem/4237479> REGRESSION (Cambridge-Denver): old QuickTime movie continues to play sound after reload
- kwq/WebCoreBridge.h:
- kwq/WebCoreBridge.mm: (-[WebCoreBridge handleFallbackContent]): Renamed bridge method mainResourceError to handleFallbackContent, since there are some main resource errors for which we should not render fallback content. E.G user cancels and the cancel we do to prevent loading plugin content twice (see <rdar://problem/4258008>)
- 12:25 PM Changeset in webkit [10549] by
-
- 3 edits in branches/Safari-Den-branch/WebCore
Merged fix from TOT to Safari-Den-branch
2005-09-14 Justin Garcia <justin.garcia@apple.com>
Reviewed by john
Test cases added: none, method rename
Part of fix for <rdar://problem/4237479> REGRESSION (Cambridge-Denver): old QuickTime movie continues to play sound after reload
- kwq/WebCoreBridge.h:
- kwq/WebCoreBridge.mm: (-[WebCoreBridge handleFallbackContent]): Renamed bridge method mainResourceError to handleFallbackContent, since there are some main resource errors for which we should not render fallback content. E.G user cancels and the cancel we do to prevent loading plugin content twice (see <rdar://problem/4258008>)
- 12:14 PM Changeset in webkit [10548] by
-
- 5 edits in branches/Safari-Den-branch/WebKit
Merged fix from TOT to Safari-Den-branch
2005-09-14 Justin Garcia <justin.garcia@apple.com>
Reviewed by john
Fixes <rdar://problem/4237479> REGRESSION (Cambridge-Denver): old QuickTime movie continues to play sound after reload
We were adding the movie to the document twice after the changes were added to handle fallback content.
There are some errors for which we should not render fall back content
- Misc.subproj/WebKitErrorsPrivate.h: Introduced WebKitErrorPlugInWillHandleLoad to represent the cancel we do to prevent loading plugin content twice
- Plugins.subproj/WebPluginDocumentView.m: (-[WebPluginDocumentView dataSourceUpdated:]): Ditto
- WebView.subproj/WebDataSource.m: (-[WebDataSource _receivedMainResourceError:complete:]): Don't handleFallbackContent on WebKitErrorPlugInWillHandleLoad or on a user cancel
- 11:55 AM Changeset in webkit [10547] by
-
- 2 edits2 adds in trunk/WebCore
Reviewed by Dave Hyatt. Test case reviewed by Vicki Murley.
<rdar://problem/3572507> Flash in div with display:none style will not redraw when style changed to display:block (3479)
Test cases added:
- manual-tests/show-hide-object.html: Added.
- manual-tests/resources/spinbox.swf: Added.
- khtml/html/html_objectimpl.cpp: (DOM::HTMLObjectElementImpl::detach): Set needWidgetUpdate to true so that the widget is updated on the next attach().
- 11:18 AM Changeset in webkit [10546] by
-
- 2 edits in branches/Safari-2-0-branch/WebCore
Merged fix from TOT to Safari-2-0-branch
2005-09-14 Vicki Murley <vicki@apple.com>
Reviewed by Dave Hyatt.
- fixed <rdar://problem/4255274> REGRESSION: in some cases, link jumping to images is broken (4964)
- khtml/xml/dom_nodeimpl.cpp: (DOM::ContainerNodeImpl::getUpperLeftCorner):
- 11:12 AM Changeset in webkit [10545] by
-
- 2 edits in branches/Safari-Den-branch/WebCore
Merged fix from TOT to Safari-Den-branch
2005-09-14 Vicki Murley <vicki@apple.com>
Reviewed by Dave Hyatt.
- fixed <rdar://problem/4255274> REGRESSION: in some cases, link jumping to images is broken (4964)
- khtml/xml/dom_nodeimpl.cpp: (DOM::ContainerNodeImpl::getUpperLeftCorner):
Sep 15, 2005:
- 11:36 PM Changeset in webkit [10544] by
-
- 2 edits in trunk/WebCore
Bug #: 4907
Submitted by: eseidel
Reviewed by: mjs
- khtml/xml/dom_textimpl.cpp: (TextImpl::rendererIsNeeded): One line change to prevent adding text objects as direct children to FrameSet objects in the render tree.
- 7:54 PM Changeset in webkit [10543] by
-
- 40 edits in branches/Safari-Den-branch
Reviewed by Geoff.
- fixed <rdar://problem/4214783> REGRESSION: kjs_fast_malloc crash due to lack of locking on multiple threads (seen selecting volumes in the installer)
Make sure to lock using the InterpreterLock class in all places that need it
(including anything that uses the collector, the parser, the protect count hash table,
and anything that allocates via fast_malloc).
Also added assertions to ensure that the locking rules are followed for the relevant
resources.
- Makefile.am:
- bindings/NP_jsobject.cpp: (identifierFromNPIdentifier): (_NPN_Invoke): (_NPN_Evaluate): (_NPN_GetProperty): (_NPN_SetProperty): (_NPN_RemoveProperty): (_NPN_HasProperty): (_NPN_HasMethod): (_NPN_SetException):
- bindings/jni/jni_jsobject.cpp: (JSObject::call): (JSObject::eval): (JSObject::getMember): (JSObject::setMember): (JSObject::removeMember): (JSObject::getSlot): (JSObject::setSlot): (JSObject::toString): (JSObject::convertJObjectToValue):
- bindings/objc/WebScriptObject.mm: (-[WebScriptObject callWebScriptMethod:withArguments:]): (-[WebScriptObject evaluateWebScript:]): (-[WebScriptObject setValue:forKey:]): (-[WebScriptObject valueForKey:]): (-[WebScriptObject removeWebScriptKey:]): (-[WebScriptObject stringRepresentation]): (-[WebScriptObject webScriptValueAtIndex:]): (-[WebScriptObject setWebScriptValueAtIndex:value:]): (+[WebScriptObject _convertValueToObjcValue:KJS::originExecutionContext:Bindings::executionContext:Bindings::]):
- bindings/runtime.cpp: (Instance::createRuntimeObject):
- bindings/runtime_root.h:
- bindings/testbindings.cpp: (main):
- bindings/testbindings.mm: (main):
- kjs/fast_malloc.cpp: (KJS::kjs_fast_malloc): (KJS::kjs_fast_calloc): (KJS::kjs_fast_free): (KJS::kjs_fast_realloc):
- kjs/fast_malloc.h:
- kjs/identifier.h:
- kjs/internal.cpp: (InterpreterImp::InterpreterImp): (InterpreterImp::clear): (InterpreterImp::mark): (InterpreterImp::checkSyntax): (InterpreterImp::evaluate):
- kjs/internal.h: (KJS::InterpreterImp::globalObject):
- kjs/interpreter.cpp: (Interpreter::evaluate):
- kjs/interpreter.h: (KJS::InterpreterLock::InterpreterLock): (KJS::InterpreterLock::~InterpreterLock):
- kjs/nodes.h:
- kjs/protect.h: (KJS::ProtectedValue::ProtectedValue): (KJS::ProtectedValue::~ProtectedValue): (KJS::ProtectedValue::operator=): (KJS::ProtectedObject::ProtectedObject): (KJS::ProtectedObject::~ProtectedObject): (KJS::ProtectedObject::operator=): (KJS::ProtectedReference::ProtectedReference): (KJS::ProtectedReference::~ProtectedReference): (KJS::ProtectedReference::operator=):
- kjs/protected_object.h:
- kjs/protected_values.cpp: (KJS::ProtectedValues::getProtectCount): (KJS::ProtectedValues::increaseProtectCount): (KJS::ProtectedValues::decreaseProtectCount):
- kjs/string_object.cpp: (StringObjectImp::StringObjectImp):
- kjs/testkjs.cpp: (main):
WebCore:
Reviewed by Geoff.
- fixed <rdar://problem/4214783> REGRESSION: kjs_fast_malloc crash due to lack of locking on multiple threads (seen selecting volumes in the installer)
Make sure to lock using the InterpreterLock class in all places that need it
(including anything that uses the collector, the parser, the protect count hash table,
and anything that allocates via fast_malloc).
Added assertions to ensure that main_thread_malloc and friends are
only called on the main thread.
Also changed main_thread_free to schedule a free on the main
thread if called from a background thread. This contingency is
rare, but unavoidable in the case that JavaScript runs on
background threads, since then objects can be garbage collected on
any thread.
Test cases added: Node, this is impossible to reproduce in Safari without the use of
PAC files.
- Makefile.am:
- khtml/dom/dom_misc.h:
- khtml/ecma/kjs_events.cpp: (JSAbstractEventListener::handleEvent): (JSLazyEventListener::parseCode): (KJS::getDOMEvent):
- khtml/ecma/kjs_events.h:
- khtml/ecma/kjs_proxy.cpp: (KJSProxyImpl::~KJSProxyImpl): (KJSProxyImpl::evaluate): (KJSProxyImpl::clear): (KJSProxyImpl::createHTMLEventHandler): (KJSProxyImpl::initScript):
- khtml/ecma/kjs_traversal.cpp: (JSNodeFilterCondition::acceptNode):
- khtml/ecma/kjs_traversal.h:
- khtml/ecma/kjs_window.cpp: (Window::clear): (ScheduledAction::execute):
- khtml/ecma/kjs_window.h:
- khtml/ecma/xmlhttprequest.cpp: (KJS::XMLHttpRequest::send): (KJS::XMLHttpRequest::abort): (KJS::XMLHttpRequest::slotFinished):
- khtml/misc/main_thread_malloc.cpp: (khtml::main_thread_malloc): (khtml::main_thread_calloc): (khtml::main_thread_free): (khtml::main_thread_realloc): (khtml::initialize_scheduled_free_list): (khtml::drain_scheduled_free_list): (khtml::schedule_free_on_main_thread): (khtml::public_fREe):
- kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::bindingRootObject): (KWQKHTMLPart::windowScriptObject): (KWQKHTMLPart::saveLocationProperties): (KWQKHTMLPart::restoreLocationProperties): (KWQKHTMLPart::openURLFromPageCache): (KWQKHTMLPart::cleanupPluginRootObjects):
- kwq/KWQPageState.mm: (-[KWQPageState clear]):
- kwq/KWQTimer.h:
- kwq/KWQTimer.mm: (-[KWQMainThreadPerformTarget initWithFunction:]): (-[KWQMainThreadPerformTarget callFunction:]): (QTimer::immediateSingleShotOnMainThread):
- kwq/WebCoreBridge.mm: (-[WebCoreBridge saveDocumentToPageCache]):
- kwq/WebCoreJavaScript.mm: (+[WebCoreJavaScript rootObjectClasses]): (+[WebCoreJavaScript garbageCollect]):
- kwq/WebCoreScriptDebugger.mm: (-[WebCoreScriptCallFrame evaluateWebScript:]):
- 7:34 PM Changeset in webkit [10542] by
-
- 40 edits in branches/Safari-2-0-branch
Reviewed by Geoff.
- fixed <rdar://problem/4214783> REGRESSION: kjs_fast_malloc crash due to lack of locking on multiple threads (seen selecting volumes in the installer)
Make sure to lock using the InterpreterLock class in all places that need it
(including anything that uses the collector, the parser, the protect count hash table,
and anything that allocates via fast_malloc).
Also added assertions to ensure that the locking rules are followed for the relevant
resources.
- Makefile.am:
- bindings/NP_jsobject.cpp: (identifierFromNPIdentifier): (_NPN_Invoke): (_NPN_Evaluate): (_NPN_GetProperty): (_NPN_SetProperty): (_NPN_RemoveProperty): (_NPN_HasProperty): (_NPN_HasMethod): (_NPN_SetException):
- bindings/jni/jni_jsobject.cpp: (JSObject::call): (JSObject::eval): (JSObject::getMember): (JSObject::setMember): (JSObject::removeMember): (JSObject::getSlot): (JSObject::setSlot): (JSObject::toString): (JSObject::convertJObjectToValue):
- bindings/objc/WebScriptObject.mm: (-[WebScriptObject callWebScriptMethod:withArguments:]): (-[WebScriptObject evaluateWebScript:]): (-[WebScriptObject setValue:forKey:]): (-[WebScriptObject valueForKey:]): (-[WebScriptObject removeWebScriptKey:]): (-[WebScriptObject stringRepresentation]): (-[WebScriptObject webScriptValueAtIndex:]): (-[WebScriptObject setWebScriptValueAtIndex:value:]): (+[WebScriptObject _convertValueToObjcValue:KJS::originExecutionContext:Bindings::executionContext:Bindings::]):
- bindings/runtime.cpp: (Instance::createRuntimeObject):
- bindings/runtime_root.h:
- bindings/testbindings.cpp: (main):
- bindings/testbindings.mm: (main):
- kjs/fast_malloc.cpp: (KJS::kjs_fast_malloc): (KJS::kjs_fast_calloc): (KJS::kjs_fast_free): (KJS::kjs_fast_realloc):
- kjs/fast_malloc.h:
- kjs/identifier.h:
- kjs/internal.cpp: (InterpreterImp::InterpreterImp): (InterpreterImp::clear): (InterpreterImp::mark): (InterpreterImp::checkSyntax): (InterpreterImp::evaluate):
- kjs/internal.h: (KJS::InterpreterImp::globalObject):
- kjs/interpreter.cpp: (Interpreter::evaluate):
- kjs/interpreter.h: (KJS::InterpreterLock::InterpreterLock): (KJS::InterpreterLock::~InterpreterLock):
- kjs/nodes.h:
- kjs/protect.h: (KJS::ProtectedValue::ProtectedValue): (KJS::ProtectedValue::~ProtectedValue): (KJS::ProtectedValue::operator=): (KJS::ProtectedObject::ProtectedObject): (KJS::ProtectedObject::~ProtectedObject): (KJS::ProtectedObject::operator=): (KJS::ProtectedReference::ProtectedReference): (KJS::ProtectedReference::~ProtectedReference): (KJS::ProtectedReference::operator=):
- kjs/protected_object.h:
- kjs/protected_values.cpp: (KJS::ProtectedValues::getProtectCount): (KJS::ProtectedValues::increaseProtectCount): (KJS::ProtectedValues::decreaseProtectCount):
- kjs/string_object.cpp: (StringObjectImp::StringObjectImp):
- kjs/testkjs.cpp: (main):
WebCore:
Reviewed by Geoff.
- fixed <rdar://problem/4214783> REGRESSION: kjs_fast_malloc crash due to lack of locking on multiple threads (seen selecting volumes in the installer)
Make sure to lock using the InterpreterLock class in all places that need it
(including anything that uses the collector, the parser, the protect count hash table,
and anything that allocates via fast_malloc).
Added assertions to ensure that main_thread_malloc and friends are
only called on the main thread.
Also changed main_thread_free to schedule a free on the main
thread if called from a background thread. This contingency is
rare, but unavoidable in the case that JavaScript runs on
background threads, since then objects can be garbage collected on
any thread.
Test cases added: Node, this is impossible to reproduce in Safari without the use of
PAC files.
- Makefile.am:
- khtml/dom/dom_misc.h:
- khtml/ecma/kjs_events.cpp: (JSAbstractEventListener::handleEvent): (JSLazyEventListener::parseCode): (KJS::getDOMEvent):
- khtml/ecma/kjs_events.h:
- khtml/ecma/kjs_proxy.cpp: (KJSProxyImpl::~KJSProxyImpl): (KJSProxyImpl::evaluate): (KJSProxyImpl::clear): (KJSProxyImpl::createHTMLEventHandler): (KJSProxyImpl::initScript):
- khtml/ecma/kjs_traversal.cpp: (JSNodeFilterCondition::acceptNode):
- khtml/ecma/kjs_traversal.h:
- khtml/ecma/kjs_window.cpp: (Window::clear): (ScheduledAction::execute):
- khtml/ecma/kjs_window.h:
- khtml/ecma/xmlhttprequest.cpp: (KJS::XMLHttpRequest::send): (KJS::XMLHttpRequest::abort): (KJS::XMLHttpRequest::slotFinished):
- khtml/misc/main_thread_malloc.cpp: (khtml::main_thread_malloc): (khtml::main_thread_calloc): (khtml::main_thread_free): (khtml::main_thread_realloc): (khtml::initialize_scheduled_free_list): (khtml::drain_scheduled_free_list): (khtml::schedule_free_on_main_thread): (khtml::public_fREe):
- kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::bindingRootObject): (KWQKHTMLPart::windowScriptObject): (KWQKHTMLPart::saveLocationProperties): (KWQKHTMLPart::restoreLocationProperties): (KWQKHTMLPart::openURLFromPageCache): (KWQKHTMLPart::cleanupPluginRootObjects):
- kwq/KWQPageState.mm: (-[KWQPageState clear]):
- kwq/KWQTimer.h:
- kwq/KWQTimer.mm: (-[KWQMainThreadPerformTarget initWithFunction:]): (-[KWQMainThreadPerformTarget callFunction:]): (QTimer::immediateSingleShotOnMainThread):
- kwq/WebCoreBridge.mm: (-[WebCoreBridge saveDocumentToPageCache]):
- kwq/WebCoreJavaScript.mm: (+[WebCoreJavaScript rootObjectClasses]): (+[WebCoreJavaScript garbageCollect]):
- kwq/WebCoreScriptDebugger.mm: (-[WebCoreScriptCallFrame evaluateWebScript:]):
- 7:31 PM Changeset in webkit [12199] by
-
- 5 edits in branches/Safari-2-0-branch/JavaScriptGlue
Reviewed by Geoff.
- fixed <rdar://problem/4214783> REGRESSION: kjs_fast_malloc crash due to lack of locking on multiple threads (seen selecting volumes in the installer)
Make sure to lock using the InterpreterLock class in all places that need it
(including anything that uses the collector, the parser, the protect count hash table,
and anything that allocates via fast_malloc).
- JSUtils.cpp: (CFStringToUString): (JSObjectKJSValue): (KJSValueToCFTypeInternal):
- JSUtils.h:
- JSValueWrapper.cpp: (JSValueWrapper::JSObjectCopyPropertyNames): (JSValueWrapper::JSObjectCopyProperty): (JSValueWrapper::JSObjectSetProperty): (JSValueWrapper::JSObjectCallFunction): (JSValueWrapper::JSObjectCopyCFValue):
- JavaScriptGlue.cpp: (JSCollect):
- 4:50 PM Changeset in webkit [10541] by
-
- 4 edits4 adds in trunk
Reviewed by Dave Hyatt.
<rdar://problem/4244976> reproducible hang at ocharleys.com in VisiblePosition::initDownstream
Problem is that RenderText::nextOffset() passes an empty string the UBreakIterator, which returns
UBRK_DONE (-1) from ubrk_following, and that -1 is used without question as return result of
nextOffset(). Fixed by checking for UBRK_DONE and returning offset+1 in that case. Similar
change in RenderText::previousOffset().
Test cases added:
- layout-tests/editing/selection/extend-by-word-002-expected.checksum: Added.
- layout-tests/editing/selection/extend-by-word-002-expected.png: Added.
- layout-tests/editing/selection/extend-by-word-002-expected.txt: Added.
- layout-tests/editing/selection/extend-by-word-002.html: Added.
- khtml/rendering/render_block.cpp: (khtml::RenderBlock::updateFirstLetter): Added comments. Slight format adjustments.
- khtml/rendering/render_text.cpp: (getCharacterBreakIterator): Slight format adjustment.
(RenderText::previousOffset):
(RenderText::nextOffset):
Check for UBRK_DONE.
(RenderTextFragment::RenderTextFragment)
(RenderTextFragment::RenderTextFragment)
Fixed parameter names.
(m_generatedContentStr):
- khtml/rendering/render_text.h: Fixed parameter names in the two RenderTextFragment constructors.