Reviewed by Maciej.
[WebKit.git] / WebCore / ChangeLog
1 2006-02-20  Darin Adler  <darin@apple.com>
2
3         Reviewed by Maciej.
4
5         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7318
6           REGRESSION: Timer bug causes gif animation and (html and JS) page forwarding to fail
7
8         Timers were stopping firing after a while.
9
10         My testing makes this look like a CFRunLoopTimer bug, and it would be nice to reproduce
11         this with a standalone test and report it to the CF team, but in the mean time, change
12         to create a new timer each time instead of reusing the existing timer.
13
14         * platform/mac/SharedTimerMac.cpp:
15         (WebCore::setSharedTimerFiredFunction): Added an assertion.
16         (WebCore::setSharedTimerFireTime): Destroy the existing timer and create a new one every time.
17         Also create a non-repeating timer rather than a repeating timer.
18         (WebCore::stopSharedTimer): Destroy the existing timer rather than setting its fire date
19         far into the future.
20
21 2006-02-19  Darin Adler  <darin@apple.com>
22
23         Reviewed by Maciej.
24
25         - cut out a little unneeded bridge code
26
27         * bridge/mac/WebCoreFrameBridge.h: Removed frame name from createWindowWithURL: method
28         and changed it to return a page bridge. Also made createModalDialogWithURL: method
29         return a page bridge. Removed the mainFrame and webView methods.
30         * bridge/mac/WebCoreFrameBridge.mm:
31         (-[WebCoreFrameBridge nextFrameWithWrap:]): Use page to get to main frame.
32         (-[WebCoreFrameBridge setFrameNamespace:]): Ditto.
33         (-[WebCoreFrameBridge frameNamespace]): Ditto.
34         (-[WebCoreFrameBridge _shouldAllowAccessFrom:]): Ditto.
35         (-[WebCoreFrameBridge _frameInAnyWindowNamed:sourceFrame:]): Ditto.
36         (-[WebCoreFrameBridge findFrameNamed:]): Ditto.
37         (-[WebCoreFrameBridge installInFrame:]): Ditto.
38
39         * bridge/mac/WebCorePageBridge.h: Added outerView method to replace webView method
40         on the frame bridge.
41
42         * bridge/mac/BrowserExtensionMac.mm: (WebCore::BrowserExtensionMac::createNewWindow):
43         Update to use a page bridge instead of frame bridge.
44
45 2006-02-19  Maciej Stachowiak  <mjs@apple.com>
46
47         Rubber-stamped by Anders.
48         
49         - renamed ERROR to LOG_ERROR because some operating systems define ERROR in a system header
50
51         * bridge/mac/MacFrame.mm:
52         (WebCore::MacFrame::passMouseDownEventToWidget):
53         * bridge/mac/WebCoreFrameBridge.mm:
54         (aeDescFromJSValue):
55         (-[WebCoreFrameBridge computePageRectsWithPrintWidthScaleFactor:printHeight:]):
56         * css/css_computedstyle.cpp:
57         (WebCore::CSSComputedStyleDeclarationImpl::getPropertyCSSValue):
58         * editing/Selection.cpp:
59         (WebCore::Selection::toRange):
60         * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
61         (WebCore::KCanvasFEBlendQuartz::getCIFilter):
62         (WebCore::KCanvasFEColorMatrixQuartz::getCIFilter):
63         * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
64         (WebCore::KRenderingDeviceQuartz::createResource):
65         * khtml/xsl/xslt_processorimpl.cpp:
66         (DOM::parseErrorFunc):
67         * kwq/KWQFontMetrics.mm:
68         (QFontMetrics::ascent):
69         (QFontMetrics::descent):
70         (QFontMetrics::lineSpacing):
71         (QFontMetrics::xHeight):
72         (QFontMetrics::width):
73         (QFontMetrics::floatWidth):
74         (QFontMetrics::checkSelectionPoint):
75         * kwq/KWQKConfigBase.mm:
76         (KConfig::readEntry):
77         (KConfig::readNumEntry):
78         (KConfig::readUnsignedNumEntry):
79         * kwq/KWQLineEdit.mm:
80         (KWQNSTextAlignmentForAlignmentFlags):
81         * kwq/KWQObject.cpp:
82         (QObject::connect):
83         * kwq/KWQPainter.mm:
84         (WebCore::QPainter::restore):
85         (WebCore::QPainter::drawFocusRing):
86         * kwq/KWQRegExp.cpp:
87         (QRegExp::KWQRegExpPrivate::compile):
88         (QRegExp::match):
89         * kwq/KWQSignal.cpp:
90         (KWQSignal::connect):
91         (KWQSignal::disconnect):
92         * kwq/KWQSlot.cpp:
93         (KWQSlot::KWQSlot):
94         * kwq/KWQTextCodec.cpp:
95         (KWQTextDecoder::createICUConverter):
96         (KWQTextDecoder::convertUsingICU):
97         * kwq/WebCoreTextRendererFactory.mm:
98         (-[WebCoreTextRendererFactory fontWithFamilies:traits:size:]):
99         (-[WebCoreTextRendererFactory isFontFixedPitch:]):
100         (-[WebCoreTextRendererFactory rendererWithFont:]):
101         * page/Frame.cpp:
102         (WebCore::Frame::paint):
103
104 2006-02-17  Maciej Stachowiak <mjs@apple.com>
105
106         Reviewed by Dave Hyatt.
107
108         - fix win32 build
109
110         * css/css_grammar.y: 
111         * khtml/html/html_objectimpl.cpp: #ifdef out all bindings code
112         (WebCore::HTMLAppletElementImpl::~HTMLAppletElementImpl):
113         (WebCore::HTMLAppletElementImpl::detach):
114         (WebCore::HTMLEmbedElementImpl::~HTMLEmbedElementImpl):
115         (WebCore::HTMLEmbedElementImpl::detach):
116         (WebCore::HTMLObjectElementImpl::~HTMLObjectElementImpl):
117         (WebCore::HTMLObjectElementImpl::detach):
118         * khtml/html/html_objectimpl.h:
119
120 2006-02-18  Alexander Kellett  <lypanov@kde.org>
121
122         Reviewed by Maciej.
123
124         - Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7199.
125
126         Testcase: 
127           svg/custom/text-gradient-no-content.svg
128
129         * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
130         (WebCore::KRenderingPaintServerGradientQuartz::teardown):
131
132 2006-02-18  David Harrison  <harrison@apple.com>
133
134         Reviewed by John.
135
136         <rdar://problem/4448212> _accessibilityTableCell please remove this.
137
138         Remove override of a defamed AX method.
139
140         * kwq/KWQListBox.mm:
141         Dump _accessibilityTableCell.
142
143 2006-02-17  Mitz Pettel  <opendarwin.org@mitzpettel.com>
144
145         Test: fast/css/ex-after-font-variant.html
146
147         Reviewed by Darin.
148
149         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=4227
150           The ex unit doesn't work for font-variant: small-caps
151
152         * css/cssstyleselector.cpp:
153         (WebCore::CSSStyleSelector::applyDeclarations): Added CSS_PROP_FONT_VARIANT to the properties
154         that need to be applied first, since it dirties the font.
155
156 2006-02-17  Adele Peterson  <adele@apple.com>
157
158         Reviewed by Beth.
159
160         Adding isEdited/setEdited hooks so onChange will fire for the new text fields.
161
162         * rendering/RenderTextField.cpp:
163         (WebCore::m_dirty):
164         (WebCore::RenderTextField::updateFromElement): setEdited to false when value attribute has changed.
165         (WebCore::RenderTextField::subtreeHasChanged): setEdited to true when anonymous editable div has changed.
166         * rendering/RenderTextField.h:
167         (WebCore::RenderTextField::isEdited):
168         (WebCore::RenderTextField::setEdited):
169         (WebCore::RenderTextField::isTextField):
170
171 2006-02-17  Vicki Murley <vicki@apple.com>
172
173         Reviewed by Justin.
174  
175         Get rid of handleFocusOut on text fields and textareas - move this functionality to the place
176         where we resign focus on the previous node in setFocusNode.  Add isTextField on RenderObject
177         as one way to distinguish from contenteditable elements - Win IE does not fire onChange for 
178         contenteditable elements, so we won't either. Also, expose the dirty bit variables previously 
179         checked in handleFocusOut methods in isEdited() and setEdited().
180
181         Fixes the following bugs:
182         <rdar://problem/4315673> REGRESSION (1.2.2 - 1.3): onChange and onFocus events firing order differs for mouse click and tab (7227)
183         <rdar://problem/4447009> for text fields, onChange should fire before onBlur to match Win IE
184
185         Test case is on the way.
186
187         * dom/DocumentImpl.cpp:
188         (WebCore::DocumentImpl::setFocusNode): For textareas and text fields, fire a change event
189         on the node that is resigning focus.  Make sure the blur event fires after the change event - 4447009.
190         * rendering/render_form.cpp:
191         (WebCore::RenderLineEdit::slotReturnPressed): Replace call to handleFocusOut with equivalent code.
192         (WebCore::RenderLineEdit::isEdited): Added.
193         (WebCore::RenderLineEdit::setEdited): Added.
194         (WebCore::RenderTextArea::setEdited): Added.
195         * rendering/render_form.h:
196         (WebCore::RenderLineEdit::isTextField): Added.
197         (WebCore::RenderTextArea::isTextArea): Make this non-virtual.
198         (WebCore::RenderTextArea::isEdited): Added.
199         * rendering/render_object.h:
200         (WebCore::RenderObject::isEdited): Added.
201         (WebCore::RenderObject::setEdited): Added.
202         (WebCore::RenderObject::isTextField): Added.
203         * rendering/render_replaced.h: Remove handleFocusOut().
204         * rendering/render_replaced.cpp: Ditto.
205         (WebCore::RenderWidget::eventFilter): Remove call to handleFocusOut().  Safe to do here,
206         since we call setFocusNode immediately beforehand.
207
208 2006-02-17  Mitz Pettel  <opendarwin.org@mitzpettel.com>
209
210         Test: fast/parser/nofoo-tags-inside-paragraph.html
211
212         Reviewed by Anders Carlsson.
213
214         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7265
215           REGRESSION: noscript, noframes, nolayer, noembed tags insert break inside paragraph tag
216
217         * khtml/html/htmlparser.cpp:
218         (HTMLParser::isInline): Treat noframes, nolayer, noembed and skipped noscript
219         as inline elements.
220
221 2006-02-17  Mitz Pettel  <opendarwin.org@mitzpettel.com>
222
223         Reviewed by Hyatt.
224
225         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7235
226           Pure CSS Tooltips method renders wrong and creates artifacts
227
228         * manual-tests/bugzilla-7235.html: Added.
229         * rendering/render_box.cpp:
230         (WebCore::RenderBox::absolutePosition): Copied in here the logic for positioning
231         relative to a relpositioned inline from RenderLayer::updateLayerPosition.
232         (WebCore::RenderBox::computeAbsoluteRepaintRect): Ditto.
233
234 2006-02-17  Mitz Pettel  <opendarwin.org@mitzpettel.com>
235
236         Test: fast/css/universal-hover-quirk.html
237
238         Reviewed by Maciej.
239
240         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7218
241           Text underlined on mouse over
242
243         * css/cssstyleselector.cpp:
244         (WebCore::CSSStyleSelector::checkOneSelector): Prevent *:hover and *:active
245         from matching anything in quirks mode.
246
247 2006-02-17  Mitz Pettel  <opendarwin.org@mitzpettel.com>
248
249         Test: fast/text/whitespace/pre-wrap-spaces-after-newline.html
250
251         Reviewed by Dave Hyatt.
252
253         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7216
254           white-space: pre-wrap collapses leading whitespace following a newline
255
256         * rendering/bidi.cpp:
257         (khtml::RenderBlock::bidiReorderLine): Use previousLineBrokeCleanly instead of
258         resetBidiAtEnd now that the former is always correct.
259         (khtml::RenderBlock::layoutInlineChildren): Use new skipTrailingNewline flag.
260         (khtml::RenderBlock::findNextLineBreak): Set previousLineBrokeCleanly for line breaks
261         caused by newlines as well. Added skipTrailingNewline flag.
262
263 2006-02-16  Tim Omernick  <timo@apple.com>
264
265         Reviewed by Adele.
266
267         <rdar://problem/4193286> enabledPlugin returns a non-NULL object even when plugins are
268         disabled (4140)
269
270         * khtml/ecma/kjs_navigator.cpp:
271         (KJS::MimeType::getValueProperty):
272         Only return a Plugin object for the "enabledPlugin" property if plugins are enabled.  This
273         matches what other browsers do.
274         
275 2006-02-16  Darin Adler  <darin@apple.com>
276
277         Reviewed by Eric and Justin.
278
279         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7310
280           fix leaks by using RefPtr more
281
282         * bindings/objc/DOM.mm:
283         (-[DOMDocument adoptNode:]):
284         (-[DOMDocument createElement:]):
285         (-[DOMDocument createDocumentFragment]):
286         (-[DOMDocument createTextNode:]):
287         (-[DOMDocument createComment:]):
288         (-[DOMDocument createCDATASection:]):
289         (-[DOMDocument createProcessingInstruction::]):
290         (-[DOMDocument createEntityReference:]):
291         (-[DOMDocument importNode::]):
292         (-[DOMDocument createElementNS::]):
293         (-[DOMDocument createRange]):
294         (-[DOMDocument createCSSStyleDeclaration]):
295         (-[DOMDocument createNodeIterator::::]):
296         (-[DOMDocument createTreeWalker::::]):
297         * bindings/objc/DOMCSS.mm:
298         (-[DOMCSSStyleDeclaration getPropertyCSSValue:]):
299         * bindings/objc/DOMEvents.mm:
300         (-[DOMDocument createEvent:]):
301         * bridge/mac/MacFrame.h:
302         * bridge/mac/MacFrame.mm:
303         (WebCore::MacFrame::MacFrame):
304         (WebCore::MacFrame::freeClipboard):
305         (WebCore::MacFrame::setView):
306         (WebCore::MacFrame::wheelEvent):
307         (WebCore::MacFrame::openURLFromPageCache):
308         (WebCore::MacFrame::mouseDownViewIfStillGood):
309         (WebCore::MacFrame::khtmlMouseMoveEvent):
310         (WebCore::MacFrame::dispatchCPPEvent):
311         (WebCore::MacFrame::mouseDown):
312         (WebCore::MacFrame::mouseDragged):
313         (WebCore::MacFrame::mouseUp):
314         (WebCore::MacFrame::mouseMoved):
315         (WebCore::MacFrame::sendContextMenuEvent):
316         (WebCore::MacFrame::dispatchDragSrcEvent):
317         * bridge/mac/WebCoreFrameBridge.mm:
318         (-[WebCoreFrameBridge convertToDOMRange:]):
319         (-[WebCoreFrameBridge convertNSRangeToDOMRange:]):
320         (-[WebCoreFrameBridge selectNSRange:]):
321         (-[WebCoreFrameBridge smartDeleteRangeForProposedRange:]):
322         (-[WebCoreFrameBridge typingStyle]):
323         (-[WebCoreFrameBridge dragOperationForDraggingInfo:]):
324         (-[WebCoreFrameBridge dragExitedWithDraggingInfo:]):
325         (-[WebCoreFrameBridge concludeDragForDraggingInfo:]):
326         * css/css_computedstyle.cpp:
327         (WebCore::CSSComputedStyleDeclarationImpl::CSSComputedStyleDeclarationImpl):
328         (WebCore::CSSComputedStyleDeclarationImpl::cssText):
329         (WebCore::CSSComputedStyleDeclarationImpl::setCssText):
330         (WebCore::CSSComputedStyleDeclarationImpl::getPropertyCSSValue):
331         (WebCore::CSSComputedStyleDeclarationImpl::getPropertyValue):
332         (WebCore::CSSComputedStyleDeclarationImpl::removeProperty):
333         (WebCore::CSSComputedStyleDeclarationImpl::setProperty):
334         (WebCore::CSSComputedStyleDeclarationImpl::item):
335         (WebCore::CSSComputedStyleDeclarationImpl::copyInheritableProperties):
336         (WebCore::CSSComputedStyleDeclarationImpl::copy):
337         (WebCore::CSSComputedStyleDeclarationImpl::makeMutable):
338         * css/css_computedstyle.h:
339         * css/css_grammar.y:
340         * css/css_ruleimpl.cpp:
341         (WebCore::CSSStyleRuleImpl::~CSSStyleRuleImpl):
342         (WebCore::CSSStyleRuleImpl::setDeclaration):
343         * css/css_ruleimpl.h:
344         (DOM::CSSStyleRuleImpl::style):
345         (DOM::CSSStyleRuleImpl::declaration):
346         * css/css_valueimpl.cpp:
347         (WebCore::propertyID):
348         (WebCore::quoteStringIfNeeded):
349         (WebCore::CSSStyleDeclarationImpl::getPropertyCSSValue):
350         (WebCore::CSSStyleDeclarationImpl::getPropertyValue):
351         (WebCore::CSSStyleDeclarationImpl::getPropertyPriority):
352         (WebCore::CSSStyleDeclarationImpl::getPropertyShorthand):
353         (WebCore::CSSStyleDeclarationImpl::isPropertyImplicit):
354         (WebCore::CSSStyleDeclarationImpl::setProperty):
355         (WebCore::CSSStyleDeclarationImpl::removeProperty):
356         (WebCore::CSSStyleDeclarationImpl::isPropertyName):
357         (WebCore::CSSMutableStyleDeclarationImpl::getPropertyValue):
358         (WebCore::CSSMutableStyleDeclarationImpl::get4Values):
359         (WebCore::CSSMutableStyleDeclarationImpl::getShortHandValue):
360         (WebCore::CSSMutableStyleDeclarationImpl::getPropertyCSSValue):
361         (WebCore::CSSMutableStyleDeclarationImpl::removeProperty):
362         (WebCore::CSSMutableStyleDeclarationImpl::setProperty):
363         (WebCore::CSSMutableStyleDeclarationImpl::setStringProperty):
364         (WebCore::CSSMutableStyleDeclarationImpl::setImageProperty):
365         (WebCore::CSSMutableStyleDeclarationImpl::parseDeclaration):
366         (WebCore::CSSMutableStyleDeclarationImpl::setLengthProperty):
367         (WebCore::CSSMutableStyleDeclarationImpl::item):
368         (WebCore::CSSMutableStyleDeclarationImpl::cssText):
369         (WebCore::CSSMutableStyleDeclarationImpl::setCssText):
370         (WebCore::CSSMutableStyleDeclarationImpl::copyBlockProperties):
371         (WebCore::CSSStyleDeclarationImpl::copyPropertiesInSet):
372         (WebCore::CSSMutableStyleDeclarationImpl::removePropertiesInSet):
373         (WebCore::CSSMutableStyleDeclarationImpl::makeMutable):
374         (WebCore::CSSMutableStyleDeclarationImpl::copy):
375         (WebCore::CSSInheritedValueImpl::cssText):
376         (WebCore::CSSInitialValueImpl::cssText):
377         (WebCore::CSSValueListImpl::append):
378         (WebCore::CSSValueListImpl::cssText):
379         (WebCore::CSSPrimitiveValueImpl::CSSPrimitiveValueImpl):
380         (WebCore::CSSPrimitiveValueImpl::cleanup):
381         (WebCore::CSSPrimitiveValueImpl::setStringValue):
382         (WebCore::CSSPrimitiveValueImpl::getStringValue):
383         (WebCore::CSSPrimitiveValueImpl::parseString):
384         (WebCore::CSSPrimitiveValueImpl::cssText):
385         (WebCore::CSSImageValueImpl::CSSImageValueImpl):
386         (WebCore::CSSBorderImageValueImpl::CSSBorderImageValueImpl):
387         (WebCore::CSSBorderImageValueImpl::cssText):
388         (WebCore::FontFamilyValueImpl::FontFamilyValueImpl):
389         (WebCore::FontFamilyValueImpl::cssText):
390         (WebCore::FontValueImpl::cssText):
391         (WebCore::ShadowValueImpl::ShadowValueImpl):
392         (WebCore::ShadowValueImpl::cssText):
393         (WebCore::CSSProperty::cssText):
394         * css/css_valueimpl.h:
395         (WebCore::CSSValueImpl::setCssText):
396         (WebCore::CSSValueListImpl::item):
397         (WebCore::CSSPrimitiveValueImpl::getFloatValue):
398         (WebCore::CSSPrimitiveValueImpl::getCounterValue):
399         (WebCore::CSSPrimitiveValueImpl::getRectValue):
400         (WebCore::CSSPrimitiveValueImpl::getRGBColorValue):
401         (WebCore::CSSPrimitiveValueImpl::getPairValue):
402         (WebCore::CSSPrimitiveValueImpl::getDashboardRegionValue):
403         (WebCore::CSSPrimitiveValueImpl::):
404         (WebCore::CSSQuirkPrimitiveValueImpl::CSSQuirkPrimitiveValueImpl):
405         (WebCore::CounterImpl::identifier):
406         (WebCore::CounterImpl::listStyle):
407         (WebCore::CounterImpl::separator):
408         (WebCore::RectImpl::top):
409         (WebCore::RectImpl::right):
410         (WebCore::RectImpl::bottom):
411         (WebCore::RectImpl::left):
412         (WebCore::RectImpl::setTop):
413         (WebCore::RectImpl::setRight):
414         (WebCore::RectImpl::setBottom):
415         (WebCore::RectImpl::setLeft):
416         (WebCore::PairImpl::first):
417         (WebCore::PairImpl::second):
418         (WebCore::PairImpl::setFirst):
419         (WebCore::PairImpl::setSecond):
420         (WebCore::DashboardRegionImpl::DashboardRegionImpl):
421         (WebCore::FontFamilyValueImpl::fontName):
422         (WebCore::CSSProperty::CSSProperty):
423         (WebCore::CSSProperty::value):
424         (WebCore::CSSMutableStyleDeclarationImpl::setNode):
425         (WebCore::CSSMutableStyleDeclarationImpl::setProperty):
426         (WebCore::CSSMutableStyleDeclarationImpl::removeProperty):
427         * css/cssparser.cpp:
428         (CSSParser::createStyleDeclaration):
429         (CSSParser::parseDashboardRegions):
430         * css/cssparser.h:
431         (WebCore::Value::):
432         (WebCore::qString):
433         (WebCore::domString):
434         (WebCore::atomicString):
435         (WebCore::ValueList::current):
436         (WebCore::ValueList::next):
437         (WebCore::CSSParser::current):
438         * css/cssstyleselector.cpp:
439         (WebCore::CSSStyleSelector::applyProperty):
440         * dom/DOMImplementationImpl.cpp:
441         (DOM::DOMImplementationImpl::createDocument):
442         (DOM::DOMImplementationImpl::instance):
443         * dom/DOMImplementationImpl.h:
444         * dom/DocumentImpl.cpp:
445         (WebCore::DocumentImpl::DocumentImpl):
446         (WebCore::DocumentImpl::~DocumentImpl):
447         (WebCore::DocumentImpl::setDocType):
448         (WebCore::DocumentImpl::createElement):
449         (WebCore::DocumentImpl::createDocumentFragment):
450         (WebCore::DocumentImpl::createTextNode):
451         (WebCore::DocumentImpl::createComment):
452         (WebCore::DocumentImpl::createCDATASection):
453         (WebCore::DocumentImpl::createProcessingInstruction):
454         (WebCore::DocumentImpl::createEntityReference):
455         (WebCore::DocumentImpl::createEditingTextNode):
456         (WebCore::DocumentImpl::createCSSStyleDeclaration):
457         (WebCore::DocumentImpl::importNode):
458         (WebCore::DocumentImpl::adoptNode):
459         (WebCore::DocumentImpl::createElementNS):
460         (WebCore::DocumentImpl::setTitle):
461         (WebCore::DocumentImpl::createRange):
462         (WebCore::DocumentImpl::createNodeIterator):
463         (WebCore::DocumentImpl::createTreeWalker):
464         (WebCore::DocumentImpl::setStyleSheet):
465         (WebCore::DocumentImpl::setHoverNode):
466         (WebCore::DocumentImpl::setActiveNode):
467         (WebCore::DocumentImpl::setFocusNode):
468         (WebCore::DocumentImpl::defaultView):
469         (WebCore::DocumentImpl::createEvent):
470         (WebCore::DocumentImpl::setHTMLWindowEventListener):
471         (WebCore::DocumentImpl::addWindowEventListener):
472         (WebCore::DocumentImpl::createHTMLEventListener):
473         (WebCore::DocumentImpl::images):
474         (WebCore::DocumentImpl::applets):
475         (WebCore::DocumentImpl::embeds):
476         (WebCore::DocumentImpl::objects):
477         (WebCore::DocumentImpl::links):
478         (WebCore::DocumentImpl::forms):
479         (WebCore::DocumentImpl::anchors):
480         (WebCore::DocumentImpl::all):
481         (WebCore::DocumentImpl::windowNamedItems):
482         (WebCore::DocumentImpl::documentNamedItems):
483         (WebCore::DocumentImpl::getElementsByName):
484         * dom/DocumentImpl.h:
485         (WebCore::DocumentImpl::realDocType):
486         (WebCore::DocumentImpl::createAttribute):
487         (WebCore::DocumentImpl::title):
488         (WebCore::DocumentImpl::styleSelector):
489         (WebCore::DocumentImpl::setRestoreState):
490         (WebCore::DocumentImpl::restoreState):
491         (WebCore::DocumentImpl::view):
492         (WebCore::DocumentImpl::docLoader):
493         (WebCore::DocumentImpl::tokenizer):
494         (WebCore::DocumentImpl::focusNode):
495         (WebCore::DocumentImpl::hoverNode):
496         (WebCore::DocumentImpl::activeNode):
497         (WebCore::DocumentImpl::policyBaseURL):
498         (WebCore::DocumentImpl::setPolicyBaseURL):
499         (WebCore::DocumentImpl::):
500         (WebCore::DocumentImpl::transformSourceDocument):
501         (WebCore::DocumentImpl::domTreeVersion):
502         (WebCore::DocumentImpl::decoder):
503         * dom/NodeListImpl.cpp:
504         (DOM::NodeListImpl::NodeListImpl):
505         (DOM::NodeListImpl::~NodeListImpl):
506         (DOM::NodeListImpl::recursiveLength):
507         (DOM::NodeListImpl::recursiveItem):
508         (DOM::NodeListImpl::itemById):
509         * dom/NodeListImpl.h:
510         * dom/dom2_eventsimpl.cpp:
511         (WebCore::RegisteredEventListener::RegisteredEventListener):
512         * dom/dom2_eventsimpl.h:
513         (WebCore::operator!=):
514         * dom/dom2_traversalimpl.cpp:
515         (DOM::TraversalImpl::TraversalImpl):
516         (DOM::NodeIteratorImpl::NodeIteratorImpl):
517         (DOM::TreeWalkerImpl::TreeWalkerImpl):
518         * dom/dom2_traversalimpl.h:
519         (WebCore::TraversalImpl::root):
520         (WebCore::TraversalImpl::filter):
521         (WebCore::NodeIteratorImpl::referenceNode):
522         (WebCore::NodeIteratorImpl::setPointerBeforeReferenceNode):
523         (WebCore::NodeIteratorImpl::setDetached):
524         (WebCore::NodeIteratorImpl::document):
525         (WebCore::TreeWalkerImpl::currentNode):
526         * dom/dom_position.cpp:
527         (WebCore::Position::computedStyle):
528         * dom/dom_position.h:
529         * dom/xml_tokenizer.cpp:
530         (WebCore::XMLTokenizer::insertErrorMessageBlock):
531         * editing/ApplyStyleCommand.cpp:
532         (WebCore::createFontElement):
533         (WebCore::createStyleSpanElement):
534         (WebCore::ApplyStyleCommand::ApplyStyleCommand):
535         (WebCore::ApplyStyleCommand::updateStartEnd):
536         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
537         (WebCore::ApplyStyleCommand::extractTextDecorationStyle):
538         (WebCore::ApplyStyleCommand::extractAndNegateTextDecorationStyle):
539         (WebCore::ApplyStyleCommand::applyTextDecorationStyle):
540         (WebCore::ApplyStyleCommand::removeInlineStyle):
541         (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
542         (WebCore::ApplyStyleCommand::computedFontSize):
543         * editing/ApplyStyleCommand.h:
544         (WebCore::ApplyStyleCommand::style):
545         * editing/EditCommand.cpp:
546         (WebCore::EditCommandPtr::setTypingStyle):
547         (WebCore::EditCommand::setTypingStyle):
548         (WebCore::EditCommand::styleAtPosition):
549         * editing/EditCommand.h:
550         (WebCore::EditCommand::document):
551         (WebCore::EditCommand::typingStyle):
552         * editing/InsertLineBreakCommand.cpp:
553         (WebCore::InsertLineBreakCommand::InsertLineBreakCommand):
554         (WebCore::InsertLineBreakCommand::doApply):
555         * editing/InsertTextCommand.cpp:
556         (WebCore::InsertTextCommand::prepareForTextInsertion):
557         * editing/ReplaceSelectionCommand.cpp:
558         (WebCore::computeAndStoreNodeDesiredStyle):
559         (WebCore::NodeDesiredStyle::NodeDesiredStyle):
560         (WebCore::ReplaceSelectionCommand::doApply):
561         * editing/ReplaceSelectionCommand.h:
562         (WebCore::NodeDesiredStyle::node):
563         (WebCore::NodeDesiredStyle::style):
564         (WebCore::ReplacementFragment::root):
565         * editing/WrapContentsInDummySpanCommand.cpp:
566         (WebCore::WrapContentsInDummySpanCommand::doApply):
567         * editing/htmlediting.cpp:
568         (WebCore::createDefaultParagraphElement):
569         (WebCore::createBreakElement):
570         * editing/markup.cpp:
571         (WebCore::createFragmentFromMarkup):
572         (WebCore::createParagraphContentsFromString):
573         * editing/visible_text.cpp:
574         (khtml::TextIterator::rangeFromLocationAndLength):
575         * editing/visible_text.h:
576         (WebCore::isCollapsibleWhitespace):
577         (WebCore::WordAwareIterator::range):
578         * khtml/ecma/kjs_css.cpp:
579         (KJS::DOMCSSStyleDeclaration::cssPropertyGetter):
580         (KJS::DOMCSSStyleDeclarationProtoFunc::callAsFunction):
581         * khtml/ecma/kjs_dom.cpp:
582         (KJS::DOMDocumentProtoFunc::callAsFunction):
583         * khtml/ecma/kjs_html.cpp:
584         (KJS::KJS::HTMLSelectCollection::put):
585         (KJS::OptionConstructorImp::construct):
586         * khtml/html/HTMLElementImpl.cpp:
587         (WebCore::HTMLElementImpl::createContextualFragment):
588         (WebCore::HTMLElementImpl::setInnerHTML):
589         (WebCore::HTMLElementImpl::setOuterHTML):
590         (WebCore::HTMLElementImpl::setOuterText):
591         * khtml/html/HTMLElementImpl.h:
592         * khtml/html/HTMLNameCollectionImpl.cpp:
593         (WebCore::HTMLNameCollectionImpl::HTMLNameCollectionImpl):
594         (WebCore::HTMLNameCollectionImpl::traverseNextItem):
595         * khtml/html/HTMLNameCollectionImpl.h:
596         * khtml/html/html_documentimpl.cpp:
597         (WebCore::HTMLDocumentImpl::createElement):
598         * khtml/html/html_documentimpl.h:
599         (WebCore::HTMLDocumentImpl::collectionInfo):
600         * khtml/html/htmlfactory.cpp:
601         (DOM::htmlConstructor):
602         (DOM::headConstructor):
603         (DOM::bodyConstructor):
604         (DOM::baseConstructor):
605         (DOM::linkConstructor):
606         (DOM::metaConstructor):
607         (DOM::styleConstructor):
608         (DOM::titleConstructor):
609         (DOM::frameConstructor):
610         (DOM::framesetConstructor):
611         (DOM::iframeConstructor):
612         (DOM::formConstructor):
613         (DOM::buttonConstructor):
614         (DOM::inputConstructor):
615         (DOM::isindexConstructor):
616         (DOM::fieldsetConstructor):
617         (DOM::labelConstructor):
618         (DOM::legendConstructor):
619         (DOM::optgroupConstructor):
620         (DOM::optionConstructor):
621         (DOM::selectConstructor):
622         (DOM::textareaConstructor):
623         (DOM::dlConstructor):
624         (DOM::ulConstructor):
625         (DOM::olConstructor):
626         (DOM::dirConstructor):
627         (DOM::menuConstructor):
628         (DOM::liConstructor):
629         (DOM::blockquoteConstructor):
630         (DOM::divConstructor):
631         (DOM::headingConstructor):
632         (DOM::hrConstructor):
633         (DOM::paragraphConstructor):
634         (DOM::preConstructor):
635         (DOM::basefontConstructor):
636         (DOM::fontConstructor):
637         (DOM::modConstructor):
638         (DOM::anchorConstructor):
639         (DOM::imageConstructor):
640         (DOM::mapConstructor):
641         (DOM::areaConstructor):
642         (DOM::canvasConstructor):
643         (DOM::appletConstructor):
644         (DOM::embedConstructor):
645         (DOM::objectConstructor):
646         (DOM::paramConstructor):
647         (DOM::scriptConstructor):
648         (DOM::tableConstructor):
649         (DOM::tableCaptionConstructor):
650         (DOM::tableColConstructor):
651         (DOM::tableRowConstructor):
652         (DOM::tableCellConstructor):
653         (DOM::tableSectionConstructor):
654         (DOM::brConstructor):
655         (DOM::quoteConstructor):
656         (DOM::marqueeConstructor):
657         (DOM::HTMLElementFactory::createHTMLElement):
658         * khtml/html/htmlfactory.h:
659         * khtml/html/htmlparser.cpp:
660         (HTMLParser::parseToken):
661         (HTMLParser::textCreateErrorCheck):
662         (HTMLParser::commentCreateErrorCheck):
663         (HTMLParser::headCreateErrorCheck):
664         (HTMLParser::bodyCreateErrorCheck):
665         (HTMLParser::framesetCreateErrorCheck):
666         (HTMLParser::iframeCreateErrorCheck):
667         (HTMLParser::formCreateErrorCheck):
668         (HTMLParser::isindexCreateErrorCheck):
669         (HTMLParser::selectCreateErrorCheck):
670         (HTMLParser::ddCreateErrorCheck):
671         (HTMLParser::dtCreateErrorCheck):
672         (HTMLParser::nestedCreateErrorCheck):
673         (HTMLParser::nestedStyleCreateErrorCheck):
674         (HTMLParser::tableCellCreateErrorCheck):
675         (HTMLParser::tableSectionCreateErrorCheck):
676         (HTMLParser::noembedCreateErrorCheck):
677         (HTMLParser::noframesCreateErrorCheck):
678         (HTMLParser::noscriptCreateErrorCheck):
679         (HTMLParser::mapCreateErrorCheck):
680         (HTMLParser::getNode):
681         * khtml/html/htmlparser.h:
682         * khtml/html/htmltokenizer.cpp:
683         (WebCore::HTMLTokenizer::parseTag):
684         (WebCore::HTMLTokenizer::processToken):
685         * khtml/html/htmltokenizer.h:
686         * ksvg2/misc/SVGDocumentExtensions.cpp:
687         (WebCore::SVGDocumentExtensions::createSVGEventListener):
688         * ksvg2/misc/SVGDocumentExtensions.h:
689         * ksvg2/svg/SVGDOMImplementationImpl.cpp:
690         (SVGDOMImplementationImpl::createDocumentType):
691         (SVGDOMImplementationImpl::createDocument):
692         (SVGDOMImplementationImpl::createCSSStyleSheet):
693         * ksvg2/svg/SVGDOMImplementationImpl.h:
694         * ksvg2/svg/SVGDocumentImpl.cpp:
695         (WebCore::SVGDocumentImpl::createElement):
696         (WebCore::SVGDocumentImpl::dispatchZoomEvent):
697         (WebCore::SVGDocumentImpl::dispatchKeyEvent):
698         (WebCore::SVGDocumentImpl::dispatchUIEvent):
699         (WebCore::SVGDocumentImpl::dispatchMouseEvent):
700         * ksvg2/svg/SVGDocumentImpl.h:
701         * ksvg2/svg/SVGElementImpl.cpp:
702         (WebCore::SVGElementImpl::addSVGEventListener):
703         * ksvg2/svg/SVGSVGElementImpl.cpp:
704         (WebCore::SVGSVGElementImpl::addSVGWindowEventListner):
705         * page/Frame.cpp:
706         (WebCore::Frame::view):
707         (WebCore::Frame::begin):
708         (WebCore::Frame::computeAndSetTypingStyle):
709         (WebCore::Frame::selectionHasStyle):
710         (WebCore::Frame::selectionStartHasStyle):
711         (WebCore::Frame::selectionStartStylePropertyValue):
712         (WebCore::Frame::selectionComputedStyle):
713         (WebCore::Frame::forceLayout):
714         (WebCore::Frame::sendResizeEvent):
715         (WebCore::Frame::sendScrollEvent):
716         (WebCore::Frame::clearTimers):
717         (WebCore::Frame::styleForSelectionStart):
718         * page/FramePrivate.h:
719         * page/FrameTree.h:
720         (WebCore::FrameTree::name):
721
722 2006-02-16  David Harrison  <harrison@apple.com>
723
724         Reviewed by Darin.
725
726         Test:
727         * manual-tests/mail-attachments.html: Added.
728         Automated test not currently possible because widgets do not actually draw when not in a window.
729         Geoff and Justin are fixing that and will add this test.
730
731         * rendering/render_frames.cpp:
732         (WebCore::RenderPartObject::updateWidget):
733         Fix unique param check when processing object tag attributes.
734
735 2006-02-16  Adele Peterson  <adele@apple.com>
736
737         Reviewed by Darin.
738
739         - Fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=7113
740         Typing in editable overflow:hidden div doesn't scroll
741
742         * bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge ensureSelectionVisible]):
743           Changed scrollRectToVisible call so that it will align to the edge instead of trying to center the selection.  
744           Centering looks funny when it happens after typing, deleting, moving the cursor, etc.
745         * rendering/render_layer.cpp: (WebCore::RenderLayer::scrollRectToVisible):
746           Use scrollWidth() and scrollHeight() functions instead of m_scrollWidth and m_scrollHeight.  
747           These functions will cause the correct scroll dimensions to be calculated for overflow:hidden layers.
748           Also subtracted scrollbar width and height when calculating the layer bounds. This was causing scroll problems in overflow:scroll.
749           I also did some cleanup to use xPos() and yPos() instead of m_x and m_y, and to use scrollYOffset() instead of m_scrollY.
750
751 2006-02-16  Adele Peterson  <adele@apple.com>
752
753         Reviewed by Darin.
754
755         - Fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=6812
756         Missing focus ring on new text fields
757
758         Tests:
759         * fast/forms/input-appearance-focus.html: Updated.
760
761         * rendering/render_object.cpp: (WebCore::RenderObject::paintOutline): 
762          call supportsFocusRing instead of checking the appearance.
763         * rendering/render_theme.cpp: (khtml::RenderTheme::supportsFocusRing): Added. 
764          Checks appearance.  Theme will draw focus ring if there's an appearance, but not for the new text fields.
765         * rendering/render_theme.h:
766
767 2006-02-16  Darin Adler  <darin@apple.com>
768
769         Reviewed by Hyatt.
770
771         - eliminate QFrame and QObject::inherits, fix some strange stuff
772           in RenderCanvas that showed up when I tested that change
773
774         * kwq/KWQFrame.h: Removed.
775         * kwq/KWQFrame.mm: Removed.
776
777         * bridge/mac/FrameViewMac.mm: Added.
778
779         * WebCore.xcodeproj/project.pbxproj: Updated for adds and removes.
780         * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for removes.
781
782         * bridge/mac/WebCoreFrameBridge.mm:
783         (-[WebCoreFrameBridge RenderObject::nodeInfoAtPoint:]):
784         * khtml/ecma/kjs_window.cpp:
785         (KJS::FrameArray::indexGetter):
786         (KJS::FrameArray::nameGetter):
787         * kwq/KWQAccObject.mm:
788         (-[KWQAccObject doAXTextMarkerForPosition:]):
789         * kwq/KWQRenderTreeDebug.cpp:
790         (write):
791         * page/Frame.cpp:
792         (WebCore::isFrameElement):
793         * page/FramePrivate.h:
794         (WebCore::FramePrivate::FramePrivate):
795         Change QObject::inherits callers to call the "is" functions directly.
796
797         * kwq/KWQObject.h:
798         * kwq/KWQObject.cpp: Removed QObject::inherits, QObject::isQFrame,
799         and QObject::isQScrollView.
800
801         * kwq/KWQScrollView.h: Inherit from Widget instead of QFrame.
802         Remove isQScrollView.
803         * kwq/KWQScrollView.mm: Remove isQScrollView.
804
805         * page/FrameView.h:
806         * page/FrameView.cpp: Changed underMouse and clickNode to be RefPtr.
807         Added m_hasBorder.
808         (WebCore::FrameViewPrivate::FrameViewPrivate):
809         (WebCore::FrameViewPrivate::~FrameViewPrivate):
810         (WebCore::FrameViewPrivate::reset):
811         (WebCore::FrameView::layout):
812         (WebCore::FrameView::viewportMousePressEvent):
813         (WebCore::FrameView::invalidateClick):
814         (WebCore::FrameView::viewportMouseReleaseEvent):
815         (WebCore::FrameView::keyPressEvent):
816         (WebCore::FrameView::dispatchDragEvent): Use RefPtr for MouseEventImpl.
817         (WebCore::FrameView::nodeUnderMouse):
818         (WebCore::FrameView::dispatchMouseEvent):
819         (WebCore::FrameView::setHasBorder): Added.
820         (WebCore::FrameView::hasBorder): Added.
821         (WebCore::FrameView::borderWidth): Added.
822
823         * rendering/render_canvas.h: Eliminated unneeded setWidth/Height overrides.
824         Eliminated viewportWidth(), viewportHeight(), m_rootWidth, m_rootHeight,
825         m_viewportWidth, and m_viewportHeight.
826         * rendering/render_canvas.cpp:
827         (RenderCanvas::calcHeight): Remove unneeded code to set height when there's
828         no view.
829         (RenderCanvas::calcWidth): Fix code to set width to visibleWidth(). Removed
830         incorrect old width setting, and removed unneeded code to set width when
831         there's no view. Also removed incorrect margin-setting code.
832         (RenderCanvas::layout): Removed incorrect code to set width and height.
833         Instead letting calcWidth and calcHeight do the job.
834         (RenderCanvas::repaintViewRectangle): Use new FrameView::hasBorder instead
835         of QFrame::frameStyle.
836         (RenderCanvas::viewRect): Removed unneeded "root width" feature for a canvas
837         without a view.
838
839         * rendering/render_frames.cpp:
840         (WebCore::RenderFrame::slotViewCleared): Use new setHasBorder.
841         (WebCore::RenderPartObject::slotViewCleared): Ditto.
842
843 2006-02-17  Eric Seidel  <eseidel@apple.com>
844
845         Reviewed by justing.
846
847         Close several age-old leaks in xslt code.
848         Tests already were catching these.
849
850         * khtml/xsl/xsl_stylesheetimpl.cpp:
851         (WebCore::XSLStyleSheetImpl::loadChildSheets):
852         (WebCore::XSLStyleSheetImpl::locateStylesheetSubResource):
853         * khtml/xsl/xslt_processorimpl.cpp:
854         (WebCore::docLoaderFunc):
855
856 2006-02-16  Tim Omernick  <timo@apple.com>
857
858         Reviewed by Geoff.
859
860         <rdar://problem/4428609> Flash Player 8.0.22 can crash Safari (and WebKit apps)
861         with javascript disabled (7015)
862
863         Added a test case, manual-tests/NPN_Invoke.  This is a skeleton of a Netscape
864         plugin which uses NPN_Invoke() to call the window.alert() JavaScript function.
865         
866         * bridge/mac/MacFrame.mm:
867         (WebCore::MacFrame::windowScriptNPObject):
868         Removed the check Darin added to return 0 when JavaScript is disabled.
869         This method cannot return 0, because plugins are not guaranteed to check
870         for that.
871         Removed my old fix for Radar 4428609 (7015) in favor of a better solution.
872         Instead of creating a "dummy" JSObject to represent the window script object
873         when JavaScript is disabled, we use the new JavaScriptCore bindings API to 
874         create a "no script" NPObject.  This solution is better because it does not
875         cause entry into any JavaScript interpreter code.
876
877         * manual-tests/NPN_Invoke: Added.
878         * manual-tests/NPN_Invoke/English.lproj: Added.
879         * manual-tests/NPN_Invoke/English.lproj/Localized.r: Added.
880         * manual-tests/NPN_Invoke/Info.plist: Added.
881         * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj: Added.
882         * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj/project.pbxproj: Added.
883         * manual-tests/NPN_Invoke/main.c: Added.
884         * manual-tests/NPN_Invoke/test.html: Added.
885
886 2006-02-16  Mitz Pettel  <opendarwin.org@mitzpettel.com>
887
888         Reviewed by Darin, landed by ap.
889
890         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7274
891           Assertion failure in TimerBase::checkHeapIndex() (Timer.cpp:199) !timerHeap->isEmpty()
892
893         * platform/Timer.cpp:
894         (WebCore::TimerBase::stop): Call setNextFireTime(0) unconditionally to make sure the timer
895         is removed from timersReadyToFire so that fireTimers doesn't try to fire a deleted timer.
896
897 2006-02-15  Geoffrey Garen  <ggaren@apple.com>
898
899         Reviewed by Maciej, Eric.
900
901         - WebCore half of fix for <rdar://problem/4176077> CrashTracer: 6569 
902         crashes in DashboardClient at com.apple.JavaScriptCore: 
903         KJS::Bindings::ObjcFallbackObjectImp::type() 
904
905         WebCore and JavaScriptCore weren't sharing Instance objects very
906         nicely. I made them use RefPtrs, and sent them to bed without dessert.
907
908         * khtml/html/html_objectimpl.cpp: 
909         (WebCore::HTMLAppletElementImpl::HTMLAppletElementImpl): Made 
910         appletInstance a RefPtr
911         (WebCore::HTMLAppletElementImpl::getAppletInstance):
912         (WebCore::HTMLAppletElementImpl::detach):
913         (WebCore::HTMLEmbedElementImpl::HTMLEmbedElementImpl): Made
914         embedInstance a RefPtr
915         (WebCore::HTMLEmbedElementImpl::getEmbedInstance):
916         (WebCore::HTMLEmbedElementImpl::detach):
917         (WebCore::HTMLObjectElementImpl::HTMLObjectElementImpl): Made
918         objectInstance a RefPtr
919         (WebCore::HTMLObjectElementImpl::getObjectInstance): 
920         (WebCore::HTMLObjectElementImpl::detach):
921         * bindings/js/JSDOMCore.cpp:
922         * khtml/ecma/kjs_dom.cpp:
923         (KJS::getRuntimeObject):
924         * khtml/html/html_objectimpl.h:
925
926 2006-02-15  Geoffrey Garen  <ggaren@apple.com>
927
928         Reviewed by Eric.
929
930         - Fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=4674
931         LEAK: WheelEventImpl leaked when mousewheel used
932
933         No test case because it requires manual mouse wheeling.
934
935         * dom/NodeImpl.cpp:
936         (WebCore::NodeImpl::dispatchWheelEvent): Use a RefPtr instead of just
937         leaking the WheelEventImpl.
938
939 2006-02-15  Dave Hyatt <hyatt@apple.com>
940
941         Make FontFamily compile on Win32 (just needed a few more
942         __APPLE__ ifdefs).
943
944         Clean up the frameBufferAtIndex method of the image decoders
945         on Win32.
946
947         * WebCore.vcproj/WebCore/WebCore.vcproj:
948         * kwq/KWQFont.h:
949         * platform/FontFamily.cpp:
950         (WebCore::FontFamily::FontFamily):
951         * platform/cairo/ImageSourceCairo.cpp:
952         (WebCore::ImageSource::createFrameAtIndex):
953         (WebCore::ImageSource::frameDurationAtIndex):
954         (WebCore::ImageSource::frameHasAlphaAtIndex):
955         * platform/image-decoders/ImageDecoder.h:
956         * platform/image-decoders/gif/GIFImageDecoder.cpp:
957         (WebCore::GIFImageDecoder::frameBufferAtIndex):
958         * platform/image-decoders/gif/GIFImageDecoder.h:
959         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
960         (WebCore::JPEGImageDecoder::frameBufferAtIndex):
961         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
962         * platform/image-decoders/png/PNGImageDecoder.cpp:
963         (WebCore::PNGImageDecoder::frameBufferAtIndex):
964         * platform/image-decoders/png/PNGImageDecoder.h:
965
966 2006-02-15  David Hyatt  <hyatt@apple.com>
967
968         Make KWQFontFamily portable.  Split it out into a cross-platform core and the Mac-specific version.
969         Move it to platform and rename it to FontFamily (and FontFamilyMac).
970
971         Reviewed by eric
972
973         * WebCore.xcodeproj/project.pbxproj:
974         * css/cssstyleselector.cpp:
975         (WebCore::CSSStyleSelector::applyProperty):
976         * kwq/KWQFont.h:
977         (QFont::firstFamily):
978         * kwq/KWQFont.mm:
979         (QFont::setFirstFamily):
980         * kwq/KWQFontFamily.h: Removed.
981         * kwq/KWQFontFamily.mm: Removed.
982         * platform/FontFamily.cpp: Added.
983         (WebCore::FontFamily::FontFamily):
984         (WebCore::FontFamily::~FontFamily):
985         (WebCore::FontFamily::operator=):
986         (WebCore::FontFamily::setFamily):
987         (WebCore::FontFamily::operator==):
988         * platform/FontFamily.h: Added.
989         (WebCore::FontFamily::family):
990         (WebCore::FontFamily::familyIsEmpty):
991         (WebCore::FontFamily::next):
992         (WebCore::FontFamily::appendFamily):
993         (WebCore::FontFamily::operator!=):
994         (WebCore::FontFamily::ref):
995         (WebCore::FontFamily::deref):
996         * platform/mac/FontFamilyMac.mm: Added.
997         (WebCore::retainDOMStringImpl):
998         (WebCore::releaseDOMStringImpl):
999         (WebCore::):
1000         (WebCore::FontFamily::getNSFamily):
1001         * rendering/font.h:
1002         (khtml::FontDef::firstFamily):
1003
1004 2006-02-15  Oliver Hunt  <ojh16@student.canterbury.ac.nz>
1005
1006         Reviewed by eseidel.  Landed by eseidel.
1007         
1008         Implemented feDisplacementMap.
1009         http://bugzilla.opendarwin.org/show_bug.cgi?id=5862
1010
1011         Test: svg/custom/feDisplacementMap-01.svg
1012
1013         * WebCore.xcodeproj/project.pbxproj: added files.
1014         * kcanvas/KCanvasFilters.cpp:
1015         (WebCore::KCanvasFEDisplacementMap::externalRepresentation):
1016         * kcanvas/KCanvasFilters.h:
1017         (WebCore::KCanvasFEDisplacementMap::KCanvasFEDisplacementMap):
1018         (WebCore::KCanvasFEDisplacementMap::xChannelSelector):
1019         (WebCore::KCanvasFEDisplacementMap::setXChannelSelector):
1020         (WebCore::KCanvasFEDisplacementMap::yChannelSelector):
1021         (WebCore::KCanvasFEDisplacementMap::setYChannelSelector):
1022         (WebCore::KCanvasFEDisplacementMap::scale):
1023         (WebCore::KCanvasFEDisplacementMap::setScale):
1024         * kcanvas/device/quartz/KCanvasFilterQuartz.h:
1025         * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
1026         (WebCore::getVectorForChannel):
1027         (WebCore::KCanvasFEDisplacementMapQuartz::getCIFilter):
1028         * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
1029         (WebCore::KRenderingDeviceQuartz::createFilterEffect):
1030         * kcanvas/device/quartz/filters/WKDisplacementMapFilter.cikernel: Added.
1031         * kcanvas/device/quartz/filters/WKDisplacementMapFilter.h: Added.
1032         * kcanvas/device/quartz/filters/WKDisplacementMapFilter.m: Added.
1033         (+[WKDisplacementMapFilter initialize]):
1034         (+[WKDisplacementMapFilter filterWithName:]):
1035         (-[WKDisplacementMapFilter init]):
1036         (-[WKDisplacementMapFilter outputImage]):
1037         * ksvg2/svg/SVGFEDisplacementMapElementImpl.cpp: Added.
1038         (SVGFEDisplacementMapElementImpl::SVGFEDisplacementMapElementImpl):
1039         (SVGFEDisplacementMapElementImpl::~SVGFEDisplacementMapElementImpl):
1040         (SVGFEDisplacementMapElementImpl::in1):
1041         (SVGFEDisplacementMapElementImpl::in2):
1042         (SVGFEDisplacementMapElementImpl::xChannelSelector):
1043         (SVGFEDisplacementMapElementImpl::yChannelSelector):
1044         (SVGFEDisplacementMapElementImpl::scale):
1045         (SVGFEDisplacementMapElementImpl::stringToChannel):
1046         (SVGFEDisplacementMapElementImpl::parseMappedAttribute):
1047         (SVGFEDisplacementMapElementImpl::filterEffect):
1048         * ksvg2/svg/SVGFEDisplacementMapElementImpl.h: Added.
1049         * ksvg2/svg/svgtags.in:
1050
1051 2006-02-15  Eric Seidel  <eseidel@apple.com>
1052
1053         Reviewed by darin.
1054
1055         Commit change forgotten after editing directory move.
1056
1057         * editing/markup.cpp:
1058         (khtml::startMarkup): add support for serializing DOCTYPEs in xml
1059
1060 2006-02-15  Alexey Proskuryakov  <ap@nypop.com>
1061
1062         Reviewed by Maciej.
1063
1064         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6452
1065          KURL::appendEscapingBadChars() doesn't know about %u-escaping.
1066
1067         Test case: fast/encoding/percent-escaping.html
1068
1069         * kwq/KWQKURL.mm: (appendEscapingBadChars):
1070         Rather than adding support for %u, remove the existing
1071         "do what I mean" escaping of percent characters that do not
1072         look like a result of prior escaping.
1073
1074 2006-02-14  Eric Seidel  <eseidel@apple.com>
1075
1076         Fix build failure from last minute edit.
1077
1078         * khtml/xsl/xsl_stylesheetimpl.cpp:
1079         (WebCore::XSLStyleSheetImpl::parseString):
1080
1081 2006-02-14  Eric Seidel  <eseidel@apple.com>
1082
1083         Reviewed by darin.
1084
1085         Add incremental parsing support to XMLTokenizer.
1086         This patch also does a few other little things:
1087         - removes (unused) onHold support from Tokenizer
1088         - adds serialization of DOCTYPEs for xml documents
1089         - fixes xslt support to no longer depend on synchronous parsing
1090         - fixes css styling for pages where xsl recursion is blocked
1091         http://bugzilla.opendarwin.org/show_bug.cgi?id=6057
1092
1093         * dom/DocumentImpl.cpp:
1094         (WebCore::DocumentImpl::DocumentImpl):
1095         (WebCore::DocumentImpl::createProcessingInstruction):
1096         (WebCore::DocumentImpl::open):
1097         (WebCore::DocumentImpl::recalcStyleSelector):
1098         * dom/dom_xmlimpl.cpp:
1099         (WebCore::ProcessingInstructionImpl::checkStyleSheet):
1100         * dom/xml_tokenizer.cpp:
1101         (WebCore::XMLTokenizer::XMLTokenizer):
1102         (WebCore::XMLTokenizer::write):
1103         (WebCore::XMLTokenizer::startElementNs):
1104         (WebCore::XMLTokenizer::error):
1105         (WebCore::XMLTokenizer::initializeParserContext):
1106         (WebCore::XMLTokenizer::finish):
1107         (WebCore::xmlDocPtrForString):
1108         (WebCore::parseAttributes):
1109         * dom/xml_tokenizer.h:
1110         * khtml/editing/markup.cpp:
1111         (khtml::startMarkup): DOCTYPE serialization
1112         * khtml/html/htmltokenizer.cpp:
1113         (WebCore::HTMLTokenizer::HTMLTokenizer): removed onHold
1114         (WebCore::HTMLTokenizer::reset): removed onHold
1115         (WebCore::HTMLTokenizer::begin): removed onHold
1116         (WebCore::HTMLTokenizer::write): removed onHold
1117         (WebCore::HTMLTokenizer::finish): removed onHold
1118         * khtml/html/htmltokenizer.h: removed onHold support
1119         * khtml/xsl/xsl_stylesheetimpl.cpp:
1120         (WebCore::XSLStyleSheetImpl::XSLStyleSheetImpl):
1121         (WebCore::XSLStyleSheetImpl::~XSLStyleSheetImpl):
1122         (WebCore::XSLStyleSheetImpl::document):
1123         (WebCore::XSLStyleSheetImpl::setDocument):
1124         (WebCore::XSLStyleSheetImpl::parseString):
1125         (WebCore::XSLStyleSheetImpl::loadChildSheets):
1126         (WebCore::XSLStyleSheetImpl::compileStyleSheet):
1127         (WebCore::XSLStyleSheetImpl::locateStylesheetSubResource):
1128         * khtml/xsl/xsl_stylesheetimpl.h: moved functions to .cpp file
1129
1130 2006-02-14  Adele Peterson  <adele@apple.com>
1131
1132         Reviewed by Maciej.
1133
1134         http://bugzilla.opendarwin.org/show_bug.cgi?id=6815
1135         Calculate correct width for new text fields
1136
1137         Tests:
1138         fast/forms/input-appearance-width.html
1139         fast/forms/input-appearance-minWidth.html
1140
1141         * rendering/RenderTextField.cpp:
1142         (WebCore::RenderTextField::createDivStyle): Remove fixed width for text field.
1143         (WebCore::RenderTextField::calcMinMaxWidth): Added.  This calls RenderBlock::calcMinMaxWidth and 
1144          then uses the size attribute to determine what the maxWidth should be.
1145         * rendering/RenderTextField.h: Added calcMinMaxWidth.
1146         * rendering/render_theme_mac.h: Added adjustTextFieldStyle.
1147         * rendering/render_theme_mac.mm: 
1148         (WebCore::RenderThemeMac::adjustRepaintRect): Remove inflation of rect.  This is no longer necessary.
1149         (WebCore::RenderThemeMac::paintTextField): ditto.
1150         (WebCore::RenderThemeMac::setTextFieldCellState): change true to YES.
1151         (WebCore::RenderThemeMac::adjustTextFieldStyle): Added. This is the temporary home of the code to set the 
1152          right padding and margins.  When we flip the switch, this will go in html4.css.
1153
1154 2006-02-14  John Sullivan  <sullivan@apple.com>
1155
1156         Reviewed by Tim Hatcher.
1157
1158         removed -[DOMHTMLSelectElement _optionLabels], formerly used only by Safari, now unused.
1159
1160         * bindings/objc/DOMHTML.mm:
1161         * bindings/objc/DOMPrivate.h:
1162
1163 2006-02-14  Timothy Hatcher  <timothy@apple.com>
1164
1165         Reviewed by Justin.
1166
1167         Fixed <rdar://problem/4415050> STD: WebCore build steps use echo -n, which will change
1168         behavior due to POSIX version of sh
1169
1170         * WebCore.xcodeproj/project.pbxproj: removed the use of echo -n, replaced with printf ""
1171
1172 2006-02-14  Darin Adler  <darin@apple.com>
1173
1174         Rubber-stamped by Eric.
1175
1176         - moved editing sources from khtml/editing to editing, and renamed files with single classes
1177
1178         * WebCore.xcodeproj/project.pbxproj: Added new, removed old.
1179         * WebCore.vcproj/WebCore/WebCore.vcproj: Ditto.
1180
1181         * bridge/mac/MacFrame.mm:
1182         * bridge/mac/WebCoreFrameBridge.mm:
1183         * dom/DocumentImpl.cpp:
1184         * dom/dom2_rangeimpl.cpp:
1185         * dom/dom_position.cpp:
1186         * khtml/khtml_events.cpp:
1187         * kwq/KWQAccObject.mm:
1188         * kwq/KWQAccObjectCache.h:
1189         * kwq/KWQEditCommand.mm:
1190         * page/Frame.cpp:
1191         * page/FramePrivate.h:
1192         * rendering/RenderBlock.cpp:
1193         * rendering/RenderContainer.cpp:
1194         * rendering/RenderText.cpp:
1195         * rendering/render_br.cpp:
1196         * rendering/render_inline.cpp:
1197         * rendering/render_object.cpp:
1198         * rendering/render_replaced.cpp:
1199         Fixed up includes.
1200
1201         * editing: Added.
1202         * editing/AppendNodeCommand.cpp: Added.
1203         * editing/AppendNodeCommand.h: Added.
1204         * editing/ApplyStyleCommand.cpp: Added.
1205         * editing/ApplyStyleCommand.h: Added.
1206         * editing/BreakBlockquoteCommand.cpp: Added.
1207         * editing/BreakBlockquoteCommand.h: Added.
1208         * editing/CompositeEditCommand.cpp: Added.
1209         * editing/CompositeEditCommand.h: Added.
1210         * editing/DeleteFromTextNodeCommand.cpp: Added.
1211         * editing/DeleteFromTextNodeCommand.h: Added.
1212         * editing/DeleteSelectionCommand.cpp: Added.
1213         * editing/DeleteSelectionCommand.h: Added.
1214         * editing/EditCommand.cpp: Added.
1215         * editing/EditCommand.h: Added.
1216         * editing/InsertIntoTextNodeCommand.cpp: Added.
1217         * editing/InsertIntoTextNodeCommand.h: Added.
1218         * editing/InsertLineBreakCommand.cpp: Added.
1219         * editing/InsertLineBreakCommand.h: Added.
1220         * editing/InsertNodeBeforeCommand.cpp: Added.
1221         * editing/InsertNodeBeforeCommand.h: Added.
1222         * editing/InsertParagraphSeparatorCommand.cpp: Added.
1223         * editing/InsertParagraphSeparatorCommand.h: Added.
1224         * editing/InsertTextCommand.cpp: Added.
1225         * editing/InsertTextCommand.h: Added.
1226         * editing/JoinTextNodesCommand.cpp: Added.
1227         * editing/JoinTextNodesCommand.h: Added.
1228         * editing/MergeIdenticalElementsCommand.cpp: Added.
1229         * editing/MergeIdenticalElementsCommand.h: Added.
1230         * editing/MoveSelectionCommand.cpp: Added.
1231         * editing/MoveSelectionCommand.h: Added.
1232         * editing/RebalanceWhitespaceCommand.cpp: Added.
1233         * editing/RebalanceWhitespaceCommand.h: Added.
1234         * editing/RemoveCSSPropertyCommand.cpp: Added.
1235         * editing/RemoveCSSPropertyCommand.h: Added.
1236         * editing/RemoveNodeAttributeCommand.cpp: Added.
1237         * editing/RemoveNodeAttributeCommand.h: Added.
1238         * editing/RemoveNodeCommand.cpp: Added.
1239         * editing/RemoveNodeCommand.h: Added.
1240         * editing/RemoveNodePreservingChildrenCommand.cpp: Added.
1241         * editing/RemoveNodePreservingChildrenCommand.h: Added.
1242         * editing/ReplaceSelectionCommand.cpp: Added.
1243         * editing/ReplaceSelectionCommand.h: Added.
1244         * editing/Selection.cpp:
1245         * editing/SelectionController.cpp:
1246         * editing/SetNodeAttributeCommand.cpp: Added.
1247         * editing/SetNodeAttributeCommand.h: Added.
1248         * editing/SplitElementCommand.cpp: Added.
1249         * editing/SplitElementCommand.h: Added.
1250         * editing/SplitTextNodeCommand.cpp: Added.
1251         * editing/SplitTextNodeCommand.h: Added.
1252         * editing/SplitTextNodeContainingElementCommand.cpp: Added.
1253         * editing/SplitTextNodeContainingElementCommand.h: Added.
1254         * editing/TypingCommand.cpp: Added.
1255         * editing/TypingCommand.h: Added.
1256         * editing/VisiblePosition.cpp: Added.
1257         * editing/VisiblePosition.h: Added.
1258         * editing/VisibleRange.cpp: Added.
1259         * editing/VisibleRange.h: Added.
1260         * editing/WrapContentsInDummySpanCommand.cpp: Added.
1261         * editing/WrapContentsInDummySpanCommand.h: Added.
1262         * editing/append_node_command.cpp: Removed.
1263         * editing/append_node_command.h: Removed.
1264         * editing/apply_style_command.cpp: Removed.
1265         * editing/apply_style_command.h: Removed.
1266         * editing/break_blockquote_command.cpp: Removed.
1267         * editing/break_blockquote_command.h: Removed.
1268         * editing/composite_edit_command.cpp: Removed.
1269         * editing/composite_edit_command.h: Removed.
1270         * editing/delete_from_text_node_command.cpp: Removed.
1271         * editing/delete_from_text_node_command.h: Removed.
1272         * editing/delete_selection_command.cpp: Removed.
1273         * editing/delete_selection_command.h: Removed.
1274         * editing/edit_command.cpp: Removed.
1275         * editing/edit_command.h: Removed.
1276         * editing/htmlediting.cpp:
1277         * editing/insert_into_text_node_command.cpp: Removed.
1278         * editing/insert_into_text_node_command.h: Removed.
1279         * editing/insert_line_break_command.cpp: Removed.
1280         * editing/insert_line_break_command.h: Removed.
1281         * editing/insert_node_before_command.cpp: Removed.
1282         * editing/insert_node_before_command.h: Removed.
1283         * editing/insert_paragraph_separator_command.cpp: Removed.
1284         * editing/insert_paragraph_separator_command.h: Removed.
1285         * editing/insert_text_command.cpp: Removed.
1286         * editing/insert_text_command.h: Removed.
1287         * editing/join_text_nodes_command.cpp: Removed.
1288         * editing/join_text_nodes_command.h: Removed.
1289         * editing/jsediting.cpp:
1290         * editing/markup.cpp:
1291         * editing/merge_identical_elements_command.cpp: Removed.
1292         * editing/merge_identical_elements_command.h: Removed.
1293         * editing/move_selection_command.cpp: Removed.
1294         * editing/move_selection_command.h: Removed.
1295         * editing/rebalance_whitespace_command.cpp: Removed.
1296         * editing/rebalance_whitespace_command.h: Removed.
1297         * editing/remove_css_property_command.cpp: Removed.
1298         * editing/remove_css_property_command.h: Removed.
1299         * editing/remove_node_attribute_command.cpp: Removed.
1300         * editing/remove_node_attribute_command.h: Removed.
1301         * editing/remove_node_command.cpp: Removed.
1302         * editing/remove_node_command.h: Removed.
1303         * editing/remove_node_preserving_children_command.cpp: Removed.
1304         * editing/remove_node_preserving_children_command.h: Removed.
1305         * editing/replace_selection_command.cpp: Removed.
1306         * editing/replace_selection_command.h: Removed.
1307         * editing/set_node_attribute_command.cpp: Removed.
1308         * editing/set_node_attribute_command.h: Removed.
1309         * editing/split_element_command.cpp: Removed.
1310         * editing/split_element_command.h: Removed.
1311         * editing/split_text_node_command.cpp: Removed.
1312         * editing/split_text_node_command.h: Removed.
1313         * editing/split_text_node_containing_element.cpp: Removed.
1314         * editing/split_text_node_containing_element_command.h: Removed.
1315         * editing/typing_command.cpp: Removed.
1316         * editing/typing_command.h: Removed.
1317         * editing/visible_position.cpp: Removed.
1318         * editing/visible_position.h: Removed.
1319         * editing/visible_range.cpp: Removed.
1320         * editing/visible_range.h: Removed.
1321         * editing/visible_units.cpp:
1322         * editing/wrap_contents_in_dummy_span_command.cpp: Removed.
1323         * editing/wrap_contents_in_dummy_span_command.h: Removed.
1324
1325         * khtml/editing: Removed.
1326         * khtml/editing/Selection.cpp: Removed.
1327         * khtml/editing/Selection.h: Removed.
1328         * khtml/editing/SelectionController.cpp: Removed.
1329         * khtml/editing/SelectionController.h: Removed.
1330         * khtml/editing/append_node_command.cpp: Removed.
1331         * khtml/editing/append_node_command.h: Removed.
1332         * khtml/editing/apply_style_command.cpp: Removed.
1333         * khtml/editing/apply_style_command.h: Removed.
1334         * khtml/editing/break_blockquote_command.cpp: Removed.
1335         * khtml/editing/break_blockquote_command.h: Removed.
1336         * khtml/editing/composite_edit_command.cpp: Removed.
1337         * khtml/editing/composite_edit_command.h: Removed.
1338         * khtml/editing/delete_from_text_node_command.cpp: Removed.
1339         * khtml/editing/delete_from_text_node_command.h: Removed.
1340         * khtml/editing/delete_selection_command.cpp: Removed.
1341         * khtml/editing/delete_selection_command.h: Removed.
1342         * khtml/editing/edit_actions.h: Removed.
1343         * khtml/editing/edit_command.cpp: Removed.
1344         * khtml/editing/edit_command.h: Removed.
1345         * khtml/editing/html_interchange.cpp: Removed.
1346         * khtml/editing/html_interchange.h: Removed.
1347         * khtml/editing/htmlediting.cpp: Removed.
1348         * khtml/editing/htmlediting.h: Removed.
1349         * khtml/editing/insert_into_text_node_command.cpp: Removed.
1350         * khtml/editing/insert_into_text_node_command.h: Removed.
1351         * khtml/editing/insert_line_break_command.cpp: Removed.
1352         * khtml/editing/insert_line_break_command.h: Removed.
1353         * khtml/editing/insert_node_before_command.cpp: Removed.
1354         * khtml/editing/insert_node_before_command.h: Removed.
1355         * khtml/editing/insert_paragraph_separator_command.cpp: Removed.
1356         * khtml/editing/insert_paragraph_separator_command.h: Removed.
1357         * khtml/editing/insert_text_command.cpp: Removed.
1358         * khtml/editing/insert_text_command.h: Removed.
1359         * khtml/editing/join_text_nodes_command.cpp: Removed.
1360         * khtml/editing/join_text_nodes_command.h: Removed.
1361         * khtml/editing/jsediting.cpp: Removed.
1362         * khtml/editing/jsediting.h: Removed.
1363         * khtml/editing/markup.cpp: Removed.
1364         * khtml/editing/markup.h: Removed.
1365         * khtml/editing/merge_identical_elements_command.cpp: Removed.
1366         * khtml/editing/merge_identical_elements_command.h: Removed.
1367         * khtml/editing/move_selection_command.cpp: Removed.
1368         * khtml/editing/move_selection_command.h: Removed.
1369         * khtml/editing/rebalance_whitespace_command.cpp: Removed.
1370         * khtml/editing/rebalance_whitespace_command.h: Removed.
1371         * khtml/editing/remove_css_property_command.cpp: Removed.
1372         * khtml/editing/remove_css_property_command.h: Removed.
1373         * khtml/editing/remove_node_attribute_command.cpp: Removed.
1374         * khtml/editing/remove_node_attribute_command.h: Removed.
1375         * khtml/editing/remove_node_command.cpp: Removed.
1376         * khtml/editing/remove_node_command.h: Removed.
1377         * khtml/editing/remove_node_preserving_children_command.cpp: Removed.
1378         * khtml/editing/remove_node_preserving_children_command.h: Removed.
1379         * khtml/editing/replace_selection_command.cpp: Removed.
1380         * khtml/editing/replace_selection_command.h: Removed.
1381         * khtml/editing/set_node_attribute_command.cpp: Removed.
1382         * khtml/editing/set_node_attribute_command.h: Removed.
1383         * khtml/editing/split_element_command.cpp: Removed.
1384         * khtml/editing/split_element_command.h: Removed.
1385         * khtml/editing/split_text_node_command.cpp: Removed.
1386         * khtml/editing/split_text_node_command.h: Removed.
1387         * khtml/editing/split_text_node_containing_element.cpp: Removed.
1388         * khtml/editing/split_text_node_containing_element_command.h: Removed.
1389         * khtml/editing/text_affinity.h: Removed.
1390         * khtml/editing/text_granularity.h: Removed.
1391         * khtml/editing/typing_command.cpp: Removed.
1392         * khtml/editing/typing_command.h: Removed.
1393         * khtml/editing/visible_position.cpp: Removed.
1394         * khtml/editing/visible_position.h: Removed.
1395         * khtml/editing/visible_range.cpp: Removed.
1396         * khtml/editing/visible_range.h: Removed.
1397         * khtml/editing/visible_text.cpp: Removed.
1398         * khtml/editing/visible_text.h: Removed.
1399         * khtml/editing/visible_units.cpp: Removed.
1400         * khtml/editing/visible_units.h: Removed.
1401         * khtml/editing/wrap_contents_in_dummy_span_command.cpp: Removed.
1402         * khtml/editing/wrap_contents_in_dummy_span_command.h: Removed.
1403
1404 2006-02-14  John Sullivan  <sullivan@apple.com>
1405
1406         Reviewed by Adele Peterson.
1407         
1408         - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=7255
1409         label attribute in option elements is ignored
1410         
1411         Test cases: 
1412         * dom/html/level2/html/HTMLOptionElement_label01.html
1413         * dom/html/level2/html/HTMLOptionElement_label02.html
1414         * dom/html/level2/html/HTMLOptionElement_label03.html
1415
1416         * rendering/render_form.cpp:
1417         (WebCore::RenderSelect::updateFromElement):
1418         use label attribute, if present, when setting text on the widget.
1419
1420 2006-02-14  Vicki Murley <vicki@apple.com>
1421
1422         Reviewed by Maciej.
1423
1424         Change formatting in this file to match the style guidelines.  No spaces after
1425         opening parentheses or before closing parentheses. 
1426
1427         * dom/DocumentImpl.cpp:
1428         (WebCore::DocumentImpl::createDocumentFragment):
1429         (WebCore::DocumentImpl::recalcStyle):
1430         (WebCore::DocumentImpl::attach):
1431         (WebCore::DocumentImpl::detach):
1432         (WebCore::DocumentImpl::open):
1433         (WebCore::DocumentImpl::write):
1434         (WebCore::DocumentImpl::writeln):
1435         (WebCore::DocumentImpl::setUserStyleSheet):
1436         (WebCore::DocumentImpl::determineParseMode):
1437         (WebCore::DocumentImpl::processHttpEquiv):
1438         (WebCore::DocumentImpl::childAllowed):
1439         (WebCore::DocumentImpl::childTypeAllowed):
1440         (WebCore::DocumentImpl::recalcStyleSelector):
1441         (WebCore::DocumentImpl::dispatchImageLoadEventsNow):
1442         (WebCore::DocumentImpl::domain):
1443         (WebCore::DocumentImpl::setDomain):
1444         (WebCore::DocumentImpl::parseQualifiedName):
1445         (WebCore::DocumentImpl::addMarker):
1446         (WebCore::DocumentImpl::removeMarkers):
1447
1448 2006-02-14  John Sullivan  <sullivan@apple.com>
1449
1450         Reviewed by Tim Hatcher.
1451
1452         Some cleanup from the previous checkin, inspired by Darin's comments
1453         
1454         * bridge/mac/MacFrame.h:
1455         * bridge/mac/MacFrame.mm:
1456         moved highlightAllMatchesForString out of here
1457         
1458         * bridge/mac/WebCoreFrameBridge.mm:
1459         (-[WebCoreFrameBridge highlightAllMatchesForString:caseSensitive:]):
1460         now converts NSString to QString here, rather than in Frame/MacFrame
1461         
1462         * dom/DocumentMarker.h: Added.
1463         (WebCore::DocumentMarker::):
1464         (WebCore::DocumentMarker::operator == ):
1465         (WebCore::DocumentMarker::operator != ):
1466         moved this struct to its own header file
1467         
1468         * dom/DocumentImpl.h:
1469         moved DocumentMarker out; now includes DocumentMarker.h        
1470         
1471         * page/Frame.h:
1472         * page/Frame.cpp:
1473         (WebCore::Frame::highlightAllMatchesForString):
1474         moved here from MacFrame.[h,mm]. I thought this used other code from
1475         MacFrame.mm but it doesn't.
1476         
1477         * rendering/InlineTextBox.h:
1478         removed unnecesssary variable names; use DocumentMarker::MarkerType in signature
1479         of paintAllMarkersOfType
1480         * rendering/InlineTextBox.cpp:
1481         (khtml::InlineTextBox::paintTextMatchMarker):
1482         better name for a variable, fixed bad indent
1483         (khtml::InlineTextBox::paintAllMarkersOfType):
1484         rewrote loop to bail out early if past end, for clarity;
1485         use DocumentMarker::MarkerType in signature
1486         
1487         * WebCore.xcodeproj/project.pbxproj:
1488         updated for new file        
1489
1490 2006-02-13  John Sullivan  <sullivan@apple.com>
1491
1492         Reviewed by Tim Omernick.
1493
1494         Support for highlighting multiple text matches.
1495
1496         * dom/DocumentImpl.h:
1497         (WebCore::DocumentMarker::):
1498         Added new marker type TextMatch
1499
1500         * bridge/mac/WebCoreFrameBridge.h:
1501         * bridge/mac/WebCoreFrameBridge.mm:
1502         (-[WebCoreFrameBridge highlightAllMatchesForString:caseSensitive:]):
1503         new method, calls through to MacFrame implementation
1504         (-[WebCoreFrameBridge clearHighlightedMatches]):
1505         new method, removes all markers of type TextMatch
1506
1507         * bridge/mac/MacFrame.h:
1508         * bridge/mac/MacFrame.mm:
1509         (WebCore::MacFrame::highlightAllMatchesForString):
1510         new method, adds a document marker for each range that matches the given string
1511
1512         * rendering/InlineTextBox.h:
1513         * rendering/InlineTextBox.cpp:
1514         (khtml::InlineTextBox::paint):
1515         Moved DocumentMarker loop into separate method paintAllMarkersOfType. We now call
1516         that method twice, once for spelling markers (after drawing text) and once for
1517         text match markers (before drawing text)
1518         (khtml::InlineTextBox::paintTextMatchMarker):
1519         new method, paints a color behind a text match marker
1520         (khtml::InlineTextBox::paintSpellingMarker):
1521         renamed from paintMarker
1522         (khtml::InlineTextBox::paintAllMarkersOfType):
1523         new method, loops through all DocumentMarkers of a particular type and calls the
1524         appropriate painting method for each one
1525
1526 2006-02-13  Darin Adler  <darin@apple.com>
1527
1528         Reviewed by Maciej.
1529
1530         - move pointer from frame to page here from WebKit
1531
1532         * WebCore.xcodeproj/project.pbxproj: Added PageMac.h.
1533
1534         * bridge/mac/PageMac.h: Added.
1535
1536         * bridge/mac/MacFrame.h: Added a page parameter to the constructor.
1537         * bridge/mac/MacFrame.mm:
1538         (WebCore::MacFrame::MacFrame): Pass the page and renderer to the Frame constructor.
1539         Moved the call to Cache::init up into Frame, and got rid of the call to Frame::init
1540         since that's now handled by the constructor. Also put the code to create the
1541         browser extension object here.
1542         (WebCore::MacFrame::submitForm): Update for new method name.
1543         (WebCore::MacFrame::createFrame): Ditto.
1544         (WebCore::MacFrame::sendContextMenuEvent): Update since m_doc is a RefPtr.
1545
1546         * bridge/mac/WebCoreFrameBridge.h: Changed parameters on init methods. Renamed
1547         the part method to impl. Added a page method.
1548         * bridge/mac/WebCoreFrameBridge.mm:
1549         (frameHasSelection): Change use of part method to impl.
1550         (-[WebCoreFrameBridge appendChild:]): Use m_frame directly instead of calling part method.
1551         (-[WebCoreFrameBridge removeChild:]): Ditto.
1552         (-[WebCoreFrameBridge initMainFrameWithPage:]): Added. Now does the first-time initialization
1553         only here and create a frame for a main frame.
1554         (-[WebCoreFrameBridge initSubframeWithRenderer:]): Added. Doesn't do the first-time initialization
1555         and creates a frame for a subframe.
1556         (-[WebCoreFrameBridge page]): Added.
1557         (-[WebCoreFrameBridge setOpener:]): Change to use impl method instead of part.
1558         (-[WebCoreFrameBridge executionContextForView:]): Ditto.
1559         (-[WebCoreFrameBridge impl]): Added.
1560
1561         * bridge/mac/WebCorePageBridge.h: Removed init method and added setMainFrame: method and impl method.
1562         * bridge/mac/WebCorePageBridge.mm:
1563         (-[WebCorePageBridge init]): Changed to create a PageMac.
1564         (-[WebCorePageBridge setMainFrame:]): Added.
1565         (-[WebCorePageBridge impl]): Added.
1566
1567         * bridge/mac/BrowserExtensionMac.mm:
1568         (WebCore::BrowserExtensionMac::createNewWindow):
1569         * kwq/KWQAccObject.mm:
1570         (-[KWQAccObject rendererForView:]):
1571         * kwq/KWQComboBox.mm:
1572         (-[KWQPopUpButtonCell trackMouse:inRect:ofView:untilMouseUp:]):
1573         * kwq/KWQFileButton.mm:
1574         (KWQFileButton::focusPolicy):
1575         * kwq/KWQSlider.mm:
1576         (QSlider::focusPolicy):
1577         * kwq/KWQTextArea.mm:
1578         (-[KWQTextAreaTextView _isResizableByUser]):
1579         (-[KWQTextAreaTextView _trackResizeFromMouseDown:]):
1580         Change methods to get from bridge back to objects to be named "impl".
1581         The old one was named "part".
1582
1583         * page/Frame.h: Added Page and RenderPart parameter to constructor.
1584         Added a page function. Removed the createBrowserExtension function.
1585         * page/Frame.cpp:
1586         (WebCore::parentFromOwnerRenderer): Added. Helper for constructor.
1587         (WebCore::Frame::Frame): Moved all the code from init into here. Also change
1588         to set the parent right from the start.
1589         (WebCore::Frame::stopLoading): Change since m_doc is now a RefPtr.
1590         (WebCore::Frame::clear): Ditto.
1591         (WebCore::Frame::document): Ditto.
1592         (WebCore::Frame::setDocument): Ditto.
1593         (WebCore::Frame::begin): Ditto.
1594         (WebCore::Frame::gotoAnchor): Ditto.
1595         (WebCore::Frame::typingStyle): Change since m_typingStyle is now a RefPtr.
1596         (WebCore::Frame::setTypingStyle): Ditto.
1597         (WebCore::Frame::clearTypingStyle): Ditto.
1598         (WebCore::Frame::isFrameSet): Change since m_doc is now a RefPtr.
1599         (WebCore::Frame::page): Added.
1600
1601         * page/FramePrivate.h: Changed initialization to use member-initialization
1602         syntax. Removed unused m_frames. Changed m_doc and m_typingStyle to use
1603         RefPtr. Added an m_frame.
1604
1605         * page/Page.h: Made destructor virtual so we could have a Mac derived class.
1606         Added a setMainFrame function and removed the mainFrame parameter from the constructor.
1607         * page/Page.cpp:
1608         (WebCore::Page::Page): Removed the mainFrame parameter.
1609         (WebCore::Page::setMainFrame): Added.
1610
1611 2006-02-13  David Harrison  <harrison@apple.com>
1612
1613         Reviewed by Justin.
1614
1615         - merge VisiblePosition:isCandidate() into Position::inRenderedContent()
1616           These functions were answering the same question in different ways!  We
1617           only need one implementation.
1618
1619         * khtml/editing/visible_position.cpp:
1620         (khtml::VisiblePosition::init):
1621         (khtml::VisiblePosition::previousVisiblePosition):
1622         (khtml::VisiblePosition::nextVisiblePosition):
1623         (khtml::VisiblePosition::deepEquivalent):
1624         * khtml/editing/visible_position.h:
1625         * dom/dom_position.cpp:
1626         (DOM::hasRenderedChildrenWithHeight):
1627         (DOM::Position::inRenderedContent):
1628
1629
1630         - improved table deletion.
1631           Fixes: delete back by word from just after table did not delete the table
1632                  delete forward by char or word did not delete the table
1633                  deleting back to a table and again did not delete the table
1634
1635         * khtml/editing/htmlediting.cpp:
1636         (WebCore::isFirstVisiblePositionAfterTableElement):
1637         simpler implementation
1638         (WebCore::positionBeforePrecedingTableElement):
1639         simpler implementation
1640         (WebCore::isFirstVisiblePositionBeforeTableElement):
1641         new
1642         (WebCore::positionAfterFollowingTableElement):
1643         new
1644         * khtml/editing/htmlediting.h:
1645         * khtml/editing/SelectionController.cpp:
1646         (WebCore::SelectionController::modifyExtendingRightForward):
1647         select following table if granularity is char or word
1648         (WebCore::SelectionController::modifyExtendingLeftBackward):
1649         select preceding table if granularity is char or word
1650         * khtml/editing/typing_command.cpp:
1651         (khtml::TypingCommand::deleteKeyPressed):
1652         simpler implementation, and let other deleteKeyPressed do boundary checking
1653         (khtml::TypingCommand::forwardDeleteKeyPressed):
1654         simpler implementation, and let other forwardDeleteKeyPressed do boundary checking
1655         (khtml::TypingCommand::insertText):
1656         standard formatting
1657         (khtml::TypingCommand::insertLineBreak):
1658         standard formatting
1659         (khtml::TypingCommand::insertParagraphSeparatorInQuotedContent):
1660         standard formatting
1661         (khtml::TypingCommand::insertParagraphSeparator):
1662         standard formatting
1663         (khtml::TypingCommand::insertTextRunWithoutNewlines):
1664         standard formatting
1665         (khtml::TypingCommand::deleteKeyPressed):
1666         use SelectionController to extend selection, to get all the selection
1667         logic incl. table selection and editable/noneditable boundary checks
1668         (khtml::TypingCommand::forwardDeleteKeyPressed):
1669         use SelectionController to extend selection, to get all the selection
1670         logic incl. table selection and editable/noneditable boundary checks
1671
1672 2006-02-13  David Hyatt  <hyatt@apple.com>
1673
1674         Fix for bug 5605, XSLT fails to import to arbitrary depth.  Make sure m_embedded is initialized to false
1675         in the XSLTStyleSheetImpl constructor.
1676
1677         Reviewed by timo
1678
1679         Adding xslt-import-depth.xml to fast/xsl
1680
1681         * khtml/xsl/xsl_stylesheetimpl.cpp:
1682         (DOM::XSLStyleSheetImpl::XSLStyleSheetImpl):
1683
1684 2006-02-13  Dave Hyatt <hyatt@apple.com>
1685
1686         Fix Win32 bustage in WebCore.
1687
1688         Reviewed by darin
1689
1690         * WebCore.vcproj/WebCore/WebCore.vcproj:
1691         * platform/Timer.cpp:
1692         (WebCore::operator==):
1693         (WebCore::operator!=):
1694         (WebCore::TimerBase::heapPop):
1695
1696         HUGE_VAL can be used on both Windows and Mac, so replace 1e500 with
1697         that.
1698
1699         Add == and != operators for the TimerHeapIterator.
1700
1701         * platform/image-decoders/png/PNGImageDecoder.cpp:
1702         (WebCore::PNGImageDecoder::rowAvailable):
1703
1704         Fix my bustage in the PNG decoder where I left off a stray
1705         parenthesis.
1706
1707         * platform/win/SharedTimerWin.cpp:
1708         (WebCore::timerFired):
1709         (WebCore::setSharedTimerFireTime):
1710         (WebCore::stopSharedTimer):
1711
1712         KillTimer should take 2 arguments.  Add some missing includes.
1713
1714 2006-02-12  Alexander Kellett  <lypanov@kde.org>
1715
1716         Reviewed by eseidel.
1717
1718         Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7207.
1719
1720         No testcases as this is not possible to reproduce via anything
1721         other than manual interaction.
1722
1723         * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
1724         (WebCore::KCanvasFilterQuartz::getCIFilterStack):
1725
1726 2006-02-13  Darin Adler  <darin@apple.com>
1727
1728         Reviewed by Hyatt.
1729
1730         - moved QWidget to platform directory, renamed to Widget,
1731           split into cross-platform and platform-specific parts,
1732           removed some of the unused bits
1733
1734         * ForwardingHeaders/qwidget.h: Removed.
1735         * kwq/KWQWidget.h: Removed.
1736         * kwq/KWQWidget.mm: Removed.
1737
1738         * WebCore.vcproj/WebCore/WebCore.vcproj: Update for file removals and adds.
1739         * WebCore.xcodeproj/project.pbxproj: Ditto.
1740
1741         * platform/Widget.h: Moved code here, fixed it up.
1742         * platform/Widget.cpp: Ditto.
1743         * platform/mac/WidgetMac.mm: Added.
1744
1745         * bindings/objc/DOMHTML.mm:
1746         (viewForElement):
1747         * bridge/mac/KWQKHTMLView.cpp:
1748         (WebCore::FrameView::topLevelWidget):
1749         * bridge/mac/MacFrame.h:
1750         * bridge/mac/MacFrame.mm:
1751         (WebCore::MacFrame::createPlugin):
1752         (WebCore::MacFrame::nextKeyViewInFrame):
1753         (WebCore::MacFrame::nextKeyViewForWidget):
1754         (WebCore::MacFrame::currentEventIsMouseDownInWidget):
1755         (WebCore::MacFrame::bridgeForWidget):
1756         (WebCore::MacFrame::passMouseDownEventToWidget):
1757         (WebCore::MacFrame::passSubframeEventToSubframe):
1758         (WebCore::MacFrame::passWheelEventToChildWidget):
1759         (WebCore::MacFrame::getAppletInstanceForWidget):
1760         (WebCore::MacFrame::getEmbedInstanceForWidget):
1761         (WebCore::MacFrame::getObjectInstanceForWidget):
1762         * bridge/mac/WebCoreFrameBridge.mm:
1763         (-[WebCoreFrameBridge createFrameViewWithNSView:marginWidth:marginHeight:]):
1764         (-[WebCoreFrameBridge copyRenderNode:copier:]):
1765         (-[WebCoreFrameBridge elementForView:]):
1766         (-[WebCoreFrameBridge RenderObject::nodeInfoAtPoint:]):
1767         * dom/DocumentImpl.cpp:
1768         (WebCore::widgetForNode):
1769         (WebCore::DocumentImpl::setFocusNode):
1770         * khtml/ecma/kjs_window.cpp:
1771         (KJS::Screen::getValueProperty):
1772         (KJS::WindowFunc::callAsFunction):
1773         * khtml/html/HTMLGenericFormElementImpl.cpp:
1774         (WebCore::HTMLGenericFormElementImpl::isKeyboardFocusable):
1775         (WebCore::HTMLGenericFormElementImpl::isMouseFocusable):
1776         * khtml/html/html_objectimpl.cpp:
1777         (WebCore::HTMLEmbedElementImpl::getEmbedInstance):
1778         (WebCore::HTMLObjectElementImpl::getObjectInstance):
1779         * kwq/KWQAccObject.mm:
1780         (-[KWQAccObject addChildrenToArray:]):
1781         (-[KWQAccObject attachmentView]):
1782         (-[KWQAccObject doAXTextMarkerForPosition:]):
1783         * kwq/KWQComboBox.h:
1784         * kwq/KWQComboBox.mm:
1785         (QComboBox::frameGeometry):
1786         (QComboBox::setFrameGeometry):
1787         (QComboBox::setFont):
1788         (QComboBox::focusPolicy):
1789         (-[KWQPopUpButtonCell widget]):
1790         (-[KWQPopUpButton widget]):
1791         (-[KWQPopUpButton mouseDown:]):
1792         (-[KWQPopUpButton becomeFirstResponder]):
1793         (-[KWQPopUpButton resignFirstResponder]):
1794         (-[KWQPopUpButton nextKeyView]):
1795         (-[KWQPopUpButton previousKeyView]):
1796         * kwq/KWQFileButton.h:
1797         * kwq/KWQFileButton.mm:
1798         (KWQFileButton::focusPolicy):
1799         * kwq/KWQFrame.h:
1800         * kwq/KWQKCursor.h:
1801         * kwq/KWQKJavaAppletWidget.h:
1802         * kwq/KWQKJavaAppletWidget.mm:
1803         (KJavaAppletWidget::KJavaAppletWidget):
1804         * kwq/KWQLineEdit.h:
1805         * kwq/KWQLineEdit.mm:
1806         (QLineEdit::setFont):
1807         (QLineEdit::setPalette):
1808         (QLineEdit::focusPolicy):
1809         * kwq/KWQListBox.h:
1810         * kwq/KWQListBox.mm:
1811         (QListBox::QListBox):
1812         (QListBox::focusPolicy):
1813         (QListBox::setFont):
1814         (-[KWQListBoxScrollView widget]):
1815         (-[KWQListBoxScrollView becomeFirstResponder]):
1816         (-[KWQTableView mouseDown:]):
1817         (-[KWQTableView widget]):
1818         * kwq/KWQPainter.h:
1819         * kwq/KWQRenderTreeDebug.cpp:
1820         (write):
1821         * kwq/KWQScrollBar.h:
1822         * kwq/KWQScrollBar.mm:
1823         (-[KWQScrollBar widget]):
1824         (-[KWQScrollBar mouseDown:]):
1825         (QScrollBar::QScrollBar):
1826         (QScrollBar::~QScrollBar):
1827         * kwq/KWQScrollView.h:
1828         (QScrollView::QScrollView):
1829         * kwq/KWQScrollView.mm:
1830         (QScrollView::viewport):
1831         (QScrollView::childX):
1832         (QScrollView::childY):
1833         (QScrollView::addChild):
1834         (QScrollView::removeChild):
1835         * kwq/KWQSlider.h:
1836         * kwq/KWQSlider.mm:
1837         (-[KWQSlider mouseDown:]):
1838         (-[KWQSlider widget]):
1839         (QSlider::setFont):
1840         (QSlider::focusPolicy):
1841         * kwq/KWQTextArea.mm:
1842         (-[KWQTextAreaTextView widget]):
1843         * kwq/KWQTextEdit.h:
1844         * kwq/KWQTextEdit.mm:
1845         (QTextEdit::QTextEdit):
1846         (QTextEdit::setFont):
1847         (QTextEdit::focusPolicy):
1848         (QTextEdit::setPalette):
1849         * kwq/KWQTextField.mm:
1850         (-[KWQTextFieldController widget]):
1851         (-[KWQTextFieldController textView:shouldHandleEvent:]):
1852         (-[KWQTextFieldController textView:didHandleEvent:]):
1853         (-[KWQTextField widget]):
1854         (-[KWQTextField nextKeyView]):
1855         (-[KWQTextField previousKeyView]):
1856         (-[KWQSecureTextField widget]):
1857         (-[KWQSecureTextField nextKeyView]):
1858         (-[KWQSecureTextField previousKeyView]):
1859         (-[KWQSearchField widget]):
1860         (-[KWQSearchField nextKeyView]):
1861         (-[KWQSearchField previousKeyView]):
1862         * kwq/KWQView.h:
1863         * kwq/KWQWindowWidget.h:
1864         * kwq/KWQWindowWidget.mm:
1865         (KWQWindowWidget::topLevelWidget):
1866         * page/Frame.cpp:
1867         (WebCore::isFrameElement):
1868         (WebCore::Frame::frameForWidget):
1869         (WebCore::Frame::nodeForWidget):
1870         (WebCore::Frame::setDocumentFocus):
1871         (WebCore::Frame::clearDocumentFocus):
1872         (WebCore::Frame::passWidgetMouseDownEventToWidget):
1873         * page/Frame.h:
1874         * page/FrameView.cpp:
1875         (WebCore::FrameView::FrameView):
1876         (WebCore::FrameView::init):
1877         * page/FrameView.h:
1878         * page/Plugin.h:
1879         (WebCore::Plugin::Plugin):
1880         (WebCore::Plugin::view):
1881         * platform/Screen.h:
1882         * platform/mac/ScreenMac.mm:
1883         (WebCore::screen):
1884         (WebCore::screenDepth):
1885         (WebCore::screenRect):
1886         (WebCore::usableScreenRect):
1887         * rendering/render_applet.cpp:
1888         (WebCore::RenderApplet::layout):
1889         * rendering/render_form.cpp:
1890         (WebCore::ComboBoxWidget::ComboBoxWidget):
1891         (WebCore::RenderSelect::createListBox):
1892         * rendering/render_form.h:
1893         * rendering/render_frames.cpp:
1894         (WebCore::RenderPart::setWidget):
1895         * rendering/render_frames.h:
1896         * rendering/render_object.cpp:
1897         * rendering/render_replaced.cpp:
1898         (WebCore::RenderWidget::resizeWidget):
1899         (WebCore::RenderWidget::setQWidget):
1900         * rendering/render_replaced.h:
1901         (WebCore::RenderWidget::widget):
1902         Change name from QWidget to Widget, a few other changes to get compiling.
1903
1904 === WebCore-521.7 ===
1905
1906 2006-02-12  Darin Adler  <darin@apple.com>
1907
1908         Reviewed by Hyatt.
1909
1910         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7206
1911           REGRESSION: PDF "images" no longer render within HTML pages
1912
1913         Test: fast/replaced/page-as-image.html
1914
1915         * platform/Image.cpp: (WebCore::Image::setNativeData):
1916         Return false in the case where the PDF document has not been created yet.
1917
1918 2006-02-12  Darin Adler  <darin@apple.com>
1919
1920         Reviewed by Maciej.
1921
1922         - http://bugzilla.opendarwin.org/show_bug.cgi?id=7209
1923           reimplement Timer so it uses only a single timer from the underlying OS
1924
1925         * WebCore.vcproj/WebCore/WebCore.vcproj: Removed old files, added new.
1926         * WebCore.xcodeproj/project.pbxproj: Ditto.
1927
1928         * platform/Timer.h: Updated for new timer implementation.
1929         * platform/Timer.cpp: Added. Platform-independent implementation of timers
1930         in terms of a single shared timer. Uses a heap to implement a priority queue
1931         so we know which timer to fire first.
1932
1933         * platform/SharedTimer.h: Added.
1934         * platform/mac/SharedTimerMac.cpp: Added.
1935         * platform/win/SharedTimerWin.cpp: Added.
1936
1937         * platform/mac/TimerMac.cpp: Removed.
1938         * platform/win/TimerWin.cpp: Removed.
1939
1940 2006-02-12  Eric Seidel  <eseidel@apple.com>
1941
1942         Reviewed by mjs.
1943
1944         * loader/CachedXSLStyleSheet.cpp: removed duplicate copy of xbl code.
1945
1946 2006-02-12  Maciej Stachowiak  <mjs@apple.com>
1947
1948         Unreviewed build fix.
1949
1950         - fix build
1951
1952         * bindings/scripts/CodeGeneratorJS.pm: Update for splitting of the
1953         dom_textimpl.h header.
1954
1955 2006-02-11  Maciej Stachowiak  <mjs@apple.com>
1956
1957         Reviewed by Darin.
1958
1959         - rename FrameTreeNode to FrameTree and treeNode() to tree()
1960         http://bugzilla.opendarwin.org/show_bug.cgi?id=7210
1961         
1962         This may be slightly less accurate, but reads better.
1963
1964         * WebCore.xcodeproj/project.pbxproj:
1965         * bridge/mac/BrowserExtensionMac.mm:
1966         (WebCore::BrowserExtensionMac::createNewWindow):
1967         * bridge/mac/MacFrame.mm:
1968         (WebCore::MacFrame::submitForm):
1969         (WebCore::MacFrame::nextKeyViewInFrameHierarchy):
1970         * bridge/mac/WebCoreFrameBridge.mm:
1971         (-[WebCoreFrameBridge firstChild]):
1972         (-[WebCoreFrameBridge lastChild]):
1973         (-[WebCoreFrameBridge childCount]):
1974         (-[WebCoreFrameBridge previousSibling]):
1975         (-[WebCoreFrameBridge nextSibling]):
1976         (-[WebCoreFrameBridge appendChild:]):
1977         (-[WebCoreFrameBridge removeChild:]):
1978         (-[WebCoreFrameBridge setParent:]):
1979         (-[WebCoreFrameBridge parent]):
1980         (-[WebCoreFrameBridge setName:]):
1981         (-[WebCoreFrameBridge name]):
1982         * dom/DocumentImpl.cpp:
1983         (WebCore::DocumentImpl::parentDocument):
1984         * khtml/ecma/kjs_window.cpp:
1985         (KJS::Window::getValueProperty):
1986         (KJS::Window::put):
1987         (KJS::Window::isSafeScript):
1988         (KJS::WindowFunc::callAsFunction):
1989         * khtml/html/html_baseimpl.cpp:
1990         (WebCore::HTMLFrameElementImpl::isURLAllowed):
1991         * khtml/html/html_headimpl.cpp:
1992         (WebCore::HTMLLinkElementImpl::process):
1993         * page/Frame.cpp:
1994         (WebCore::Frame::stopLoading):
1995         (WebCore::Frame::clear):
1996         (WebCore::Frame::stopAnimations):
1997         (WebCore::Frame::checkCompleted):
1998         (WebCore::Frame::checkEmitLoadEvent):
1999         (WebCore::Frame::slotChildCompleted):
2000         (WebCore::Frame::findFrame):
2001         (WebCore::Frame::setZoomFactor):
2002         (WebCore::Frame::frameNames):
2003         (WebCore::Frame::frames):
2004         (WebCore::Frame::childFrameNamed):
2005         (WebCore::Frame::incrementFrameCount):
2006         (WebCore::Frame::decrementFrameCount):
2007         (WebCore::Frame::topLevelFrameCount):
2008         (WebCore::Frame::selectFrameElementInParentIfFullySelected):
2009         (WebCore::Frame::userGestureHint):
2010         (WebCore::Frame::canCachePage):
2011         (WebCore::Frame::updatePolicyBaseURL):
2012         (WebCore::Frame::setPolicyBaseURL):
2013         (WebCore::Frame::tree):
2014         (WebCore::Frame::frameDetached):
2015         (WebCore::Frame::updateBaseURLForEmptyDocument):
2016         * page/Frame.h:
2017         * page/FramePrivate.h:
2018         * page/FrameTree.cpp: Added.
2019         (WebCore::FrameTree::~FrameTree):
2020         (WebCore::FrameTree::setName):
2021         (WebCore::FrameTree::appendChild):
2022         (WebCore::FrameTree::removeChild):
2023         * page/FrameTree.h: Added.
2024         (WebCore::FrameTree::FrameTree):
2025         * page/FrameTreeNode.cpp: Removed.
2026         * page/FrameTreeNode.h: Removed.
2027         * rendering/render_frames.cpp:
2028         (WebCore::isURLAllowed):
2029
2030 2006-02-12  Dave Hyatt <hyatt@apple.com>
2031
2032         Fix for bug 7182, animated GIFs don't clear previous animation
2033         frames.  This checkin fixes the decoders in our tree (used on
2034         Win32 only).  It does not address the problem with ImageIO
2035         on Mac (which has the same bug).  This has been filed separately
2036         as Radar bug #4442031.
2037
2038         Reviewed by mjs
2039
2040         * platform/image-decoders/ImageDecoder.h:
2041         (WebCore::RGBA32Buffer::rect):
2042         (WebCore::RGBA32Buffer::setRect):
2043         (WebCore::RGBA32Buffer::ensureHeight):
2044         * platform/image-decoders/gif/GIFImageDecoder.cpp:
2045         (WebCore::GIFImageDecoder::initFrameBuffer):
2046         * platform/image-decoders/png/PNGImageDecoder.cpp:
2047         (WebCore::PNGImageDecoder::rowAvailable):
2048
2049 2006-02-11  Geoffrey Garen  <ggaren@apple.com>
2050
2051         - Fixed bad free resulting from 0 legnth StringImpl
2052
2053         No test case because currently this bug only has the effect of a bad
2054         free on exit().
2055
2056         * platform/StringImpl.cpp:
2057         (WebCore::StringImpl::StringImpl): Factored varied approaches to
2058         initialization into two common routines: initWithChar and
2059         initWithQChar. The common rule is: if we're not going to allocate
2060         a string, make sure to set s to 0 so fastFree doesn't try to free it
2061         later. For speed, initWithQChar uses memcpy() -- that's the only
2062         difference between the two.
2063         (WebCore::StringImpl::initWithChar):
2064         (WebCore::StringImpl::initWithQChar):
2065         * platform/StringImpl.h:
2066
2067 2006-02-11  Maciej Stachowiak  <mjs@apple.com>
2068
2069         Rubber stamped by Eric.
2070
2071         - split dom_textimpl.{h,cpp} by class.
2072
2073         * WebCore.xcodeproj/project.pbxproj:
2074         * bindings/objc/DOM.mm:
2075         * bridge/mac/MacFrame.mm:
2076         * dom/CDATASectionImpl.cpp: Added.
2077         * dom/CDATASectionImpl.h: Added.
2078         * dom/CharacterDataImpl.cpp: Added.
2079         * dom/CharacterDataImpl.h: Added.
2080         * dom/CommentImpl.cpp: Added.
2081         * dom/CommentImpl.h: Added.
2082         * dom/DocumentImpl.cpp:
2083         * dom/EditingTextImpl.cpp: Added.
2084         * dom/EditingTextImpl.h: Added.
2085         * dom/NodeImpl.cpp:
2086         * dom/TextImpl.cpp: Added.
2087         * dom/TextImpl.h: Added.
2088         * dom/dom2_rangeimpl.cpp:
2089         * dom/dom_elementimpl.cpp:
2090         * dom/dom_textimpl.cpp: Removed.
2091         * dom/dom_textimpl.h: Removed.
2092         * dom/xml_tokenizer.cpp:
2093         * khtml/ecma/kjs_dom.cpp:
2094         * khtml/ecma/kjs_html.cpp:
2095         * khtml/editing/SelectionController.cpp:
2096         * khtml/editing/apply_style_command.cpp:
2097         * khtml/editing/break_blockquote_command.cpp:
2098         * khtml/editing/composite_edit_command.cpp:
2099         * khtml/editing/delete_from_text_node_command.cpp:
2100         * khtml/editing/delete_selection_command.cpp:
2101         * khtml/editing/htmlediting.cpp:
2102         * khtml/editing/insert_into_text_node_command.cpp:
2103         * khtml/editing/insert_line_break_command.cpp:
2104         * khtml/editing/insert_paragraph_separator_command.cpp:
2105         * khtml/editing/insert_text_command.cpp:
2106         * khtml/editing/join_text_nodes_command.cpp:
2107         * khtml/editing/markup.cpp:
2108         * khtml/editing/rebalance_whitespace_command.cpp:
2109         * khtml/editing/replace_selection_command.cpp:
2110         * khtml/editing/split_text_node_command.cpp:
2111         * khtml/editing/split_text_node_containing_element.cpp:
2112         * khtml/editing/visible_position.cpp:
2113         * khtml/html/HTMLElementImpl.cpp:
2114         * khtml/html/HTMLKeygenElementImpl.cpp:
2115         * khtml/html/HTMLOptionElementImpl.cpp:
2116         * khtml/html/HTMLTextAreaElementImpl.cpp:
2117         * khtml/html/html_headimpl.cpp:
2118         * khtml/html/html_objectimpl.cpp:
2119         * khtml/html/htmlparser.cpp:
2120         * khtml/xsl/xslt_processorimpl.cpp:
2121         * page/Frame.cpp:
2122         * rendering/RenderText.h:
2123         * rendering/render_frames.cpp:
2124
2125 2006-02-11  Alexander Kellett  <lypanov@kde.org>
2126
2127         Reviewed by eseidel.
2128
2129         - Fixing http://bugzilla.opendarwin.org/show_bug.cgi?id=6942
2130           Implement support for "em" and "ex" relative lengths.
2131
2132         - Layout tests changes:
2133             Fixed: svg/W3C-SVG-1.1/coords-units-03-b.svg
2134             New:   svg/custom/coords-relative-units-transforms.svg
2135
2136         * ksvg2/svg/SVGLengthImpl.cpp:
2137         (SVGLengthImpl::SVGLengthImpl):
2138         (SVGLengthImpl::value):
2139         (SVGLengthImpl::updateValue):
2140         (SVGLengthImpl::updateValueInSpecifiedUnits):
2141         * ksvg2/svg/SVGLengthImpl.h:
2142
2143 2006-02-11  Darin Adler  <darin@apple.com>
2144
2145         Rubber-stamped by Eric.
2146
2147         - renamed all the platform/mac files to have a Mac suffix
2148           (Hyatt and I discussed this change recently)
2149
2150         * WebCore.xcodeproj/project.pbxproj:
2151         * platform/mac/Color.mm: Removed.
2152         * platform/mac/ColorMac.mm: Added.
2153         * platform/mac/FloatPoint.mm: Removed.
2154         * platform/mac/FloatPointMac.mm: Added.
2155         * platform/mac/FloatRect.mm: Removed.
2156         * platform/mac/FloatRectMac.mm: Added.
2157         * platform/mac/FloatSize.mm: Removed.
2158         * platform/mac/FloatSizeMac.mm: Added.
2159         * platform/mac/Image.mm: Removed.
2160         * platform/mac/ImageMac.mm: Added.
2161         * platform/mac/ImageSource.cpp: Removed.
2162         * platform/mac/ImageSourceMac.cpp: Added.
2163         * platform/mac/IntPoint.mm: Removed.
2164         * platform/mac/IntPointMac.mm: Added.
2165         * platform/mac/IntRect.mm: Removed.
2166         * platform/mac/IntRectMac.mm: Added.
2167         * platform/mac/IntSize.mm: Removed.
2168         * platform/mac/IntSizeMac.mm: Added.
2169         * platform/mac/QString.mm: Removed.
2170         * platform/mac/QStringMac.mm: Added.
2171         * platform/mac/Screen.mm: Removed.
2172         * platform/mac/ScreenMac.mm: Added.
2173         * platform/mac/SystemTime.cpp: Removed.
2174         * platform/mac/SystemTimeMac.cpp: Added.
2175         * platform/mac/Timer.cpp: Removed.
2176         * platform/mac/TimerMac.cpp: Added.
2177
2178 2006-02-11  Eric Seidel  <eseidel@apple.com>
2179
2180         Rubber-stamped by darin.
2181
2182         Push kcanvas into WebCore namespace.
2183         Fix KSVG2 to use WebCore namespace.
2184         Remove all uses of khtml:: and KDOM:: from SVG code.
2185         
2186         Too many files changed to bother showing here.
2187
2188 2006-02-11  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2189  
2190          Test: fast/table/edge-offsets.html
2191  
2192          Reviewed by Hyatt.
2193  
2194          - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7054
2195            Vertical scroll bars do not appear or do not scroll completely
2196  
2197          * rendering/RenderTableSection.cpp:
2198          (WebCore::RenderTableSection::lowestPosition): Override the superclass implementation
2199          to return the lowest of all the cells' lowest positions and the section's.
2200          (WebCore::RenderTableSection::rightmostPosition): Ditto for rightmost.
2201          (WebCore::RenderTableSection::leftmostPosition): Ditto for leftmost.
2202          * rendering/RenderTableSection.h:
2203  
2204 2006-02-11  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2205  
2206         No test until we figure out how to make one.
2207
2208          Reviewed by Darin.
2209  
2210          - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7189
2211            XSLT result parsing stops prematurely
2212  
2213          * khtml/xsl/xslt_processorimpl.cpp:
2214          (DOM::XSLTProcessorImpl::createDocumentFromSource): Removed the call to setParsing(false) from here
2215          since it stopped parsing prematurely. Now the frame will call it when the tokenizer is finished.
2216          * page/Frame.cpp:
2217          (WebCore::Frame::clear): Disconnect the finishedParsing signal handler from the document.
2218          (WebCore::Frame::setDocument): Disconnect the signal handler from the old document and
2219          connect it to the new document.
2220
2221 2006-02-11  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2222  
2223          Reviewed by Hyatt.
2224  
2225          - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6821
2226            Fix for 5983 will not always update hover correctly.
2227  
2228          * khtml/xml/DocumentImpl.cpp:
2229          (WebCore::DocumentImpl::hoveredNodeDetached): Added this method. Moved the hover logic from
2230          NodeImpl::detach here, modified to use the DOM tree instead of hoverAncestor,
2231          to handle the case that the hover node is a text node, and to schedule an update
2232          of hover state.
2233          (WebCore::DocumentImpl::activeChainNodeDetached): Added this method to trim the
2234          active chain above the node being detached.
2235          * khtml/xml/DocumentImpl.h:
2236          * khtml/xml/NodeImpl.cpp:
2237          (WebCore::NodeImpl::detach): Moved most of the hover logic out of here into
2238          DocumentImpl. Reset m_active and m_inActiveChain and call activeChainNodeDetached
2239          when detaching an active node. 
2240          * manual-tests/bugzilla-6821.html: Added.
2241          * page/FrameView.cpp:
2242          (WebCore::FrameViewPrivate::FrameViewPrivate): Added hover-state update timer.
2243          (WebCore::FrameViewPrivate::reset):
2244          (WebCore::FrameView::~FrameView):
2245          (WebCore::FrameView::viewportMouseMoveEvent):
2246          (WebCore::FrameView::hoverTimerFired): Call DocumentImpl::prepareMouseEvent
2247          when the timer fires to cause hover state to update.
2248          (WebCore::FrameView::scheduleHoverStateUpdate): Added.
2249          * page/FrameView.h:
2250  
2251 2006-02-11  Alexey Proskuryakov  <ap@nypop.com>
2252
2253         Reviewed by Darin.
2254
2255        - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=3400
2256          setting the .src of an iframe to the same value does not reload page
2257
2258         Test cases: 
2259         * fast/frames/frame-set-same-location.html
2260         * fast/frames/frame-set-same-src.html
2261         * fast/frames/iframe-set-same-location.html
2262         * fast/frames/iframe-set-same-src.html
2263
2264         * khtml/html/html_baseimpl.cpp:
2265         (WebCore::HTMLFrameElementImpl::setLocation):
2266         Remove the check for the new URL being different from the current one.
2267         Moved updateForNewURL() code into setLocation().
2268         * khtml/html/html_baseimpl.h:
2269
2270 2006-02-10  Eric Seidel  <eseidel@apple.com>
2271
2272         Reviewed by hyatt.
2273
2274         Adding support for external entity declarations in XSLT.
2275         http://bugzilla.opendarwin.org/show_bug.cgi?id=7184
2276         <rdar://problem/4271696> support external DTD references in XSLT
2277
2278         * dom/xml_tokenizer.cpp:
2279         (WebCore::OffsetBuffer::OffsetBuffer): new support class
2280         (WebCore::OffsetBuffer::readOutBytes): read method
2281         (WebCore::shouldAllowExternalLoad): for preventing common urls
2282         (WebCore::openFunc): now does a synchronous data load
2283         (WebCore::readFunc): returns data from the offset buffer
2284         (WebCore::closeFunc): deletes offset buffer
2285         (WebCore::setLoaderForLibXMLCallbacks): helper function
2286         (WebCore::createQStringParser): cleanup
2287         (WebCore::XMLTokenizer::finish): 
2288         * dom/xml_tokenizer.h:
2289         * khtml/xsl/xsl_stylesheetimpl.cpp:
2290         (WebCore::XSLStyleSheetImpl::parseString):
2291         * khtml/xsl/xsl_stylesheetimpl.h:
2292
2293 2006-02-10  Beth Dakin  <bdakin@apple.com>
2294
2295         Reviewed by Hyatt
2296
2297         Fix for <rdar://problem/4149655> Frequently reported crash, repro 
2298         at lastminute.se in khtml::RenderBlock::createLineBoxes
2299
2300         Some crazy combination of an anonymous table, an inline form, and 
2301         generated content caused table objects to be added to a flow and 
2302         then split. This is very bad. Once the crash was fixed, there were 
2303         still some rendering issues that this patch also fixes. We needed 
2304         to make sure we only special case forms for non-CSS tables so that 
2305         the form and generated content render as expected.
2306
2307         * rendering/RenderContainer.cpp:
2308         (WebCore::RenderContainer::appendChildNode): Assert that if we are 
2309         a block flow, our child cannot be a table object.
2310         (WebCore::RenderContainer::insertChildNode): Same.
2311         * rendering/RenderTable.cpp:
2312         (WebCore::RenderTable::addChild): Only special-case forms if we are 
2313         not a CSS table.
2314         * rendering/RenderTableRow.cpp:
2315         (WebCore::RenderTableRow::addChild): Same.
2316         * rendering/RenderTableSection.cpp:
2317         (WebCore::RenderTableSection::addChild): Same.
2318         * rendering/render_inline.cpp:
2319         (WebCore::RenderInline::addChildToFlow): Here is the crash fix. Check to make sure our containing block is a block flow.
2320
2321 2006-02-10  Darin Adler  <darin@apple.com>
2322
2323         - fixed the build, this time for sure
2324
2325         * bindings/js/JSDOMCore.cpp: Touch this file, since the project doesn't get
2326         the dependencies right.
2327         * bindings/js/JSDOMEvents.cpp: Ditto.
2328
2329         * bridge/mac/WebCoreFrameBridge.mm: (aeDescFromJSValue): Fix an uninitialized
2330         variable warning and also tightened the code for Boolean, String, and Number
2331         up a bit.
2332
2333 2006-02-10  Geoffrey Garen  <ggaren@apple.com>
2334
2335         Reviewed by eric.
2336
2337         - Fixed build.
2338
2339         * bridge/mac/WebCoreFrameBridge.mm:
2340         * khtml/ecma/kjs_binding.h:
2341         (KJS::DOMFunction::toPrimitive):
2342         * khtml/ecma/kjs_dom.cpp:
2343         (KJS::DOMNode::toPrimitive):
2344         (KJS::DOMNodeList::toPrimitive):
2345         * khtml/ecma/kjs_dom.h:
2346         * khtml/ecma/kjs_window.cpp:
2347         (KJS::Location::toPrimitive):
2348         (KJS::Selection::toPrimitive):
2349         * khtml/ecma/kjs_window.h:
2350
2351 2006-02-09  Darin Adler  <darin@apple.com>
2352
2353         Reviewed by Hyatt.
2354
2355         - <rdar://problem/4430614> RenderThemeMac crashes under GC
2356
2357         * rendering/render_theme_mac.mm:
2358         (WebCore::RenderThemeMac::RenderThemeMac): Initialize all the pointers.
2359         (WebCore::RenderThemeMac::setCheckboxCellState): Use KWQRetainNSRelease so
2360         we can retain a pointer to an ObjC object in a C++ class.
2361         (WebCore::RenderThemeMac::setRadioCellState): Ditto.
2362         (WebCore::RenderThemeMac::setButtonCellState): Ditto.
2363         (WebCore::RenderThemeMac::setTextFieldCellState): Ditto.
2364
2365         * kwq/KWQResourceLoader.h: Remove unneeded forward declaration.
2366
2367 2006-02-09  Darin Adler  <darin@apple.com>
2368
2369         Reviewed by Eric and Geoff.
2370
2371         - changed basic DOM mutation calls to assert that "this"
2372           is not floating, then added more uses of RefPtr to prevent the
2373           assertion from firing (at least during my testing and layout tests)
2374
2375         - removed use of PassRefPtr as the type of a local variable; after talking
2376           with Maciej and Eric, this type of use is now "deprecated"
2377
2378         * bindings/js/JSDOMCore.cpp: Touched this file to get things to build.
2379
2380         * bindings/objc/DOM.mm:
2381         (-[DOMRange extractContents]):
2382         (-[DOMRange cloneContents]):
2383         (-[DOMRange cloneRange]):
2384         * khtml/ecma/kjs_range.cpp:
2385         (KJS::DOMRange::getValueProperty):
2386         (KJS::DOMRangeProtoFunc::callAsFunction):
2387         * khtml/editing/Selection.cpp:
2388         (WebCore::Selection::toRange):
2389         * bridge/mac/WebCoreFrameBridge.mm:
2390         (-[WebCoreFrameBridge documentFragmentWithMarkupString:baseURLString:]):
2391         * dom/ContainerNodeImpl.cpp:
2392         (WebCore::ContainerNodeImpl::insertBefore):
2393         (WebCore::ContainerNodeImpl::replaceChild):
2394         (WebCore::ContainerNodeImpl::removeChild):
2395         (WebCore::ContainerNodeImpl::appendChild):
2396         * dom/DocPtr.h: Removed uses of NULL and unused deprecated functions.
2397         * dom/dom2_rangeimpl.h:
2398         * dom/dom2_rangeimpl.cpp:
2399         (WebCore::RangeImpl::RangeImpl):
2400         (WebCore::RangeImpl::startContainer):
2401         (WebCore::RangeImpl::endContainer):
2402         (WebCore::RangeImpl::commonAncestorContainer):
2403         (WebCore::RangeImpl::setStart):
2404         (WebCore::RangeImpl::setEnd):
2405         (WebCore::RangeImpl::collapse):
2406         (WebCore::RangeImpl::compareBoundaryPoints):
2407         (WebCore::RangeImpl::boundaryPointsValid):
2408         (WebCore::RangeImpl::processContents):
2409         (WebCore::RangeImpl::extractContents):
2410         (WebCore::RangeImpl::cloneContents):
2411         (WebCore::RangeImpl::insertNode):
2412         (WebCore::RangeImpl::createContextualFragment):
2413         (WebCore::RangeImpl::detach):
2414         (WebCore::RangeImpl::cloneRange):
2415         (WebCore::RangeImpl::selectNodeContents):
2416         (WebCore::RangeImpl::surroundContents):
2417         (WebCore::RangeImpl::containedByReadOnly):
2418         (WebCore::RangeImpl::startPosition):
2419         (WebCore::RangeImpl::endPosition):
2420         (WebCore::RangeImpl::startNode):
2421         (WebCore::RangeImpl::editingStartPosition):
2422         (WebCore::rangeOfContents):
2423         * dom/dom_elementimpl.h:
2424         * dom/dom_elementimpl.cpp:
2425         (WebCore::AttrImpl::AttrImpl):
2426         (WebCore::AttrImpl::~AttrImpl):
2427         (WebCore::AttrImpl::setValue):
2428         (WebCore::AttrImpl::childTypeAllowed):
2429         (WebCore::AttrImpl::childrenChanged):
2430         (WebCore::ElementImpl::removeAttributeNode):
2431         (WebCore::NamedAttrMapImpl::clearAttributes):
2432         (WebCore::CSSMappedAttributeDeclarationImpl::~CSSMappedAttributeDeclarationImpl):
2433         (WebCore::MappedAttributeImpl::clone):
2434         * dom/DocumentFragmentImpl.cpp:
2435         (DOM::DocumentFragmentImpl::cloneNode):
2436         * dom/dom_xmlimpl.cpp:
2437         (WebCore::EntityReferenceImpl::cloneNode):
2438         (WebCore::ProcessingInstructionImpl::ProcessingInstructionImpl):
2439         (WebCore::ProcessingInstructionImpl::checkStyleSheet):
2440         (WebCore::ProcessingInstructionImpl::setStyleSheet):
2441         * dom/dom_position.cpp:
2442         * khtml/editing/break_blockquote_command.cpp:
2443         (WebCore::BreakBlockquoteCommand::doApply):
2444         * khtml/editing/composite_edit_command.cpp:
2445         (WebCore::CompositeEditCommand::appendBlockPlaceholder):
2446         (WebCore::CompositeEditCommand::insertBlockPlaceholder):
2447         (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
2448         (WebCore::createBlockPlaceholderElement):
2449         * khtml/editing/delete_selection_command.cpp:
2450         (WebCore::DeleteSelectionCommand::insertPlaceholderForAncestorBlockContent):
2451         (WebCore::DeleteSelectionCommand::moveNodesAfterNode):
2452         * khtml/editing/html_interchange.cpp:
2453         * khtml/editing/htmlediting.cpp:
2454         (WebCore::rebalanceWhitespaceInTextNode):
2455         (WebCore::nonBreakingSpaceString):
2456         (WebCore::createDefaultParagraphElement):
2457         (WebCore::createBreakElement):
2458         (WebCore::createTabSpanElement):
2459         * khtml/editing/insert_line_break_command.cpp:
2460         (khtml::InsertLineBreakCommand::doApply):
2461         * khtml/editing/insert_paragraph_separator_command.cpp:
2462         (WebCore::InsertParagraphSeparatorCommand::doApply):
2463         * khtml/editing/insert_paragraph_separator_command.h:
2464         * khtml/editing/insert_text_command.cpp:
2465         (khtml::InsertTextCommand::insertTab):
2466         * khtml/editing/markup.cpp:
2467         (khtml::createFragmentFromMarkup):
2468         (khtml::createParagraphContentsFromString):
2469         (khtml::createFragmentFromText):
2470         (khtml::createFragmentFromNodeList):
2471         * khtml/editing/rebalance_whitespace_command.cpp:
2472         * khtml/editing/replace_selection_command.cpp:
2473         (WebCore::ReplacementFragment::ReplacementFragment):
2474         (WebCore::ReplacementFragment::insertFragmentForTestRendering):
2475         (WebCore::ReplaceSelectionCommand::doApply):
2476         * khtml/editing/visible_text.cpp:
2477         (khtml::CharacterIterator::range):
2478         (khtml::findPlainText):
2479         * khtml/html/HTMLElementImpl.cpp:
2480         (WebCore::HTMLElementImpl::cloneNode):
2481         * khtml/html/htmlparser.cpp:
2482         (HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
2483         * ksvg2/svg/SVGTransformableImpl.cpp:
2484         (SVGTransformableImpl::parseTransformAttribute):
2485         * ksvg2/svg/SVGUseElementImpl.cpp:
2486         (SVGUseElementImpl::closeRenderer):
2487
2488 2006-02-09  Alexander Kellett  <lypanov@kde.org>
2489
2490         Reviewed and landed by Maciej. 
2491         
2492         Factor out common parts of Linear/Radial GradientQuartz 
2493         up into KRenderingPaintServerGradientQuartz.
2494
2495         Cleanup only, no layout tests needed or affected.
2496
2497         * kcanvas/device/KRenderingPaintServer.h:
2498         * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
2499         (KRenderingPaintServerGradientQuartz::updateQuartzGradientCache):
2500         (KRenderingPaintServerGradientQuartz::draw):
2501         (KRenderingPaintServerGradientQuartz::setup):
2502         (KRenderingPaintServerGradientQuartz::renderPath):
2503         (KRenderingPaintServerGradientQuartz::teardown):
2504         * kcanvas/device/quartz/KRenderingPaintServerQuartz.h:
2505         (KRenderingPaintServerLinearGradientQuartz::draw):
2506         (KRenderingPaintServerLinearGradientQuartz::setup):
2507         (KRenderingPaintServerLinearGradientQuartz::teardown):
2508         (KRenderingPaintServerLinearGradientQuartz::renderPath):
2509         (KRenderingPaintServerRadialGradientQuartz::draw):
2510         (KRenderingPaintServerRadialGradientQuartz::setup):
2511         (KRenderingPaintServerRadialGradientQuartz::teardown):
2512         (KRenderingPaintServerRadialGradientQuartz::renderPath):
2513
2514 2006-02-09  Maciej Stachowiak  <mjs@apple.com>
2515
2516         Reviewed by Hyatt.
2517
2518         - various Frame cleanup:
2519         
2520         Make Frame-related classes Noncopyable.
2521         Remove nearly all of Frame's friends.
2522         Remove some unused stuff.
2523         Remove unneeded class forward declarations from Frame.h
2524
2525         * page/Frame.cpp:
2526         * page/Frame.h:
2527         * page/FrameTreeNode.h:
2528         (WebCore::FrameTreeNode::FrameTreeNode):
2529         (WebCore::FrameTreeNode::name):
2530         (WebCore::FrameTreeNode::parent):
2531         (WebCore::FrameTreeNode::setParent):
2532         (WebCore::FrameTreeNode::nextSibling):
2533         (WebCore::FrameTreeNode::previousSibling):
2534         (WebCore::FrameTreeNode::firstChild):
2535         (WebCore::FrameTreeNode::lastChild):
2536         (WebCore::FrameTreeNode::childCount):
2537         * page/FrameView.cpp:
2538         (WebCore::FrameView::viewportMouseMoveEvent):
2539         * page/Page.h:
2540         (WebCore::Page::mainFrame):
2541         * page/Plugin.h:
2542         (WebCore::Plugin::Plugin):
2543         (WebCore::Plugin::view):
2544
2545 2006-02-09  Dave Hyatt <hyatt@apple.com
2546
2547         Minor image cleanup.  Move some variables that all the
2548         image decoders have in common up into the base class.
2549
2550         Stub out the boring parts of the JPEG decoder also, so that
2551         the patch that does the decoding will be all meat. :)
2552
2553         Reviewed by mjs
2554
2555         * WebCore.vcproj/WebCore/WebCore.vcproj:
2556         * platform/image-decoders/ImageDecoder.h:
2557         (WebCore::ImageDecoder::m_failed):
2558         (WebCore::ImageDecoder::size):
2559         (WebCore::ImageDecoder::failed):
2560         (WebCore::ImageDecoder::setFailed):
2561         * platform/image-decoders/gif/GIFImageDecoder.cpp:
2562         (WebCore::GIFImageDecoder::GIFImageDecoder):
2563         (WebCore::GIFImageDecoder::~GIFImageDecoder):
2564         (WebCore::GIFImageDecoder::setData):
2565         (WebCore::GIFImageDecoder::isSizeAvailable):
2566         (WebCore::GIFImageDecoder::repetitionCount):
2567         (WebCore::GIFImageDecoder::frameBufferAtIndex):
2568         (WebCore::GIFImageDecoder::decode):
2569         (WebCore::GIFImageDecoder::decodingHalted):
2570         (WebCore::GIFImageDecoder::haveDecodedRow):
2571         (WebCore::GIFImageDecoder::gifComplete):
2572         * platform/image-decoders/gif/GIFImageDecoder.h:
2573         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: Added.
2574         (WebCore::JPEGImageReader::JPEGImageReader):
2575         (WebCore::JPEGImageReader::~JPEGImageReader):
2576         (WebCore::JPEGImageReader::close):
2577         (WebCore::JPEGImageReader::decode):
2578         (WebCore::JPEGImageDecoder::JPEGImageDecoder):
2579         (WebCore::JPEGImageDecoder::~JPEGImageDecoder):
2580         (WebCore::JPEGImageDecoder::setData):
2581         (WebCore::JPEGImageDecoder::isSizeAvailable):
2582         (WebCore::JPEGImageDecoder::frameBufferAtIndex):
2583         (WebCore::JPEGImageDecoder::decode):
2584         * platform/image-decoders/jpeg/JPEGImageDecoder.h:
2585         * platform/image-decoders/png/PNGImageDecoder.cpp:
2586         (WebCore::PNGImageDecoder::PNGImageDecoder):
2587         * platform/image-decoders/png/PNGImageDecoder.h:
2588
2589 2006-02-09  Maciej Stachowiak  <mjs@apple.com>
2590
2591         Rubber-stamped by Hyatt.
2592         
2593         - moved khtml/xml to dom
2594
2595         * dom: moved from khtml/xml
2596         * WebCore.xcodeproj/project.pbxproj: Updated for new file locations.
2597         * WebCore+SVG/KDOMHeaders.h: Updated for new header locations.
2598         * dom/dom2_rangeimpl.cpp: ditto
2599         * dom/dom2_traversalimpl.cpp: ditto
2600         * dom/dom_textimpl.cpp: ditto
2601         * dom/dom_xmlimpl.cpp: ditto
2602         * khtml/dom/dom2_events.cpp: ditto
2603         * khtml/ecma/kjs_binding.cpp: ditto
2604         * khtml/ecma/kjs_dom.cpp: ditto
2605         * khtml/ecma/kjs_events.cpp: ditto
2606         * khtml/ecma/kjs_html.cpp: ditto
2607         * khtml/ecma/kjs_range.cpp: ditto
2608         * khtml/ecma/kjs_views.cpp: ditto
2609         * khtml/editing/Selection.cpp: ditto
2610         * khtml/editing/SelectionController.cpp: ditto
2611         * khtml/editing/delete_from_text_node_command.cpp: ditto
2612         * khtml/editing/edit_command.cpp: ditto
2613         * khtml/editing/insert_into_text_node_command.cpp: ditto
2614         * khtml/editing/insert_line_break_command.cpp: ditto
2615         * khtml/editing/insert_paragraph_separator_command.cpp: ditto
2616         * khtml/editing/insert_text_command.cpp: ditto
2617         * khtml/editing/join_text_nodes_command.cpp: ditto
2618         * khtml/editing/markup.cpp: ditto
2619         * khtml/editing/merge_identical_elements_command.cpp: ditto
2620         * khtml/editing/rebalance_whitespace_command.cpp: ditto
2621         * khtml/editing/remove_node_attribute_command.cpp: ditto
2622         * khtml/editing/set_node_attribute_command.cpp: ditto
2623         * khtml/editing/split_element_command.cpp: ditto
2624         * khtml/editing/split_text_node_command.cpp: ditto
2625         * khtml/editing/split_text_node_containing_element.cpp: ditto
2626         * khtml/editing/visible_position.cpp: ditto
2627         * khtml/editing/visible_position.h: ditto
2628         * khtml/editing/visible_text.cpp: ditto
2629         * khtml/editing/visible_text.h: ditto
2630         * khtml/editing/visible_units.cpp: ditto
2631         * khtml/editing/wrap_contents_in_dummy_span_command.cpp: ditto
2632         * khtml/html/HTMLElementImpl.h: ditto
2633         * khtml/html/html_documentimpl.cpp: ditto
2634         * khtml/html/html_headimpl.cpp: ditto
2635         * khtml/xbl/xbl_binding_manager.cpp: ditto
2636         * khtml/xbl/xbl_tokenizer.cpp: ditto
2637         * khtml/xbl/xbl_tokenizer.h: ditto
2638         * ksvg2/svg/SVGAElementImpl.cpp: ditto
2639         * rendering/InlineTextBox.cpp: ditto
2640         * rendering/RenderContainer.cpp: ditto
2641         * rendering/RenderText.h: ditto
2642         * rendering/RenderTextField.cpp: ditto
2643         * rendering/render_frames.cpp: ditto
2644         * rendering/render_layer.cpp: ditto
2645
2646 2006-02-08  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2647
2648         Test: fast/block/positioning/window-height-change.html
2649
2650         Reviewed by Hyatt.
2651         
2652         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=5813
2653           positioned blocks don't update when resizing the window vertically
2654
2655         * rendering/RenderBlock.cpp:
2656         (WebCore::RenderBlock::layoutBlock): Always relayout positioned children of
2657         the root, since their positions may depend on the viewport's height which
2658         may have changed.
2659         * rendering/render_flexbox.cpp:
2660         (khtml::RenderFlexibleBox::layoutBlock): Ditto.
2661
2662 2006-02-08  Dave Hyatt <hyatt@apple.com>
2663
2664         Add support for tiling of backgrounds using Cairo.
2665
2666         Reviewed by darin
2667
2668         * Image Viewer/ImageView.cpp:
2669         * platform/cairo/ImageCairo.cpp:
2670         (WebCore::Image::tileInRect):
2671
2672 2006-02-08  Boris Daljevic  <boris@backbase.com>
2673
2674         Reviewed and tweaked by Darin.
2675
2676         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6648
2677           Safari strips namespace prefix when using setAttribute(), but should treat it as part of name
2678
2679         Test: fast/dom/Element/setAttribute-with-colon.html
2680
2681         * khtml/xml/dom_elementimpl.h: (ElementImpl::setAttribute): Removed body
2682         * khtml/xml/dom_elementimpl.cpp: (ElementImpl::setAttribute): Changed code so that
2683         attribute is not parsed into prefix and local name.
2684
2685 2006-02-08  Justin Garcia  <justin.garcia@apple.com>
2686
2687         Original patch by Graham Dennis, reviewed by me
2688         Changes made by me, reviewed by thatcher
2689
2690         <http://bugzilla.opendarwin.org/show_bug.cgi?id=3982>
2691         webViewDidBeginEditing, webViewDidEndEditing notification methods not called on delegate
2692
2693         * bridge/mac/MacFrame.h:
2694         * bridge/mac/MacFrame.mm:
2695         (WebCore::MacFrame::didBeginEditing):
2696         (WebCore::MacFrame::didEndEditing):
2697         * bridge/mac/WebCoreFrameBridge.h:
2698         * khtml/xml/DocumentImpl.cpp:
2699         (WebCore::DocumentImpl::didBeginEditing):
2700         (WebCore::DocumentImpl::didEndEditing):
2701         (WebCore::DocumentImpl::setFocusNode):
2702         * khtml/xml/DocumentImpl.h:
2703         * khtml/xml/dom_elementimpl.cpp:
2704         (WebCore::ElementImpl::focus):
2705         * page/Frame.h:
2706         (WebCore::Frame::didBeginEditing):
2707         (WebCore::Frame::didEndEditing):
2708
2709 2006-02-08  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2710
2711         Test: fast/block/positioning/relayout-on-position-change.html
2712
2713         Reviewed by Hyatt.
2714
2715         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7095
2716           Removing positioning from an element does not relayout properly
2717
2718         * rendering/render_object.cpp:
2719         (WebCore::RenderObject::setStyle): The second call to setNeedsLayoutAndMinMaxRecalc
2720         did not mark containing blocks for relayout based on the new position value since
2721         the object itself was already marked as needing layout. Changed the first call to
2722         only mark the containing blocks (based on the old position value) and not the
2723         object itself.
2724
2725 2006-02-08  Maciej Stachowiak  <mjs@apple.com>
2726
2727         Reviewed by Eric.
2728
2729         RenderPath refactoring:
2730         
2731         - Rename the files to RenderPath
2732         - Push the portable code from KCanvasItemQuartz down to RenderPath
2733         - Move most of the unportable code from KCanvasItemQuartz to KCanvasPathQuartz
2734         
2735         The only thing left in KCanvasItemQuartz is marker support. That should be factored to separate
2736         iterating the path elements (KCanvasPathQuartz needs to provide that) and drawing the markers
2737         (which should be done in portable code).
2738
2739         * ForwardingHeaders/kcanvas/RenderPath.h: Removed.
2740         * WebCore.xcodeproj/project.pbxproj:
2741         * kcanvas/KCanvasItem.cpp: Removed.
2742         * kcanvas/KCanvasItem.h: Removed.
2743         * kcanvas/KCanvasPath.h:
2744         * kcanvas/RenderPath.cpp: Added.
2745         (RenderPath::mapAbsolutePointToLocal):
2746         (RenderPath::fillContains):
2747         (RenderPath::strokeContains):
2748         (RenderPath::strokeBBox):
2749         (RenderPath::relativeBBox):
2750         (RenderPath::setPath):
2751         (RenderPath::layout):
2752         (RenderPath::getAbsoluteRepaintRect):
2753         (RenderPath::requiresLayer):
2754         (RenderPath::lineHeight):
2755         (RenderPath::baselinePosition):
2756         (RenderPath::paint):
2757         (RenderPath::nodeAtPoint):
2758         * kcanvas/RenderPath.h: Added.
2759         * kcanvas/device/quartz/KCanvasItemQuartz.h:
2760         * kcanvas/device/quartz/KCanvasItemQuartz.mm:
2761         * kcanvas/device/quartz/KCanvasPathQuartz.h:
2762         * kcanvas/device/quartz/KCanvasPathQuartz.mm:
2763         (KCanvasPathQuartz::boundingBox):
2764         (scratchContext):
2765         (KCanvasPathQuartz::strokeBoundingBox):
2766         (pathContainsPoint):
2767         (KCanvasPathQuartz::containsPoint):
2768         (KCanvasPathQuartz::strokeContainsPoint):
2769         * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
2770         (KRenderingDeviceQuartz::createItem):
2771         * kcanvas/device/quartz/QuartzSupport.h:
2772         * kcanvas/device/quartz/QuartzSupport.mm:
2773         (applyStrokeStyleToContext):
2774         * ksvg2/svg/SVGStyledElementImpl.cpp:
2775         (SVGStyledElementImpl::updateCanvasItem):
2776         (SVGStyledElementImpl::pushAttributeContext):
2777         * ksvg2/svg/SVGStyledLocatableElementImpl.cpp:
2778         * ksvg2/svg/SVGStyledTransformableElementImpl.cpp:
2779         * kwq/KWQRenderTreeDebug.cpp:
2780
2781 2006-02-08  Adele Peterson  <adele@apple.com>
2782
2783         Fix broken layout tests.
2784
2785         * khtml/xml/NodeImpl.cpp:
2786         (WebCore::NodeImpl::dispatchGenericEvent): iterator is null, so we have to reset it to the first node in the chain.
2787
2788 2006-02-08  Adele Peterson  <adele@apple.com>
2789
2790         Reviewed by Maciej.
2791
2792         - Fixed <rdar://problem/4325160> 
2793           REGRESSION(416.12-420+): window events not stopped by stopPropagation (affects macnn forums)
2794
2795         Tests:
2796         * fast/events/window-events-bubble.html
2797         * fast/events/window-events-bubble2.html
2798         * fast/events/window-events-capture.html
2799
2800         * khtml/xml/DocumentImpl.cpp:
2801         (WebCore::DocumentImpl::handleWindowEvent): Added to send events directly to the window.  This code used to be in defaultEventHandler, but that wasn't sending them at the right time.
2802         (WebCore::DocumentImpl::defaultEventHandler): Moved code to send window events to handleWindowEvent.
2803         * khtml/xml/DocumentImpl.h: Added handleWindowEvent.
2804         * khtml/xml/NodeImpl.cpp:
2805         (WebCore::NodeImpl::dispatchGenericEvent): fire window events in capture and bubble phases.
2806         (WebCore::NodeImpl::dispatchWindowEvent): call handleWindowEvent.
2807
2808 2006-02-08  Anders Carlsson  <andersca@mac.com>
2809
2810         Rubber stamped by Maciej.
2811
2812         Move JSCore.cpp to bindings/js/JSDOMCore.cpp and
2813         rename JSEvents.cpp to JSDOMEvents.cpp
2814         
2815         * JSCore.cpp: Removed.
2816         * WebCore.vcproj/WebCore/WebCore.vcproj:
2817         * WebCore.xcodeproj/project.pbxproj:
2818         * bindings/js/JSDOMCore.cpp: Added.
2819         * bindings/js/JSDOMEvents.cpp: Added.
2820         * bindings/js/JSEvents.cpp: Removed.
2821
2822 2006-02-08  Anders Carlsson  <andersca@mac.com>
2823
2824         Reviewed by Maciej.
2825
2826         - http://bugzilla.opendarwin.org/show_bug.cgi?id=7108
2827         Autogenerate most of Element
2828         
2829         * JSCore.cpp:
2830         Add JSElement.cpp.
2831         
2832         * bindings/scripts/CodeGeneratorJS.pm:
2833         Handle a bunch of new types.
2834         
2835         * khtml/ecma/kjs_dom.cpp:
2836         (KJS::DOMElement::getValueProperty):
2837         (KJS::DOMElementProtoFunc::callAsFunction):
2838         Remove code that is autogenerated now.
2839         
2840         (KJS::getDOMNode):
2841         Create a JSElement instead of a DOMElement.
2842         
2843         (KJS::getDOMNodeList):
2844         Take a PassRefPtr like some of the other get methods.
2845         
2846         * khtml/ecma/kjs_dom.h:        
2847         (KJS::DOMElement::):
2848         Remove the now unused enums.
2849         
2850         * khtml/ecma/kjs_html.cpp:
2851         (KJS::):
2852         (KJS::HTMLElement::HTMLElement):
2853         (KJS::HTMLElement::getOwnPropertySlot):
2854         (KJS::KJS::HTMLElement::toString):
2855         (KJS::KJS::HTMLElement::put):
2856         * khtml/ecma/kjs_html.h:
2857         Have HTMLElement inherit from JSElement.
2858
2859         * khtml/xml/Element.idl: Added.
2860
2861 2006-02-08  Dave Hyatt <hyatt@apple.com>
2862
2863         Make the Cairo image surface only reflect the portion of
2864         the image that has been decoded so far.   That way we don't
2865         have to zero fill our RGBA32 buffers, and we avoid painting
2866         the empty portion.
2867
2868         Reviewed by timo
2869
2870         * Viewer/ImageView.cpp:
2871         * WebCore.vcproj/WebCore/WebCore.vcproj:
2872         * platform/cairo/ImageSourceCairo.cpp:
2873         (WebCore::createDecoder):
2874         (WebCore::ImageSource::createFrameAtIndex):
2875         * platform/image-decoders/ImageDecoder.h:
2876         (WebCore::RGBA32Buffer::RGBA32Buffer):
2877         (WebCore::RGBA32Buffer::height):
2878         (WebCore::RGBA32Buffer::ensureHeight):
2879         (WebCore::RGBA32Buffer::setStatus):
2880         (WebCore::RGBA32Buffer::setDuration):
2881         (WebCore::RGBA32Buffer::setIncludeInNextFrame):
2882         * platform/image-decoders/gif/GIFImageDecoder.cpp:
2883         (WebCore::GIFImageDecoder::haveDecodedRow):
2884         (WebCore::GIFImageDecoder::frameComplete):
2885         * platform/image-decoders/png/PNGImageDecoder.cpp:
2886         (WebCore::PNGImageDecoder::rowAvailable):
2887         (WebCore::PNGImageDecoder::pngComplete):
2888
2889 2006-02-08  Dave Hyatt <hyatt@apple.com>
2890
2891         Implement support for PNGs on Win32.  Includes support for
2892         interlacing and transparency.
2893
2894         Also optimized the GIF loop that sets the RGBA values to
2895         increment the pointer through the loop instead of doing multiplies
2896         and adds from the base every time.
2897
2898         Reviewed by mjs
2899
2900         * platform/image-decoders/ImageDecoder.h:
2901         (WebCore::RGBA32Buffer::setRGBA):
2902         * platform/image-decoders/gif/GIFImageDecoder.cpp:
2903         (WebCore::GIFImageDecoder::haveDecodedRow):
2904         * platform/image-decoders/png/PNGImageDecoder.cpp:
2905         (WebCore::PNGImageReader::PNGImageReader):
2906         (WebCore::PNGImageReader::~PNGImageReader):
2907         (WebCore::PNGImageReader::close):
2908         (WebCore::PNGImageReader::decode):
2909         (WebCore::PNGImageReader::decodingSizeOnly):
2910         (WebCore::PNGImageReader::pngPtr):
2911         (WebCore::PNGImageReader::infoPtr):
2912         (WebCore::PNGImageReader::interlaceBuffer):
2913         (WebCore::PNGImageReader::hasAlpha):
2914         (WebCore::PNGImageReader::setReadOffset):
2915         (WebCore::PNGImageReader::setHasAlpha):
2916         (WebCore::PNGImageReader::createInterlaceBuffer):
2917         (WebCore::PNGImageDecoder::PNGImageDecoder):
2918         (WebCore::PNGImageDecoder::~PNGImageDecoder):
2919         (WebCore::PNGImageDecoder::setData):
2920         (WebCore::PNGImageDecoder::isSizeAvailable):
2921         (WebCore::PNGImageDecoder::frameBufferAtIndex):
2922         (WebCore::PNGImageDecoder::decode):
2923         (WebCore::decodingFailed):
2924         (WebCore::decodingWarning):
2925         (WebCore::headerAvailable):
2926         (WebCore::PNGImageDecoder::headerAvailable):
2927         (WebCore::rowAvailable):
2928         (WebCore::PNGImageDecoder::rowAvailable):
2929         (WebCore::pngComplete):
2930         (WebCore::PNGImageDecoder::pngComplete):
2931         * platform/image-decoders/png/PNGImageDecoder.h:
2932         (WebCore::PNGImageDecoder::setFailed):
2933         (WebCore::PNGImageDecoder::reader):
2934         (WebCore::PNGImageDecoder::decodingFailed):
2935         * platform/image-decoders/png/mozpngconf.h:
2936
2937 2006-02-07  Maciej Stachowiak  <mjs@apple.com>
2938
2939         Rubber stamped by Hyatt.
2940
2941         - move kwq/KWQString.mm to platform/QString.cpp, split out nonportable parts, speculative
2942         port of one remaining nonportable bit to windows.
2943
2944         * ForwardingHeaders/qstring.h:
2945         * WebCore+SVG/KDOMSettings.h:
2946         * WebCore+SVG/kdom.h:
2947         * WebCore.xcodeproj/project.pbxproj:
2948         * css/cssparser.h:
2949         * css/cssstyleselector.cpp:
2950         * kcanvas/KCanvasResources.h:
2951         * kcanvas/KCanvasTreeDebug.h:
2952         * khtml/ecma/kjs_window.h:
2953         * khtml/editing/html_interchange.cpp:
2954         * khtml/editing/visible_position.h:
2955         * khtml/editing/visible_text.h:
2956         * khtml/editing/visible_units.cpp:
2957         * khtml/html/FormDataList.h:
2958         * khtml/html/html_objectimpl.cpp:
2959         * khtml/html/htmltokenizer.h:
2960         * khtml/misc/decoder.h:
2961         * khtml/misc/formdata.h:
2962         * khtml/xbl/xbl_protohandler.cpp:
2963         * khtml/xml/dom_position.cpp:
2964         * khtml/xsl/xslt_processorimpl.h:
2965         * ksvg2/svg/SVGHelper.h:
2966         * ksvg2/svg/SVGPreserveAspectRatioImpl.cpp:
2967         * ksvg2/svg/SVGStyleElementImpl.cpp:
2968         * ksvg2/svg/SVGURIReferenceImpl.h:
2969         * ksvg2/svg/svgpathparser.cpp:
2970         * kwq/KWQAccObjectCache.mm:
2971         * kwq/KWQBuffer.h:
2972         * kwq/KWQEvent.h:
2973         * kwq/KWQFont.mm:
2974         * kwq/KWQFontFamily.h:
2975         * kwq/KWQFontMetrics.h:
2976         * kwq/KWQKConfigBase.h:
2977         * kwq/KWQKDebug.h:
2978         * kwq/KWQKHTMLSettings.h:
2979         * kwq/KWQKJobClasses.h:
2980         * kwq/KWQKJobClasses.mm:
2981         * kwq/KWQKLocale.mm:
2982         * kwq/KWQKSSLKeyGen.mm:
2983         * kwq/KWQKURL.h:
2984         * kwq/KWQLineEdit.h:
2985         * kwq/KWQRegExp.h:
2986         * kwq/KWQRenderTreeDebug.h:
2987         * kwq/KWQString.h: Removed.
2988         * kwq/KWQString.mm: Removed.
2989         * kwq/KWQStringList.h:
2990         * kwq/KWQTextCodec.h:
2991         * kwq/KWQTextStream.h:
2992         * kwq/KWQTextUtilities.mm:
2993         * kwq/WebCoreScriptDebugger.mm:
2994         * loader/Cache.h:
2995         * platform/Color.cpp:
2996         * platform/Color.h:
2997         * platform/QString.cpp: Added.
2998         (allocateHandle):
2999         (KWQStringData::KWQStringData):
3000         (QString::QString):
3001         (QString::insert):
3002         (QString::detach):
3003         (QString::remove):
3004         (QString::setLength):
3005         (QString::fill):
3006         (initializeHandleNodeBlock):
3007         (allocateNode):
3008         (freeHandle):
3009         * platform/QString.h: Added.
3010         * platform/SegmentedString.h:
3011         * platform/StringImpl.h:
3012         * platform/mac/Image.mm:
3013         * platform/mac/QString.mm: Added.
3014         (QString::setBufferFromCFString):
3015         (QString::fromCFString):
3016         (QString::fromNSString):
3017         (QString::getNSString):
3018         (QString::utf8):
3019         (QString::fromUtf8):
3020         * rendering/bidi.h:
3021         * rendering/break_lines.cpp:
3022
3023 2006-02-07  Maciej Stachowiak  <mjs@apple.com>
3024
3025         Reviewed by Adele.
3026
3027         - remove all remains of old-style frame tree, ChildFrame, ObjectContents and FrameList are all gone
3028
3029         * WebCore.xcodeproj/project.pbxproj:
3030         * bridge/BrowserExtension.h:
3031         * bridge/mac/BrowserExtensionMac.h:
3032         * bridge/mac/BrowserExtensionMac.mm:
3033         (WebCore::BrowserExtensionMac::createNewWindow):
3034         * khtml/ecma/kjs_window.cpp:
3035         (KJS::createNewWindow):
3036         (KJS::Window::indexGetter):
3037         (KJS::Window::getOwnPropertySlot):
3038         (KJS::WindowFunc::callAsFunction):
3039         (KJS::FrameArray::getValueProperty):
3040         (KJS::FrameArray::indexGetter):
3041         (KJS::FrameArray::nameGetter):
3042         (KJS::FrameArray::getOwnPropertySlot):
3043         * kwq/KWQFrame.mm:
3044         (QFrame::setFrameStyle):
3045         * page/Frame.cpp:
3046         (WebCore::Frame::Frame):
3047         (WebCore::Frame::stopLoading):
3048         (WebCore::Frame::clear):
3049         (WebCore::Frame::stopAnimations):
3050         (WebCore::Frame::checkCompleted):
3051         (WebCore::Frame::checkEmitLoadEvent):
3052         (WebCore::Frame::requestFrame):
3053         (WebCore::Frame::requestObject):
3054         (WebCore::Frame::loadSubframe):
3055         (WebCore::Frame::findFrame):
3056         (WebCore::Frame::frameExists):
3057         (WebCore::Frame::setZoomFactor):
3058         (WebCore::Frame::frameNames):
3059         (WebCore::Frame::frames):
3060         (WebCore::Frame::childFrameNamed):
3061         (WebCore::Frame::slotPartRemoved):
3062         (WebCore::Frame::connectChild):
3063         (WebCore::Frame::disconnectChild):
3064         (WebCore::Frame::canCachePage):
3065         (WebCore::Frame::setPolicyBaseURL):
3066         (WebCore::Frame::treeNode):
3067         (WebCore::Frame::frameDetached):
3068         * page/Frame.h:
3069         * page/FramePrivate.h:
3070         * page/FrameTreeNode.h:
3071         (WebCore::FrameTreeNode::name):
3072         (WebCore::FrameTreeNode::parent):
3073         (WebCore::FrameTreeNode::nextSibling):
3074         (WebCore::FrameTreeNode::previousSibling):
3075         (WebCore::FrameTreeNode::firstChild):
3076         (WebCore::FrameTreeNode::lastChild):
3077         (WebCore::FrameTreeNode::childCount):
3078         * page/ObjectContents.h: Removed.
3079         * page/Plugin.h:
3080         (WebCore::Plugin::view):
3081
3082 2006-02-07  Adele Peterson  <adele@apple.com>
3083
3084         Reviewed by Maciej.
3085
3086         - Fixed <rdar://problem/3727939> Safari strips \0 characters from HTML tags making them valid 
3087
3088         Test: fast/encoding/decoder-allow-null-chars.html
3089
3090         * kwq/KWQTextCodec.cpp:
3091         (KWQTextDecoder::convertLatin1): Removed stripping of null characters
3092         (unwanted): ditto.
3093
3094 2006-02-07  David Hyatt <hyatt@apple.com>
3095
3096         Land the skeleton of a PNG decoder for Win32.
3097
3098         Reviewed by Eric
3099
3100         * WebCore.vcproj/WebCore/WebCore.vcproj:
3101         * platform/cairo/ImageSourceCairo.cpp:
3102         (WebCore::createDecoder):
3103         * platform/image-decoders/png/PNGImageDecoder.cpp: Added.
3104         (WebCore::PNGImageDecoderPrivate::PNGImageDecoderPrivate):
3105         (WebCore::PNGImageDecoderPrivate::~PNGImageDecoderPrivate):
3106         (WebCore::PNGImageDecoderPrivate::decode):
3107         (WebCore::PNGImageDecoder::PNGImageDecoder):
3108         (WebCore::PNGImageDecoder::~PNGImageDecoder):
3109         (WebCore::PNGImageDecoder::setData):
3110         (WebCore::PNGImageDecoder::isSizeAvailable):
3111         (WebCore::PNGImageDecoder::size):
3112         (WebCore::PNGImageDecoder::frameBufferAtIndex):
3113         (WebCore::PNGImageDecoder::decode):
3114         * platform/image-decoders/png/PNGImageDecoder.h: Added.
3115
3116 2006-02-07  Eric Seidel  <eseidel@apple.com>
3117
3118         Reviewed by hyatt.
3119
3120         Removed ImageSubset, making ImageViewer link directly to WebCore.
3121
3122         * Viewer.vcproj:
3123         * WebCore.vcproj/ImageSubset: Removed.
3124         * WebCore.vcproj/ImageSubset/ImageSubset.vcproj: Removed.
3125         * WebCore.vcproj/WebCore.sln:
3126         * WebCore.vcproj/WebCore/WebCore.vcproj:
3127
3128 2006-02-07  Geoffrey Garen  <ggaren@apple.com>
3129
3130         Reviewed by darin.
3131
3132         - Fixed <rdar://problem/4425269> REGRESSION: wrong size pop-up when 
3133         downloading attachment at webmail.mac.com (6882)
3134
3135         The bug was that the feature string parser didn't always initialize the
3136         *Set variables, so WebCore assumed a height was set when it wasn't,
3137         and used a garbage height variable.
3138
3139         While there, I fixed two other bugs: (1) The parser wasn't chewing up 
3140         as many characters as I thought it was. (Chewing up extra characters 
3141         is necessary to match Win IE.) (2) We considered \t and \f to be 
3142         whitespace, but Win IE doesn't.
3143
3144         * manual-tests/window-open-features-parsing.html: Added these cases,
3145         fixed up comments.
3146
3147         * bridge/BrowserExtension.h: Cleaned up declaration order a bit.
3148         * khtml/ecma/kjs_window.cpp:
3149         (KJS::isSeparator): New function, tells you if a character is a
3150         separator
3151         (KJS::parseWindowFeatures): Always initialize *Set to false. Drive
3152         parsing based on invalid characters ('separators') rather than valid 
3153         ones, to match Win IE.
3154
3155 2006-02-07  Alexey Proskuryakov  <ap@nypop.com>
3156
3157         Reviewed by Timothy.
3158
3159         Convert JavaScript objects to appropriate AppleScript types, instead of only strings
3160         http://bugzilla.opendarwin.org/show_bug.cgi?id=7012
3161
3162         Tests: fast/AppleScript/*
3163
3164         * bridge/mac/WebCoreFrameBridge.h:
3165         * bridge/mac/WebCoreFrameBridge.mm:
3166         (aeDescFromJSValue):
3167         (-[WebCoreFrameBridge aeDescByEvaluatingJavaScriptFromString:]):
3168
3169 2006-02-07  Dave Hyatt <hyatt@apple.com>
3170
3171         Rename ImageDecoderPlugin to ImageDecoder.  Rename
3172         GIFReader to GIFImageReder.  Rename GIFDecoderPlugin to
3173         GIFImageDecoder.
3174
3175         Reviewed by mjs
3176
3177         * WebCore.vcproj/WebCore/WebCore.vcproj:
3178         * platform/cairo/ImageSourceCairo.cpp:
3179         (WebCore::createDecoder):
3180         (WebCore::ImageSource::setData):
3181         * platform/image-decoders/ImageDecoder.h: Added.
3182         (WebCore::ImageDecoder::~ImageDecoder):
3183         * platform/image-decoders/ImageDecoderPlugin.h: Removed.
3184         * platform/image-decoders/gif/GIFDecoderPlugin.cpp: Removed.
3185         * platform/image-decoders/gif/GIFDecoderPlugin.h: Removed.
3186         * platform/image-decoders/gif/GIFImageDecoder.cpp: Added.
3187         (WebCore::GIFImageDecoderPrivate::GIFImageDecoderPrivate):
3188         (WebCore::GIFImageDecoderPrivate::~GIFImageDecoderPrivate):
3189         (WebCore::GIFImageDecoderPrivate::decode):
3190         (WebCore::GIFImageDecoder::GIFImageDecoder):
3191         (WebCore::GIFImageDecoder::~GIFImageDecoder):
3192         (WebCore::GIFImageDecoder::setData):
3193         (WebCore::GIFImageDecoder::isSizeAvailable):
3194         (WebCore::GIFImageDecoder::size):
3195         (WebCore::GIFImageDecoder::frameCount):
3196         (WebCore::GIFImageDecoder::repetitionCount):
3197         (WebCore::GIFImageDecoder::frameBufferAtIndex):
3198         (WebCore::GIFImageDecoder::decode):
3199         (WebCore::GIFImageDecoder::sizeNowAvailable):
3200         (WebCore::GIFImageDecoder::decodingHalted):
3201         (WebCore::GIFImageDecoder::haveDecodedRow):
3202         (WebCore::GIFImageDecoder::frameComplete):
3203         (WebCore::GIFImageDecoder::gifComplete):
3204         * platform/image-decoders/gif/GIFImageDecoder.h: Added.
3205         * platform/image-decoders/gif/GIFImageReader.cpp: Added.
3206         (GIFImageReader::output_row):
3207         (GIFImageReader::do_lzw):
3208         (GIFImageReader::read):
3209         * platform/image-decoders/gif/GIFImageReader.h: Added.
3210         (GIFImageReader::GIFImageReader):
3211         (GIFImageReader::~GIFImageReader):
3212         * platform/image-decoders/gif/GIFReader.cpp: Removed.
3213         * platform/image-decoders/gif/GIFReader.h: Removed.
3214
3215 2006-02-07  David Hyatt  <hyatt@apple.com>
3216
3217         Rename ImageDecoder to ImageSource.
3218
3219         Reviewed by mjs
3220
3221         * WebCore.xcodeproj/project.pbxproj:
3222         * platform/Image.cpp:
3223         (WebCore::Image::cacheFrame):
3224         (WebCore::Image::size):
3225         (WebCore::Image::setNativeData):
3226         (WebCore::Image::frameCount):
3227         (WebCore::Image::isSizeAvailable):
3228         * platform/Image.h:
3229         * platform/ImageDecoder.h: Removed.
3230         * platform/ImageSource.h: Added.
3231         * platform/cairo/ImageCairo.cpp:
3232         (WebCore::Image::drawInRect):
3233         * platform/cairo/ImageDecoderCairo.cpp: Removed.
3234         * platform/cairo/ImageSourceCairo.cpp: Added.
3235         (WebCore::createDecoderPlugin):
3236         (WebCore::ImageSource::ImageSource):
3237         (WebCore::ImageSource::~ImageSource):
3238         (WebCore::ImageSource::initialized):
3239         (WebCore::ImageSource::setData):
3240         (WebCore::ImageSource::isSizeAvailable):
3241         (WebCore::ImageSource::size):
3242         (WebCore::ImageSource::repetitionCount):
3243         (WebCore::ImageSource::frameCount):
3244         (WebCore::ImageSource::createFrameAtIndex):
3245         (WebCore::ImageSource::frameDurationAtIndex):
3246         * platform/mac/Image.mm:
3247         (WebCore::Image::drawInRect):
3248         * platform/mac/ImageData.mm: Removed.
3249         * platform/mac/ImageDecoder.cpp: Removed.
3250         * platform/mac/ImageSource.cpp: Added.
3251         (WebCore::ImageSource::ImageSource):
3252         (WebCore::ImageSource::~ImageSource):
3253         (WebCore::ImageSource::initialized):
3254         (WebCore::ImageSource::setData):
3255         (WebCore::ImageSource::isSizeAvailable):
3256         (WebCore::ImageSource::size):
3257         (WebCore::ImageSource::repetitionCount):
3258         (WebCore::ImageSource::frameCount):
3259         (WebCore::ImageSource::createFrameAtIndex):
3260         (WebCore::ImageSource::frameDurationAtIndex):
3261
3262 2006-02-07  David Hyatt  <hyatt@apple.com>
3263
3264         Combine ImageData and Image (the result ends up in Image).
3265
3266         Reviewed by mjs
3267
3268         * WebCore.xcodeproj/project.pbxproj:
3269         * bindings/objc/DOM.mm:
3270         (-[DOMElement _image]):
3271         (-[DOMElement _imageTIFFRepresentation]):
3272         * bridge/mac/MacFrame.mm:
3273         (WebCore::MacFrame::fileWrapperForElement):
3274         * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
3275         (KCanvasFEImageQuartz::getCIFilter):
3276         * khtml/ecma/kjs_html.cpp:
3277         (KJS::KJS::Context2DFunction::callAsFunction):
3278         (KJS::drawPattern):
3279         (KJS::_rh):
3280         (KJS::ImagePattern::createPattern):
3281         * kwq/KWQClipboard.mm:
3282         (WebCore::KWQClipboard::dragNSImage):
3283         * kwq/KWQCursor.h:
3284         * kwq/KWQCursor.mm:
3285         (WebCore::createCustomCursor):
3286         (WebCore::QCursor::QCursor):
3287         * kwq/KWQPainter.h:
3288         * kwq/KWQPainter.mm:
3289         (WebCore::QPainter::drawImageAtPoint):
3290         (WebCore::QPainter::drawImageInRect):
3291         (WebCore::QPainter::drawImage):
3292         (WebCore::QPainter::drawFloatImage):
3293         (WebCore::QPainter::drawTiledImage):
3294         (WebCore::QPainter::drawScaledAndTiledImage):
3295         * loader/CachedImage.cpp:
3296         (WebCore::CachedImage::image):
3297         * loader/CachedImage.h:
3298         * page/FrameView.cpp:
3299         (WebCore::selectCursor):
3300         * platform/Image.cpp:
3301         (WebCore::Image::Image):
3302         (WebCore::Image::~Image):
3303         (WebCore::Image::invalidateData):
3304         (WebCore::Image::cacheFrame):
3305         (WebCore::Image::isNull):
3306         (WebCore::Image::size):
3307         (WebCore::Image::setData):
3308         (WebCore::Image::setNativeData):
3309         (WebCore::Image::frameCount):
3310         (WebCore::Image::isSizeAvailable):
3311         (WebCore::Image::frameAtIndex):
3312         (WebCore::Image::frameDurationAtIndex):
3313         (WebCore::Image::shouldAnimate):
3314         (WebCore::Image::startAnimation):
3315         (WebCore::Image::stopAnimation):
3316         (WebCore::Image::resetAnimation):
3317         (WebCore::Image::advanceAnimation):
3318         (WebCore::Image::rect):
3319         * platform/Image.h:
3320         (KXMLCore::):
3321         (WebCore::FrameData::m_duration):
3322         (WebCore::FrameData::~FrameData):
3323         (WebCore::Image::currentFrame):
3324         (WebCore::Image::animationObserver):
3325         (WebCore::Image::setIsPDF):
3326         * platform/ImageData.cpp: Removed.
3327         * platform/ImageData.h: Removed.
3328         * platform/cairo/ImageCairo.cpp:
3329         (WebCore::FrameData::clear):
3330         (WebCore::Image::initNativeData):
3331         (WebCore::Image::destroyNativeData):
3332         (WebCore::Image::invalidateNativeData):
3333         (WebCore::Image::drawInRect):
3334         (WebCore::Image::tileInRect):
3335         (WebCore::Image::scaleAndTileInRect):
3336         * platform/mac/Image.mm:
3337         (WebCore::FrameData::clear):
3338         (WebCore::Image::initNativeData):
3339         (WebCore::Image::destroyNativeData):
3340         (WebCore::Image::invalidateNativeData):
3341         (WebCore::Image::loadResource):
3342         (WebCore::Image::supportsType):
3343         (WebCore::Image::checkForSolidColor):
3344         (WebCore::Image::getTIFFRepresentation):
3345         (WebCore::Image::getNSImage):
3346         (WebCore::Image::getCGImageRef):
3347         (WebCore::Image::drawInRect):
3348         (WebCore::drawPattern):
3349         (WebCore::Image::tileInRect):
3350         (WebCore::Image::scaleAndTileInRect):
3351         * rendering/render_image.cpp:
3352         (WebCore::RenderImage::imageChanged):
3353         (WebCore::RenderImage::resetAnimation):
3354         (WebCore::RenderImage::paint):
3355         (WebCore::RenderImage::nullImage):
3356         * rendering/render_image.h:
3357         (WebCore::RenderImage::image):
3358         * rendering/render_list.cpp:
3359         (RenderListItem::getAbsoluteRepaintRect):
3360         (RenderListMarker::paint):
3361         (RenderListMarker::calcMinMaxWidth):
3362         * rendering/render_object.cpp:
3363         (WebCore::RenderObject::paintBorderImage):
3364
3365 2006-02-06  Maciej Stachowiak  <mjs@apple.com>
3366
3367         Reviewed by Eric.
3368
3369         - fixed "remove frame, renderer and completed flag from ChildFrame, make Frame track these"
3370         http://bugzilla.opendarwin.org/show_bug.cgi?id=7125
3371         
3372         - fixed "onload event never called for iframe element with emtpy or about:blank src"
3373         http://bugzilla.opendarwin.org/show_bug.cgi?id=3609
3374         
3375         * bridge/mac/MacFrame.h:
3376         * bridge/mac/MacFrame.mm:
3377         (WebCore::MacFrame::MacFrame): pass along renderer
3378         (WebCore::MacFrame::nextKeyViewInFrameHierarchy): get owner element in newfangled way
3379         * bridge/mac/WebCoreFrameBridge.h:
3380         * bridge/mac/WebCoreFrameBridge.mm:
3381         (-[WebCoreFrameBridge removeChild:]): don't mess with renderer
3382         (-[WebCoreFrameBridge init]): call new designated initializer
3383         (-[WebCoreFrameBridge initWithRenderer:]): new designated initializer
3384         (-[WebCoreFrameBridge dealloc]): don't mess with renderer
3385         (-[WebCoreFrameBridge finalize]): ditto
3386         (-[WebCoreFrameBridge installInFrame:]): ditto
3387         * page/Frame.cpp:
3388         (WebCore::FrameList::find): get name from frame not ChildFrame
3389         (WebCore::Frame::init): take renderer parameter
3390         (WebCore::Frame::clear): clear m_plugins, not m_objects
3391         (WebCore::Frame::childBegin): updated comment
3392         (WebCore::Frame::stop): add check-completed for documentless case here
3393         (WebCore::Frame::checkCompleted): don't track separate completed flag
3394         in ChildFrame, use the sub Frame object's own
3395         (WebCore::Frame::checkEmitLoadEvent): ditto
3396         (WebCore::Frame::requestFrame): don't store renderer and name in ChildFrame,
3397         instead pass them along
3398         (WebCore::Frame::requestObject): ditto above
3399         (WebCore::Frame::loadPlugin): expect renderer parameter
3400         (WebCore::Frame::loadSubframe): expect renderer and name parameters
3401         (WebCore::Frame::slotChildStarted): don't mess with ChildFrame
3402         (WebCore::Frame::slotChildCompleted): ditto
3403         (WebCore::Frame::childFrame): don't check m_objects
3404         (WebCore::Frame::frameExists): fix spacing, remove obsolete check and comment
3405         (WebCore::Frame::frameNames): get name from frame
3406         (WebCore::Frame::ownerElement): simplify a lot since the Frame knows its owner
3407         renderer now
3408         (WebCore::Frame::ownerRenderer): added
3409         (WebCore::Frame::canCachePage): check m_plugins not m_objects
3410         * page/Frame.h:
3411         * page/FramePrivate.h:
3412         (WebCore::ChildFrame): Remove constructor, most fields.
3413         (WebCore::FramePrivate::FramePrivate): Pass ownerRenderer
3414         * rendering/render_frames.cpp:
3415         (WebCore::RenderPartObject::updateWidget): Make sure to pass name attr
3416         to requestObject.
3417
3418 2006-02-06  Adele Peterson  <adele@apple.com>
3419
3420         Reviewed by Maciej.
3421
3422         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6944
3423           REGRESSION: crash when loading page w/ <link> that has a DOMSubtreeModified event listener
3424
3425         Test: fast/events/event-listener-on-link.html
3426
3427         * khtml/xml/dom_elementimpl.h: Added createAttrImplIfNeeded, removed allocateImpl, 
3428          changed AttrImpl contructor to remove createTextChild bool, added createTextChild method, 
3429          changed getAttributeNode, getAttributeNodeNS, getNamedItem, getNamedItemNS, and item to return PassRefPtrs.
3430         (DOM::ElementImpl::getAttributeNode):
3431         * khtml/xml/dom_elementimpl.cpp:
3432         (WebCore::AttributeImpl::createAttrImplIfNeeded): New method to replace allocateImpl.  
3433          This will use a RefPtr for the AttrImpl, check for an existing AttrImpl, create one if there isn't one,
3434          and will call the new createTextChild.
3435         (WebCore::AttrImpl::AttrImpl):  Moved creation of text child to new createTextChild method.  
3436          If done in the constructor, the ref count is still 0, and the act of appending the text node 
3437          could cause the AttrImpl to be destroyed.
3438         (WebCore::AttrImpl::createTextChild): Moved code from AttrImpl contructor.  
3439          Also, I've added an assert to make sure that any callers of this have ref'd the AttrImpl.
3440         (WebCore::AttrImpl::cloneNode): Used RefPtr instead of PassRefPtr, and then called release() on it before returning.
3441         (WebCore::ElementImpl::cloneNode): ditto.
3442         (WebCore::ElementImpl::getAttributeNodeNS): Changed return type to PassRefPtr.
3443         (WebCore::NamedAttrMapImpl::getNamedItemNS): ditto.
3444         (WebCore::NamedAttrMapImpl::getNamedItem): ditto. Changed use of allocateImpl to createAttrImplIfNeeded
3445         (WebCore::NamedAttrMapImpl::setNamedItem): ditto.
3446         (WebCore::NamedAttrMapImpl::removeNamedItem): ditto.
3447         (WebCore::NamedAttrMapImpl::item): ditto.
3448         * khtml/xml/DocumentImpl.cpp:
3449         (WebCore::DocumentImpl::createAttributeNS): Changed return type to PassRefPtr and removed bool from AttrImpl contructor call.
3450         * khtml/xml/DocumentImpl.h: Now returns a PassRefPtr for createAttribute and createAttributeNS. 
3451         (WebCore::DocumentImpl::createAttribute):
3452         * khtml/xml/NamedNodeMapImpl.h: Now returns a PassRefPtr for getNamedItem, getNamedItemNS, and item.
3453         (WebCore::NamedNodeMapImpl::getNamedItem):
3454         * bindings/objc/DOM.mm:
3455         (-[DOMNamedNodeMap getNamedItem:]): Call get() since the methods discussed above now return PassRefPtrs.
3456         (-[DOMNamedNodeMap item:]): ditto.
3457         (-[DOMNamedNodeMap getNamedItemNS::]): ditto.
3458         (-[DOMDocument createAttribute:]): ditto.
3459         (-[DOMDocument createAttributeNS::]): ditto.
3460         (-[DOMElement getAttributeNode:]): ditto.
3461         (-[DOMElement getAttributeNodeNS::]): ditto.
3462
3463 2006-02-06  Maciej Stachowiak  <mjs@apple.com>
3464
3465         Reviewed by Darin.
3466         
3467         - fixed 7094: onfocus/onblur on non-form-controls bubble
3468         http://bugzilla.opendarwin.org/show_bug.cgi?id=7094
3469
3470         * khtml/html/HTMLElementImpl.cpp:
3471         (WebCore::HTMLElementImpl::parseMappedAttribute): connect onfocus/onblur to
3472         focus/blur, not DOMFocusIn/DOMFocusOut
3473
3474 2006-02-06  Eric Seidel  <eseidel@apple.com>
3475
3476         Add svn:ignore properties for visual studio internals.
3477
3478 2006-02-06  Dave Hyatt <hyatt@apple.com>
3479
3480         Commit the image viewer test app, and all the Win32 project
3481         changes to build both it and Cairo.
3482
3483         Reviewed by eric
3484
3485         * Viewer: Added.
3486         * Viewer.aps: Added.
3487         * Viewer.cpp: Added.
3488         * Viewer.h: Added.
3489         * Viewer.ico: Added.
3490         * Viewer.rc: Added.
3491         * Viewer.reg: Added.
3492         * Viewer.vcproj: Added.
3493         * Viewer/ImageDocument.cpp: Added.
3494         * Viewer/ImageDocument.h: Added.
3495         * Viewer/ImageMainFrame.cpp: Added.
3496         * Viewer/ImageMainFrame.h: Added.
3497         * Viewer/ImageView.cpp: Added.
3498         * Viewer/ImageView.h: Added.
3499         * Viewer/Resource.h: Added.
3500         * Viewer/res: Added.
3501         * Viewer/res/ImageViewer.rc2: Added.
3502         * Viewer/res/Toolbar.bmp: Added.
3503         * Viewer/stdafx.cpp: Added.
3504         * Viewer/stdafx.h: Added.
3505         * ViewerDoc.ico: Added.
3506         * WebCore.vcproj/WebCore.sln:
3507         * WebCore.vcproj/WebCore/WebCore.vcproj:
3508
3509 2006-02-06  Dave Hyatt <hyatt@apple.com>
3510
3511         Reviewed by darin
3512
3513         * khtml/html/html_imageimpl.h:
3514         (WebCore::HTMLImageElementImpl::compositeOperator):
3515         * loader/CachedImage.cpp:
3516         * platform/Array.h:
3517         * platform/FloatSize.h:
3518         * platform/Image.cpp:
3519         (WebCore::Image::Image):
3520         (WebCore::Image::compositeOperatorFromString):
3521         * platform/Image.h:
3522         * platform/ImageData.cpp:
3523         (WebCore::FrameData::clear):
3524         (WebCore::ImageData::ImageData):
3525         (WebCore::ImageData::frameAtIndex):
3526         * platform/ImageData.h:
3527         * platform/ImageDecoder.h:
3528         * platform/Timer.h:
3529         * platform/cairo/.cvsignore: Added.
3530         * platform/cairo/ImageCairo.cpp: Added.
3531         (WebCore::Image::loadResource):
3532         (WebCore::Image::supportsType):
3533         (WebCore::graphicsContext):
3534         (WebCore::setCompositingOperation):
3535         (WebCore::Image::drawInRect):
3536         (WebCore::Image::tileInRect):
3537         (WebCore::Image::scaleAndTileInRect):
3538         * platform/cairo/ImageDecoderCairo.cpp: Added.
3539         (WebCore::createDecoderPlugin):
3540         (WebCore::ImageDecoder::ImageDecoder):
3541         (WebCore::ImageDecoder::~ImageDecoder):
3542         (WebCore::ImageDecoder::initialized):
3543         (WebCore::ImageDecoder::setData):
3544         (WebCore::ImageDecoder::isSizeAvailable):
3545         (WebCore::ImageDecoder::size):
3546         (WebCore::ImageDecoder::repetitionCount):
3547         (WebCore::ImageDecoder::frameCount):
3548         (WebCore::ImageDecoder::createFrameAtIndex):
3549         (WebCore::ImageDecoder::frameDurationAtIndex):
3550         (WebCore::RGBA32Buffer::setDuration):
3551         (WebCore::RGBA32Buffer::setIncludeInNextFrame):
3552         (WebCore::RGBA32Buffer::bytes):
3553         (WebCore::RGBA32Buffer::status):
3554         (WebCore::RGBA32Buffer::duration):
3555         (WebCore::RGBA32Buffer::includeInNextFrame):
3556         (WebCore::RGBA32Buffer::setRGBA):
3557         (WebCore::ImageDecoderPlugin::~ImageDecoderPlugin):
3558         (WebCore::ImageDecoderPlugin::setData):
3559         (WebCore::ImageDecoderPlugin::frameCount):
3560         (WebCore::ImageDecoderPlugin::repetitionCount):
3561         * platform/image-decoders/gif: Added.
3562         * platform/image-decoders/gif/GIFDecoderPlugin.cpp: Added.
3563         (WebCore::GIFDecoderPluginPrivate::GIFDecoderPluginPrivate):
3564         (WebCore::GIFDecoderPluginPrivate::~GIFDecoderPluginPrivate):
3565         (WebCore::GIFDecoderPluginPrivate::decode):
3566         (WebCore::GIFDecoderPluginPrivate::frameCount):
3567         (WebCore::GIFDecoderPluginPrivate::repetitionCount):
3568         (WebCore::GIFDecoderPluginPrivate::setReadOffset):
3569         (WebCore::GIFDecoderPluginPrivate::isTransparent):
3570         (WebCore::GIFDecoderPluginPrivate::getColorMap):
3571         (WebCore::GIFDecoderPluginPrivate::frameXOffset):
3572         (WebCore::GIFDecoderPluginPrivate::frameYOffset):
3573         (WebCore::GIFDecoderPluginPrivate::transparentPixel):
3574         (WebCore::GIFDecoderPluginPrivate::duration):
3575         (WebCore::GIFDecoderPlugin::GIFDecoderPlugin):
3576         (WebCore::GIFDecoderPlugin::~GIFDecoderPlugin):
3577         (WebCore::GIFDecoderPlugin::setData):
3578         (WebCore::GIFDecoderPlugin::isSizeAvailable):
3579         (WebCore::GIFDecoderPlugin::size):
3580         (WebCore::GIFDecoderPlugin::frameCount):
3581         (WebCore::GIFDecoderPlugin::repetitionCount):
3582         (WebCore::GIFDecoderPlugin::frameBufferAtIndex):
3583         (WebCore::GIFDecoderPlugin::decode):
3584         (WebCore::GIFDecoderPlugin::sizeNowAvailable):
3585         (WebCore::GIFDecoderPlugin::decodingHalted):
3586         (WebCore::GIFDecoderPlugin::haveDecodedRow):
3587         (WebCore::GIFDecoderPlugin::frameComplete):
3588         (WebCore::GIFDecoderPlugin::gifComplete):
3589         * platform/image-decoders/gif/GIFDecoderPlugin.h: Added.
3590         (WebCore::GIFDecoderPlugin::frameDurationAtIndex):
3591         (WebCore::GIFDecoderPlugin::):
3592         * platform/image-decoders/gif/GIFReader.cpp: Added.
3593         (GIFReader::output_row):
3594         (GIFReader::do_lzw):
3595         (GIFReader::read):
3596         * platform/image-decoders/gif/GIFReader.h: Added.
3597         (GIFFrameReader::GIFFrameReader):
3598         (GIFFrameReader::~GIFFrameReader):
3599         (GIFReader::GIFReader):
3600         (GIFReader::~GIFReader):
3601         (GIFReader::close):
3602         * platform/win/ImageDecoderPlugin.h: Added.
3603         (WebCore::RGBA32Buffer::):
3604         (WebCore::RGBA32Buffer::RGBA32Buffer):
3605         (WebCore::RGBA32Buffer::setStatus):
3606         (WebCore::RGBA32Buffer::setDuration):
3607         (WebCore::RGBA32Buffer::setIncludeInNextFrame):
3608         (WebCore::RGBA32Buffer::bytes):
3609         (WebCore::RGBA32Buffer::status):
3610         (WebCore::RGBA32Buffer::duration):
3611         (WebCore::RGBA32Buffer::includeInNextFrame):
3612         (WebCore::RGBA32Buffer::setRGBA):
3613         (WebCore::ImageDecoderPlugin::ImageDecoderPlugin):
3614         (WebCore::ImageDecoderPlugin::~ImageDecoderPlugin):
3615         (WebCore::ImageDecoderPlugin::setData):
3616         (WebCore::ImageDecoderPlugin::isSizeAvailable):
3617         (WebCore::ImageDecoderPlugin::size):
3618         (WebCore::ImageDecoderPlugin::frameCount):
3619         (WebCore::ImageDecoderPlugin::repetitionCount):
3620         (WebCore::ImageDecoderPlugin::frameBufferAtIndex):