rjw [Tue, 5 Oct 2004 23:19:20 +0000 (23:19 +0000)]
JavaScriptCore:
Fixed <rdar://problem/
3819234> NPN_SetException (and throwException:) isn't implemented
Reviewed by Chris.
* bindings/NP_jsobject.cpp:
(_NPN_SetException):
* bindings/npruntime.cpp:
(_NPN_SetExceptionWithUTF8):
* bindings/objc/WebScriptObject.mm:
(+[WebScriptObject throwException:]):
* kjs/internal.h:
(KJS::InterpreterImp::context):
WebBrowser:
Added debugging support for:
Fixed <rdar://problem/
3819234> NPN_SetException (and throwException:) isn't implemented
Logging is not enabled in either development or deployment build.
Reviewed by Chris.
* LocationChangeHandler.m:
(+[Logger isSelectorExcludedFromWebScript:]):
(-[Logger logMessage:]):
(-[LocationChangeHandler webView:windowScriptObjectAvailable:]):
(-[LocationChangeHandler webView:locationChangeDone:forDataSource:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7777
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Tue, 5 Oct 2004 23:06:58 +0000 (23:06 +0000)]
Reviewed by Hyatt
* khtml/rendering/bidi.cpp:
(khtml::RenderBlock::computeHorizontalPositionsForLine): Fix coding mistake that
broke layout tests involving compacts.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7776
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Tue, 5 Oct 2004 23:02:59 +0000 (23:02 +0000)]
Fix style sharing optimization to be fast again. Go back to using pointer comparisons when looking for
cousins to share.
Reviewed by darin
* khtml/css/cssstyleselector.cpp:
(khtml::CSSStyleSelector::locateCousinList):
* khtml/rendering/render_object.cpp:
(RenderObject::setStyleInternal):
* khtml/rendering/render_object.h:
* khtml/xml/dom_elementimpl.cpp:
(ElementImpl::recalcStyle):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7775
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Tue, 5 Oct 2004 22:45:49 +0000 (22:45 +0000)]
Fixed: <rdar://problem/
3827002> assertion failure in WebBaseNetscapePluginStream on abc.go.com
Reviewed by rjw.
* Plugins.subproj/WebBaseNetscapePluginStream.m:
(-[WebBaseNetscapePluginStream initWithRequestURL:pluginPointer:notifyData:sendNotification:]): avoid assertion failure in dealloc by temporarily setting isTerminated to YES in case we are released in this method
* Plugins.subproj/WebNetscapePluginStream.m:
(-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]): ditto
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7774
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Tue, 5 Oct 2004 22:19:36 +0000 (22:19 +0000)]
Fix lists so that they properly participate in line layout as though they are text (when text bullets are
used) and as images (when image bullets are used).
Reviewed by kocienda
* khtml/rendering/render_list.cpp:
(RenderListMarker::createInlineBox):
* khtml/rendering/render_list.h:
(khtml::ListMarkerBox:::InlineBox):
(khtml::ListMarkerBox::isText):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7773
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sullivan [Tue, 5 Oct 2004 22:14:40 +0000 (22:14 +0000)]
* WebCoreSupport.subproj/WebBridge.m:
(-[WebBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:]):
initialize "arguments" var to nil to satisfy compiler on deployment build.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7772
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Tue, 5 Oct 2004 21:38:13 +0000 (21:38 +0000)]
Fixed <rdar://problem/
3821515> binding layer needs to convert NSNumber-bools to js type boolean not number
Reviewed by Ken.
* bindings/objc/objc_utility.mm:
(KJS::Bindings::convertObjcValueToValue):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7771
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Tue, 5 Oct 2004 21:16:50 +0000 (21:16 +0000)]
Fixed <rdar://problem/
3825442> first click lost for Dashboard
Allow dashboard to force acceptsFirstMouse:
Reviewed by Chris.
* WebView.subproj/WebHTMLView.m:
(-[WebHTMLView acceptsFirstMouse:]):
* WebView.subproj/WebView.m:
(-[WebView _dashboardBehavior:]):
* WebView.subproj/WebViewInternal.h:
* WebView.subproj/WebViewPrivate.h:
* WebCoreSupport.subproj/WebImageRenderer.h:
Comment change only
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7770
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Tue, 5 Oct 2004 21:08:51 +0000 (21:08 +0000)]
Back out the assertion.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7769
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Tue, 5 Oct 2004 20:42:54 +0000 (20:42 +0000)]
Fixed: <rdar://problem/
3760920> Need to record plugin view instances
Reviewed by rjw.
* Plugins.subproj/WebPluginController.h:
* Plugins.subproj/WebPluginController.m:
(+[WebPluginController plugInViewWithArguments:fromPluginPackage:]): new, creates plug-in view and adds it to global list
(+[WebPluginController isPlugInView:]): new, checks if the plug-in view is in the global list
(-[WebPluginController destroyAllPlugins]): remove the plug-in from the global list
* Plugins.subproj/WebPluginDocumentView.m:
(-[WebPluginDocumentView setDataSource:]): call [WebPluginController plugInViewWithArguments:fromPluginPackage:]
* WebCoreSupport.subproj/WebBridge.m:
(-[WebBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:]): ditto
* WebView.subproj/WebFrame.m:
(-[WebFrame _reloadForPluginChanges]): call [WebPluginController isPlugInView:]
* WebView.subproj/WebHTMLView.m:
(-[WebHTMLView addSubview:]): ditto
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7768
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Tue, 5 Oct 2004 20:37:50 +0000 (20:37 +0000)]
Reviewed by Darin
Recent checkin adding upstreamDeepEquivalent had it backwards. The helper
we want is downstreamDeepEquivalent, as the deepEquivalent function returns
an upstream position.
* khtml/editing/selection.cpp:
(khtml::Selection::layout): DOWNSTREAM case now uses downstreamDeepEquivalent.
UPSTREAM uses deepEquivalent.
* khtml/editing/visible_position.cpp:
(khtml::VisiblePosition::downstreamDeepEquivalent): New helper, replacing
upstreamDeepEquivalent.
* khtml/editing/visible_position.h
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7767
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Tue, 5 Oct 2004 20:25:19 +0000 (20:25 +0000)]
New selection gap-filling architecture. Makes the gap-filling much more like NSTextView and puts the responsibility
for gap-filling in the block. Fixes numerous bugs with selection drawing including bidi issues, incorrect old
horizontal gap filling, and selection performance issues.
Reviewed by kocienda
* khtml/html/html_imageimpl.cpp:
(HTMLImageLoader::notifyFinished):
* khtml/misc/khtmllayout.h:
(khtml::GapRects::left):
(khtml::GapRects::center):
(khtml::GapRects::right):
(khtml::GapRects::uniteLeft):
(khtml::GapRects::uniteCenter):
(khtml::GapRects::uniteRight):
(khtml::GapRects::unite):
(khtml::GapRects::operator QRect):
(khtml::GapRects::operator==):
(khtml::GapRects::operator!=):
* khtml/rendering/font.cpp:
(Font::drawHighlightForText):
* khtml/rendering/font.h:
* khtml/rendering/render_block.cpp:
(khtml:::RenderFlow):
(khtml::RenderBlock::removeChild):
(khtml::RenderBlock::paintObject):
(khtml::RenderBlock::paintEllipsisBoxes):
(khtml::RenderBlock::setSelectionState):
(khtml::RenderBlock::shouldPaintSelectionGaps):
(khtml::RenderBlock::isSelectionRoot):
(khtml::RenderBlock::selectionGapRects):
(khtml::RenderBlock::paintSelection):
(khtml::RenderBlock::fillSelectionGaps):
(khtml::RenderBlock::fillInlineSelectionGaps):
(khtml::RenderBlock::fillBlockSelectionGaps):
(khtml::RenderBlock::fillHorizontalSelectionGap):
(khtml::RenderBlock::fillVerticalSelectionGap):
(khtml::RenderBlock::fillLeftSelectionGap):
(khtml::RenderBlock::fillRightSelectionGap):
(khtml::RenderBlock::getHorizontalSelectionGapInfo):
(khtml::RenderBlock::leftSelectionOffset):
(khtml::RenderBlock::rightSelectionOffset):
* khtml/rendering/render_block.h:
(khtml::RenderBlock::hasSelectedChildren):
(khtml::RenderBlock::selectionState):
(khtml::RenderBlock::BlockSelectionInfo::BlockSelectionInfo):
(khtml::RenderBlock::BlockSelectionInfo::rects):
(khtml::RenderBlock::BlockSelectionInfo::state):
(khtml::RenderBlock::BlockSelectionInfo::block):
(khtml::RenderBlock::selectionRect):
* khtml/rendering/render_box.cpp:
(RenderBox::position):
* khtml/rendering/render_br.cpp:
(RenderBR::inlineBox):
* khtml/rendering/render_br.h:
(khtml::RenderBR::selectionRect):
(khtml::RenderBR::paint):
* khtml/rendering/render_canvas.cpp:
(RenderCanvas::selectionRect):
(RenderCanvas::setSelection):
* khtml/rendering/render_canvasimage.cpp:
(RenderCanvasImage::paint):
* khtml/rendering/render_image.cpp:
(RenderImage::paint):
* khtml/rendering/render_image.h:
* khtml/rendering/render_line.cpp:
(khtml::InlineBox::nextLeafChild):
(khtml::InlineBox::prevLeafChild):
(khtml::InlineBox::selectionState):
(khtml::InlineFlowBox::addToLine):
(khtml::InlineFlowBox::firstLeafChild):
(khtml::InlineFlowBox::lastLeafChild):
(khtml::InlineFlowBox::firstLeafChildAfterBox):
(khtml::InlineFlowBox::lastLeafChildBeforeBox):
(khtml::InlineFlowBox::selectionState):
(khtml::RootInlineBox::fillLineSelectionGap):
(khtml::RootInlineBox::setHasSelectedChildren):
(khtml::RootInlineBox::selectionState):
(khtml::RootInlineBox::firstSelectedBox):
(khtml::RootInlineBox::lastSelectedBox):
(khtml::RootInlineBox::selectionTop):
(khtml::RootInlineBox::block):
* khtml/rendering/render_line.h:
(khtml::RootInlineBox::RootInlineBox):
(khtml::RootInlineBox::hasSelectedChildren):
(khtml::RootInlineBox::selectionHeight):
* khtml/rendering/render_object.cpp:
(RenderObject::selectionColor):
* khtml/rendering/render_object.h:
(khtml::RenderObject::):
(khtml::RenderObject::selectionState):
(khtml::RenderObject::setSelectionState):
(khtml::RenderObject::selectionRect):
(khtml::RenderObject::canBeSelectionLeaf):
(khtml::RenderObject::hasSelectedChildren):
(khtml::RenderObject::hasDirtySelectionState):
(khtml::RenderObject::setHasDirtySelectionState):
(khtml::RenderObject::shouldPaintSelectionGaps):
(khtml::RenderObject::SelectionInfo::SelectionInfo):
* khtml/rendering/render_replaced.cpp:
(RenderReplaced::RenderReplaced):
(RenderReplaced::shouldPaint):
(RenderReplaced::selectionRect):
(RenderReplaced::setSelectionState):
(RenderReplaced::selectionColor):
(RenderWidget::paint):
(RenderWidget::setSelectionState):
* khtml/rendering/render_replaced.h:
(khtml::RenderReplaced::canBeSelectionLeaf):
(khtml::RenderReplaced::selectionState):
* khtml/rendering/render_text.cpp:
(InlineTextBox::checkVerticalPoint):
(InlineTextBox::isSelected):
(InlineTextBox::selectionState):
(InlineTextBox::selectionRect):
(InlineTextBox::paintSelection):
(InlineTextBox::paintMarkedTextBackground):
(RenderText::paint):
(RenderText::setSelectionState):
(RenderText::selectionRect):
* khtml/rendering/render_text.h:
(khtml::RenderText::canBeSelectionLeaf):
* kwq/KWQPainter.h:
* kwq/KWQPainter.mm:
(QPainter::drawHighlightForText):
* kwq/KWQPtrDict.h:
(QPtrDictIterator::toFirst):
* kwq/KWQRect.mm:
(QRect::unite):
* kwq/WebCoreTextRenderer.h:
* kwq/WebCoreTextRendererFactory.mm:
(WebCoreInitializeEmptyTextGeometry):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7766
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Tue, 5 Oct 2004 20:11:51 +0000 (20:11 +0000)]
Fix to make selection more like NSTextView. All gap painting is now done by WebCore, so WebKit no longer
needs to try to fill gaps around text.
Reviewed by kocienda
* WebCoreSupport.subproj/WebTextRenderer.m:
(-[WebTextRenderer _CG_drawHighlightForRun:style:geometry:]):
(-[WebTextRenderer _ATSU_drawHighlightForRun:style:geometry:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7765
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Tue, 5 Oct 2004 20:05:38 +0000 (20:05 +0000)]
Reviewed by Darin
Use the new CSS properties I added with my previous check-in. Also makes
some changes to caret positioning and drawing to make the proper editing
end-of-line behavior work correctly.
* khtml/editing/selection.cpp:
(khtml::Selection::layout): Caret drawing now takes affinity into account
when deciding where to paint the caret (finally!).
* khtml/editing/visible_position.cpp:
(khtml::VisiblePosition::previousVisiblePosition): Move off Position::rendersInDifferentPosition
to determine the result. Use a simpler test involving comparisons between
downstream positions while iterating. This is cheaper to do and easier to understand.
(khtml::VisiblePosition::nextVisiblePosition): Ditto.
* khtml/rendering/bidi.cpp:
(khtml::BidiIterator::current): Do not return non-breaking spaces for empty
text renderers and for non-text renderers. Return a null Qchar instead. Returning
non-breaking spaces was causing errors when the new -khtml-nbsp-mode was set to "space".
(khtml::RenderBlock::computeHorizontalPositionsForLine): Shrink line boxes that
contain with more spaces than can fit on the end of a line.
(khtml::RenderBlock::skipWhitespace): Factor this out from findNextLineBreak.
(khtml::RenderBlock::findNextLineBreak): Use new skipWhitespace function. Add
in code to check and use new CSS properties.
* khtml/rendering/break_lines.cpp:
(khtml::isBreakable): Consider a non-breaking space a breakable character based
on setting of new -khtml-nbsp-mode property.
* khtml/rendering/break_lines.h: Ditto.
* khtml/rendering/render_block.h: Declare skipWhitespace function.
* khtml/rendering/render_text.cpp:
(RenderText::caretRect): Do not draw the caret beyond the right edge of the
window when in white-space normal mode.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7764
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Tue, 5 Oct 2004 18:24:01 +0000 (18:24 +0000)]
Reviewed by Darin
Fix for these bugs:
In this patch, I add two new CSS properties and their associated behavior.
This is to support end-of-line and word-wrapping features that match the
conventions of text editors.
There are also some other small changes here which begin to lay the groundwork
for using these new properties to bring about the desired editing behavior.
* khtml/css/cssparser.cpp:
(CSSParser::parseValue): Add support for new CSS properties.
* khtml/css/cssproperties.c: Generated file.
* khtml/css/cssproperties.h: Ditto.
* khtml/css/cssproperties.in: Add new properties.
* khtml/css/cssstyleselector.cpp:
(khtml::CSSStyleSelector::applyProperty): Add support for new CSS properties.
* khtml/css/cssvalues.c: Generated file.
* khtml/css/cssvalues.h: Ditto.
* khtml/css/cssvalues.in: Add support for new CSS properties.
* khtml/editing/visible_position.cpp:
(khtml::VisiblePosition::upstreamDeepEquivalent): Added new helper.
* khtml/editing/visible_position.h:
* khtml/rendering/render_box.cpp:
(RenderBox::deleteLineBoxWrapper): Zero out inlineBoxWrapper.
* khtml/rendering/render_replaced.cpp:
(RenderWidget::detach): Zero out inlineBoxWrapper.
* khtml/rendering/render_style.cpp:
(StyleCSS3InheritedData):
(StyleCSS3InheritedData::operator==): Add support for new CSS properties.
(RenderStyle::diff): Ditto.
* khtml/rendering/render_style.h:
(khtml::RenderStyle::nbspMode): Ditto.
(khtml::RenderStyle::khtmlLineBreak): Ditto.
(khtml::RenderStyle::setNBSPMode): Ditto.
(khtml::RenderStyle::setKHTMLLineBreak): Ditto.
(khtml::RenderStyle::initialNBSPMode): Ditto.
(khtml::RenderStyle::initialKHTMLLineBreak): Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7763
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Tue, 5 Oct 2004 15:44:58 +0000 (15:44 +0000)]
Reviewed by John.
- fixed <rdar://problem/
3577255> custom file icon shows up upside down in <input type=file>
* WebCoreSupport.subproj/WebFileButton.m: (-[WebFileButton setFilename:]): Added a call to
setFlipped that fixes the problem, even though I don't know why.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7762
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Tue, 5 Oct 2004 15:43:50 +0000 (15:43 +0000)]
Reviewed by John.
- fixed <rdar://problem/
3673150> Pasting string from clipboard that is longer than input box will accept fails rather than truncating
* kwq/KWQTextField.mm:
(-[KWQTextFieldFormatter isPartialStringValid:proposedSelectedRange:originalString:originalSelectedRange:errorDescription:]):
Wrote a new version of this method that truncates incoming strings rather than rejecting them
out of hand.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7761
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Tue, 5 Oct 2004 07:03:55 +0000 (07:03 +0000)]
Reviewed by Maciej.
- fixed <rdar://problem/
3814237> REGRESSION (Mail): Copy/paste style does not set color in Mail compose window
* WebView.subproj/WebHTMLView.m:
(-[WebHTMLView _selectionStartFontAttributesAsRTF]): Changed to call new bridge method
named fontAttributesForSelectionStart, deleted the method this used to use, and renamed
this to have the word "start" in it.
(-[WebHTMLView copyFont:]): Updated for name change.
* English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7760
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Tue, 5 Oct 2004 07:01:21 +0000 (07:01 +0000)]
Reviewed by Maciej.
- fixed <rdar://problem/
3826343> crash in KHTMLParser::setCurrent parsing document fragment (happens in Calendar widget)
* khtml/html/htmlparser.cpp:
(KHTMLParser::KHTMLParser): Initialized currentIsReferenced to false (fixes bug).
(KHTMLParser::reset): Use doc() to make code easier to read.
(KHTMLParser::setCurrent): Ditto.
(KHTMLParser::parseToken): Ditto.
(KHTMLParser::insertNode): Ditto.
(KHTMLParser::getElement): Ditto.
(KHTMLParser::popOneBlock): Ditto.
- fixed <rdar://problem/
3814237> REGRESSION (Mail): Copy/paste style does not set color in Mail compose window
* kwq/KWQKHTMLPart.h: Added fontAttributesForSelectionStart.
* kwq/KWQKHTMLPart.mm:
(KWQKHTMLPart::styleForSelectionStart): Factored out most of fontForSelection.
(KWQKHTMLPart::fontAttributesForSelectionStart): Added.
(KWQKHTMLPart::fontAttributesForSelectionStart): Added.
(KWQKHTMLPart::registerCommandForUndo): Updated for name change (see below).
(KWQKHTMLPart::registerCommandForRedo): Ditto.
* kwq/WebCoreBridge.h: Added fontAttributesForSelectionStart.
* kwq/WebCoreBridge.mm:
(-[WebCoreBridge undoEditing:]): Updated for name change (see below).
(-[WebCoreBridge redoEditing:]): Ditto.
(-[WebCoreBridge replaceSelectionWithFragment:selectReplacement:smartReplace:]): Got rid of named temporary
EditCommandPtr variable to make things slightly more terse.
(-[WebCoreBridge moveSelectionToDragCaret:smartMove:]): Ditto.
(-[WebCoreBridge deleteSelectionWithSmartDelete:]): Ditto.
(-[WebCoreBridge fontAttributesForSelectionStart]): Added.
- fix compile on Panther and other cleanup
* khtml/khtml_part.cpp: Removed unneeded include.
* kwq/KWQEditCommand.h: Got rid of use of "impl" when referring to EditCommand pointers.
* kwq/KWQEditCommand.mm: Added include so we compile on Panther.
(-[KWQEditCommand initWithEditCommand:]): Changed name.
(-[KWQEditCommand dealloc]): Updated for m_impl change to m_command.
(-[KWQEditCommand finalize]): Ditto.
(+[KWQEditCommand commandWithEditCommand:]): Changed name.
(-[KWQEditCommand command]): Changed name.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7759
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Mon, 4 Oct 2004 23:20:52 +0000 (23:20 +0000)]
* WebView.subproj/WebFrameInternal.h: removed constant declarations that I committed by mistake
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7758
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Mon, 4 Oct 2004 22:54:51 +0000 (22:54 +0000)]
Reviewed by John.
- did a more-robust version of the fix I just landed
* khtml/html/htmlparser.h: Added currentIsReferenced boolean.
* khtml/html/htmlparser.cpp:
(KHTMLParser::KHTMLParser): Initializes currentIsReferenced.
(KHTMLParser::setCurrent): Changed to respect and set currentIsReferenced.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7757
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Mon, 4 Oct 2004 22:45:22 +0000 (22:45 +0000)]
Reviewed by John.
- fixed <rdar://problem/
3824393> REGRESSION (165-TOT): Crash in KHTMLParser::popOneBlock closing window (bose.com)
* khtml/html/htmlparser.cpp:
(KHTMLParser::~KHTMLParser): Move call to setCurrent(0) after the call to freeBlock, since freeBlock doesn't
work well when current is 0, and there's no reason we need to reset the current block first.
(KHTMLParser::setCurrent): Don't ever hold a reference to the document. This prevents a situation where there
would be a reference cycle. In the test case from the bug above, this cycle actually happened and resulted
in a double-delete of the document, tokenizer, and parser.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7756
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Mon, 4 Oct 2004 22:14:54 +0000 (22:14 +0000)]
Fixed: <rdar://problem/
3798948> NPP_URLNotify is not called if plug-in calls NPN_*URLNotfy
Fixed a number of FIXME's related to notifying plug-ins of loaded pages.
Reviewed by rjw.
* Plugins.subproj/WebBaseNetscapePluginStream.h:
- replaced URL ivar with requestURL and responseURL ivars since we need to pass both to plug-ins
- added sendNotification boolean. Relying on notifyData not being NULL was not information to know whether to call NPP_URLNotify or not.
- added isTerminated boolean because determining whether or not stream.ndata is NULL is not enough to know if the stream has been cancelled.
* Plugins.subproj/WebBaseNetscapePluginStream.m:
(+[WebBaseNetscapePluginStream reasonForError:]): new, factored out from receivedError:
(-[WebBaseNetscapePluginStream initWithRequestURL:pluginPointer:notifyData:sendNotification:]): new
(-[WebBaseNetscapePluginStream dealloc]): release new ivars
(-[WebBaseNetscapePluginStream finalize]): added assert
(-[WebBaseNetscapePluginStream setRequestURL:]): new
(-[WebBaseNetscapePluginStream setResponseURL:]): new
(-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]): renamed, use responseURL as it basically did before
(-[WebBaseNetscapePluginStream startStreamWithResponse:]): call renamed method
(-[WebBaseNetscapePluginStream destroyStream]):
- do nothing if terminated
- call NPP_StreamAsFile and NPP_DestroyStream if stream.ndata is not NULL
- call NPP_URLNotify if sendNotification is YES regardless of value of notifyData
(-[WebBaseNetscapePluginStream receivedError:]): call reasonForError
(-[WebBaseNetscapePluginStream deliverData]): use renamed ivar
* Plugins.subproj/WebBaseNetscapePluginView.h:
- added observingFrameLoadNotification boolean
- renamed dictionary ivar to pendingFrameLoads which has WebFrame keys and WebPluginRequest values
* Plugins.subproj/WebBaseNetscapePluginView.m:
(-[WebBaseNetscapePluginView addFrameLoadObserver]): new
(-[WebBaseNetscapePluginView removeFrameLoadObserver]): new
(-[WebBaseNetscapePluginView stop]): call removeFrameLoadObserver
(-[WebBaseNetscapePluginView initWithFrame:]): use renamed pendingFrameLoads ivar
(-[WebBaseNetscapePluginView dealloc]): ditto
(-[WebBaseNetscapePluginView requestWithURLCString:]): set referrer on the request just as IE does
(-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
- call NPP_URLNotify depending of value of sendNotification
- call new init method on WebBaseNetscapePluginStream rather then setting variables individually
(-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]): new, calls NPP_URLNotify at the right time with the right value
(-[WebBaseNetscapePluginView webFrame:didFinishLoadWithError:]): new, delegate method called from WebFrame
(-[WebBaseNetscapePluginView loadPluginRequest:]): call addFrameLoadObserver
(-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]): take new sendNotification parameter and pass it
(-[WebBaseNetscapePluginView getURLNotify:target:notifyData:]): pass YES for sendNotification
(-[WebBaseNetscapePluginView getURL:target:]): pass NO for sendNotification
(-[WebBaseNetscapePluginView _postURL:target:len:buf:file:notifyData:sendNotification:allowHeaders:]): take new sendNotification parameter and pass it
(-[WebBaseNetscapePluginView postURLNotify:target:len:buf:file:notifyData:]): pass YES for sendNotification
(-[WebBaseNetscapePluginView postURL:target:len:buf:file:]): pass NO for sendNotification
(-[WebPluginRequest initWithRequest:frameName:notifyData:sendNotification:]): take new sendNotification parameter
(-[WebPluginRequest sendNotification]): new
* Plugins.subproj/WebBaseNetscapePluginViewPrivate.h:
* Plugins.subproj/WebNetscapePluginEmbeddedView.m:
(-[WebNetscapePluginEmbeddedView didStart]): set referrer on the request just as IE does
* Plugins.subproj/WebNetscapePluginRepresentation.m:
(-[WebNetscapePluginRepresentation receivedData:withDataSource:]): set the request URL on the stream
* Plugins.subproj/WebNetscapePluginStream.h:
* Plugins.subproj/WebNetscapePluginStream.m:
(-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]): take new sendNotification parameter and pass it
(-[WebNetscapePluginStream dealloc]): use renamed ivar
(-[WebNetscapePluginStream start]): ditto
* WebView.subproj/WebFrame.m:
(-[WebFrame _setState:]): removed notification posting code. This was only used by WebBaseNetscapePluginView and it was the wrong notification to send.
(-[WebFrame _checkLoadCompleteForThisFrame]): call internal load delegate to tell it that the load has finished
(-[WebFrame _loadItem:withLoadType:]): ditto
(-[WebFrame _continueFragmentScrollAfterNavigationPolicy:formState:]): ditto
(-[WebFrame _setInternalLoadDelegate:]): new
(-[WebFrame _internalLoadDelegate]): new
* WebView.subproj/WebFrameInternal.h:
* WebView.subproj/WebFramePrivate.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7755
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Mon, 4 Oct 2004 21:32:56 +0000 (21:32 +0000)]
Reviewed by Maciej.
- fixed <rdar://problem/
3825429> onclick handler called when mouse down on another element (affects Dashboard Movies widget, test case enclosed)
* khtml/khtmlview.cpp:
(KHTMLViewPrivate::KHTMLViewPrivate): Initialize the click node to 0.
(KHTMLViewPrivate::~KHTMLViewPrivate): Deref the click node.
(KHTMLViewPrivate::reset): Clear the click node.
(KHTMLView::viewportMousePressEvent): Call invalidateClick when we pass the event to a subframe to
reduce the chance that we'll hold on to an old click node for a long time. Set the click node to
the node we we are clicking on.
(KHTMLView::viewportMouseDoubleClickEvent): Only send a click even if the node is the same one from
the original click. Call invalidateClick when done to reduce the chance that we'll hold on to an
old click node for a long time.
(KHTMLView::invalidateClick): Clear the click node.
(KHTMLView::viewportMouseReleaseEvent): Only send a click even if the node is the same one from
the original click. Call invalidateClick when done to reduce the chance that we'll hold on to an
old click node for a long time.
(KHTMLView::keyPressEvent): Remove code that sets the originalNode field, which is never used.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7754
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Mon, 4 Oct 2004 18:52:39 +0000 (18:52 +0000)]
Reviewed by Hyatt
Fix for this bug:
<rdar://problem/
3825289> REGRESSION (Mail): Crash in fontForSelection in empty window
* khtml/editing/visible_position.cpp:
(khtml::VisiblePosition::previousPosition): Switch to node iteration instead "leaf"
iteration. I have been wanting to make this change for a long time, but couldn't
since other code relied on the leaf behavior. That is no longer true. Plus, the
bug fix requires the new behavior.
(khtml::VisiblePosition::nextPosition): Ditto.
(khtml::VisiblePosition::isCandidate): Empty blocks needed a height to be a candidate,
but we make a special case for the body element. This fixes the bug.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7753
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Mon, 4 Oct 2004 18:01:26 +0000 (18:01 +0000)]
Fixed: <rdar://problem/
3758113> REGRESSION: Macromedia ColdFusion page doesn't show main content
After bumping up our plug-in version, Flash now sends 2 CRLF's between the headers and body of their POST request. Our code was not prepared for this.
Reviewed by darin.
* Plugins.subproj/WebBaseNetscapePluginView.m:
(-[NSData _web_locationAfterFirstBlankLine]): looks for 2 CRLF's, not for 2 LF's
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7750
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Mon, 4 Oct 2004 17:43:49 +0000 (17:43 +0000)]
Reviewed by Ken.
- fixed a potential storage leak when we turn on CGImageRef image rendering
* WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer dealloc]): Fix potential storage leak
by adding [super dealloc], but leak was not real yet because the code is commented out.
- make paste style work with color as part of fix to <rdar://problem/
3814237> REGRESSION (Mail):
Copy/paste style does not set color in Mail compose window
* WebView.subproj/WebHTMLView.m:
(-[WebHTMLView _selectionFontAttributes]): Change structure so it's easy to add more attributes.
For now I haven't added any yet.
(-[WebHTMLView _colorAsString:]): Moved this earlier in the file.
(-[WebHTMLView _shadowAsString:]): Ditto.
(-[WebHTMLView _styleFromFontAttributes:]): Add background color, foreground color, and text shadow.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7749
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Mon, 4 Oct 2004 17:40:13 +0000 (17:40 +0000)]
Reviewed by Ken.
- fixed <rdar://problem/
3800667> REGRESSION (Mail): double-clicking multiple spaces only selects two spaces
* kwq/KWQTextUtilities.mm: (KWQFindWordBoundary): Moved here from the .cpp file. Changed to use the
doubleClickAtIndex: method from NSAttributedString rather than using Unicode Utilities.
* kwq/KWQTextUtilities.cpp: Removed.
* WebCore.pbproj/project.pbxproj: Removed KWQTextUtilities.cpp.
- fixed a problem that would show up using HTML editing under garbage collection
* kwq/KWQEditCommand.mm: (-[KWQEditCommand finalize]): Fixed a [super dealloc] that should have been a
[super finalize].
- another small change
* khtml/editing/visible_units.cpp: (khtml::nextWordBoundary): Tweaked a comment.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7748
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Mon, 4 Oct 2004 17:34:12 +0000 (17:34 +0000)]
Reviewed by Ken.
- rolled in a fix the KDE folks did for the operations that generate HTML fragments
* kjs/string_object.cpp: (StringProtoFuncImp::call): Added quote marks to generated HTML.
- rolled out an old workaround we don't need any more
* JavaScriptCore.pbproj/project.pbxproj: Remove -Wno-long-double because the <math.h> issue that
required it is no longer there.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7747
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Fri, 1 Oct 2004 17:25:20 +0000 (17:25 +0000)]
Reviewed by Ken (or arguably done by Ken, reviewed by Darin).
- fixed <rdar://problem/
3823828> REGRESSION (Mail): Clicking past end of any line puts insertion point at beginning of next line
* khtml/editing/visible_position.cpp: (khtml::VisiblePosition::VisiblePosition):
Check for an offset of 0 and a <br> and use UPSTREAM affinity in that case.
This is a short term fix for something that needs a better longer-term fix.
- fixed <rdar://problem/
3823816> REGRESSION (Mail): double-clicking first word on line also selects previous empty line
* khtml/editing/visible_units.cpp: (khtml::previousWordBoundary): Added a special
case for <br>. While I'm not sure why this regressed, I'm sure this fix is good.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7746
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Fri, 1 Oct 2004 15:18:31 +0000 (15:18 +0000)]
Reviewed by John.
- fixed <rdar://problem/
3782117> CrashTracer: ..722 crashes at com.apple.WebCore: DOM::HTMLBodyElementImpl::insertedIntoDocument + 0x2c (AOL website)
* khtml/html/html_baseimpl.cpp:
(HTMLBodyElementImpl::insertedIntoDocument): Check for nil document case.
(HTMLFrameElementImpl::isURLAllowed): Ditto.
(HTMLFrameElementImpl::openURL): Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7745
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Fri, 1 Oct 2004 08:02:28 +0000 (08:02 +0000)]
Reviewed by Maciej.
- fixed <rdar://problem/
3822218> REGRESSION (164-165): images don't update on rollover on directv.com page
I introduced a major regression where various JavaScript window properties would not be found when I
fixed bug
3809600.
* khtml/ecma/kjs_window.h: Added hasProperty.
* khtml/ecma/kjs_window.cpp: (Window::hasProperty): Return true in all the cases where get returns something.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7744
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Fri, 1 Oct 2004 06:43:37 +0000 (06:43 +0000)]
Reviewed by Maciej.
- fixed <rdar://problem/
3461499> JavaScript function document.open() is buggy with 2nd argument "replace"
Experiments with Firefox indicate that document.open() should not be treated as window.open() unless there
are more than two parameters. Also, Firefox does not implement the "replace" behavior, so we don't have
to worry about it either.
* khtml/ecma/kjs_html.cpp: (KJS::HTMLDocFunction::tryCall): Only forward to window if there are more than
two parameters, rather than if there are more than one.
- fixed <rdar://problem/
3672933> oninput is firing at page load time for <input type=range>
* kwq/KWQSlider.mm: (QSlider::setValue): Don't emit a signal here. This follows the usual pattern, where
a signal is only emitted for changes that are not explicitly requested by the caller.
- fixed <rdar://problem/
3821167> leaks of something allocated by recalcStyle after loading altavista page from cvs-base
* khtml/xml/dom_docimpl.cpp: (DocumentImpl::recalcStyle): Ref and deref the style we allocate so it's
not left floating if setStyle decides not to ref it.
- fixed <rdar://problem/
3821172> leak of HTML attribute string after loading the ESPN page from cvs-base
* khtml/html/html_elementimpl.cpp: (HTMLElementImpl::parseHTMLAttribute): Use the DOMString version of
the lower() operation so we don't end up leaving a DOMStringImpl * floating if AtomicString decides not
to ref it.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7743
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Fri, 1 Oct 2004 00:24:39 +0000 (00:24 +0000)]
WebKit:
Fixed <rdar://problem/
3821215> NPN hasMethod and hasProperty functions should take NPObjects, not NPClass
Also changed dashboard regions dictionary to use "control"
for scroller region label, instead of "scroller, per
request from ouch.
Reviewed by Chris.
* Plugins.subproj/npruntime.h:
* WebView.subproj/WebView.m:
(-[WebView _addScrollerDashboardRegions:from:]):
JavaScriptCore:
Fixed <rdar://problem/
3821215> NPN hasMethod and hasProperty functions should take NPObjects, not NPClass
Reviewed by Chris.
* bindings/NP_jsobject.cpp:
(_NPN_GetProperty):
(_NPN_HasProperty):
(_NPN_HasMethod):
* bindings/c/c_class.cpp:
(CClass::methodsNamed):
(CClass::fieldNamed):
* bindings/c/c_class.h:
* bindings/c/c_instance.cpp:
(CInstance::invokeMethod):
* bindings/jni/jni_class.cpp:
(JavaClass::methodsNamed):
* bindings/jni/jni_class.h:
* bindings/npruntime.h:
* bindings/objc/objc_class.h:
* bindings/objc/objc_class.mm:
(ObjcClass::methodsNamed):
* bindings/runtime.h:
* bindings/runtime_object.cpp:
(RuntimeObjectImp::get):
(RuntimeObjectImp::hasProperty):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7742
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Fri, 1 Oct 2004 00:18:47 +0000 (00:18 +0000)]
Fixed: <rdar://problem/
3498680> switching back and forth between tabs stops calling anything in a plug-in
Reviewed by darin.
* Plugins.subproj/WebBaseNetscapePluginView.m:
(-[WebBaseNetscapePluginView sendEvent:]): call setWindowIfNecessary because the window may have changed
(-[WebBaseNetscapePluginView updateAndSetWindow]): new
(-[WebBaseNetscapePluginView setWindowIfNecessary]): was setWindow, this method now just sets the window
(-[WebBaseNetscapePluginView start]): call updateAndSetWindow
(-[WebBaseNetscapePluginView viewDidMoveToWindow]): ditto
(-[WebBaseNetscapePluginView viewHasMoved:]): ditto
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7741
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Thu, 30 Sep 2004 23:14:47 +0000 (23:14 +0000)]
Fixed: <rdar://problem/
3498668> switching out of tab doesn't send loseFocusEvent to plug-in
Reviewed by rjw.
* Plugins.subproj/WebBaseNetscapePluginView.h:
* Plugins.subproj/WebBaseNetscapePluginView.m:
(-[WebBaseNetscapePluginView setHasFocus:]): new, sends events to plug-in
(-[WebBaseNetscapePluginView becomeFirstResponder]): call setHasFocus
(-[WebBaseNetscapePluginView resignFirstResponder]): ditto
(-[WebBaseNetscapePluginView viewWillMoveToWindow:]): ditto
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7740
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Thu, 30 Sep 2004 20:04:48 +0000 (20:04 +0000)]
Fixed <rdar://problem/
3822330> REGRESSION: crash on launch when homepage is set to about:blank
Added nil check.
* kwq/KWQKHTMLPart.mm:
(KWQKHTMLPart::setDisplaysWithFocusAttributes):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7739
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Thu, 30 Sep 2004 19:48:13 +0000 (19:48 +0000)]
Fixed: <rdar://problem/
3792822> Safari is calling the Cocoa QuickTime plugin twice for the OBJECT and EMBED tags
Reviewed by hyatt.
* khtml/html/html_objectimpl.cpp:
(HTMLObjectElementImpl::attach): call dispatchHTMLEvent after updateWidget instead of every time this method is called
(HTMLObjectElementImpl::recalcStyle): ditto
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7738
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Thu, 30 Sep 2004 18:56:45 +0000 (18:56 +0000)]
- rolled out bad image change that caused performance regression
* khtml/rendering/render_image.cpp: (RenderImage::setPixmap):
Don't reference the new image before doing the assignment.
This forced an unwanted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7737
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Thu, 30 Sep 2004 17:52:27 +0000 (17:52 +0000)]
Fixed:
Assertion failure when loading standalone netscape plug-in content.
Document loads of WebKit plug-in content should be cancelled since the plug-in does its own loading.
Reviewed by john.
* Misc.subproj/WebKitErrors.m: removed deprecated method
* Misc.subproj/WebKitErrorsPrivate.h:
* Plugins.subproj/WebNetscapePluginDocumentView.m:
(-[WebNetscapePluginDocumentView setDataSource:]): fixed the assertion statement
* Plugins.subproj/WebPluginDocumentView.h:
* Plugins.subproj/WebPluginDocumentView.m:
(-[WebPluginDocumentView dealloc]): remove retained plug-in
(-[WebPluginDocumentView setDataSource:]): retain the plug-in, cancel the laod
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7736
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Thu, 30 Sep 2004 16:59:50 +0000 (16:59 +0000)]
Reviewed by me, coded by Darin
- fixed <rdar://problem/
3818305> REGRESSION (Mail): Shift + page up has no effect; should modify selection
* khtml/editing/selection.cpp: (khtml::Selection::modify): Fix problem where vertical distance
was used as a distance threshold, but was a negative number. Now make it positive at the start
of the function (and make a couple related changes).
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7735
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Thu, 30 Sep 2004 01:32:15 +0000 (01:32 +0000)]
Fixed:
<rdar://problem/
3763832> Safari-155: Non-Embeded movies fail to open in Cocoa QT plug-in
<rdar://problem/
3820517> "*** -[WebPluginPackage NPP_New]: selector not recognized [self = 0x5552c10]"
Reviewed by rjw.
* History.subproj/WebHistoryItem.m:
* Misc.subproj/WebNSViewExtras.h:
* Misc.subproj/WebNSViewExtras.m:
(-[NSView _web_firstResponderCausesFocusDisplay]):
(-[NSView _webView]):
(-[NSView _frame]):
(-[NSView _bridge]):
(-[NSView _dataSource]):
* Plugins.subproj/WebBasePluginPackage.h:
* Plugins.subproj/WebBasePluginPackage.m:
(-[WebBasePluginPackage hash]):
(-[WebBasePluginPackage isQuickTimePlugIn]):
* Plugins.subproj/WebNetscapePluginDocumentView.m:
(-[WebNetscapePluginDocumentView setDataSource:]):
* Plugins.subproj/WebNetscapePluginRepresentation.m:
* Plugins.subproj/WebPluginController.h:
* Plugins.subproj/WebPluginController.m:
(-[WebPluginController initWithDocumentView:]):
(-[WebPluginController addPlugin:]):
(-[WebPluginController destroyAllPlugins]):
(-[WebPluginController webPlugInContainerLoadRequest:inFrame:]):
(-[WebPluginController webPlugInContainerShowStatus:]):
(-[WebPluginController webPlugInContainerSelectionColor]):
(-[WebPluginController webFrame]):
* Plugins.subproj/WebPluginDatabase.h:
* Plugins.subproj/WebPluginDatabase.m:
(-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]):
(-[WebPluginDatabase refresh]):
(WebPluginDocumentView::while):
* Plugins.subproj/WebPluginDocumentView.h: Added.
* Plugins.subproj/WebPluginDocumentView.m: Added.
(-[WebPluginDocumentView initWithFrame:]):
(-[WebPluginDocumentView dealloc]):
(-[WebPluginDocumentView drawRect:]):
(-[WebPluginDocumentView setDataSource:]):
(-[WebPluginDocumentView setNeedsLayout:]):
(-[WebPluginDocumentView layout]):
(-[WebPluginDocumentView currentWindow]):
(-[WebPluginDocumentView viewWillMoveToWindow:]):
(-[WebPluginDocumentView viewDidMoveToWindow]):
(-[WebPluginDocumentView viewWillMoveToHostWindow:]):
(-[WebPluginDocumentView viewDidMoveToHostWindow]):
(-[WebPluginDocumentView receivedData:withDataSource:]):
(-[WebPluginDocumentView receivedError:withDataSource:]):
(-[WebPluginDocumentView finishedLoadingWithDataSource:]):
(-[WebPluginDocumentView canProvideDocumentSource]):
(-[WebPluginDocumentView documentSource]):
(-[WebPluginDocumentView title]):
* Plugins.subproj/npapi.m:
(NPN_ReleaseVariantValue):
(NPN_GetStringIdentifier):
(NPN_GetStringIdentifiers):
(NPN_GetIntIdentifier):
(NPN_IdentifierIsString):
(NPN_UTF8FromIdentifier):
(NPN_IntFromIdentifier):
(NPN_CreateObject):
(NPN_RetainObject):
(NPN_ReleaseObject):
(NPN_Invoke):
(NPN_InvokeDefault):
(NPN_Evaluate):
(NPN_GetProperty):
(NPN_SetProperty):
(NPN_RemoveProperty):
(NPN_HasProperty):
(NPN_HasMethod):
(NPN_SetException):
(NPN_Call):
* WebCoreSupport.subproj/WebBridge.m:
(-[WebBridge frameRequiredForMIMEType:URL:]):
* WebCoreSupport.subproj/WebViewFactory.m:
* WebKit.exp:
* WebKit.pbproj/project.pbxproj:
* WebView.subproj/WebDebugDOMNode.m:
* WebView.subproj/WebDocumentInternal.h:
* WebView.subproj/WebHTMLView.m:
(-[WebHTMLView initWithFrame:]):
* WebView.subproj/WebHTMLViewPrivate.h:
* WebView.subproj/WebImageRepresentation.h:
* WebView.subproj/WebRenderNode.m:
* WebView.subproj/WebView.m:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7734
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Thu, 30 Sep 2004 01:32:04 +0000 (01:32 +0000)]
Prepended underscores to NPN methods so that when the QT plug-in loads these symbols, it uses the non-underscore versions in WebKit. Without this, the QT plug-in was failing to load when launching Safari from the command-line.
Reviewed by rjw.
* JavaScriptCore.pbproj/project.pbxproj:
* bindings/NP_jsobject.cpp:
(_NPN_CreateScriptObject):
(_NPN_InvokeDefault):
(_NPN_Invoke):
(_NPN_Evaluate):
(_NPN_GetProperty):
(_NPN_SetProperty):
(_NPN_RemoveProperty):
(_NPN_HasProperty):
(_NPN_HasMethod):
* bindings/c/c_class.cpp:
(CClass::methodsNamed):
(CClass::fieldNamed):
* bindings/c/c_instance.cpp:
(CInstance::CInstance):
(CInstance::~CInstance):
(CInstance::operator=):
(CInstance::invokeMethod):
(CInstance::invokeDefaultMethod):
* bindings/c/c_runtime.cpp:
* bindings/c/c_runtime.h:
(KJS::Bindings::CField::name):
(KJS::Bindings::CMethod::name):
* bindings/npruntime.cpp:
(_NPN_GetStringIdentifier):
(_NPN_GetStringIdentifiers):
(_NPN_GetIntIdentifier):
(_NPN_IdentifierIsString):
(_NPN_UTF8FromIdentifier):
(_NPN_IntFromIdentifier):
(NPN_InitializeVariantWithObject):
(_NPN_ReleaseVariantValue):
(_NPN_CreateObject):
(_NPN_RetainObject):
(_NPN_ReleaseObject):
(_NPN_SetExceptionWithUTF8):
(_NPN_SetException):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7733
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Thu, 30 Sep 2004 00:39:53 +0000 (00:39 +0000)]
WebKit:
Fixed <rdar://problem/
3779998> bringing window to front or sending to back does not send focus/blur events to JavaScript window object
The fix has two parts, 1) make onblur and onfocus work for windows,
and 2), allow the dashboard to override WebKit's special key/non-key
behaviors.
Reviewed by Maciej.
* Plugins.subproj/WebBaseNetscapePluginView.m:
(-[WebBaseNetscapePluginView restartNullEvents]):
* WebView.subproj/WebHTMLView.m:
(-[WebHTMLView addMouseMovedObserver]):
(-[WebHTMLView removeMouseMovedObserver]):
* WebView.subproj/WebView.m:
(-[WebView _dashboardBehavior:]):
* WebView.subproj/WebViewInternal.h:
* WebView.subproj/WebViewPrivate.h:
WebCore:
Fixed <rdar://problem/
3779998> bringing window to front or sending to back does not send focus/blur events to JavaScript window object
The fix has two parts, 1) make onblur and onfocus work for windows,
and 2), allow the dashboard to override WebKit's special key/non-key
behaviors.
Reviewed by Chris.
* kwq/KWQKHTMLPart.mm:
(KWQKHTMLPart::setDisplaysWithFocusAttributes):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7732
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Wed, 29 Sep 2004 21:55:48 +0000 (21:55 +0000)]
Reviewed by Hyatt
Fix for this bug:
<rdar://problem/
3705894> REGRESSION (Mail): if a single word is wider than the window,
it doesn't break and just runs off the right side
* khtml/css/css_computedstyle.cpp:
(DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue): Add support for CSS_PROP_WORD_WRAP.
* khtml/css/cssparser.cpp:
(CSSParser::parseValue): Ditto.
* khtml/css/cssproperties.c: Generated file.
* khtml/css/cssproperties.h: Ditto.
* khtml/css/cssproperties.in: Add word-wrap property.
* khtml/css/cssstyleselector.cpp:
(khtml::CSSStyleSelector::applyProperty): Add support for CSS_PROP_WORD_WRAP.
* khtml/css/cssvalues.c: Generated file.
* khtml/css/cssvalues.h: Ditto.
* khtml/css/cssvalues.in: Add break-word value.
* khtml/rendering/bidi.cpp:
(khtml::RenderBlock::findNextLineBreak): Add code to implement new word wrapping feature.
* khtml/rendering/render_style.cpp:
(StyleCSS3InheritedData): Add support for new wordWrap property.
(StyleCSS3InheritedData::operator==): Ditto.
(RenderStyle::diff): Ditto.
* khtml/rendering/render_style.h:
(khtml::RenderStyle::wordWrap): Ditto.
(khtml::RenderStyle::setWordWrap): Ditto.
(khtml::RenderStyle::initialWordWrap): Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7731
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Wed, 29 Sep 2004 20:40:13 +0000 (20:40 +0000)]
WebCore:
Reviewed by John.
- consolidated OS version checks into prefix header
* WebCorePrefix.h:
* khtml/rendering/render_canvasimage.cpp:
* kwq/KWQAccObject.mm:
(-[KWQAccObject roleDescription]):
(-[KWQAccObject accessibilityActionDescription:]):
* kwq/KWQComboBox.mm:
(QComboBox::QComboBox):
* kwq/KWQFoundationExtras.h:
WebKit:
Reviewed by John.
- consolidated OS version checks into prefix header
* Misc.subproj/WebFileDatabase.m:
(-[WebFileDatabase _createLRUList:]):
(+[WebFileDatabase _syncLoop:]):
* Misc.subproj/WebKitErrors.m:
(registerErrors):
* Misc.subproj/WebNSObjectExtras.h:
(WebNSRetainCFRelease):
* Misc.subproj/WebNSPasteboardExtras.m:
(-[NSPasteboard _web_declareAndWriteDragImage:URL:title:archive:source:]):
* Misc.subproj/WebUnicode.m:
(_unicodeDirection):
* WebCoreSupport.subproj/WebImageData.h:
* WebCoreSupport.subproj/WebImageRenderer.h:
* WebCoreSupport.subproj/WebKeyGenerator.h:
* WebCoreSupport.subproj/WebNewKeyGeneration.c:
* WebKitPrefix.h:
* WebView.subproj/WebDataSource.m:
(+[WebDataSource _repTypesAllowImageTypeOmission:]):
(-[WebDataSource isLoading]):
* WebView.subproj/WebFrameView.m:
(+[WebFrameView _viewTypesAllowImageTypeOmission:]):
* WebView.subproj/WebHTMLView.m:
* WebView.subproj/WebPDFRepresentation.h:
* WebView.subproj/WebPDFRepresentation.m:
* WebView.subproj/WebPDFView.h:
* WebView.subproj/WebPDFView.m:
WebBrowser:
Reviewed by John.
- consolidated OS version checks into prefix header
* AddressBarContentsManager.h:
* AddressBarContentsManager.m:
* AddressBarController.m:
* AppController.m:
(-[AppController applicationDidFinishLaunching:]):
* BookmarkCollections.m:
* BookmarksController.h:
* BookmarksController.m:
* BookmarksViewController.m:
* BrowserDocument.h:
* BrowserDocument.m:
* BrowserDocumentController.h:
* BrowserDocumentController.m:
* BrowserNSNetServiceExtras.m:
* BrowserWebBookmarkExtras.m:
* BrowserWebController.m:
* BrowserWebViewPrinting.m:
* BrowserWindow.m:
(-[BrowserWindow performKeyEquivalent:]):
* BrowserWindowController.h:
* BrowserWindowController.m:
(-[BrowserWindowController locationField]):
(-[BrowserWindowController searchField]):
(-[BrowserWindowController locationBarIsShowing]):
(-[BrowserWindowController setUpLocationBar]):
(-[BrowserWindowController isShowingBar:]):
(-[BrowserWindowController updateKeyboardLoop]):
(-[BrowserWindowController windowDidLoad]):
(-[BrowserWindowController dealloc]):
(-[BrowserWindowController setDocument:]):
(-[BrowserWindowController showLocationBarTemporarilyIfHidden]):
(-[BrowserWindowController makeLocationBarPermanentIfTemporary]):
(-[BrowserWindowController hideLocationBarIfTemporary]):
(-[BrowserWindowController selectSearchField:]):
(-[BrowserWindowController canShowInputFields]):
(-[BrowserWindowController updateStopAndReloadButton]):
(-[BrowserWindowController toggleLocationBar:]):
(-[BrowserWindowController setToolbarsVisible:]):
(-[BrowserWindowController closeTab:]):
(-[BrowserWindowController fixFocusRingAroundLocationField]):
(-[BrowserWindowController validateMenuItem:]):
(-[BrowserWindowController showWindow:]):
* ContextMenuHandler.m:
* Debug/DebugUtilities.m:
* DownloadProgressEntry.m:
(-[NSFileManager setMetadataURL:referrer:atPath:]):
* InternetConfigUtilities.m:
* LoadProgressMonitor.m:
* LocationChangeError.m:
* NetworkController.h:
* NetworkController.m:
* OutlineViewPlus.h:
* OutlineViewPlus.m:
* Preferences.subproj/ISyncController.h:
* Preferences.subproj/RSSPreferences.h:
* Preferences.subproj/RSSPreferences.m:
* Preferences.subproj/SecurityPreferences.m:
* Preferences.subproj/WBPreferences.m:
* PrintingAccessoryViewController.m:
* SyndicationController.m:
* TableViewPlus.m:
* Test/PageLoadTestRunner.m:
(-[PageLoadTestRunner setSingleTestURL:]):
* ToolbarController.h:
* ToolbarController.m:
* WebBookmark.h:
* WebBookmark.m:
* WebBookmarkGroup.h:
* WebBookmarkGroup.m:
* WebBookmarkGroupPrivate.h:
* WebBookmarkLeaf.m:
* WebBookmarkList.m:
* WebBookmarkPrivate.h:
* WebBrowserPrefix.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7730
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Wed, 29 Sep 2004 18:07:43 +0000 (18:07 +0000)]
Fix remaining fast tests to handle br changes.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7729
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Wed, 29 Sep 2004 18:05:15 +0000 (18:05 +0000)]
Fix positioning tests to account for br changes.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7728
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Wed, 29 Sep 2004 18:04:09 +0000 (18:04 +0000)]
Fix float 15 test to accurately reflect the image loading regression in that test.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7727
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Wed, 29 Sep 2004 18:02:16 +0000 (18:02 +0000)]
Fix float tests to account for br changes.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7726
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Wed, 29 Sep 2004 18:01:37 +0000 (18:01 +0000)]
Fix doctypes tests for list item changes.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7725
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Wed, 29 Sep 2004 17:59:43 +0000 (17:59 +0000)]
Land changes to CSS1 suite from <br> patch.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7724
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Wed, 29 Sep 2004 17:58:13 +0000 (17:58 +0000)]
Land changes to editing test from <br> patch.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7723
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Wed, 29 Sep 2004 17:55:00 +0000 (17:55 +0000)]
Make sure <br>s always get line boxes. Also prevent the creation of RenderTexts for whitespace normal/nowrap nodes
that follow <br>s.
Reviewed by kocienda
* khtml/editing/visible_position.cpp:
(khtml::VisiblePosition::isCandidate):
* khtml/rendering/render_br.cpp:
(RenderBR::RenderBR):
(RenderBR::createInlineBox):
(RenderBR::baselinePosition):
(RenderBR::lineHeight):
* khtml/rendering/render_br.h:
* khtml/rendering/render_line.cpp:
(khtml::InlineFlowBox::placeBoxesVertically):
* khtml/rendering/render_line.h:
(khtml::InlineBox::isText):
(khtml::InlineFlowBox::addToLine):
* khtml/rendering/render_text.cpp:
(RenderText::detach):
* khtml/rendering/render_text.h:
(khtml::InlineTextBox:::InlineRunBox):
(khtml::InlineTextBox::isInlineTextBox):
(khtml::InlineTextBox::isText):
(khtml::InlineTextBox::setIsText):
* khtml/xml/dom_textimpl.cpp:
(TextImpl::rendererIsNeeded):
* kwq/KWQRenderTreeDebug.cpp:
(operator<<):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7722
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Wed, 29 Sep 2004 17:51:52 +0000 (17:51 +0000)]
Reviewed by John
Fix for this bug:
<rdar://problem/
3815895> exception inside fontForSelection causes Mail to abort when selection hits bottom
* khtml/editing/selection.cpp:
(khtml::Selection::toRange): Use RangeImpl calls to detect exceptions when creating a Range
from a Selection. Return an empty Range when there is an exception.
Fix for this bug:
<rdar://problem/
3817268> REGRESSION (Mail): Window does not scroll when selecting out of
visible area of view with arrow keys
* khtml/editing/selection.cpp: Did some name changing. m_needsCaretLayout -> m_needsLayout.
Added m_expectedVisibleRect which supplies the right rectangle to update when scrolling.
(khtml::Selection::Selection): m_needsCaretLayout -> m_needsLayout name change.
(khtml::Selection::init): Handle m_expectedVisibleRect in initialization.
(khtml::Selection::operator=): Handle m_expectedVisibleRect in assignment.
(khtml::Selection::setNeedsLayout): m_needsCaretLayout -> m_needsLayout name change.
(khtml::Selection::layout): Changed name from layoutCaret, since m_expectedVisibleRect
is also calculated here.
(khtml::Selection::caretRect): m_needsCaretLayout -> m_needsLayout name change.
(khtml::Selection::expectedVisibleRect): New. Returns m_expectedVisibleRect, doing a
layout if needed.
(khtml::Selection::needsCaretRepaint): m_needsCaretLayout -> m_needsLayout name change.
(khtml::Selection::paintCaret): Ditto.
(khtml::Selection::validate): Ditto.
* khtml/editing/selection.h: Add m_expectedVisibleRect member variable and
expectedVisibleRect accessor.
* kwq/WebCoreBridge.h: Change name of ensureCaretVisible to ensureSelectionVisible, since
this is not only about making the caret visible anymore. Now it can reveal the varying
end of the selection when scrolling with arrow keys.
* kwq/WebCoreBridge.mm:
(-[WebCoreBridge alterCurrentSelection:direction:granularity:]): ensureCaretVisible to
ensureSelectionVisible name change.
(-[WebCoreBridge alterCurrentSelection:verticalDistance:]): Ditto
(-[WebCoreBridge replaceSelectionWithFragment:selectReplacement:smartReplace:]): Ditto
(-[WebCoreBridge insertNewline]): Ditto
(-[WebCoreBridge insertText:selectInsertedText:]): Ditto
(-[WebCoreBridge deleteKeyPressed]): Ditto
(-[WebCoreBridge ensureSelectionVisible]): Ditto
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7721
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Wed, 29 Sep 2004 14:16:36 +0000 (14:16 +0000)]
WebCore:
Reviewed by Hyatt
Fix for this bug:
<rdar://problem/
3818296> REGRESSION (Mail): centerSelectionInVisibleArea does not work correctly
* kwq/KWQKHTMLPart.h:
* kwq/KWQKHTMLPart.mm:
(KWQKHTMLPart::centerSelectionInVisibleArea): New function. Handles both caret
and range selections correctly.
* kwq/KWQNSViewExtras.h: Add forceCentering boolean to some methods in this file.
* kwq/KWQNSViewExtras.m: Ditto. This addition has been done since the AppKit
method we use to do the centering, -[NSView scrollRectToVisible:], does not alter
the view if the rectangle passed to it is already in view. When forceCentering is
true, extra math is done to make scrollRectToVisible center the rectangle we want.
(-[NSView _KWQ_scrollFrameToVisible]): Pass NO for forceCentering in call through to
_KWQ_scrollRectToVisible:forceCentering:
(-[NSView _KWQ_scrollRectToVisible:forceCentering:]): Add forceCentering argument.
(-[NSView _KWQ_scrollRectToVisible:inView:forceCentering:]): Ditto.
(-[NSClipView _KWQ_scrollRectToVisible:inView:forceCentering:]): Ditto. Do extra
math to implement the forceCentering effect.
* kwq/KWQScrollView.h: Add forceCentering default argument to ensureRectVisibleCentered.
* kwq/KWQScrollView.mm:
(QScrollView::ensureRectVisibleCentered): Ditto.
* kwq/WebCoreBridge.h:
* kwq/WebCoreBridge.mm:
(-[WebCoreBridge centerSelectionInVisibleArea]): New function. Call through to KWQKHTMLPart.
WebKit:
Reviewed by Hyatt
Fix for this bug:
<rdar://problem/
3818296> REGRESSION (Mail): centerSelectionInVisibleArea does not work correctly
* WebView.subproj/WebHTMLView.m:
(-[WebHTMLView centerSelectionInVisibleArea:]): Now calls new centerSelectionInVisibleArea
bridge function instead of ensureCaretVisible. Now handles caret selections and range
selections correctly.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7720
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Wed, 29 Sep 2004 01:19:40 +0000 (01:19 +0000)]
Fixed: WebArchives begin with "<#document/>"
Reviewed by hyatt.
* khtml/xml/dom_nodeimpl.cpp:
(NodeImpl::startMarkup): don't return markup if this is a document node, forgot this when factoring this method out from toHTML
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7717
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Wed, 29 Sep 2004 01:02:38 +0000 (01:02 +0000)]
Removed range parameter from recursive_toHTML and friends since that code path is no longer used.
Reviewed by mjs.
* khtml/xml/dom2_rangeimpl.cpp:
(DOM::RangeImpl::toHTML):
* khtml/xml/dom_nodeimpl.cpp:
(NodeImpl::recursive_toString):
(NodeImpl::recursive_toHTML):
* khtml/xml/dom_nodeimpl.h:
* kwq/WebCoreBridge.mm:
(-[WebCoreBridge markupStringFromNode:nodes:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7716
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Wed, 29 Sep 2004 00:34:09 +0000 (00:34 +0000)]
Added timing code so that Doug can time RTF conversion.
* WebView.subproj/WebHTMLView.m:
(-[WebHTMLView writeSelectionWithPasteboardTypes:toPasteboard:]):
(-[WebHTMLView _attributeStringFromDOMRange:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7715
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Wed, 29 Sep 2004 00:17:10 +0000 (00:17 +0000)]
Reviewed by Ken.
- improve spell checking so it doesn't unmark and remark as you move the cursor with the arrow
* khtml/editing/htmlediting.h: Remove obsolete markMisspellingsInSelection private function.
* khtml/editing/htmlediting.cpp:
(khtml::EditCommand::EditCommand): Blow away the selection when starting an edit command.
(khtml::EditCommand::apply): Remove code to mark misspellings because that's now done as part
of blowing away the selection.
(khtml::EditCommand::unapply): Blow away the selection instead of marking mispellings.
(khtml::EditCommand::reapply): Ditto.
(khtml::ReplaceSelectionCommand::doApply): Removed incorrect code that does spell checking
on inserted text; this doesn't match NSText behavior.
(khtml::TypingCommand::markMisspellingsAfterTyping): Use markMisspellingsInAdjacentWords
function for greater clarity on what this actually does.
* khtml/khtml_part.h: Replaced setSelection's "unmarkOldSelection" boolean parameter with a
"keepTypingStyle" boolean parameter. Removed notifySelectionChanged.
* khtml/khtml_part.cpp:
(KHTMLPart::setSelection): Replaced the "unmarkOldSelection" boolean with a new "keepTypingStyle"
boolean. This is a step on the way to simplifying how this works. Moved the code from the
notifySelectionChanged function here, since there was no clear line between the two functions.
(KHTMLPart::clearSelection): Call setSelection rather that having special case code here for
the case of an empty selection.
(KHTMLPart::appliedEditing): Remove the explicit "false" for "unmarkOldSelection".
(KHTMLPart::unappliedEditing): Ditto.
(KHTMLPart::reappliedEditing): Ditto.
* kwq/KWQKHTMLPart.h: Replaced markMisspellingsInSelection and updateSpellChecking with
markMisspellings and markMisspellingsInAdjacentWords. Added parameters to respondToChangedSelection.
* kwq/KWQKHTMLPart.mm:
(KWQKHTMLPart::markMisspellingsInAdjacentWords): Added.
(KWQKHTMLPart::markMisspellings): New name for markMisspellingsInSelection. Simplified logic a
bit and made it the caller's responsibility to expand the selection passed in to word boundaries.
(KWQKHTMLPart::respondToChangedSelection): Added parameter that identifies the old selection,
and changed logic so it won't mark mispellings in a word if the selection still starts in that word.
- implemented empty-cells property in computed style
* khtml/css/css_computedstyle.cpp: (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue):
Added code for CSS_PROP_EMPTY_CELLS. I think the HTML converter in AppKit uses this.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7714
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Tue, 28 Sep 2004 22:55:28 +0000 (22:55 +0000)]
Fixed n-squared issues with appending to KWQValueListImpl. This fixes the hang in
3794799.
Fixed by Darin, reviewed by me.
* khtml/xml/dom2_rangeimpl.cpp:
(DOM::RangeImpl::toHTML): tweaks
* kwq/KWQValueListImpl.mm:
(KWQValueListImpl::KWQValueListPrivate::KWQValueListPrivate):
(KWQValueListImpl::KWQValueListPrivate::copyList):
(KWQValueListImpl::clear):
(KWQValueListImpl::appendNode):
(KWQValueListImpl::prependNode):
(KWQValueListImpl::removeEqualNodes):
(KWQValueListImpl::containsEqualNodes):
(KWQValueListImpl::removeIterator):
(KWQValueListImpl::lastNode):
* kwq/WebCoreBridge.mm:
(-[WebCoreBridge nodesFromList:]): use iterator, not at()
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7713
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rjw [Tue, 28 Sep 2004 20:57:48 +0000 (20:57 +0000)]
WebCore:
More dashboard region changes for John.
<rdar://problem/
3817421> add getter for dashboard regions (debugging)
<rdar://problem/
3817417> NSScrollView need autoregions for dashboard
<rdar://problem/
3817388> should have short form form control regions
<rdar://problem/
3817477> visibility does not work with dashboard control regions
Reviewed by Hyatt.
* WebCore-combined.exp:
* WebCore.exp:
* khtml/css/cssparser.cpp:
(skipCommaInDashboardRegion):
(CSSParser::parseDashboardRegions):
* khtml/khtmlview.cpp:
(KHTMLView::updateDashboardRegions):
* khtml/rendering/render_object.cpp:
(RenderObject::setStyle):
(RenderObject::addDashboardRegions):
* khtml/xml/dom_docimpl.cpp:
(DocumentImpl::DocumentImpl):
(DocumentImpl::setDashboardRegions):
* khtml/xml/dom_docimpl.h:
(DOM::DocumentImpl::setDashboardRegionsDirty):
(DOM::DocumentImpl::dashboardRegionsDirty):
* kwq/KWQKHTMLPart.h:
* kwq/KWQKHTMLPart.mm:
(KWQKHTMLPart::paint):
(KWQKHTMLPart::dashboardRegionsDictionary):
(KWQKHTMLPart::dashboardRegionsChanged):
* kwq/WebCoreBridge.h:
* kwq/WebCoreBridge.mm:
(-[WebCoreBridge dashboardRegions]):
* kwq/WebDashboardRegion.h:
* kwq/WebDashboardRegion.m:
(-[WebDashboardRegion description]):
WebKit:
More dashboard region changes for John.
<rdar://problem/
3817421> add getter for dashboard regions (debugging)
<rdar://problem/
3817417> NSScrollView need autoregions for dashboard
Also KWQScrollBars
Reviewed by Hyatt.
* WebCoreSupport.subproj/WebBridge.m:
(-[WebBridge dashboardRegionsChanged:]):
* WebView.subproj/WebView.m:
(-[WebView _setInitiatedDrag:]):
(-[WebView _addScrollerDashboardRegions:from:]):
(-[WebView _addScrollerDashboardRegions:]):
(-[WebView _dashboardRegions]):
* WebView.subproj/WebViewPrivate.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7712
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sullivan [Tue, 28 Sep 2004 20:07:21 +0000 (20:07 +0000)]
Updated the output of the script type test for more clarity; updated the expected results too.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7711
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sullivan [Tue, 28 Sep 2004 18:55:48 +0000 (18:55 +0000)]
Reviewed by Chris.
- fixed <rdar://problem/
3818558> REGRESSION: "Installed Plug-ins" is blank
because of <script type="application/x-javascript">
* khtml/html/htmltokenizer.cpp:
(khtml::HTMLTokenizer::parseTag):
add "application/x-javascript" to the list of legal scripting types. Mozilla
accepts this, but WinIE doesn't.
* layout-tests/fast/tokenizer/004.html:
updated layout test to test some application/xxxx types
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7710
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Tue, 28 Sep 2004 18:33:11 +0000 (18:33 +0000)]
New list results.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7709
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Tue, 28 Sep 2004 18:32:47 +0000 (18:32 +0000)]
Reworked lists to work well with RTL text. Specifically the following bugs have been fixed:
(1) All bullets use the same offset constant now (a padding of 7 pixels). Before, images used 5 and others used 7.
(2) Line height now works properly, so that list items with no content aren't squished (and missing the line descent).
(3) Punctuation now works correctly with inside and outside style ordered lists in RTL.
(4) RTL lists now properly apply padding and margin to the right side rather than the left. This was done by adding
-khtml-margin-start and -khtml-padding-start properties that are just mapped to left/right based off the direction.
Reviewed by darin
* khtml/css/cssparser.cpp:
(CSSParser::parseValue):
* khtml/css/cssproperties.c:
(hash_prop):
(findProp):
* khtml/css/cssproperties.h:
* khtml/css/cssproperties.in:
* khtml/css/cssstyleselector.cpp:
(khtml::CSSStyleSelector::applyDeclarations):
(khtml::CSSStyleSelector::applyProperty):
* khtml/css/html4.css:
* khtml/rendering/bidi.cpp:
(khtml::BidiIterator::direction):
* khtml/rendering/render_list.cpp:
(RenderListItem::getAbsoluteRepaintRect):
(RenderListMarker::paint):
(RenderListMarker::calcMinMaxWidth):
(RenderListMarker::lineHeight):
(RenderListMarker::baselinePosition):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7708
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Tue, 28 Sep 2004 18:29:34 +0000 (18:29 +0000)]
List layout test changes.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7707
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Tue, 28 Sep 2004 18:24:53 +0000 (18:24 +0000)]
Reviewed by Darin
Mark the VisiblePosition taking (Position &, EAffinity=DOWNSTREAM) explicit. Recently, when I added
the EAffinity argument, I left this constructor implicit. Darin pointed out to me that this is
undesirable since implicit use of the the constructor involved making the affinity choice, something
which should be done explicitly.
* khtml/editing/selection.cpp:
(khtml::Selection::modifyExtendingRightForward): Make explicit use of constructor mentioned above.
(khtml::Selection::modifyMovingRightForward): Ditto.
(khtml::Selection::modifyExtendingLeftBackward): Ditto.
(khtml::Selection::modifyMovingLeftBackward): Ditto.
(khtml::Selection::modify): Ditto.
(khtml::Selection::validate): Ditto.
* khtml/editing/visible_position.h: Make constructor taking (Position &, EAffinity) explicit.
* khtml/editing/visible_units.cpp: Ditto.
(khtml::previousWordBoundary): Make explicit use of constructor mentioned above.
(khtml::nextWordBoundary): Ditto.
(khtml::previousLinePosition): Ditto.
(khtml::nextLinePosition): Ditto.
* kwq/KWQKHTMLPart.mm: Ditto.
(KWQKHTMLPart::findString): Ditto.
(KWQKHTMLPart::advanceToNextMisspelling): Ditto.
(KWQKHTMLPart::markMisspellingsInSelection): Ditto.
(KWQKHTMLPart::updateSpellChecking): Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7706
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Tue, 28 Sep 2004 16:43:27 +0000 (16:43 +0000)]
Reviewed by John.
- fixed a storage leak discovered by code inspection
* khtml/html/htmlparser.cpp: (KHTMLParser::~KHTMLParser): Call setCurrent(0) to deref
the parser's current node in the rare case where it still has one.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7705
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sullivan [Tue, 28 Sep 2004 01:08:17 +0000 (01:08 +0000)]
- fixed <rdar://problem/
3814705> 8A266: Safari authentication dialog "remember password" text should match Mail
* Panels.subproj/English.lproj/WebAuthenticationPanel.nib:
changed "Remember this password" to "Remember this password in my keychain";
this will need to go through CCC for this week's build.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7704
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Tue, 28 Sep 2004 01:01:05 +0000 (01:01 +0000)]
*** empty log message ***
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7703
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Tue, 28 Sep 2004 00:58:45 +0000 (00:58 +0000)]
Don't allow nested headers when only inlines are in between them. Fixes a hang related to pathological nesting
on magicmethodsonline.com.
Reviewed by darin
* khtml/html/htmlparser.cpp:
(KHTMLParser::parseToken):
(KHTMLParser::processCloseTag):
(KHTMLParser::isHeaderTag):
(KHTMLParser::popNestedHeaderTag):
* khtml/html/htmlparser.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7702
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Tue, 28 Sep 2004 00:57:52 +0000 (00:57 +0000)]
ChangeLog
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7701
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Mon, 27 Sep 2004 23:17:58 +0000 (23:17 +0000)]
Fixed: <rdar://problem/
3594754> change null event interval from 20 ms to 10 ms to match speed on Windows
Reviewed by NOBODY (OOPS!).
* Plugins.subproj/WebBaseNetscapePluginView.m:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7700
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Mon, 27 Sep 2004 22:56:01 +0000 (22:56 +0000)]
WebKit:
Fixed previous reviewer line.
* ChangeLog:
WebBrowser:
Fixed typo.
* ChangeLog:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7699
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Mon, 27 Sep 2004 22:22:32 +0000 (22:22 +0000)]
Fixed: <rdar://problem/
3502138> text files don't remember scroll position when going back or reloading
Reviewed by .
* WebView.subproj/WebTextView.m:
(-[WebTextView layout]): implemented, call sizeToFit, without this scrollPoint: won't work
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7698
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sullivan [Mon, 27 Sep 2004 21:30:50 +0000 (21:30 +0000)]
WebKit:
Reviewed by Ken.
- WebKit part of fix for <rdar://problem/
3734466> ER: Support standard editing keystrokes
like Cmd-B while editing rich text
* WebView.subproj/WebHTMLView.m:
(-[WebHTMLView _toggleBold]):
new method, toggles font-weight from "bold" to "normal"
(-[WebHTMLView _toggleItalic]):
new method, toggles font-style from "italic" to "normal"
(-[WebHTMLView _handleStyleKeyEquivalent:]):
new method, if the new preference is set and we're in an editable state, check for standard
key equivalents for toggling styles (just command-B and command-I for now).
(-[WebHTMLView performKeyEquivalent:]):
Moved in file, now calls _handleStyleKeyEquivalent:
* WebView.subproj/WebPreferenceKeysPrivate.h:
new preference key WebKitRespectStandardStyleKeyEquivalentsPreferenceKey
* WebView.subproj/WebPreferences.m:
(+[WebPreferences initialize]):
initial value of WebKitRespectStandardStyleKeyEquivalentsPreferenceKey is NO (maybe we'll
change our minds about this, but this is more guaranteed to be backward-compatible)
(-[WebPreferences respectStandardStyleKeyEquivalents]):
read WebKitRespectStandardStyleKeyEquivalentsPreferenceKey
(-[WebPreferences setRespectStandardStyleKeyEquivalents:]):
write WebKitRespectStandardStyleKeyEquivalentsPreferenceKey
* WebView.subproj/WebPreferencesPrivate.h:
declare getter and setter
* English.lproj/StringsNotToBeLocalized.txt:
updated for these and other recent changes
WebBrowser:
Reviewed by Ken.
- WebBrowser part of fix for <rdar://problem/
3734466> ER: Support standard editing keystrokes
like Cmd-B while editing rich text
* AppController.m:
(-[AppController applicationDidFinishLaunching:]):
turn on the new WebKit preference that makes command-B and command-I toggle styles in
editable text.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7697
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Mon, 27 Sep 2004 18:41:19 +0000 (18:41 +0000)]
WebKit:
Fixed: <rdar://problem/
3806649> assertion failure after control-click of webcam
Reviewed by john.
* WebView.subproj/WebDefaultContextMenuDelegate.m:
(-[WebDefaultUIDelegate contextMenuItemsForElement:]): don't provide "Copy Image" if the image is not fully loaded
WebBrowser:
Fixed: Fixed: <rdar://problem/
3806649> assertion failure after control-click of webcam
Reviewed by john.
* ContextMenuHandler.m:
(-[BrowserWebView webView:contextMenuItemsForElement:defaultMenuItems:]): don't provide "Save Image", "Copy Image" and "Add Image to iPhoto Library" if the image is not fully loaded. Provide "Download Image" instead.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7696
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Mon, 27 Sep 2004 18:39:02 +0000 (18:39 +0000)]
land fixed frame result.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7695
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Mon, 27 Sep 2004 18:35:57 +0000 (18:35 +0000)]
Land fixed overflow result.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7694
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kdecker [Mon, 27 Sep 2004 18:00:13 +0000 (18:00 +0000)]
Reviewed by John.
* khtml/css/css_base.cpp:
(CSSSelector::selectorText): changed another ATTR_CLASS case to properly return class selector names.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7693
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Mon, 27 Sep 2004 17:52:18 +0000 (17:52 +0000)]
Fix style sharing so that it doesn't share when it shouldn't. Partially fixes
3671516, table cells don't update
their color on macosx.apple.com.
Fix
3521639, iframe mispositioned on bidi page. Make sure that when the width of a line exceeds the available line
width that the spillage out of the block is determined by the direction of the block and not by the text-align value.
Partial fix for
3762962, make sure the image cells with specified widths but percentage heights don't just get a minwidth
of 0.
Fix for
3533878, framesets that use percentages that add up to a value > 100% should normalize those percentages.
Reviewed by john
* khtml/css/cssstyleselector.cpp:
(khtml::CSSStyleSelector::locateCousinList):
(khtml::CSSStyleSelector::elementsCanShareStyle):
(khtml::CSSStyleSelector::locateSharedStyle):
* khtml/css/cssstyleselector.h:
* khtml/html/html_elementimpl.h:
(DOM::HTMLNamedAttrMapImpl::hasMappedAttributes):
(DOM::HTMLElementImpl::inlineStyleDecl):
* khtml/rendering/bidi.cpp:
(khtml::RenderBlock::computeHorizontalPositionsForLine):
* khtml/rendering/render_frames.cpp:
(RenderFrameSet::layout):
* khtml/rendering/render_replaced.cpp:
(RenderReplaced::calcMinMaxWidth):
* khtml/xml/dom_elementimpl.h:
(DOM::ElementImpl::inlineStyleDecl):
(DOM::ElementImpl::hasMappedAttributes):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7692
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Mon, 27 Sep 2004 17:49:54 +0000 (17:49 +0000)]
Reviewed by John
Removed closestRenderedPosition function from Position class and gave this work
to VisiblePosition instead. However, in order to make the transfer possible,
VisiblePosition needed upstream and downstream affinities added to its
constructors. Also moved the EAffinity enum into its own file. Also moved it
to the khtml namespace.
Updated several functions which used closestRenderedPosition to use VisiblePosition
instead.
Also deleted Position::equivalentShallowPosition. This was unused.
* ForwardingHeaders/editing/text_affinity.h: Added.
* ForwardingHeaders/editing/visible_position.h: Added.
* WebCore.pbproj/project.pbxproj: Added new files.
* khtml/editing/selection.cpp:
(khtml::Selection::validate): Use VisiblePosition instead of closestRenderedPosition.
* khtml/editing/selection.h:
* khtml/editing/text_affinity.h: Added.
* khtml/editing/visible_position.cpp:
(khtml::VisiblePosition::VisiblePosition):
(khtml::VisiblePosition::initUpstream): New helper for finding upstream visible position.
(khtml::VisiblePosition::initDownstream): Was old init function that unconditionally did
downstream checks for visible position. Renamed to describe this more clearly.
* khtml/editing/visible_position.h:
* khtml/editing/visible_units.cpp:
(khtml::previousWordBoundary): Use VisiblePosition instead of closestRenderedPosition.
(khtml::nextWordBoundary): Use VisiblePosition instead of closestRenderedPosition.
* khtml/xml/dom_docimpl.cpp:
(DocumentImpl::updateSelection): Use VisiblePosition instead of closestRenderedPosition.
* khtml/xml/dom_position.cpp:
(DOM::Position::closestRenderedPosition): Removed.
* khtml/xml/dom_position.h: Removed two functions mentioned above.
* kwq/KWQKHTMLPart.mm:
(KWQKHTMLPart::fontForSelection) Use VisiblePosition instead of closestRenderedPosition.:
* kwq/WebCoreBridge.mm:
(-[WebCoreBridge setSelectedDOMRange:affinity:]): Use VisiblePosition instead of closestRenderedPosition.
* layout-tests/editing/deleting/delete-block-merge-contents-012-expected.txt: Updated expected results.
* layout-tests/editing/deleting/delete-block-merge-contents-017-expected.txt: Ditto.
* layout-tests/editing/deleting/delete-contiguous-ws-001-expected.txt: Ditto.
* layout-tests/editing/selection/move-by-character-004-expected.txt: Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7691
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Mon, 27 Sep 2004 16:36:01 +0000 (16:36 +0000)]
Fixed: <rdar://problem/
3814810> REGRESSION (125-164): Exception adding nil to dictionary in dragging code
Reviewed by john.
* WebView.subproj/WebHTMLView.m:
(-[WebHTMLView _setMouseDownEvent:]): new
(-[WebHTMLView acceptsFirstMouse:]): call _setMouseDownEvent
(-[WebHTMLView shouldDelayWindowOrderingForEvent:]): ditto
(-[WebHTMLView mouseDown:]): ditto
(-[WebHTMLView _delegateDragSourceActionMask]): removed temp fix, assert that the mouse event is not nil
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7690
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Mon, 27 Sep 2004 15:30:06 +0000 (15:30 +0000)]
* WebKit.pbproj/project.pbxproj: Added WebDashboardRegion.h as a private header.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7689
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Mon, 27 Sep 2004 14:44:26 +0000 (14:44 +0000)]
Reviewed by Darin and Maciej
Removed EditCommand smart pointer wrappers from htmlediting.cpp/.h, save for the one
at the root of the hierarchy, and this one has been renamed EditCommandPtr. Renamed
each of the XXXCommandImpl classes, removing the Impl suffix from each, and rolled
these into the htmlediting.cpp/.h files. The htmlediting_impl.cpp/.h files have
been emptied and are being removed.
For the remainder of files, perform the mechanical changes necessary to make everything
compile and run as before.
* WebCore.pbproj/project.pbxproj
* khtml/editing/htmlediting.cpp
* khtml/editing/htmlediting.h
* khtml/editing/htmlediting_impl.cpp: Removed.
* khtml/editing/htmlediting_impl.h: Removed.
* khtml/editing/jsediting.cpp
* khtml/khtml_part.cpp
(KHTMLPart::openURL)
(KHTMLPart::lastEditCommand)
(KHTMLPart::appliedEditing)
(KHTMLPart::unappliedEditing)
(KHTMLPart::reappliedEditing)
(KHTMLPart::applyStyle):
* khtml/khtml_part.h
* khtml/khtmlpart_p.h
* kwq/KWQEditCommand.h
* kwq/KWQEditCommand.mm
(-[KWQEditCommand initWithEditCommandImpl:])
(+[KWQEditCommand commandWithEditCommandImpl:])
(-[KWQEditCommand impl])
* kwq/KWQKHTMLPart.h
* kwq/KWQKHTMLPart.mm
(KWQKHTMLPart::registerCommandForUndo)
(KWQKHTMLPart::registerCommandForRedo)
* kwq/WebCoreBridge.mm
(-[WebCoreBridge undoEditing:])
(-[WebCoreBridge redoEditing:])
(-[WebCoreBridge replaceSelectionWithFragment:selectReplacement:smartReplace:])
(-[WebCoreBridge moveSelectionToDragCaret:smartMove:])
(-[WebCoreBridge deleteSelectionWithSmartDelete:])
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7688
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Mon, 27 Sep 2004 04:59:46 +0000 (04:59 +0000)]
Reviewed by Maciej.
- fixed <rdar://problem/
3816170> image.width/height not available from Image objects (works in Firefox)
* khtml/ecma/kjs_html.h: Added width and height.
* khtml/ecma/kjs_html.cpp: (Image::getValueProperty): Added width and height.
* khtml/ecma/kjs_html.lut.h: Regenerated.
- unrelated change; changed ordering of use count manipulation just in case we decide some day to do
something when the use count hits 0
* khtml/rendering/render_image.cpp: (RenderImage::setPixmap): Increment use count on new object before
decrementing use count on old object.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7687
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Mon, 27 Sep 2004 02:07:37 +0000 (02:07 +0000)]
New layout tests for the bugs I just fixed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7686
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Mon, 27 Sep 2004 01:54:30 +0000 (01:54 +0000)]
* kjs/string_object.cpp: (StringProtoFuncImp::call): Remove strange use of high() and
low() to get Unicode value of character, and just use unicode().
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7685
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Mon, 27 Sep 2004 01:52:53 +0000 (01:52 +0000)]
- refine charAt/charCodeAt fix slightly
* kjs/string_object.cpp: (StringProtoFuncImp::call): Treat undefined the same was as an
omitted parameter, as we do everywhere else, and as other browsers do here.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7684
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Mon, 27 Sep 2004 01:02:39 +0000 (01:02 +0000)]
Reviewed by Kevin.
- fixed <rdar://problem/
3812771> document.implementation.hasFeature returns false for a lot of features we implement
* khtml/xml/dom_docimpl.cpp: (DOMImplementationImpl::hasFeature): Added all the DOM features that we implemented
as part of the HTML editing work.
* khtml/dom/dom_node.cpp: (Node::isSupported): Changed this to call DOMImplementationImpl::hasFeature to share
code. Later this might need to be different per-node, but at the moment that does not seem to be so.
* khtml/ecma/kjs_dom.cpp:
(DOMNodeProtoFunc::tryCall): Pass a null string if the parameter is omitted, undefined, or null. This is better than
having a special case for the string "null" in the DOM implementation.
(DOMDOMImplementationProtoFunc::tryCall): Ditto.
- fixed <rdar://problem/
3814605> REGRESSION: fast/table/039 layout test is failing due to extra trailing whitespace in innerText
* khtml/editing/visible_text.cpp: (khtml::TextIterator::advance): Check for the case where we are at the end of
iteration, and don't call exitNode in that case. This prevents us from getting some unwanted trailing \n characters.
- fixed <rdar://problem/
3813253> method cloneNode() does not clone dynamically-set style attributes correctly
* khtml/html/html_elementimpl.h: Added cloneNode override.
* khtml/html/html_elementimpl.cpp:
(HTMLElementImpl::cloneNode): Added. Copies m_inlineStyleDecl.
(HTMLElementImpl::parseHTMLAttribute): Changed to use getInlineStyleDecl().
(HTMLElementImpl::innerText): Changed to do the same thing with fewer lines of code.
(HTMLElementImpl::outerText): Tweaked comment.
- other cleanup
* khtml/xml/dom_elementimpl.cpp:
(ElementImpl::cloneNode): Removed an uneeded type cast.
(XMLElementImpl::cloneNode): Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7683
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin [Mon, 27 Sep 2004 01:01:00 +0000 (01:01 +0000)]
Reviewed by Kevin.
- fixed <rdar://problem/
3816097> REGRESSION: mailblocks, and presumably many other pages, failing because variable not found
* kjs/internal.cpp: (InterpreterImp::evaluate): Process variable declarations before executing
the program. We were doing this properly for functions, but not entire programs.
- fixed <rdar://problem/
3814706> REGRESSION: text fields in mailblocks wizards do not accept keystrokes due to use of charCodeAt()
* kjs/string_object.cpp: (StringProtoFuncImp::call): Changed the implementation of charAt
and charCodeAt to treat a missing parameter as an index of 0, rather than an invalid index.
* tests/mozilla/expected.html: Update for two tests that now pass with these changes.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7682
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kdecker [Sat, 25 Sep 2004 00:44:50 +0000 (00:44 +0000)]
Reviewed by Maciej.
<rdar://problem/
3799334> DIG: Safari does not properly return style names [DigCSS.htm]
* khtml/css/css_base.cpp:
(CSSSelector::selectorText): Properly returns Class Selector names.
Before we would get *[CLASS"foo"] instead of .foo
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7681
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kocienda [Fri, 24 Sep 2004 23:27:41 +0000 (23:27 +0000)]
Reviewed by John
Fix for this bug:
<rdar://problem/
3814660> REGRESSION (8A200-8A259): Select All has no effect on livepage.apple.com
* khtml/xml/dom_docimpl.cpp:
(DocumentImpl::updateSelection): Move the selection start and end to rendered positions
before passing off to the RenderCanvas for drawing.
* layout-tests/editing/selection/select-all-004-expected.txt: Added.
* layout-tests/editing/selection/select-all-004.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7680
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sullivan [Fri, 24 Sep 2004 23:23:26 +0000 (23:23 +0000)]
Reviewed by Maciej.
- fixed <rdar://problem/
3528339> Turn on full keyboard access shows
invisible <input> elements
* khtml/html/html_formimpl.cpp:
(DOM::HTMLGenericFormElementImpl::isFocusable):
reject elements that have zero width or height, even if they aren't hidden
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7679
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs [Fri, 24 Sep 2004 23:09:10 +0000 (23:09 +0000)]
- fixed deployment build
Reviewed by Ken.
* khtml/dom/dom_string.cpp: put implementation of ascii() in #ifdef !NDEBUG
to match prototype.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7678
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Fri, 24 Sep 2004 22:38:08 +0000 (22:38 +0000)]
Fix layout test 37.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7677
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Fri, 24 Sep 2004 22:14:45 +0000 (22:14 +0000)]
Fix for
3800316, test 37 for tables is failing on the layout tests. Make sure we don't incorrectly match
non-HTML elements with HTML tag selectors in CSS.
Reviewed by rjw
* khtml/css/cssstyleselector.cpp:
(khtml::CSSStyleSelector::checkOneSelector):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7676
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt [Fri, 24 Sep 2004 22:09:52 +0000 (22:09 +0000)]
Fix for
3601920, CSS "tabs" not switching properly on zen garden design. Improve the repainting to account
for layer changes of z-index that necessitate an invalidation.
Reviewed by kocienda
* khtml/rendering/render_object.cpp:
(RenderObject::setStyle):
* khtml/rendering/render_style.cpp:
(RenderStyle::diff):
* khtml/rendering/render_style.h:
(khtml::RenderStyle::):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7675
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cblu [Fri, 24 Sep 2004 21:44:02 +0000 (21:44 +0000)]
WebCore:
Made markup copying 5 times faster. Unfortunately, this still doesn't fix:
<rdar://problem/
3794799> Tiger8A252: copying a bunch o' text is so slow it seems like a hang
Reviewed by rjw.
* khtml/dom/dom_string.h:
* khtml/xml/dom2_rangeimpl.cpp:
(DOM::RangeImpl::toHTML): serialize the range by iterating through the range
* khtml/xml/dom_nodeimpl.cpp:
(NodeImpl::startMarkup): new, factored out from recursive_toString
(NodeImpl::endMarkup): ditto
(NodeImpl::recursive_toString): call factored out methods
* khtml/xml/dom_nodeimpl.h:
WebKit:
Reviewed by rjw.
* WebView.subproj/WebHTMLView.m:
(-[WebHTMLView _selectedArchive]): added timing code for copying markup
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7674
268f45cc-cd09-0410-ab3c-
d52691b4dbfc