LayoutTests:
[WebKit-https.git] / WebCore / ChangeLog
1 2006-03-18  David Carson  <dacarson@gmail.com>
2
3         Test: fast/canvas/patternfill-repeat.html
4
5         Reviewed by Darin.
6
7         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7830
8           <canvas> createPattern 'repeat' options fail
9
10         * CanvasPattern.cpp (CanvasPattern::createPattern)
11         Change stepping so that repeat-x, repeat-y, and no-repeat repeat 
12         outside the view area by using large values for repeat interval.
13
14 2006-03-18  Mitz Pettel  <opendarwin.org@mitzpettel.com>
15
16         Test: fast/dom/Element/class-attribute-whitespace.html
17
18         Reviewed by Darin.
19
20         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7761
21           Tabs in class attribute not treated as whitespace
22
23         * dom/dom_elementimpl.cpp:
24         (WebCore::isClassWhitespace): Helper function to check if a character
25         in the class attribute should be treated as whitespace. Added \r and \t.
26         (WebCore::NamedMappedAttrMapImpl::parseClassAttribute): Instead of creating
27         a QStringList and iterating it, do everything in one pass over the string.
28
29 2006-03-18  Mitz Pettel  <opendarwin.org@mitzpettel.com>
30
31         Test: fast/block/float/vertical-move-relayout.html
32
33         Reviewed by Hyatt.
34
35         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6795
36           Slow image load causes render problem
37
38         * rendering/RenderBlock.cpp:
39         (WebCore::RenderBlock::layoutBlockChildren): Call markAllDescendantsWithFloatsForLayout
40         when the child's vertical position changes.
41
42 2006-03-18  David Kilzer  <ddkilzer@kilzer.net>
43
44         Reviewed by Darin.
45
46         - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6314
47         Unclosed <style> element in <head> makes page completely blank
48
49         Test: fast/js/exception-linenums-in-html-3.html
50         Test: fast/js/missing-style-end-tag-js.html
51         Test: fast/tokenizer/missing-style-end-tag-1.html
52         Test: fast/tokenizer/missing-style-end-tag-2.html
53
54         * khtml/html/htmlparser.cpp:
55         (WebCore::HTMLParser::handleError): Add check for missing </style> tag and handle
56         this condition if identified.
57         * khtml/html/htmltokenizer.cpp:
58         (WebCore::HTMLTokenizer::parseTag): If parseSpecial() consumes the rest of the
59         document looking for a </style> tag, reset the state of the tokenizer and
60         retokenize with no special handling for <style>.  The parser will handle the
61         missing </style> tag in HTMLParser::handleError().
62
63 2006-03-18  Rob Buis  <buis@kde.org>
64
65         Reviewed by Darin.
66
67         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=5351:
68         SVG: Safari ignores <title> elements
69
70         Make SVGTitleElementImpl act the same as HTMLTitleElementImpl,
71         in the process setting the title on the right triggers.
72
73         * ksvg2/svg/SVGTitleElementImpl.cpp:
74         (SVGTitleElementImpl::SVGTitleElementImpl):
75         (SVGTitleElementImpl::title):
76         (SVGTitleElementImpl::closeRenderer):
77         (SVGTitleElementImpl::insertedIntoDocument):
78         (SVGTitleElementImpl::removedFromDocument):
79         (SVGTitleElementImpl::childrenChanged):
80         * ksvg2/svg/SVGTitleElementImpl.h:
81
82 2006-03-18  Darin Adler  <darin@apple.com>
83
84         - another try at fixing Windows build
85
86         * WebCore.vcproj/WebCore/WebCore.vcproj: Added EventTargetNodeImpl.h and .cpp.
87
88 2006-03-18  Darin Adler  <darin@apple.com>
89
90         - another try at fixing Windows build
91
92         * bridge/win/FrameWin.cpp: (WebCore::FrameWin::keyPress): Added EventTargetNodeCast.
93
94 2006-03-18  Darin Adler  <darin@apple.com>
95
96         - try to fix Windows build
97
98         * bridge/win/FrameWin.h: Remove KURL parameter.
99         * bridge/win/FrameWin.cpp: (WebCore::FrameWin::urlSelected): Ditto.
100         * platform/win/TemporaryLinkStubs.cpp: (BrowserExtensionWin::canRunModal): Ditto.
101
102 2006-03-18  Mitz Pettel  <opendarwin.org@mitzpettel.com>
103
104         Reviewed by Darin.
105
106         - fix leaks caused by the fix for Bugzilla bug 3560
107
108         * rendering/RenderContainer.cpp:
109         (WebCore::RenderContainer::destroyLeftoverChildren): Text renderers with
110         first-letter pseudo style are children of an existing first-letter inline
111         that has been updated, and should be destroyed.
112
113 2006-03-18  David Hyatt  <hyatt@apple.com>
114
115         Fix for bug 7841, tables, table rows, and table row groups should
116         all support overflow:hidden.
117
118         Reviewed by eric
119
120         * css/cssstyleselector.cpp:
121         (WebCore::CSSStyleSelector::adjustRenderStyle):
122         * rendering/RenderTable.cpp:
123         (WebCore::RenderTable::layout):
124         (WebCore::RenderTable::paint):
125         (WebCore::RenderTable::getOverflowClipRect):
126         * rendering/RenderTable.h:
127         * rendering/RenderTableCol.h:
128         (WebCore::RenderTableCol::requiresLayer):
129         * rendering/RenderTableRow.h:
130         (WebCore::RenderTableRow::requiresLayer):
131         * rendering/render_box.cpp:
132         (WebCore::RenderBox::setStyle):
133         * rendering/render_layer.cpp:
134         (WebCore::RenderLayer::paintLayer):
135
136 2006-03-17  Alice Liu  <alice.liu@apple.com>
137
138         Reviewed by Hyatt.
139
140         - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=6999
141           "Dynamically added link-tag disables the use of change styles 
142            dynamically"
143
144         * khtml/html/html_headimpl.cpp:
145         (WebCore::HTMLLinkElementImpl::process):
146         - dynamically added link-tags for stylesheets were messing up the
147           counting of pending stylesheets.  If a head link element 
148           specifies a new stylesheet but the previously specified 
149           stylesheet is still loading, tell the document that stylesheets 
150           are loaded so that there are no remaining requests for it to be 
151           loaded.
152
153 2006-03-17  Geoffrey Garen  <ggaren@apple.com>
154
155         Reviewed by Darin.
156
157         - Fixed some crashes in event dispatch and settled the question of 
158         when getDocument() can return NULL, removing superfluous NULL checks.
159
160         I promise to check in a test case soon, but I need to land this before
161         the global rename happens, and I left the test file on my other machine.
162
163         Here's what I did:
164
165         (1) Removed NULL checks for getDocument() in cases where we know it
166         should not return NULL (which turned out to be all but one). Replaced 
167         with ASSERT inside getDocument(). Tested to ensure there was no 
168         regression @ albertsons.com.
169
170         (2) Added the EventTargetNode class, which represents Nodes that
171         implement the DOM EventTarget interface. Discussed this design with
172         Maciej and Hyatt. The previous dsign -- assuming that all Nodes were 
173         EventTargets -- made it possible to crash WebKit by, for example, 
174         dispatching a mouse event to a documentType node that was not 
175         associated with a document.
176
177         (3) Reflected (2) into the JS bindings and touched JSDOMCore.cpp to 
178         force a re-build.
179
180         (4) Using classInfo checking, strengthened type constraints on 
181         JavaScript method dispatch so that you can't finagle JavaScript into, 
182         for example, invoking a document-dependent method belonging to a
183         node type that's guaranteed to have a document on a node type that may
184         not have one. 
185
186         (5) Pushed some IE-specific JS bindings that depend on a node having a 
187         document down from DOMNode to DOMElement. (An element always has a 
188         document.) Tested that Firefox's behavior matched. Confirmed with MSDN.
189
190         (6) Updated Objc bindigns to throw an exception if you try to use
191         the event interface on a node that doesn't support it. Discussed this
192         design with Maciej and TimH.
193
194         (7) Consolidated repeated documentElement-finding code in the Position 
195         class into the Position::documentElement() method. Did the same for
196         repeated top-level document finding and DocumentImpl::topDocument().
197         
198         * WebCore+SVG/KDOMHeaders.h:
199         * WebCore.xcodeproj/project.pbxproj:
200         * bindings/js/JSDOMCore.cpp:
201         * bindings/objc/DOM.mm:
202         (-[DOMNode addEventListener:::]):
203         (-[DOMNode removeEventListener:::]):
204         (-[DOMNode dispatchEvent:]):
205         (-[DOMNode KJS::Bindings::]):
206         * bridge/mac/MacFrame.mm:
207         (WebCore::MacFrame::keyEvent):
208         (WebCore::MacFrame::dispatchCPPEvent):
209         * bridge/mac/WebCoreFrameBridge.mm:
210         (-[WebCoreFrameBridge setSelectedDOMRange:affinity:closeTyping:]):
211         (-[WebCoreFrameBridge smartDeleteRangeForProposedRange:]):
212         * css/css_base.cpp:
213         (WebCore::StyleBaseImpl::baseURL):
214         * css/css_computedstyle.cpp:
215         (WebCore::CSSComputedStyleDeclarationImpl::getPropertyCSSValue):
216         * css/css_valueimpl.cpp:
217         (WebCore::CSSMutableStyleDeclarationImpl::removeProperty):
218         (WebCore::CSSMutableStyleDeclarationImpl::setProperty):
219         * css/cssstyleselector.cpp:
220         (WebCore::CSSStyleSelector::applyProperty):
221         * dom/Attr.idl:
222         * dom/CharacterData.idl:
223         * dom/CharacterDataImpl.cpp:
224         (WebCore::CharacterDataImpl::CharacterDataImpl):
225         (WebCore::CharacterDataImpl::rendererIsNeeded):
226         (WebCore::CharacterDataImpl::dump):
227         * dom/CharacterDataImpl.h:
228         * dom/ContainerNodeImpl.cpp:
229         (WebCore::ContainerNodeImpl::ContainerNodeImpl):
230         (WebCore::ContainerNodeImpl::removeChild):
231         (WebCore::ContainerNodeImpl::attach):
232         (WebCore::ContainerNodeImpl::detach):
233         (WebCore::ContainerNodeImpl::insertedIntoDocument):
234         (WebCore::ContainerNodeImpl::removedFromDocument):
235         (WebCore::ContainerNodeImpl::insertedIntoTree):
236         (WebCore::ContainerNodeImpl::removedFromTree):
237         (WebCore::ContainerNodeImpl::setFocus):
238         (WebCore::ContainerNodeImpl::setActive):
239         (WebCore::ContainerNodeImpl::setHovered):
240         (WebCore::dispatchChildInsertionEvents):
241         (WebCore::dispatchChildRemovalEvents):
242         * dom/ContainerNodeImpl.h:
243         * dom/DOMImplementationImpl.cpp:
244         (WebCore::DOMImplementationImpl::createDocument):
245         * dom/DocumentImpl.cpp:
246         (WebCore::DocumentImpl::removeAllEventListenersFromAllNodes):
247         (WebCore::DocumentImpl::removeAllDisconnectedNodeEventListeners):
248         (WebCore::DocumentImpl::getAccObjectCache):
249         (WebCore::DocumentImpl::setFocusNode):
250         (WebCore::DocumentImpl::topDocument):
251         * dom/Element.idl:
252         * dom/EventTargetNodeImpl.cpp: Added.
253         (WebCore::EventTargetNodeImpl::EventTargetNodeImpl):
254         (WebCore::EventTargetNodeImpl::~EventTargetNodeImpl):
255         (WebCore::EventTargetNodeImpl::insertedIntoDocument):
256         (WebCore::EventTargetNodeImpl::removedFromDocument):
257         (WebCore::EventTargetNodeImpl::addEventListener):
258         (WebCore::EventTargetNodeImpl::removeEventListener):
259         (WebCore::EventTargetNodeImpl::removeAllEventListeners):
260         (WebCore::EventTargetNodeImpl::handleLocalEvents):
261         (WebCore::EventTargetNodeImpl::dispatchGenericEvent):
262         (WebCore::EventTargetNodeImpl::dispatchEvent):
263         (WebCore::EventTargetNodeImpl::dispatchSubtreeModifiedEvent):
264         (WebCore::EventTargetNodeImpl::dispatchWindowEvent):
265         (WebCore::EventTargetNodeImpl::dispatchUIEvent):
266         (WebCore::EventTargetNodeImpl::dispatchKeyEvent):
267         (WebCore::EventTargetNodeImpl::dispatchMouseEvent):
268         (WebCore::EventTargetNodeImpl::dispatchSimulatedMouseEvent):
269         (WebCore::EventTargetNodeImpl::dispatchWheelEvent):
270         (WebCore::EventTargetNodeImpl::dispatchHTMLEvent):
271         (WebCore::EventTargetNodeImpl::removeHTMLEventListener):
272         (WebCore::EventTargetNodeImpl::setHTMLEventListener):
273         (WebCore::EventTargetNodeImpl::getHTMLEventListener):
274         (WebCore::EventTargetNodeImpl::disabled):
275         (WebCore::EventTargetNodeImpl::defaultEventHandler):
276         (WebCore::EventTargetNodeImpl::dump):
277         * dom/EventTargetNodeImpl.h: Added.
278         (WebCore::EventTargetNodeImpl::isEventTargetNode):
279         (WebCore::EventTargetNodeImpl::preDispatchEventHandler):
280         (WebCore::EventTargetNodeImpl::postDispatchEventHandler):
281         (WebCore::EventTarget):
282         (WebCore::forbidEventDispatch):
283         (WebCore::allowEventDispatch):
284         (WebCore::eventDispatchForbidden):
285         * dom/NodeImpl.cpp:
286         (WebCore::NodeImpl::NodeImpl):
287         (WebCore::NodeImpl::~NodeImpl):
288         (WebCore::NodeImpl::dump):
289         (WebCore::NodeImpl::detach):
290         (WebCore::NodeImpl::insertedIntoDocument):
291         (WebCore::NodeImpl::removedFromDocument):
292         * dom/NodeImpl.h:
293         (WebCore::NodeImpl::isEventTargetNode):
294         (WebCore::NodeImpl::isLink):
295         (WebCore::NodeImpl::getDocument):
296         (WebCore::NodeImpl::inDocument):
297         * dom/dom2_eventsimpl.cpp:
298         (WebCore::MouseRelatedEventImpl::receivedTarget):
299         * dom/dom2_rangeimpl.cpp:
300         (WebCore::RangeImpl::commonAncestorContainer):
301         * dom/dom_elementimpl.cpp:
302         (WebCore::inHTMLDocument):
303         (WebCore::ElementImpl::focus):
304         (WebCore::ElementImpl::blur):
305         (WebCore::StyledElementImpl::parseMappedAttribute):
306         * dom/dom_position.cpp:
307         (WebCore::Position::documentElement):
308         * dom/dom_position.h:
309         * editing/ReplaceSelectionCommand.cpp:
310         (WebCore::computeAndStoreNodeDesiredStyle):
311         * editing/SelectionController.cpp:
312         (WebCore::SelectionController::needsCaretRepaint):
313         * editing/visible_units.cpp:
314         (WebCore::previousBoundary):
315         (WebCore::nextBoundary):
316         (WebCore::previousLinePosition):
317         (WebCore::nextLinePosition):
318         (WebCore::startOfDocument):
319         (WebCore::endOfDocument):
320         * khtml/ecma/kjs_dom.cpp:
321         (KJS::DOMNode::mark):
322         (KJS::DOMNode::getValueProperty):
323         (KJS::DOMNode::putValueProperty):
324         (KJS::DOMNodeProtoFunc::callAsFunction):
325         (KJS::DOMEventTargetNode::DOMEventTargetNode):
326         (KJS::DOMEventTargetNode::getOwnPropertySlot):
327         (KJS::DOMEventTargetNode::getValueProperty):
328         (KJS::DOMEventTargetNode::put):
329         (KJS::DOMEventTargetNode::putValueProperty):
330         (KJS::DOMEventTargetNode::setListener):
331         (KJS::DOMEventTargetNode::getListener):
332         (KJS::DOMEventTargetNode::pushEventHandlerScope):
333         (KJS::DOMEventTargetNodeProtoFunc::callAsFunction):
334         (KJS::):
335         (KJS::DOMDocument::DOMDocument):
336         (KJS::DOMDocument::getOwnPropertySlot):
337         (KJS::DOMDocument::put):
338         (KJS::DOMDocument::putValueProperty):
339         (KJS::DOMDocumentProtoFunc::callAsFunction):
340         (KJS::DOMElement::DOMElement):
341         (KJS::DOMElement::getValueProperty):
342         (KJS::DOMElement::put):
343         (KJS::DOMElement::putValueProperty):
344         (KJS::DOMElement::getOwnPropertySlot):
345         (KJS::DOMElementProtoFunc::callAsFunction):
346         (KJS::checkNodeSecurity):
347         * khtml/ecma/kjs_dom.h:
348         (KJS::DOMNode::):
349         (KJS::DOMEventTargetNode::):
350         (KJS::DOMElement::):
351         * khtml/ecma/kjs_events.cpp:
352         (KJS::JSLazyEventListener::parseCode):
353         (KJS::getNodeEventListener):
354         * khtml/ecma/kjs_html.cpp:
355         (KJS::HTMLElement::bodyGetter):
356         (KJS::HTMLElement::anchorGetter):
357         (KJS::HTMLElement::getValueProperty):
358         (KJS::HTMLElement::bodySetter):
359         * khtml/ecma/kjs_views.cpp:
360         (KJS::DOMAbstractViewProtoFunc::callAsFunction):
361         * khtml/html/HTMLFormElementImpl.cpp:
362         (WebCore::HTMLFormElementImpl::registerFormElement):
363         (WebCore::HTMLFormElementImpl::removeFormElement):
364         * khtml/html/HTMLGenericFormElementImpl.cpp:
365         (WebCore::HTMLGenericFormElementImpl::insertedIntoTree):
366         * khtml/html/HTMLInputElementImpl.cpp:
367         (WebCore::HTMLInputElementImpl::~HTMLInputElementImpl):
368         (WebCore::HTMLInputElementImpl::focus):
369         * khtml/html/HTMLOptionElementImpl.cpp:
370         (WebCore::HTMLOptionElementImpl::text):
371         * khtml/html/HTMLSelectElementImpl.cpp:
372         (WebCore::HTMLSelectElementImpl::~HTMLSelectElementImpl):
373         * khtml/html/HTMLTextAreaElementImpl.cpp:
374         (WebCore::HTMLTextAreaElementImpl::~HTMLTextAreaElementImpl):
375         * khtml/html/html_baseimpl.cpp:
376         (WebCore::HTMLBodyElementImpl::insertedIntoDocument):
377         (WebCore::HTMLFrameElementImpl::isURLAllowed):
378         (WebCore::HTMLFrameElementImpl::openURL):
379         (WebCore::HTMLFrameElementImpl::frameWidth):
380         (WebCore::HTMLFrameElementImpl::frameHeight):
381         * khtml/html/html_imageimpl.cpp:
382         (WebCore::HTMLImageLoader::~HTMLImageLoader):
383         (WebCore::HTMLImageLoader::updateFromElement):
384         (WebCore::HTMLImageLoader::notifyFinished):
385         (WebCore::HTMLImageElementImpl::width):
386         (WebCore::HTMLImageElementImpl::height):
387         (WebCore::HTMLMapElementImpl::~HTMLMapElementImpl):
388         * khtml/html/html_inlineimpl.cpp:
389         (WebCore::HTMLAnchorElementImpl::defaultEventHandler):
390         * khtml/html/htmltokenizer.cpp:
391         (WebCore::HTMLTokenizer::notifyFinished):
392         * ksvg2/svg/SVGAnimateColorElementImpl.cpp:
393         (SVGAnimateColorElementImpl::handleTimerEvent):
394         * ksvg2/svg/SVGAnimateElementImpl.cpp:
395         (SVGAnimateElementImpl::handleTimerEvent):
396         * ksvg2/svg/SVGAnimateTransformElementImpl.cpp:
397         (SVGAnimateTransformElementImpl::handleTimerEvent):
398         * ksvg2/svg/SVGAnimationElementImpl.cpp:
399         (SVGAnimationElementImpl::closeRenderer):
400         * ksvg2/svg/SVGDOMImplementationImpl.cpp:
401         * ksvg2/svg/SVGDocumentImpl.cpp:
402         (WebCore::SVGDocumentImpl::dispatchRecursiveEvent):
403         * ksvg2/svg/SVGDocumentImpl.h:
404         * ksvg2/svg/SVGImageElementImpl.cpp:
405         * ksvg2/svg/SVGSetElementImpl.cpp:
406         (SVGSetElementImpl::handleTimerEvent):
407         * kwq/KWQAccObject.mm:
408         (-[KWQAccObject mouseButtonListener]):
409         (-[KWQAccObject accessibilityPerformAction:]):
410         * kwq/KWQTextArea.mm:
411         (-[KWQTextAreaTextView dispatchHTMLEvent:]):
412         * page/Frame.cpp:
413         (WebCore::dispatchKHTMLEditableContentChanged):
414         * page/FrameView.cpp:
415         (WebCore::FrameView::dispatchDragEvent):
416         (WebCore::FrameView::dispatchMouseEvent):
417         (WebCore::FrameView::viewportWheelEvent):
418         * rendering/render_layer.cpp:
419         (WebCore::RenderLayer::scrollToOffset):
420         * rendering/render_object.cpp:
421         (WebCore::RenderObject::shouldSelect):
422         (WebCore::RenderObject::backslashAsCurrencySymbol):
423         * rendering/render_replaced.cpp:
424         (WebCore::RenderWidget::sendConsumedMouseUp):
425
426 2006-03-17  David Hyatt  <hyatt@apple.com>
427
428         Fix for 7837, make opacity work with table rows.  Make transparent backgrounds
429         stack properly in cells (so that the layers behind can show through like they
430         should).
431
432         Reviewed by beth
433
434         * rendering/RenderTableCell.cpp:
435         (WebCore::RenderTableCell::requiresLayer):
436         (WebCore::RenderTableCell::paintBackgroundsBehindCell):
437         (WebCore::RenderTableCell::paintBoxDecorations):
438         * rendering/RenderTableCell.h:
439         * rendering/RenderTableRow.cpp:
440         (WebCore::RenderTableRow::paint):
441         * rendering/RenderTableRow.h:
442         (WebCore::RenderTableRow::requiresLayer):
443         * rendering/RenderTableSection.cpp:
444         (WebCore::RenderTableSection::paint):
445         * rendering/render_layer.cpp:
446         (WebCore::RenderLayer::updateLayerPosition):
447         (WebCore::RenderLayer::isTransparent):
448         (WebCore::RenderLayer::transparentAncestor):
449         (WebCore::RenderLayer::beginTransparencyLayers):
450         (WebCore::RenderLayer::paintLayer):
451         (WebCore::RenderLayer::absoluteBoundingBox):
452         * rendering/render_object.cpp:
453         (WebCore::RenderObject::requiresLayer):
454         * rendering/render_object.h:
455         (WebCore::RenderObject::isTransparent):
456         (WebCore::RenderObject::opacity):
457
458 2006-03-17  Maciej Stachowiak  <mjs@apple.com>
459
460         Reviewed by Adele.
461
462         - clean up ResourceRequest to be closer to a proper request interface
463
464         * page/ResourceRequest.h: folded URL into ResourceRequest, other cleanup
465         (WebCore::ResourceRequest::ResourceRequest): Add new explicit constructor
466         that takes a KURL.
467         (WebCore::ResourceRequest::url): getter for KURL
468         (WebCore::ResourceRequest::setURL): corresponding setter
469         (WebCore::ResourceRequest::referrer): new getter for referrer, instead
470         of storing it in m_metaData (it was the only remaining real use of it)
471         (WebCore::ResourceRequest::setReferrer): corresponding setter
472         * bridge/BrowserExtension.h: 
473         - removed unused openURLRequest and openURLNotify methods
474         - folded KURL parameter into ResourceRequest
475         * bridge/mac/BrowserExtensionMac.h: remove KURL args from methods that
476         also take a ResourceRequest
477         * bridge/mac/BrowserExtensionMac.mm:
478         (WebCore::BrowserExtensionMac::createNewWindow): adjust for ResourceRequest
479         changes.
480         * bridge/mac/MacFrame.h: remove KURL args from methods that also take a
481         ResourceRequest
482         * bridge/mac/MacFrame.mm:
483         (WebCore::MacFrame::openURLRequest): adjust for ResourceRequest changes
484         (WebCore::MacFrame::submitForm): ditto
485         (WebCore::MacFrame::urlSelected): ditto
486         * bridge/mac/WebCoreFrameBridge.mm:
487         (-[WebCoreFrameBridge openURL:reload:contentType:refresh:lastModified:pageCache:]): 
488         adjust for ResourceRequest changes
489         * bridge/win/BrowserExtensionWin.h:
490         * khtml/ecma/kjs_window.cpp:
491         (KJS::createNewWindow): adjust for ResourceRequest changes
492         (KJS::WindowFunc::callAsFunction): ditto
493         * page/Frame.cpp:
494         (WebCore::Frame::didOpenURL): adjust for ResourceRequest changes
495         (WebCore::Frame::receivedFirstData): ditto
496         (WebCore::Frame::begin): ditto
497         (WebCore::Frame::completeURL): ditto
498         (WebCore::Frame::changeLocation): ditto
499         (WebCore::Frame::urlSelected): ditto
500         (WebCore::Frame::requestFrame): ditto
501         (WebCore::Frame::submitForm): ditto
502         * page/Frame.h:
503         * platform/win/TemporaryLinkStubs.cpp:
504         (BrowserExtensionWin::createNewWindow): ditto
505
506 2006-03-17  Adele Peterson  <adele@apple.com>
507
508         Reviewed by Tim H.
509
510         Make default backgrounds for new text fields white
511         instead of transparent.  This will move to html4.css
512         when we flip the switch.
513
514         Test added:
515         * fast/forms/input-appearance-default-bkcolor.html
516
517         * rendering/render_theme_mac.mm:
518         (WebCore::RenderThemeMac::adjustTextFieldStyle):
519
520 2006-03-17  David Hyatt  <hyatt@apple.com>
521
522         Make table sections and table captions support opacity.
523
524         Reviewed by darin
525
526         Covered by some of the new Mozilla table tests.
527
528         * rendering/RenderTable.cpp:
529         (WebCore::RenderTable::paint):
530
531 2006-03-17  Mitz Pettel  <opendarwin.org@mitzpettel.com>
532
533         Reviewed by Maciej, landed by Beth.
534
535         fix http://bugzilla.opendarwin.org/show_bug.cgi?id=3560
536         page with use of first-letter crashes reproducibly in 
537         RenderObject::renderArena()
538
539         * rendering/RenderBlock.cpp:
540         (WebCore::RenderBlock::updateFirstLetter): Pass the first-leter 
541         renderer to the remaining text fragment.
542         * rendering/RenderContainer.cpp:
543         (WebCore::RenderContainer::destroyLeftoverChildren): Do not destroy 
544         first-letter renderers since they are destroyed by their remaining 
545         text now.
546         * rendering/RenderTextFragment.cpp:
547         (khtml::RenderTextFragment::RenderTextFragment):
548         (khtml::RenderTextFragment::destroy): Destroy the first-letter 
549         renderer.
550         * rendering/RenderTextFragment.h:
551         (khtml::RenderTextFragment::firstLetter):
552
553 2006-03-17  Adele Peterson  <adele@apple.com>
554
555         Reviewed by Eric.
556
557         - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=7798 
558         New text fields are much wider than they should be for a specified size
559
560         I changed the character we use to calculate the width from "w" back to "0", 
561         which matches our old behavior.  The original change was intentional, to try
562         to better match other browsers, but "w" is a little too wide.  For now, lets
563         go back to the old behavior.
564
565         I also set the minWidth = maxWidth.  We were trying to match a WinIE quirk,
566         but that caused some odd behavior with growth of the text field in table cells.
567
568         * rendering/RenderTextField.cpp: (WebCore::RenderTextField::calcMinMaxWidth):
569
570 2006-03-17  Eric Seidel  <eseidel@apple.com>
571
572         Reviewed by adele.
573
574         Fix win32 build.
575         Add PageWin class.
576         Add previously forgotten KeyEventWin class.
577         Pass MouseEvent() instead of 0 in a couple places to make compiler happy.
578
579         * WebCore.vcproj/WebCore/WebCore.vcproj:
580         * bridge/win/BrowserExtensionWin.h:
581         * bridge/win/FrameWin.cpp:
582         (WebCore::FrameWin::urlSelected):
583         (WebCore::FrameWin::keyPress):
584         * bridge/win/FrameWin.h:
585         * bridge/win/PageWin.cpp: Added.
586         (WebCore::rootWindowForFrame):
587         (WebCore::Page::windowRect):
588         (WebCore::Page::setWindowRect):
589         * page/FrameView.cpp:
590         (WebCore::FrameView::updateDragAndDrop):
591         (WebCore::FrameView::hoverTimerFired):
592         * page/Page.h:
593         (WebCore::Page::mainFrame):
594         * platform/win/KeyEventWin.cpp: Added.
595         (WebCore::KeyEvent::KeyEvent):
596         * platform/win/TemporaryLinkStubs.cpp:
597         (WebCore::findNextWordFromIndex):
598         (FrameWin::passMouseDownEventToWidget):
599         (FrameWin::scheduleClose):
600         (BrowserExtensionWin::createNewWindow):
601         (WebCore::findWordBoundary):
602         (FrameWin::registerCommandForUndo):
603         (FrameWin::markMisspellingsInAdjacentWords):
604         (FrameWin::respondToChangedContents):
605
606 2006-03-17  David Hyatt  <hyatt@apple.com>
607
608         Fix pixel test regression in fast/table/overflowHidden.html.  There was
609         a borderTopExtra error made in the new boundingBox code for layers that
610         caused the bottom half of cells with opacity set to be clipped out.
611
612         Reviewed by andersca
613
614         * rendering/render_layer.cpp:
615         (WebCore::RenderLayer::absoluteBoundingBox):
616
617 2006-03-17  David Hyatt  <hyatt@apple.com>
618
619         Give table rows and sections accurate dimensions.  Fix absolutePosition
620         to work for table cells properly.  Add an absolutePositionForContent method
621         to make sure callers that want to deal with the content of a cell handle
622         the cell's extra space correctly.
623
624         Reviewed by darin
625
626         Existing layout tests cover this change.
627
628         * bridge/mac/WebCoreFrameBridge.mm:
629         (-[WebCoreFrameBridge copyRenderNode:copier:]):
630         * dom/ContainerNodeImpl.cpp:
631         (WebCore::ContainerNodeImpl::getUpperLeftCorner):
632         (WebCore::ContainerNodeImpl::getLowerRightCorner):
633         * dom/NodeImpl.cpp:
634         (WebCore::NodeImpl::getRect):
635         * editing/SelectionController.cpp:
636         (WebCore::SelectionController::layout):
637         (WebCore::SelectionController::caretRect):
638         * editing/visible_units.cpp:
639         (WebCore::previousLinePosition):
640         (WebCore::nextLinePosition):
641         * khtml/html/HTMLInputElementImpl.cpp:
642         (WebCore::HTMLInputElementImpl::defaultEventHandler):
643         * kwq/KWQRenderTreeDebug.cpp:
644         (operator<<):
645         * rendering/RenderBlock.cpp:
646         (WebCore::RenderBlock::selectionGapRects):
647         (WebCore::RenderBlock::positionForCoordinates):
648         * rendering/RenderContainer.cpp:
649         (WebCore::RenderContainer::positionForCoordinates):
650         (WebCore::RenderContainer::lineBoxRects):
651         * rendering/RenderTableCell.cpp:
652         (WebCore::RenderTableCell::computeAbsoluteRepaintRect):
653         (WebCore::RenderTableCell::absolutePosition):
654         * rendering/RenderTableRow.cpp:
655         (WebCore::RenderTableRow::addChild):
656         (WebCore::RenderTableRow::getAbsoluteRepaintRect):
657         (WebCore::RenderTableRow::nodeAtPoint):
658         * rendering/RenderTableRow.h:
659         * rendering/RenderTableSection.cpp:
660         (WebCore::RenderTableSection::ensureRows):
661         (WebCore::RenderTableSection::addCell):
662         (WebCore::RenderTableSection::layoutRows):
663         (WebCore::RenderTableSection::recalcCells):
664         (WebCore::RenderTableSection::nodeAtPoint):
665         * rendering/RenderTableSection.h:
666         * rendering/RenderText.cpp:
667         (WebCore::RenderText::lineBoxRects):
668         (WebCore::RenderText::positionForCoordinates):
669         (WebCore::RenderText::caretRect):
670         (WebCore::RenderText::posOfChar):
671         (WebCore::RenderText::selectionRect):
672         * rendering/render_box.cpp:
673         (WebCore::RenderBox::absolutePosition):
674         (WebCore::RenderBox::caretRect):
675         * rendering/render_br.cpp:
676         (WebCore::RenderBR::caretRect):
677         * rendering/render_canvas.h:
678         * rendering/render_flow.cpp:
679         (WebCore::RenderFlow::caretRect):
680         * rendering/render_frames.cpp:
681         (WebCore::RenderPart::updateWidgetPosition):
682         * rendering/render_layer.cpp:
683         (WebCore::RenderLayer::updateLayerPosition):
684         * rendering/render_object.cpp:
685         (WebCore::RenderObject::absoluteRects):
686         (WebCore::RenderObject::absoluteBoundingBoxRect):
687         (WebCore::RenderObject::absolutePosition):
688         * rendering/render_object.h:
689         (WebCore::RenderObject::absolutePositionForContent):
690         (WebCore::RenderObject::offsetHeight):
691         * rendering/render_replaced.cpp:
692         (WebCore::RenderWidget::updateWidgetPosition):
693
694 2006-03-17  Adele Peterson  <adele@apple.com>
695
696         Reviewed by Hyatt.
697
698         WebCore part of fix for:
699         http://bugzilla.opendarwin.org/show_bug.cgi?id=7797 
700         Can't set background color on new text fields
701
702         Bezeled NSTextFieldCells always draw a background, so instead we'll use a new 
703         WebKitSystemInterface function to just draw the border of the cell.
704
705         Since the theme is drawing the border and the engine is drawing the background 
706         (which is different from the other form controls), we have to make sure we let the 
707         theme paint the border after the engine paints the background.
708
709         * platform/mac/WebCoreGraphicsBridge.h:
710         * platform/mac/WebCoreGraphicsBridge.m:
711         (-[WebCoreGraphicsBridge drawBezeledTextFieldCell:enabled:]):
712         * rendering/render_box.cpp: (WebCore::RenderBox::paintBoxDecorations):
713         * rendering/render_theme.cpp:
714         (WebCore::RenderTheme::paint):
715         (WebCore::RenderTheme::paintBorder):
716         (WebCore::RenderTheme::shouldPaintBorder):
717         * rendering/render_theme.h:
718         * rendering/render_theme_mac.mm:
719         (WebCore::RenderThemeMac::paintTextField):
720         (WebCore::RenderThemeMac::setTextFieldCellState):
721
722 2006-03-16  Darin Adler  <darin@apple.com>
723
724         Reviewed by Eric.
725
726         - removed KWQWindowWidget
727         - changed most event handling to use references instead of pointers
728         - chagned PageMac to no longer be a subclass of Page
729
730         Yes, I know there's no detail in this ChangeLog entry.
731         No, I don't plan to make a habit of doing things this way.
732         Yes, this will probably break the Windows build again.
733
734         * WebCore.xcodeproj/project.pbxproj:
735         * bridge/mac/BrowserExtensionMac.mm:
736         (WebCore::BrowserExtensionMac::createNewWindow):
737         * bridge/mac/FrameViewMac.mm:
738         * bridge/mac/MacFrame.h:
739         * bridge/mac/MacFrame.mm:
740         (WebCore::MacFrame::MacFrame):
741         (WebCore::MacFrame::~MacFrame):
742         (WebCore::MacFrame::wheelEvent):
743         (WebCore::MacFrame::keyEvent):
744         (WebCore::MacFrame::khtmlMousePressEvent):
745         (WebCore::MacFrame::khtmlMouseMoveEvent):
746         (WebCore::MacFrame::khtmlMouseReleaseEvent):
747         (WebCore::MacFrame::mouseDown):
748         (WebCore::MacFrame::mouseDragged):
749         (WebCore::MacFrame::mouseUp):
750         (WebCore::MacFrame::mouseMoved):
751         (WebCore::MacFrame::sendContextMenuEvent):
752         (WebCore::MacFrame::setBridge):
753         (WebCore::MacFrame::dragSourceMovedTo):
754         (WebCore::MacFrame::dragSourceEndedAt):
755         (WebCore::MacFrame::dispatchDragSrcEvent):
756         * bridge/mac/PageMac.h: Removed.
757         * bridge/mac/PageMac.mm: Added.
758         (WebCore::Page::Page):
759         (WebCore::Page::windowRect):
760         (WebCore::Page::setWindowRect):
761         * bridge/mac/WebCoreFrameBridge.h:
762         * bridge/mac/WebCoreFrameBridge.mm:
763         (-[WebCoreFrameBridge page]):
764         (-[WebCoreFrameBridge initializeSettings:]):
765         (globalPoint):
766         (createMouseEventFromDraggingInfo):
767         (-[WebCoreFrameBridge dragOperationForDraggingInfo:]):
768         (-[WebCoreFrameBridge dragExitedWithDraggingInfo:]):
769         (-[WebCoreFrameBridge concludeDragForDraggingInfo:]):
770         (-[WebCoreFrameBridge dragSourceMovedTo:]):
771         (-[WebCoreFrameBridge dragSourceEndedAt:operation:]):
772         * bridge/mac/WebCoreFrameNamespaces.mm:
773         (WebCore::):
774         * bridge/mac/WebCorePageBridge.h:
775         * bridge/mac/WebCorePageBridge.mm:
776         (-[WebCorePageBridge init]):
777         * dom/DocumentImpl.cpp:
778         (WebCore::DocumentImpl::prepareMouseEvent):
779         (WebCore::DocumentImpl::defaultEventHandler):
780         * dom/DocumentImpl.h:
781         * dom/NodeImpl.cpp:
782         (WebCore::NodeImpl::dispatchMouseEvent):
783         (WebCore::NodeImpl::dispatchKeyEvent):
784         (WebCore::NodeImpl::dispatchWheelEvent):
785         * dom/NodeImpl.h:
786         * dom/dom2_eventsimpl.cpp:
787         (WebCore::KeyboardEventImpl::KeyboardEventImpl):
788         * dom/dom2_eventsimpl.h:
789         (WebCore::KeyboardEventImpl::keyEvent):
790         * khtml/ecma/kjs_window.cpp:
791         (KJS::Window::getValueProperty):
792         (KJS::WindowFunc::callAsFunction):
793         * khtml/html/html_inlineimpl.cpp:
794         (WebCore::HTMLAnchorElementImpl::defaultEventHandler):
795         * ksvg2/svg/SVGDocumentImpl.cpp:
796         * ksvg2/svg/SVGDocumentImpl.h:
797         * kwq/KWQWindowWidget.h:
798         * kwq/KWQWindowWidget.mm: Removed.
799         * page/Frame.cpp:
800         (WebCore::Frame::selectClosestWordFromMouseEvent):
801         (WebCore::Frame::handleMousePressEventDoubleClick):
802         (WebCore::Frame::handleMousePressEventTripleClick):
803         (WebCore::Frame::handleMousePressEventSingleClick):
804         (WebCore::Frame::khtmlMousePressEvent):
805         (WebCore::Frame::handleMouseMoveEventSelection):
806         (WebCore::Frame::khtmlMouseMoveEvent):
807         (WebCore::Frame::khtmlMouseReleaseEvent):
808         (WebCore::Frame::khtmlMouseDoubleClickEvent):
809         (WebCore::Frame::passWidgetMouseDownEventToWidget):
810         * page/Frame.h:
811         * page/FrameView.cpp:
812         (WebCore::FrameView::viewportMousePressEvent):
813         (WebCore::FrameView::viewportMouseDoubleClickEvent):
814         (WebCore::FrameView::viewportMouseMoveEvent):
815         (WebCore::FrameView::viewportMouseReleaseEvent):
816         (WebCore::FrameView::dispatchDragEvent):
817         (WebCore::FrameView::updateDragAndDrop):
818         (WebCore::FrameView::cancelDragAndDrop):
819         (WebCore::FrameView::performDragAndDrop):
820         (WebCore::FrameView::dispatchMouseEvent):
821         (WebCore::FrameView::viewportWheelEvent):
822         * page/FrameView.h:
823         * page/MouseEventWithHitTestResults.h:
824         (WebCore::MouseEventWithHitTestResults::MouseEventWithHitTestResults):
825         (WebCore::MouseEventWithHitTestResults::event):
826         * page/Page.cpp:
827         (WebCore::Page::init):
828         * page/Page.h:
829         (WebCore::Page::bridge):
830         * platform/KeyEvent.h:
831         (WebCore::KeyEvent::isAutoRepeat):
832         * platform/MouseEvent.h:
833         (WebCore::MouseEvent::MouseEvent):
834         * platform/mac/KeyEventMac.mm:
835         (WebCore::KeyEvent::KeyEvent):
836         * platform/win/TemporaryLinkStubs.cpp:
837         (FrameView::isFrameView):
838         * rendering/render_form.cpp:
839         (WebCore::RenderFormElement::clicked):
840
841 2006-03-16  Eric Seidel  <eseidel@apple.com>
842
843         Reviewed by darin.
844
845         Add additional hackish Font, focusring and caret code.
846         http://bugzilla.opendarwin.org/show_bug.cgi?id=7803
847
848         * WebCore.vcproj/WebCore/WebCore.vcproj:
849         * WebCore.vcproj/WebCore/build-generated-files.sh:
850         * bindings/js/JSCanvasRenderingContext2DBase.cpp:
851         * bridge/win/FrameWin.cpp:
852         (WebCore::FrameWin::keyPress):
853         * bridge/win/FrameWin.h:
854         * html/CanvasRenderingContext2D.h:
855         * platform/IntSize.h:
856         * platform/KeyEvent.h:
857         * platform/cairo/GraphicsContextCairo.cpp:
858         (WebCore::GraphicsContext::drawArc):
859         (WebCore::GraphicsContext::drawFocusRing):
860         * platform/win/FontWin.cpp:
861         (WebCore::hackishExtentForString):
862         (WebCore::Font::floatWidth):
863         (WebCore::convertRange):
864         (WebCore::Font::drawText):
865         (WebCore::Font::drawHighlightForText):
866         (WebCore::Font::selectionRectForText):
867         (WebCore::Font::checkSelectionPoint):
868         (WebCore::Font::drawLineForText):
869         (WebCore::Font::misspellingLineThickness):
870         * platform/win/IntSizeWin.cpp: Added.
871         (WebCore::IntSize::IntSize):
872         (WebCore::IntSize::operator SIZE):
873         * platform/win/ScrollViewWin.cpp:
874         (WebCore::ScrollView::visibleContentRect):
875         * platform/win/TemporaryLinkStubs.cpp:
876         (Widget::disableFlushDrawing):
877         (GraphicsContext::GraphicsContext):
878         (QListBox::setSelected):
879         (QListBox::sizeForNumberOfLines):
880         (QListBox::isSelected):
881         (QListBox::appendItem):
882         (QListBox::doneAppendingItems):
883         (FrameWin::locationbarVisible):
884         (FrameWin::canUndo):
885         (FrameWin::mimeTypeForFileName):
886         (FrameWin::issueTransposeCommand):
887         (RenderCanvasImage::setNeedsImageUpdate):
888         (FrameWin::shouldChangeSelection):
889         (FrameWin::respondToChangedSelection):
890         (FrameWin::clearRecordedFormValues):
891         (FrameWin::recordFormValue):
892         (BrowserExtensionWin::getHistoryLength):
893         (Widget::setIsSelected):
894         (GraphicsContext::selectedTextBackgroundColor):
895         (GraphicsContext::addRoundedRectClip):
896         (QScrollBar::QScrollBar):
897         (QScrollBar::~QScrollBar):
898         (QScrollBar::setSteps):
899         (QScrollBar::scroll):
900         (QScrollBar::setValue):
901         (QScrollBar::setKnobProportion):
902         (QListBox::QListBox):
903         (QListBox::~QListBox):
904         (QListBox::setSelectionMode):
905         (QListBox::setFont):
906         * rendering/render_canvasimage.h:
907
908 2006-03-16  Maciej Stachowiak  <mjs@apple.com>
909
910         Reviewed by Eric.
911
912         - renamed URLArgs to ResourceRequest, split it into its own header
913         - moved methods to get and set ResourceRequest to Frame
914
915         * WebCore.xcodeproj/project.pbxproj:
916         * bridge/BrowserExtension.h:
917         * bridge/mac/BrowserExtensionMac.h:
918         * bridge/mac/BrowserExtensionMac.mm:
919         (WebCore::BrowserExtensionMac::openURLRequest):
920         (WebCore::BrowserExtensionMac::createNewWindow):
921         * bridge/mac/MacFrame.h:
922         * bridge/mac/MacFrame.mm:
923         (WebCore::MacFrame::openURLRequest):
924         (WebCore::MacFrame::submitForm):
925         (WebCore::MacFrame::urlSelected):
926         * bridge/mac/WebCoreFrameBridge.mm:
927         (-[WebCoreFrameBridge openURL:reload:contentType:refresh:lastModified:pageCache:]):
928         * khtml/ecma/kjs_window.cpp:
929         (KJS::createNewWindow):
930         (KJS::WindowFunc::callAsFunction):
931         * page/Frame.cpp:
932         (WebCore::Frame::didOpenURL):
933         (WebCore::Frame::receivedFirstData):
934         (WebCore::Frame::setResourceRequest):
935         (WebCore::Frame::resourceRequest):
936         (WebCore::Frame::begin):
937         (WebCore::Frame::changeLocation):
938         (WebCore::Frame::urlSelected):
939         (WebCore::Frame::requestFrame):
940         (WebCore::Frame::submitForm):
941         * page/Frame.h:
942         * page/FramePrivate.h:
943         * page/ResourceRequest.h: Added.
944         (WebCore::ResourceRequest::ResourceRequest):
945         (WebCore::ResourceRequest::contentType):
946         (WebCore::ResourceRequest::setContentType):
947         (WebCore::ResourceRequest::doPost):
948         (WebCore::ResourceRequest::setDoPost):
949         (WebCore::ResourceRequest::lockHistory):
950         (WebCore::ResourceRequest::setLockHistory):
951         (WebCore::ResourceRequest::metaData):
952
953 2006-03-16  Darin Adler  <darin@apple.com>
954
955         - need to touch one more file to fix the build
956           (Darn the lack of dependencies for autogenerated bindings!)
957
958         * dom/Element.idl: Touch. (Really this time.)
959
960 2006-03-16  Eric Seidel  <eseidel@apple.com>
961
962         Reviewed by darin.
963
964         Pushed focus ring handling down into GraphicsContext.cpp
965
966         * bridge/mac/MacFrame.mm:
967         (WebCore::MacFrame::mouseDown):
968         * platform/GraphicsContext.cpp:
969         (WebCore::GraphicsContext::initFocusRing):
970         (WebCore::GraphicsContext::clearFocusRing):
971         (WebCore::GraphicsContext::addFocusRingRect):
972         * platform/GraphicsContext.h:
973         * platform/mac/GraphicsContextMac.mm:
974         (WebCore::GraphicsContextPrivate::GraphicsContextPrivate):
975         (WebCore::GraphicsContextPrivate::~GraphicsContextPrivate):
976         (WebCore::GraphicsContext::GraphicsContext):
977         (WebCore::GraphicsContext::drawFocusRing):
978         * rendering/render_flow.cpp:
979         (WebCore::RenderFlow::addFocusRingRects):
980         * rendering/render_object.cpp:
981         (WebCore::RenderObject::addFocusRingRects):
982
983 2006-03-15  Darin Adler  <darin@apple.com>
984
985         Reviewed by Hyatt.
986
987         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7749
988           canvas should be in DOM, not implemented in the JS bindings
989
990         * WebCore.xcodeproj/project.pbxproj: Added new files.
991         Changed bindings-generation code to work on the new html directory
992         as well as the dom one.
993
994         * bindings/js/JSCanvasRenderingContext2DBase.cpp: Added.
995         * bindings/js/JSCanvasRenderingContext2DBase.h: Added.
996         * bindings/js/JSDOMHTML.cpp: Added.
997         * html: Added.
998         * html/CanvasGradient.cpp: Added.
999         * html/CanvasGradient.h: Added.
1000         * html/CanvasGradient.idl: Added.
1001         * html/CanvasPattern.cpp: Added.
1002         * html/CanvasPattern.h: Added.
1003         * html/CanvasPattern.idl: Added.
1004         * html/CanvasRenderingContext2D.cpp: Added.
1005         * html/CanvasRenderingContext2D.h: Added.
1006         * html/CanvasRenderingContext2D.idl: Added.
1007         * html/CanvasStyle.cpp: Added.
1008         * html/CanvasStyle.h: Added.
1009
1010         * bindings/js/JSDOMCore.cpp: Touched so that it will recompile.
1011         * bindings/js/JSDOMEvents.cpp: Ditto.
1012         * dom/Attr.idl: Ditto.
1013         * dom/DOMImplementation.idl: Ditto.
1014         * dom/DocumentType.idl: Ditto.
1015         * dom/MutationEvent.idl: Ditto.
1016         * dom/ProcessingInstruction.idl: Ditto.
1017         * dom/Text.idl: Ditto.
1018
1019         * khtml/ecma/kjs_binding.h: (KJS::toJS): Added. Template so that you can call
1020         toJS on a PassRefPtr as well as on a raw pointer.
1021
1022         * bindings/scripts/CodeGeneratorJS.pm: Fixed handling of a class that has only
1023         a legacy parent, no conventional parents. Added JSCanvasRenderingContext2DBase
1024         as a legacy parent, and html as a legacy module. Added CanvasRenderingContext2D,
1025         CanvasGradient, and CanvasPattern to the "waht to include". Added a special
1026         case for strings beginning with Canvas to not add an "Impl" suffix. Made the
1027         generated impl() function be a const member function. Made m_mimpl be private
1028         instead of protected. Generate a toJS function for each class. Added flaot as
1029         a type. Generate String, not DOMString. Made the HashTable const.
1030
1031         * bindings/scripts/IDLParser.pm: Fix a couple small things. I had started to
1032         try to make a missing semicolon trigger an error, but ended up giving up on
1033         that for now.
1034
1035         * khtml/html/html_canvasimpl.h:
1036         * khtml/html/html_canvasimpl.cpp:
1037         (WebCore::HTMLCanvasElementImpl::HTMLCanvasElementImpl): Set m_2DContext to 0.
1038         (WebCore::HTMLCanvasElementImpl::~HTMLCanvasElementImpl): Call detachCanvas
1039         on m_2DContext, if any.
1040         (WebCore::HTMLCanvasElementImpl::detach): Call reset on m_2DContext, if any.
1041         (WebCore::HTMLCanvasElementImpl::getContext): Added.
1042         (WebCore::HTMLCanvasElementImpl::size): Added.
1043         (WebCore::HTMLCanvasElementImpl::createPlatformImage): Added.
1044
1045         * platform/Image.h:
1046         * platform/Image.cpp: (WebCore::Image::compositeOperatorFromString):
1047         Changed to take a String instead of a const char*.
1048
1049         * khtml/html/html_imageimpl.h:
1050         * khtml/html/html_imageimpl.cpp: (WebCore::HTMLMapElementImpl::areas):
1051         Tweaked formatting. Changed to use PassRefPtr.
1052
1053         * bindings/objc/DOMInternal.mm: (-[WebScriptObject _initializeScriptDOMNodeImp]):
1054         * khtml/ecma/JSXMLHttpRequest.cpp: (KJS::JSXMLHttpRequest::getValueProperty):
1055         * khtml/ecma/XSLTProcessor.cpp: (KJS::XSLTProcessorProtoFunc::callAsFunction):
1056         * khtml/ecma/domparser.cpp: (KJS::DOMParserProtoFunc::callAsFunction):
1057         * khtml/ecma/kjs_css.cpp:
1058         (KJS::DOMCSSStyleDeclaration::getValueProperty):
1059         (KJS::DOMCSSStyleDeclarationProtoFunc::callAsFunction):
1060         (KJS::toJS):
1061         (KJS::DOMStyleSheet::getValueProperty):
1062         (KJS::DOMStyleSheetList::indexGetter):
1063         (KJS::DOMStyleSheetList::nameGetter):
1064         (KJS::DOMStyleSheetListFunc::callAsFunction):
1065         (KJS::DOMCSSStyleSheet::getValueProperty):
1066         (KJS::DOMCSSRuleList::indexGetter):
1067         (KJS::DOMCSSRuleListFunc::callAsFunction):
1068         (KJS::DOMCSSRule::getValueProperty):
1069         (KJS::DOMCSSPrimitiveValueProtoFunc::callAsFunction):
1070         (KJS::DOMCSSValueList::indexGetter):
1071         (KJS::DOMCSSValueListFunc::callAsFunction):
1072         (KJS::DOMRect::getValueProperty):
1073         * khtml/ecma/kjs_css.h:
1074         * khtml/ecma/kjs_dom.cpp:
1075         (KJS::DOMNode::getValueProperty):
1076         (KJS::DOMNodeProtoFunc::callAsFunction):
1077         (KJS::DOMNodeList::indexGetter):
1078         (KJS::DOMNodeList::nameGetter):
1079         (KJS::DOMNodeList::callAsFunction):
1080         (KJS::DOMNodeListFunc::callAsFunction):
1081         (KJS::DOMDocument::getValueProperty):
1082         (KJS::DOMDocumentProtoFunc::callAsFunction):
1083         (KJS::DOMNamedNodeMap::indexGetter):
1084         (KJS::DOMNamedNodeMap::nameGetter):
1085         (KJS::DOMNamedNodeMapProtoFunc::callAsFunction):
1086         (KJS::toJS):
1087         (KJS::DOMNamedNodesCollection::indexGetter):
1088         * khtml/ecma/kjs_dom.h:
1089         * khtml/ecma/kjs_events.cpp:
1090         (KJS::JSAbstractEventListener::handleEvent):
1091         (KJS::JSLazyEventListener::parseCode):
1092         (KJS::DOMEvent::getValueProperty):
1093         (KJS::toJS):
1094         (KJS::DOMUIEvent::getValueProperty):
1095         (KJS::DOMMouseEvent::getValueProperty):
1096         * khtml/ecma/kjs_events.h:
1097         * khtml/ecma/kjs_html.cpp:
1098         (KJS::HTMLDocFunction::callAsFunction):
1099         (KJS::HTMLDocument::namedItemGetter):
1100         (KJS::HTMLDocument::getValueProperty):
1101         (KJS::HTMLDocument::put):
1102         (KJS::HTMLDocument::putValueProperty):
1103         (KJS::HTMLElement::classInfo):
1104         (KJS::HTMLElement::formIndexGetter):
1105         (KJS::HTMLElement::selectIndexGetter):
1106         (KJS::HTMLElement::implementsCall):
1107         (KJS::HTMLElement::callAsFunction):
1108         (KJS::HTMLElement::linkGetter):
1109         (KJS::HTMLElement::isIndexGetter):
1110         (KJS::HTMLElement::styleGetter):
1111         (KJS::HTMLElement::selectGetter):
1112         (KJS::HTMLElement::optionGetter):
1113         (KJS::HTMLElement::inputGetter):
1114         (KJS::HTMLElement::textAreaGetter):
1115         (KJS::HTMLElement::buttonGetter):
1116         (KJS::HTMLElement::labelGetter):
1117         (KJS::HTMLElement::fieldSetGetter):
1118         (KJS::HTMLElement::legendGetter):
1119         (KJS::HTMLElement::objectGetter):
1120         (KJS::HTMLElement::tableGetter):
1121         (KJS::HTMLElement::frameGetter):
1122         (KJS::HTMLElement::iFrameGetter):
1123         (KJS::HTMLElement::getValueProperty):
1124         (KJS::HTMLElement::toString):
1125         (KJS::HTMLElement::pushEventHandlerScope):
1126         (KJS::toJS):
1127         (KJS::HTMLElementFunction::callAsFunction):
1128         (KJS::HTMLElement::put):
1129         (KJS::HTMLCollection::indexGetter):
1130         (KJS::HTMLCollection::callAsFunction):
1131         (KJS::HTMLCollection::getNamedItems):
1132         (KJS::HTMLCollectionProtoFunc::callAsFunction):
1133         (KJS::HTMLSelectCollection::put):
1134         (KJS::OptionConstructorImp::construct):
1135         (KJS::ImageConstructorImp::construct):
1136         * khtml/ecma/kjs_html.h:
1137         * khtml/ecma/kjs_proxy.cpp: (WebCore::KJSProxyImpl::evaluate):
1138         * khtml/ecma/kjs_range.cpp:
1139         (KJS::DOMRange::getValueProperty):
1140         (KJS::DOMRangeProtoFunc::callAsFunction):
1141         (KJS::toJS):
1142         * khtml/ecma/kjs_range.h:
1143         * khtml/ecma/kjs_traversal.cpp:
1144         (KJS::DOMNodeIterator::getValueProperty):
1145         (KJS::DOMNodeIteratorProtoFunc::callAsFunction):
1146         (KJS::toJS):
1147         (KJS::DOMTreeWalker::getValueProperty):
1148         (KJS::DOMTreeWalkerProtoFunc::callAsFunction):
1149         (KJS::JSNodeFilterCondition::acceptNode):
1150         * khtml/ecma/kjs_traversal.h:
1151         * khtml/ecma/kjs_views.cpp:
1152         (KJS::DOMAbstractView::getValueProperty):
1153         (KJS::DOMAbstractViewProtoFunc::callAsFunction):
1154         (KJS::toJS):
1155         * khtml/ecma/kjs_views.h:
1156         * khtml/ecma/kjs_window.cpp:
1157         (KJS::Window::getValueProperty):
1158         (KJS::Window::namedItemGetter):
1159         (KJS::Selection::getValueProperty):
1160         (KJS::SelectionFunc::callAsFunction):
1161         Rename uses and definitions of all the various converstions to JavaScript
1162         wrappers to the new common overloaded name: "toJS".
1163
1164 2006-03-15  Eric Seidel  <eseidel@apple.com>
1165
1166         Reviewed by darin.
1167
1168         Push more of MacFrame down into Frame.
1169         Add visibleContentRect method to ScrollView.
1170
1171         * bridge/mac/MacFrame.h:
1172         * bridge/mac/MacFrame.mm:
1173         (WebCore::MacFrame::imageFromRect):
1174         (WebCore::MacFrame::setDisplaysWithFocusAttributes):
1175         (WebCore::MacFrame::bodyBackgroundColor):
1176         * bridge/mac/WebCoreFrameBridge.mm:
1177         * page/Frame.cpp:
1178         (WebCore::Frame::visibleSelectionRect):
1179         (WebCore::Frame::setDisplaysWithFocusAttributes):
1180         * page/Frame.h:
1181         * platform/ScrollView.h:
1182         * platform/mac/ScrollViewMac.mm:
1183         (WebCore::ScrollView::visibleWidth):
1184         (WebCore::ScrollView::visibleHeight):
1185         (WebCore::ScrollView::visibleContentRect):
1186         (WebCore::ScrollView::contentsWidth):
1187         (WebCore::ScrollView::contentsHeight):
1188         (WebCore::ScrollView::contentsX):
1189         (WebCore::ScrollView::contentsY):
1190         (WebCore::ScrollView::scrollXOffset):
1191         (WebCore::ScrollView::scrollYOffset):
1192         (WebCore::ScrollView::inWindow):
1193
1194 2006-03-15  Eric Seidel  <eseidel@apple.com>
1195
1196         Reviewed by darin.
1197
1198         Remove unused code and clean-up style.
1199
1200         * bridge/mac/MacFrame.mm:
1201         (WebCore::MacFrame::advanceToNextMisspelling):
1202         (WebCore::MacFrame::wheelEvent):
1203         (WebCore::MacFrame::nextKeyViewInFrame):
1204         (WebCore::MacFrame::nextKeyViewInFrameHierarchy):
1205         (WebCore::MacFrame::nextKeyView):
1206         * page/Frame.cpp:
1207         * page/Frame.h:
1208         * page/FrameView.cpp:
1209         (WebCore::FrameView::dispatchMouseEvent):
1210
1211 2006-03-15  Eric Seidel  <eseidel@apple.com>
1212
1213         Reviewed by mjs.
1214
1215         http://bugzilla.opendarwin.org/show_bug.cgi?id=7790
1216         addEventListener does not work with "dblclick" event.
1217         Renamed khtmlDblclickEvent to dblclickEvent to fix.
1218
1219         Test: fast/events/dblclick-addEventListener.html
1220
1221         * WebCore.xcodeproj/project.pbxproj:
1222         * bridge/mac/MacFrame.mm:
1223         (WebCore::MacFrame::mouseUp):
1224         (WebCore::MacFrame::mouseMoved):
1225         (WebCore::MacFrame::shouldDragAutoNode):
1226         (WebCore::MacFrame::sendContextMenuEvent):
1227         * dom/EventNames.h:
1228         * dom/NodeImpl.cpp:
1229         (WebCore::NodeImpl::dispatchMouseEvent):
1230         * dom/NodeImpl.h:
1231         * khtml/ecma/kjs_binding.cpp:
1232         (KJS::ScriptInterpreter::wasRunByUserGesture):
1233         * khtml/ecma/kjs_dom.cpp:
1234         (KJS::DOMNode::getValueProperty):
1235         (KJS::DOMNode::putValueProperty):
1236         * khtml/ecma/kjs_window.cpp:
1237         (KJS::Window::getValueProperty):
1238         (KJS::Window::put):
1239         * khtml/html/HTMLElementImpl.cpp:
1240         (WebCore::HTMLElementImpl::parseMappedAttribute):
1241         * page/FrameView.cpp:
1242         (WebCore::FrameView::dispatchMouseEvent):
1243         * page/FrameView.h:
1244
1245 2006-03-16  Alexey Proskuryakov  <ap@nypop.com>
1246
1247         Reviewed by Maciej.
1248
1249         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=4395
1250          REGRESSION: document.open doesn't clear the document
1251
1252         Test: fast/dom/Document/document-reopen.html
1253         Test: fast/dom/Document/doc-open-while-parsing.html
1254
1255         * dom/DocumentImpl.cpp:
1256         (WebCore::DocumentImpl::open): Only ignore open() while the frame is still loading the main resource.
1257         * page/Frame.cpp:
1258         (WebCore::Frame::isComplete): Added const specifier.
1259         (WebCore::Frame::isLoadingMainResource): New function.
1260         * page/Frame.h:
1261
1262 2006-03-15  Adele Peterson  <adele@apple.com>
1263
1264         Reviewed by Eric.
1265
1266         - Fixes win32 build.
1267
1268         * page/Frame.cpp: (WebCore::Frame::autoscrollTimerFired): Calls isMouseButtonDown instead of CG function.
1269         * platform/MouseEvent.h: Added isMouseButtonDown
1270         * platform/mac/MouseEventMac.mm: (WebCore::MouseEvent::isMouseButtonDown): Calls CG function to get state of mouse button.
1271         * platform/win/TemporaryLinkStubs.cpp: (MouseEvent::isMouseButtonDown): Added stub.
1272
1273 2006-03-15  Eric Seidel  <eseidel@apple.com>
1274
1275         Reviewed by geoff.
1276
1277         * platform/KeyEvent.h: Fix #define from QEvent_H to KeyEvent_H
1278
1279 2006-03-15  David Hyatt  <hyatt@apple.com>
1280
1281         Fix the box-sizing layout test by stopping integer overflowing from
1282         occurring in the flexbox code.
1283
1284         Reviewed by beth
1285
1286         * rendering/render_flexbox.cpp:
1287         (khtml::RenderFlexibleBox::allowedChildFlex):
1288
1289 2006-03-15  Beth Dakin  <bdakin@apple.com>
1290
1291         Reviewed by Eric
1292
1293         Fix for some leaks and intermittent broken pipes in the layout 
1294         tests after check-in for http://bugzilla.opendarwin.org/
1295         show_bug.cgi?id=4171.  
1296
1297         * platform/StringImpl.cpp:
1298         (WebCore::StringImpl::capitalize): Call deleteQCharVector() for 
1299         stringWithPrevious and make sure we don't walk off the end of 
1300         stringWithPrevious when copying to capitalizedString.
1301
1302 2006-03-15  Adele Peterson  <adele@apple.com>
1303
1304        Reviewed by Maciej.
1305
1306        Followup fix for previous checkin.
1307        http://bugzilla.opendarwin.org/show_bug.cgi?id=7114
1308        <rdar://problem/3695120> dragging to scroll doesn't work with overflow:auto/scroll/overlay areas 
1309
1310        Many of the bugs related to the Radar bug have to do with autoscrolling in the RSS View.  
1311        This fix walks the layer tree to find the first scrollable layer, so that autoscrolling will 
1312        also work with nested layers, like those in the RSS View.
1313
1314        * bridge/mac/MacFrame.mm: (WebCore::MacFrame::khtmlMouseMoveEvent):
1315
1316 2006-03-15  Adele Peterson  <adele@apple.com>
1317
1318         Reviewed by Maciej.
1319
1320         - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=7114
1321         Dragging to scroll doesn't work for overflow areas
1322
1323         No test case.  There doesn't appear to be a way to trigger the autoscroll with the EventSender.
1324
1325         * bridge/mac/MacFrame.mm:
1326         (WebCore::MacFrame::khtmlMouseMoveEvent):  If we have a layer that can scroll, let the layer handle its autoscroll.  
1327          Otherwise, call over the bridge to let AppKit scroll the view.
1328         (WebCore::MacFrame::khtmlMouseReleaseEvent): Stops the autoscroll timer.
1329         * page/Frame.cpp:
1330         (WebCore::Frame::khtmlMouseReleaseEvent): Stops the autoscroll timer.
1331         (WebCore::Frame::handleAutoscroll): Added. Saves the layer, and starts the timer.
1332         (WebCore::Frame::autoscrollTimerFired): Added. Calls autoscroll() on the layer.
1333         (WebCore::Frame::startAutoscrollTimer): Added.
1334         (WebCore::Frame::stopAutoscrollTimer): Added.
1335         * page/Frame.h: Added new autoscroll methods.
1336         * page/FramePrivate.h: (WebCore::FramePrivate::FramePrivate): Initialize m_autoscrollTimer and m_autoscrollLayer.
1337         * rendering/render_layer.cpp:
1338         (WebCore::RenderLayer::autoscroll): Calculates how much the layer should scroll, and actually scrolls.
1339         (WebCore::RenderLayer::shouldAutoscroll): If the layer has overflow then it should be able to scroll.  
1340          Except for overflow:hidden areas that aren't editable.  
1341          In the future, we may want to have a css property that indicates an overflow:hidden style that should also scroll.
1342         * rendering/render_layer.h: Added new autoscroll methods.
1343
1344 2006-03-14  Justin Garcia  <justin.garcia@apple.com>
1345
1346         Reviewed by mjs
1347         
1348         <http://bugzilla.opendarwin.org/show_bug.cgi?id=7578>
1349         TinyMCE: Implement execCommand CreateLink
1350         
1351         Used ApplyStyleCommand so that creating a link from
1352         a selection doesn't change document structure.
1353
1354         * WebCore.xcodeproj/project.pbxproj:
1355         * editing/ApplyStyleCommand.cpp:
1356         (WebCore::ApplyStyleCommand::ApplyStyleCommand):
1357         (WebCore::ApplyStyleCommand::doApply):
1358         (WebCore::ApplyStyleCommand::removeInlineStyle):
1359         (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
1360         * editing/ApplyStyleCommand.h:
1361         * editing/CompositeEditCommand.cpp:
1362         (WebCore::CompositeEditCommand::applyStyle):
1363         * editing/CreateLinkCommand.cpp: Added.
1364         (WebCore::CreateLinkCommand::CreateLinkCommand):
1365         (WebCore::CreateLinkCommand::doApply):
1366         * editing/CreateLinkCommand.h: Added.
1367         * editing/jsediting.cpp:
1368         * page/Frame.cpp:
1369         (WebCore::Frame::computeAndSetTypingStyle):
1370         (WebCore::Frame::applyStyle):
1371         (WebCore::Frame::applyParagraphStyle):
1372
1373 2006-03-14  Beth Dakin  <bdakin@apple.com>
1374
1375         Reviewed by Maciej
1376
1377         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=4171
1378         This patch changes the word-break algorithm used to apply text-
1379         transform:capitalize to use a UBreakIterator. This fixes some 
1380         existing edge cases we have in our text-transform:capitalize 
1381         support and generally makes our results more consistent.
1382
1383         * platform/StringImpl.cpp:
1384         (WebCore::getWordBreakIterator): Returns a UBreakIterator for a 
1385         given string of a given length.
1386         (WebCore::StringImpl::capitalize): Now uses the UBreakIterator to 
1387         step between words and requires the previous character as input.
1388         * platform/StringImpl.h: Change the declaration of capitalize() to 
1389         take the previous character as a parameter. 
1390         * rendering/RenderText.cpp:
1391         (WebCore::RenderText::setText): Find the previous character and 
1392         send it to StringImpl::capitalize()
1393
1394 2006-03-14  Justin Garcia  <justin.garcia@apple.com>
1395
1396         Reviewed by adele
1397         
1398         <http://bugzilla.opendarwin.org/show_bug.cgi?id=7770>
1399         Should only dispatch the khtmlTextInsertedEvent for high level editing operations
1400
1401         Dispatching this event for low level editing operations 
1402         isn't necessary and causes a big performance regression. 
1403         Also renamed the event because it's dispatched for changes
1404         other than just text insertion.
1405
1406         * dom/EventNames.h: 
1407         * editing/EditCommand.cpp:
1408         (WebCore::EditCommand::apply):
1409         (WebCore::EditCommand::unapply):
1410         (WebCore::EditCommand::reapply):
1411         * khtml/html/HTMLTextFieldInnerElementImpl.cpp:
1412         (WebCore::HTMLTextFieldInnerElementImpl::defaultEventHandler):
1413         * page/Frame.cpp:
1414         (WebCore::dispatchKHTMLEditableContentChanged):
1415         (WebCore::Frame::appliedEditing):
1416         (WebCore::Frame::unappliedEditing):
1417         (WebCore::Frame::reappliedEditing):
1418
1419 2006-03-14  Darin Adler  <darin@apple.com>
1420
1421         Reviewed by Eric.
1422
1423         - fix <rdar://problem/4478121> -[WebCoreFrameBridge finalize] crashes under GC
1424
1425         * bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge finalize]):
1426         Don't call setBridge(nil).
1427
1428 2006-03-14  Darin Adler  <darin@apple.com>
1429
1430         - oops, didn't mean to check this in
1431
1432         * dom/dom_elementimpl.cpp: (WebCore::StyledElementImpl::parseMappedAttribute):
1433         Reverted nil-document check that I didn't mean to remove.
1434
1435 2006-03-14  Beth Dakin  <bdakin@apple.com>
1436
1437         Reviewed by Hyatt
1438
1439         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6796
1440         This fix prevents infinite recursion when a block with overflow: 
1441         auto can't decide if it needs scrollbars or not. This fix puts a 
1442         guard in place in updateScrollInforAfterLayout that only allows you 
1443         to re-layout if you are not currently laying out.  
1444
1445         * rendering/render_layer.cpp:
1446         (WebCore::RenderLayer::RenderLayer): Initialize 
1447         m_inOverflowRelayout to false. Fixed spacing too.
1448         (WebCore::RenderLayer::updateScrollInfoAfterLayout): Place guard 
1449         around layout calls in overflow:auto case.
1450         * rendering/render_layer.h: Add m_inOverflowRelayout.
1451
1452 2006-03-14  Darin Adler  <darin@apple.com>
1453
1454         Reviewed by Geoff and Eric.
1455
1456         - fix <http://bugzilla.opendarwin.org/show_bug.cgi?id=7765>, <rdar://problem/4474884>
1457           hasAttribute always returns false for uppercase attribute names like "STYLE"
1458         - re-add missing JavaScript binding for getAttributeNS
1459         - fixed handling of null namespace parameters in getAttributeNS and friends
1460
1461         Test: fast/dom/Element/attribute-uppercase.html
1462
1463         To match Gecko's behavior, the magic "lowercasing" of all attribute names
1464         is only done when calling DOM Level 1 functions that lack an NS suffix.
1465         The functions with an NS suffix are case sensitive, even in HTML documents.
1466
1467         * dom/NamedNodeMapImpl.h: Changed getNamedItem and removeNamedItem to be pure virtual
1468         functions instead of calling through to getNamedItemNS and removeNamedItemNS.
1469
1470         * dom/dom_elementimpl.h: Eliminated inline versions of non-NS functions that called
1471         the NS functions. They can't work that way any more since the lowercasing behavior
1472         is different.
1473         * dom/dom_elementimpl.cpp:
1474         (WebCore::ElementImpl::getAttribute): Added. Lowercases the name if the document
1475         is an HTML document, and then calls through to the qualified name version. Removed
1476         the null check since getDocument is guaranteed to never return 0 now that nodes
1477         hold a reference to their document.
1478         (WebCore::ElementImpl::getAttributeNS): Removed the lowercasing code.
1479         (WebCore::ElementImpl::setAttribute): More of the same.
1480         (WebCore::ElementImpl::setAttributeNS): Ditto.
1481         (WebCore::ElementImpl::removeAttribute): Ditto.
1482         (WebCore::ElementImpl::removeAttributeNS): Ditto.
1483         (WebCore::ElementImpl::getAttributeNode): Ditto.
1484         (WebCore::ElementImpl::getAttributeNodeNS): Ditto.
1485         (WebCore::ElementImpl::hasAttribute): Ditto.
1486         (WebCore::ElementImpl::hasAttributeNS): Ditto.
1487         (WebCore::NamedAttrMapImpl::getNamedItem): Ditto.
1488         (WebCore::NamedAttrMapImpl::getNamedItemNS): Ditto.
1489         (WebCore::NamedAttrMapImpl::removeNamedItem): Ditto.
1490         (WebCore::NamedAttrMapImpl::removeNamedItemNS): Ditto.
1491         (WebCore::StyledElementImpl::parseMappedAttribute): Removed another unneeded null
1492         check like the one mentioned above.
1493
1494         * dom/Element.idl: Set ConvertNullToNullString for all the namespaceURI
1495         parameters, since we don't want null to turn into "null". Added a semicolon
1496         to the end of the hasAttributeNS line -- was causing the next declaration to
1497         be eaten up (so getAttributeNS was completely broken).
1498
1499         * khtml/ecma/kjs_dom.cpp: (KJS::DOMNamedNodeMapProtoFunc::callAsFunction):
1500         Call valueToStringWithNullCheck to do the equivalent of ConvertNullToNullString
1501         for both getNamedItemNS and removeNamedItemNS.
1502
1503         * bindings/js/JSDOMCore.cpp: Touched so that the changes above will take effect.
1504
1505 2006-03-14  David Hyatt  <hyatt@apple.com>
1506
1507         Fix for bug 7259, opacity performs badly.
1508
1509         Reviewed by mjs
1510
1511         Adding some tests in fast/opacity.
1512
1513         * rendering/RenderTableRow.h:
1514         (WebCore::RenderTableRow::requiresLayer):
1515         * rendering/render_layer.cpp:
1516         (WebCore::transparencyClipBox):
1517         (WebCore::RenderLayer::beginTransparencyLayers):
1518         (WebCore::RenderLayer::paintLayer):
1519         (WebCore::RenderLayer::intersectsDamageRect):
1520         (WebCore::RenderLayer::absoluteBoundingBox):
1521         * rendering/render_layer.h:
1522         (WebCore::RenderLayer::root):
1523
1524 2006-03-14  Eric Seidel  <eseidel@apple.com>
1525
1526         Reviewed by mjs.
1527
1528         Fix Gif crasher.
1529
1530         * platform/image-decoders/gif/GIFImageReader.cpp:
1531         (GIFImageReader::do_lzw): Initialize array after new.
1532
1533 2006-03-14  Eric Seidel  <eseidel@apple.com>
1534
1535         Reviewed by mjs.
1536
1537         Make MouseEvents aware of current scroll position.
1538
1539         * platform/win/ScrollViewWin.cpp:
1540         (WebCore::ScrollView::viewportToContents):
1541         (WebCore::ScrollView::contentsToViewport):
1542
1543 2006-03-13  Eric Seidel  <eseidel@apple.com>
1544
1545         Reviewed by mjs.
1546
1547         Fix mouse events to be window-relative.
1548
1549         * platform/win/MouseEventWin.cpp:
1550         (WebCore::positionForEvent):
1551         (WebCore::globalPositionForEvent):
1552         (WebCore::MouseEvent::MouseEvent):
1553
1554 2006-03-13  Eric Seidel  <eseidel@apple.com>
1555
1556         Reviewed by mjs.
1557
1558         Close DeviceContext leaks in Font code.
1559         Also add moveCursor stub to make maps.google.com not crash.
1560
1561         * platform/win/FontWin.cpp:
1562         (WebCore::getFontData):
1563         (WebCore::Font::floatWidth):
1564         (WebCore::Font::drawText):
1565         * platform/win/TemporaryLinkStubs.cpp:
1566         (Cursor::Cursor):
1567         (WebCore::moveCursor):
1568
1569 2006-03-13  Eric Seidel  <eseidel@apple.com>
1570
1571         Reviewed by ggaren & TimH.
1572
1573         <rdar://problem/4473288> XSL file containing <xsl:include href="../Styles/EscapeString.xsl" /> fails to load file
1574         XML_DTD_NODE objects in the tree were causing loadChildSheets to 
1575         fail to preload child stylesheets, this patch causes us to 
1576         correctly ignore all nodes besides the first XML_ELEMENT_NODE at 
1577         the root level when searching the tree for xsl:include statements 
1578         to pre-load.
1579
1580         Test: fast/xsl/xslt-second-level-import.xml
1581
1582         * khtml/xsl/xsl_stylesheetimpl.cpp:
1583         (WebCore::XSLStyleSheetImpl::loadChildSheets):
1584
1585 2006-03-10  Rob Buis  <buis@kde.org>
1586
1587         Reviewed by darin.  Landed by eseidel.
1588
1589         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=7666:
1590         dasharray on rounded rectangles is broken
1591
1592         Make sure the rounded rectangle is drawn clockwise, as outlined
1593         in the specification.
1594
1595         Test: svg/custom/dashArrayOrigin.svg
1596
1597         * kcanvas/KCanvasCreator.cpp:
1598         (WebCore::KCanvasCreator::createRoundedRectangle):
1599
1600 2006-03-12  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1601
1602         Reviewed by Maciej, landed by ap.
1603
1604         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=5923
1605           REGRESSION: scrolling on Google maps continues after the mouse is 
1606           released outside the window
1607
1608         Test: fast/events/drag-outside-window.html
1609
1610         * rendering/render_layer.cpp:
1611         (WebCore::RenderLayer::containsPoint): Always return true for the root
1612         object to ensure that mouse events occurring outside the window target
1613         the document.
1614
1615 2006-03-12  Alexey Proskuryakov  <ap@nypop.com>
1616
1617         Reviewed by Maciej.
1618
1619         - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=7735
1620         REGRESSION: crash on importing bookmarks
1621
1622         No test - only reproducible when Safari imports the bookmarks.
1623
1624         * dom/EventNames.cpp:
1625         (WebCore::EventNames::init): Initialize AtomicString before using it.
1626         * dom/QualifiedName.cpp:
1627         (WebCore::QualifiedName::init): Ditto.
1628         * khtml/html/htmlnames.cpp:
1629         (WebCore::HTMLNames::init): Ditto.
1630         * ksvg2/scripts/make_names.pl: Ditto.
1631
1632 2006-03-12  David Kilzer  <ddkilzer@kilzer.net>
1633
1634         Reviewed by Darin, landed by ap.
1635
1636         - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=7724
1637         Minor refactoring to HTMLParser::handleError() to remove duplicate code
1638
1639         Test: fast/invalid/missing-address-end-tag.html
1640         Test: fast/invalid/missing-dl-end-tag.html
1641         Test: fast/invalid/missing-dt-end-tag.html
1642         Test: fast/invalid/missing-font-end-tag.html
1643
1644         * khtml/html/htmlparser.cpp:
1645         (WebCore::HTMLParser::handleError): Refactored code.
1646
1647 2006-03-10  Darin Adler  <darin@apple.com>
1648
1649         - fix Windows build
1650
1651         * bridge/win/FrameWin.h: Removed declaration of generateFrameName.
1652
1653 2006-03-10  Darin Adler  <darin@apple.com>
1654
1655         Reviewed by Adele.
1656
1657         - removed some unused stuff from Frame and MacFrame
1658
1659         * page/Frame.h: Removed autoloadImages (the setter), enableMetaRefresh,
1660         setCharset, backgroundURL, findTextBegin, findTextNext, preloadStyleSheet,
1661         preloadScript, restored, onURL, selectionChanged, htmlError, openFile,
1662         updateActions, openURLInFrame, overURL, checkLinkSecurity, and cacheId.
1663         * page/FramePrivate.h: Removed m_restored, m_frameNameId, m_strSelectedURL,
1664         m_strSelectedURLTarget, m_bDnd, m_bClearing, m_bSecurityInQuestion,
1665         m_focusNodeRestored, m_focusNodeNumber, and m_newJSInterpreterExists.
1666         * page/Frame.cpp:
1667         (WebCore::Frame::didOpenURL): Removed use of m_restored, code to set
1668         m_bClearing.
1669         (WebCore::Frame::clear): Removed code to set m_bClearing and m_frameNameId.
1670         (WebCore::Frame::khtmlMousePressEvent): Removed code to set m_strSelectedURL
1671         and m_strSelectedURLTarget.
1672
1673         * bridge/mac/MacFrame.h: Removed scheduleHistoryNavigation and
1674         requestedURLString.
1675         * bridge/mac/MacFrame.mm:
1676         (WebCore::MacFrame::openURLFromPageCache): Removed use of m_restored.
1677         Removed unused requestedURLString.
1678
1679         * bridge/mac/WebCoreFrameBridge.h: Removed requestedURLString.
1680
1681 2006-03-10  Darin Adler  <darin@apple.com>
1682
1683         - fix Windows build
1684
1685         * page/FrameTree.cpp: Add include of <stdarg.h>.
1686
1687 2006-03-10  Darin Adler  <darin@apple.com>
1688
1689         Reviewed by Geoff.
1690
1691         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=3308
1692           Pop-up blocking blocks window.open for already open windows
1693
1694         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7422
1695           Setting a frame name to the same value resets it to a generated one
1696
1697         - refactor frame-name-related functions into the FrameTree object
1698
1699         * WebCore.xcodeproj/project.pbxproj: Update for rename.
1700         * bridge/mac/MacFrame.h: Remove generateFrameName.
1701         * bridge/mac/MacFrame.mm: Ditto.
1702         * bridge/mac/PageMac.h: Added a declaration for WebCorePageBridge.
1703
1704         * bridge/mac/WebCoreFrameBridge.h: Remove _frameNamespace, generateFrameName,
1705         setFrameNamespace, frameNamespace.
1706         * bridge/mac/WebCoreFrameBridge.mm:
1707         (-[WebCoreFrameBridge childFrameNamed:]): Change to call the new child
1708         function on the FrameTree.
1709         (-[WebCoreFrameBridge findFrameNamed:]): Change to call the new find
1710         function on the FrameTree.
1711         (-[WebCoreFrameBridge RenderObject::nodeInfoAtPoint:]): Change since the
1712         contentPart function has been renamed to contentFrame.
1713
1714         * bridge/mac/WebCoreFrameNamespaces.h: Removed everything except for the
1715         one method still used on the WebKit side, framesInNamespace:.
1716         * bridge/mac/WebCoreFrameNamespaces.m: Renamed.
1717         * bridge/mac/WebCoreFrameNamespaces.mm: Added. Reimplemented the
1718         framesInNamespace method to use the namespace in WebCore::Page.
1719
1720         * bridge/mac/WebCorePageBridge.h: Added setGroupName and groupName.
1721         * bridge/mac/WebCorePageBridge.mm:
1722         (-[WebCorePageBridge setGroupName:]): Added. Calls through to Page.
1723         (-[WebCorePageBridge groupName]): Ditto.
1724
1725         * khtml/ecma/kjs_html.cpp:
1726         (KJS::HTMLDocument::namedItemGetter): Changed to call contentFrame by its new name.
1727         (KJS::HTMLElement::frameGetter): Ditto.
1728         (KJS::HTMLElement::iFrameGetter): Ditto.
1729
1730         * khtml/ecma/kjs_window.cpp:
1731         (KJS::Window::getValueProperty): Changed to call FrameTree::childCount
1732         instead of Frame::frames.
1733         (KJS::Window::childFrameGetter): Changed to call FrameTree::child
1734         instead of Frame::childFrameNamed.
1735         (KJS::Window::namedFrameGetter): Changed to call FrameTree::find
1736         instead of Frame::findFrame.
1737         (KJS::Window::indexGetter): Changed to call FrameTree::child
1738         instead of Frame::frames.
1739         (KJS::Window::getOwnPropertySlot): Changed to call FrameTree::child,
1740         FrameTree::find, and FrameTree::childCount instead of Frame::childFrameNamed,
1741         and Frame::findFrame, and Frame::frames.
1742         (KJS::WindowFunc::callAsFunction): Call FrameTree::find to check if the window
1743         is already open when considering whether to block a pop-up.
1744         (KJS::FrameArray::getValueProperty): Changed to call FrameTree::childCount
1745         instead of Frame::frames.
1746         (KJS::FrameArray::indexGetter): Changed to call FrameTree::child
1747         instead of Frame::frames.
1748         (KJS::FrameArray::nameGetter): Changed to call FrameTree::child
1749         instead of Frame::findFrame.
1750         (KJS::FrameArray::getOwnPropertySlot): Changed to call FrameTree::child,
1751         and FrameTree::childCount instead of Frame::findFrame and Frame::frames.
1752
1753         * khtml/html/html_baseimpl.h:
1754         * khtml/html/html_baseimpl.cpp:
1755         (WebCore::HTMLFrameElementImpl::isURLAllowed): Changed to call Page::frameCount
1756         instead of Frame::topLevelFrameCount.
1757         (WebCore::HTMLFrameElementImpl::openURL): Changed to call FrameTree::child
1758         instead of Frame::findFrame.
1759         (WebCore::HTMLFrameElementImpl::attach): Changed to call Page::incrementFrameCount
1760         instead of Frame::incrementFrameCount. Changed to call FrameTree::uniqueChildName
1761         instead of Frame::requestFrameName.
1762         (WebCore::HTMLFrameElementImpl::close): Changed to call Page::decrementFrameCount
1763         instead of Frame::decrementFrameCount. Changed to call FrameTree::child
1764         instead of Frame::findFrame.
1765         (WebCore::HTMLFrameElementImpl::contentFrame): Renamed from contentPart. Also
1766         changed to call FrameTree::child instead of Frame::findFrame.
1767         (WebCore::HTMLFrameElementImpl::contentDocument): Updated for name change of
1768         contentFrame from contentPart.
1769         (WebCore::HTMLIFrameElementImpl::attach): Changed to call Page::incrementFrameCount
1770         instead of Frame::incrementFrameCount. Changed to call FrameTree::uniqueChildName
1771         instead of Frame::requestFrameName.
1772
1773         * rendering/render_frames.cpp: (WebCore::isURLAllowed): Changed to call Page::frameCount
1774         instead of Frame::topLevelFrameCount.
1775
1776         * page/Frame.h: Removed frameNames, frames, childFrameNamed, findFrame, currentFrame,
1777         frameExists, incrementFrameCount, decrementFrameCount, topLevelFrameCount,
1778         generateFrameName, and requestFrameName functions.
1779         * page/Frame.cpp: (WebCore::Frame::requestFrame): Changed to use FrameTree::child
1780         instead of Frame::childFrameNamed.
1781
1782         * page/FrameTree.h: Changed name to an atomic string. Changed childCount to unsigned.
1783         Added isDescendantOf, traverseNext, child, find, uniqueChildName.
1784         * page/FrameTree.cpp:
1785         (WebCore::FrameTree::setName): Changed to call uniqueChildName to handle name
1786         duplication logic.
1787         (WebCore::FrameTree::uniqueChildName): Added. Checks for duplication and generates
1788         an appropriate frame name if there is a duplicate.
1789         (WebCore::FrameTree::child): Added.
1790         (WebCore::FrameTree::find): Added.
1791         (WebCore::FrameTree::isDescendantOf): Added.
1792         (WebCore::FrameTree::traverseNext): Added.
1793
1794         * page/Page.h: Added setGroupName, groupName, frameNamespace, incrementFrameCount,
1795         decrementFrameCount, and frameCount.
1796         * page/Page.cpp:
1797         (WebCore::Page::Page): Initialize m_frameCount to 0.
1798         (WebCore::Page::~Page): Call setGroupName to remove the page from any group it's in.
1799         (WebCore::Page::setGroupName): Added.
1800         (WebCore::Page::frameNamespace): Added.
1801
1802         * platform/win/TemporaryLinkStubs.cpp: Removed FrameWin::generateFrameName.
1803
1804 2006-03-10  Justin Garcia  <justin.garcia@apple.com>
1805         
1806         Reviewed by darin, harrison
1807         
1808         ~3x speedup pasting plain text from the console
1809
1810         * dom/dom_position.cpp:
1811         (WebCore::Position::next): 
1812         (WebCore::Position::atEnd): 
1813
1814 2006-03-10  David Hyatt <hyatt@apple.com>
1815
1816         More refactoring.  Split the FontData into cross-platform and
1817         platform-specific components.
1818
1819         Reviewed by eric
1820
1821         * WebCore.vcproj/WebCore/WebCore.vcproj:
1822         * platform/FontData.h: Added.
1823         (WebCore::FontData:::m_platformData):
1824         (WebCore::FontData::platformData):
1825         (WebCore::FontData::setMetrics):
1826         (WebCore::FontData::ascent):
1827         (WebCore::FontData::descent):
1828         (WebCore::FontData::xHeight):
1829         (WebCore::FontData::lineSpacing):
1830         * platform/FontPlatformData.h: Added.
1831         (WebCore::FontPlatformData::hfont):
1832         (WebCore::FontPlatformData::scaledFont):
1833         * platform/win/FontPlatformDataWin.cpp: Added.
1834         (WebCore::FontPlatformData::FontPlatformData):
1835         (WebCore::FontPlatformData::~FontPlatformData):
1836         * platform/win/FontWin.cpp:
1837         (WebCore::Font::floatWidth):
1838         (WebCore::Font::drawText):
1839
1840 2006-03-10  Maciej Stachowiak  <mjs@apple.com>
1841
1842         Reviewed by Eric.
1843
1844         - fix win32 networking to properly use async load API
1845
1846         * platform/win/TransferJobWin.cpp:
1847         (WebCore::TransferJobWndProc):
1848         (WebCore::TransferJob::start):
1849
1850 2006-03-10  Eric Seidel  <eseidel@apple.com>
1851
1852         Fix build.
1853
1854         * platform/win/FontWin.cpp:
1855         (WebCore::getFontData):
1856         * platform/win/TemporaryLinkStubs.cpp:
1857
1858 2006-03-10  Adele Peterson  <adele@apple.com>
1859
1860         Reviewed by Tim Hatcher.
1861
1862         - fix for <rdar://problem/4469419> 
1863         REGRESSION: RadioButtons are not checked in Safari when name attribute comes after checked attribute
1864
1865         Test: fast/forms/radio-attr-order.html
1866
1867         * khtml/html/HTMLInputElementImpl.cpp: (WebCore::HTMLInputElementImpl::parseMappedAttribute):
1868         When the name attribute gets parsed for radio buttons, if its supposed to be checked by default, call setChecked.
1869         Also, when the name changes on a checked button, we don't need to check that 
1870         there's a form before removing it as the checked button for that group.  
1871         That was an old check from when we required a form to keep track of checked buttons.
1872
1873 2006-03-10  Eric Seidel  <eseidel@apple.com>
1874
1875         Reviewed by darin.
1876
1877         Add real ScrollViewWin implementation (fixes redraw bugs, adds ScrollBar support.)
1878
1879         * platform/ScrollView.h:
1880         * platform/Widget.h:
1881         * platform/win/FontWin.cpp:
1882         (WebCore::getCairoFont): Fix crasher.
1883         * platform/win/ScrollViewWin.cpp:
1884         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
1885         (WebCore::ScrollView::ScrollView):
1886         (WebCore::ScrollView::~ScrollView):
1887         (WebCore::ScrollView::updateContents):
1888         (WebCore::ScrollView::visibleWidth):
1889         (WebCore::ScrollView::visibleHeight):
1890         (WebCore::ScrollView::setContentsPos):
1891         (WebCore::ScrollView::resizeContents):
1892         (WebCore::ScrollView::contentsX):
1893         (WebCore::ScrollView::contentsY):
1894         (WebCore::ScrollView::contentsWidth):
1895         (WebCore::ScrollView::contentsHeight):
1896         (WebCore::ScrollView::viewportToContents):
1897         (WebCore::ScrollView::contentsToViewport):
1898         (WebCore::ScrollView::scrollXOffset):
1899         (WebCore::ScrollView::scrollYOffset):
1900         (WebCore::ScrollView::scrollBy):
1901         (WebCore::ScrollView::hScrollBarMode):
1902         (WebCore::ScrollView::vScrollBarMode):
1903         (WebCore::ScrollView::suppressScrollBars):
1904         (WebCore::ScrollView::setHScrollBarMode):
1905         (WebCore::ScrollView::setVScrollBarMode):
1906         (WebCore::ScrollView::setScrollBarsMode):
1907         (WebCore::ScrollView::setStaticBackground):
1908         (WebCore::ScrollView::updateScrollInfo):
1909         (WebCore::ScrollView::updateScrollBars):
1910         * platform/win/TemporaryLinkStubs.cpp:
1911         (BrowserExtensionWin::goBackOrForward):
1912         (BrowserExtensionWin::setIconURL):
1913         (ScrollView::scrollPointRecursively):
1914         * platform/win/WidgetWin.cpp:
1915         (WebCore::Widget::windowHandle): mark as const
1916
1917 2006-03-10  David Hyatt  <hyatt@apple.com>
1918
1919         Rename the m_renderer variable to m_dataSet now that the class name
1920         has changed.
1921
1922         Reviewed by adele
1923
1924         * platform/Font.cpp:
1925         (WebCore::m_wordSpacing):
1926         (WebCore::Font::Font):
1927         (WebCore::Font::operator=):
1928         (WebCore::Font::update):
1929         * platform/Font.h:
1930         * platform/FontDataSet.h:
1931         * platform/mac/FontMac.mm:
1932         (WebCore::Font::getWebCoreFont):
1933         (WebCore::Font::ascent):
1934         (WebCore::Font::descent):
1935         (WebCore::Font::lineSpacing):
1936         (WebCore::Font::xHeight):
1937         (WebCore::Font::isFixedPitch):
1938         (WebCore::Font::selectionRectForText):
1939         (WebCore::Font::drawText):
1940         (WebCore::Font::drawHighlightForText):
1941         (WebCore::Font::drawLineForText):
1942         (WebCore::Font::drawLineForMisspelling):
1943         (WebCore::Font::misspellingLineThickness):
1944         (WebCore::Font::floatWidth):
1945         (WebCore::Font::checkSelectionPoint):
1946         * platform/win/FontWin.cpp:
1947         (WebCore::FontData::FontData):
1948         (WebCore::FontData::~FontData):
1949         (WebCore::getFontData):
1950         (WebCore::FontDataSet::primaryFont):
1951         (WebCore::Font::floatWidth):
1952         (WebCore::Font::ascent):
1953         (WebCore::Font::descent):
1954         (WebCore::Font::xHeight):
1955         (WebCore::Font::lineSpacing):
1956         (WebCore::Font::isFixedPitch):
1957         (WebCore::Font::drawText):
1958
1959 2006-03-10  David Hyatt  <hyatt@apple.com>
1960
1961         Rename FontRenderer to FontDataSet.
1962
1963         Reviewed by adele
1964
1965         * WebCore.xcodeproj/project.pbxproj:
1966         * platform/Font.cpp:
1967         (WebCore::Font::update):
1968         * platform/Font.h:
1969         * platform/FontDataSet.h: Added.
1970         * platform/FontRenderer.h: Removed.
1971         * platform/mac/FontMac.mm:
1972         (WebCore::FontDataSet::~FontDataSet):
1973         (WebCore::FontDataSet::getWebCoreFont):
1974         (WebCore::FontDataSet::getRenderer):
1975         (WebCore::FontDataSet::determinePitch):
1976         (WebCore::FontDataSet::invalidate):
1977         * platform/win/FontWin.cpp:
1978         (WebCore::getCairoFont):
1979         (WebCore::FontDataSet::~FontDataSet):
1980         (WebCore::FontDataSet::determinePitch):
1981         (WebCore::FontDataSet::invalidate):
1982         (WebCore::FontDataSet::primaryCairoFont):
1983
1984 2006-03-09  Justin Garcia  <justin.garcia@apple.com>
1985
1986         Reviewed by adele
1987         
1988         <http://bugzilla.opendarwin.org/show_bug.cgi?id=7692>
1989         Should use an iterator in CompositeEditCommand::doUnapply()
1990         
1991         ~30% speedup of a big undo
1992
1993         * editing/CompositeEditCommand.cpp:
1994         (WebCore::CompositeEditCommand::doUnapply):
1995         (WebCore::CompositeEditCommand::doReapply):
1996
1997 2006-03-09  Adele Peterson  <adele@apple.com>
1998
1999         Reviewed by Tim O.
2000
2001         Removed unnecessary alerts in TextIterator advance methods.  
2002         We want to be able to use advance() even if the iterator is already at the end.
2003
2004         * editing/visible_text.cpp:
2005         (khtml::TextIterator::advance): remove assert since TextIterator will just do nothing if its already at the end.
2006         (khtml::CharacterIterator::advance): ditto.
2007         * rendering/RenderTextField.cpp: (WebCore::RenderTextField::visiblePositionForIndex):
2008         Since the asserts in the iterator are removed, we don't have to check for it.atEnd() before calling advance.
2009
2010 2006-03-09  David Hyatt <hyatt@apple.com>
2011
2012         Make text paint with the correct foreground color on Windows.
2013         Make the face validation check case insensitive.
2014         Force ClearType to be on for font rendering.
2015
2016         Reviewed by Tim Hatcher
2017
2018         * platform/win/FontWin.cpp:
2019         (WebCore::getCairoFont):
2020         (WebCore::Font::drawText):
2021
2022 2006-03-09  Adele Peterson  <adele@apple.com>
2023
2024         Reviewed by Hyatt.
2025
2026         - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=7675
2027         When new text fields change from visibility:hidden to visibility:visible, value doesn't display
2028
2029         Test: fast/forms/input-appearance-visibility.html
2030
2031         * rendering/RenderTextField.cpp: (WebCore::RenderTextField::setStyle):
2032         Sets the style directly on the children of the inner div.
2033
2034 2006-03-09  David Hyatt <hyatt@apple.com>
2035
2036         Make basic text rendering work on Win32.
2037
2038         Reviewed by eric
2039
2040         * WebCore.vcproj/WebCore/WebCore.vcproj:
2041         Add FontDescription.h to the Visual Studio project.
2042
2043         * bridge/win/FrameWin.cpp:
2044         (WebCore::FrameWin::FrameWin):
2045         Add some good default font settings to KHTMLSettings.
2046
2047         * platform/Font.cpp:
2048         (WebCore::Font::update):
2049         Renamed the FontRenderer method to invalidate, so that's what
2050         update calls now.
2051
2052         * platform/FontRenderer.h:
2053         * platform/mac/FontMac.mm:
2054         (WebCore::FontRenderer::~FontRenderer):
2055         (WebCore::FontRenderer::invalidate):
2056         Rename the update method to invalidate.  Make sure the Mac
2057         font renderer releases its resources when it gets destroyed.
2058
2059         * platform/win/FontWin.cpp:
2060         (WebCore::CairoFont::CairoFont):
2061         (WebCore::CairoFont::~CairoFont):
2062         (WebCore::CairoFont::hfont):
2063         (WebCore::CairoFont::scaledFont):
2064         (WebCore::CairoFont::setMetrics):
2065         (WebCore::CairoFont::ascent):
2066         (WebCore::CairoFont::descent):
2067         (WebCore::CairoFont::xHeight):
2068         (WebCore::CairoFont::lineSpacing):
2069         Implement a new class called CairoFont that encapsulates
2070         the windows HFONT, the cairo font face, and the cairo scaled
2071         font.
2072
2073         (WebCore::getCairoFont):
2074         The method to look up a Cairo font.  This will eventually use
2075         a hash, but for now it just always makes the fonts over and
2076         over again.
2077
2078         (WebCore:::m_pitch):
2079         (WebCore::FontRenderer::~FontRenderer):
2080         (WebCore::FontRenderer::determinePitch):
2081         (WebCore::FontRenderer::invalidate):
2082         More of the FontRenderer plumbing.
2083
2084         (WebCore::FontRenderer::primaryCairoFont):
2085         Returns the primary Cairo font for a family list.  This is basically
2086         the first family that is present on the system.
2087
2088         (WebCore::Font::floatWidth):
2089         The width method uses GetTextExtentPoint32W for now.  This
2090         is totally wrong and will eventually be replaced by Cairo
2091         code.
2092
2093         (WebCore::Font::ascent):
2094         (WebCore::Font::descent):
2095         (WebCore::Font::xHeight):
2096         (WebCore::Font::lineSpacing):
2097         (WebCore::Font::isFixedPitch):
2098         Accessors for the metrics and pitch info.
2099
2100         (WebCore::Font::drawText):
2101         Drawing of text.  Uses TextOut and is also basically throwaway
2102         code.
2103
2104         * platform/win/TemporaryLinkStubs.cpp:
2105         (Font::checkSelectionPoint):
2106         Move the checkSelectionPoint method back to the link stubs.
2107
2108 2006-03-09  Justin Garcia  <justin.garcia@apple.com>
2109
2110         Reviewed by harrison
2111     
2112         Fixed formatting and changed functions to take in 
2113         a const Selection& instead of a Selection.
2114
2115         * editing/ModifySelectionListLevelCommand.cpp:
2116         (WebCore::ModifySelectionListLevelCommand::canIncreaseSelectionListLevel):
2117         (WebCore::ModifySelectionListLevelCommand::canDecreaseSelectionListLevel):
2118         (WebCore::ModifySelectionListLevelCommand::increaseSelectionListLevel):
2119         (WebCore::ModifySelectionListLevelCommand::decreaseSelectionListLevel):
2120         (WebCore::modifySelectionListLevel):
2121         (WebCore::getStartEndListChildren):
2122         (WebCore::canIncreaseListLevel):
2123         (WebCore::canDecreaseListLevel):
2124         (WebCore::ModifySelectionListLevelCommand::increaseListLevel):
2125         (WebCore::ModifySelectionListLevelCommand::decreaseListLevel):
2126         * editing/ModifySelectionListLevelCommand.h:
2127
2128 2006-03-09  Adele Peterson  <adele@apple.com>
2129
2130         Reviewed by Darin.
2131
2132         - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6814
2133         Implement selection methods for RenderTextField
2134
2135         Test: fast/forms/input-appearance-selection.html
2136
2137         * rendering/RenderTextField.cpp:
2138         (WebCore::RenderTextField::createDivStyle): removed extra space.
2139         (WebCore::RenderTextField::select): Removed checks for document and m_div since there should always be a document and 
2140          m_div will be initialized as the renderer gets attached.
2141         (WebCore::RenderTextField::selectionStart): Calls indexForVisiblePosition.
2142         (WebCore::RenderTextField::selectionEnd): ditto.
2143         (WebCore::RenderTextField::setSelectionStart): calls setSelectionRange.
2144         (WebCore::RenderTextField::setSelectionEnd): ditto.
2145         (WebCore::RenderTextField::setSelectionRange): gets VisiblePositions for both indices, and sets the selection.
2146         (WebCore::RenderTextField::visiblePositionForIndex): Added helper method.
2147         (WebCore::RenderTextField::indexForVisiblePosition): Added helper method.
2148         * rendering/RenderTextField.h: Added new helper methods for selection.
2149
2150 2006-03-09  David Carson  <dacarson@gmail.com>
2151
2152         Test: fast/canvas/fillrect_gradient.html
2153
2154         Reviewed by Darin.
2155
2156         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6103
2157           Rectangles are not filled according to the Web Applications Working Draft
2158
2159         * khtml/ecma/kjs_html.cpp: (KJS::Context2DFunction::callAsFunction):
2160         Modified fillrect function to check and use a gradient if set.
2161         Builds a path to fill rects with a gradient.
2162
2163 2006-03-09  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2164
2165         No test because this fixes an existing pixel test (and does not affect
2166         the render tree).
2167
2168         Reviewed by Maciej.
2169
2170         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7664
2171           REGRESSION: tests that include numeric list markers fail in pixel mode
2172
2173         * platform/GraphicsContext.cpp:
2174         (WebCore::GraphicsContext::drawText): Restored AlignRight behavior.
2175
2176 2006-03-09  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2177
2178         No test because we couldn't figure out how to write one.
2179
2180         Reviewed by Darin.
2181
2182         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7680
2183           REGRESSION: Ellipsis painted over the chrome and in invalid contexts
2184
2185         * rendering/render_line.cpp:
2186         (WebCore::EllipsisBox::paint): Replaced call to Font::drawText with
2187         GraphicsContext::drawText, which checks the paintingDisabled flag.
2188
2189 2006-03-09  Maciej Stachowiak  <mjs@apple.com>
2190
2191         Reviewed by Eric.
2192
2193         - make link clicks work by propagating them up to a client
2194
2195         * Viewer/ImageView.cpp:
2196         * bridge/win/FrameWin.cpp:
2197         * bridge/win/FrameWin.h:
2198         * platform/win/TemporaryLinkStubs.cpp:
2199         (FrameWin::incomingReferrer):
2200
2201 2006-03-09  Eric Seidel  <eseidel@apple.com>
2202
2203         Reviewed by mjs.
2204
2205         Add support for Timers under 10ms.
2206         Fix random crashers due to multi-threaded loading.
2207
2208         * platform/TransferJob.h:
2209         * platform/TransferJobInternal.h:
2210         (WebCore::TransferJobInternal::TransferJobInternal):
2211         * platform/Widget.h:
2212         * platform/win/SharedTimerWin.cpp:
2213         (WebCore::TimerWindowWndProc):
2214         (WebCore::initializeOffScreenTimerWindow):
2215         (WebCore::setSharedTimerFireTime):
2216         * platform/win/TemporaryLinkStubs.cpp:
2217         (WebCore::TransferJob::assembleResponseHeaders):
2218         (WebCore::TransferJob::retrieveCharset):
2219         * platform/win/TransferJobWin.cpp:
2220         (WebCore::addToOutstandingJobs):
2221         (WebCore::removeFromOutstandingJobs):
2222         (WebCore::lookupTransferJob):
2223         (WebCore::TransferJobWndProc):
2224         (WebCore::initializeOffScreenTransferJobWindow):
2225         (WebCore::TransferJob::~TransferJob):
2226         (WebCore::transferJobStatusCallback):
2227         (WebCore::TransferJob::start):
2228         (WebCore::TransferJob::cancel):
2229         * platform/win/WidgetWin.cpp:
2230
2231 2006-03-08  Justin Garcia  <justin.garcia@apple.com>
2232
2233         Reviewed by darin
2234         
2235         <http://bugzilla.opendarwin.org/show_bug.cgi?id=7579>
2236         TinyMCE: Implement execCommand(insertImage, ...)
2237         
2238         Implemented InsertImage and also changed paste to use a single 
2239         rule for when to remove junk that remains after node removal. 
2240
2241         * editing/ReplaceSelectionCommand.cpp:
2242         (WebCore::ReplaceSelectionCommand::removeNodeAndPruneAncestors):
2243         (WebCore::ReplaceSelectionCommand::doApply):
2244         (WebCore::ReplaceSelectionCommand::removeLinePlaceholderIfNeeded):
2245         * editing/ReplaceSelectionCommand.h:
2246         * editing/htmlediting.cpp:
2247         * editing/jsediting.cpp:
2248
2249 2006-03-08  Eric Seidel  <eseidel@apple.com>
2250
2251         Reviewed by hyatt.
2252
2253         Fix build script to properly copy dll files.
2254
2255         * WebCore.vcproj/WebCore/build-generated-files.sh:
2256
2257 2006-03-08  Rob Buis  <buis@kde.org>
2258
2259         Reviewed by eseidel.
2260
2261         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6899 SVG <rect> does not respect display: none
2262
2263         For svg elements that can render, call StyledElementImpl::rendererIsNeeded
2264         to decide whether the element should render. In particular this way
2265         any setting of display="none" is handled.
2266
2267         * ksvg2/svg/SVGAElementImpl.h:
2268         (WebCore::SVGAElementImpl::rendererIsNeeded):
2269         * ksvg2/svg/SVGCircleElementImpl.h:
2270         (WebCore::SVGCircleElementImpl::rendererIsNeeded):
2271         * ksvg2/svg/SVGEllipseElementImpl.h:
2272         (WebCore::SVGEllipseElementImpl::rendererIsNeeded):
2273         * ksvg2/svg/SVGForeignObjectElementImpl.h:
2274         (WebCore::SVGForeignObjectElementImpl::rendererIsNeeded):
2275         * ksvg2/svg/SVGGElementImpl.h:
2276         (WebCore::SVGGElementImpl::rendererIsNeeded):
2277         * ksvg2/svg/SVGImageElementImpl.h:
2278         (WebCore::SVGImageElementImpl::rendererIsNeeded):
2279         * ksvg2/svg/SVGLineElementImpl.h:
2280         (WebCore::SVGLineElementImpl::rendererIsNeeded):
2281         * ksvg2/svg/SVGMarkerElementImpl.h:
2282         (WebCore::SVGMarkerElementImpl::rendererIsNeeded):
2283         * ksvg2/svg/SVGMaskElementImpl.h:
2284         (WebCore::SVGMaskElementImpl::rendererIsNeeded):
2285         * ksvg2/svg/SVGPathElementImpl.h:
2286         (WebCore::SVGPathElementImpl::rendererIsNeeded):
2287         * ksvg2/svg/SVGPatternElementImpl.h:
2288         (WebCore::SVGPatternElementImpl::rendererIsNeeded):
2289         * ksvg2/svg/SVGPolyElementImpl.h:
2290         (WebCore::SVGPolyElementImpl::rendererIsNeeded):
2291         * ksvg2/svg/SVGRectElementImpl.h:
2292         (WebCore::SVGRectElementImpl::rendererIsNeeded):
2293         * ksvg2/svg/SVGSVGElementImpl.h:
2294         (WebCore::SVGSVGElementImpl::rendererIsNeeded):
2295         * ksvg2/svg/SVGSwitchElementImpl.h:
2296         (WebCore::SVGSwitchElementImpl::rendererIsNeeded):
2297         * ksvg2/svg/SVGTSpanElementImpl.h:
2298         (WebCore::SVGTSpanElementImpl::rendererIsNeeded):
2299         * ksvg2/svg/SVGTextElementImpl.h:
2300         (WebCore::SVGTextElementImpl::rendererIsNeeded):
2301         * ksvg2/svg/SVGUseElementImpl.h:
2302         (WebCore::SVGUseElementImpl::rendererIsNeeded):
2303
2304 2006-03-08  Eric Seidel  <eseidel@apple.com>
2305
2306         Reviewed by mjs.
2307
2308         Add stubs to allow JavaScript-enabled WebCore to not crash.
2309         Add ScreenWin implementation.
2310         Add alert() support.
2311
2312         * WebCore.vcproj/WebCore/WebCore.vcproj:
2313         * bridge/win/FrameWin.cpp:
2314         (WebCore::FrameWin::runJavaScriptAlert):
2315         (WebCore::FrameWin::runJavaScriptConfirm):
2316         * platform/win/ScreenWin.cpp: Added.
2317         (WebCore::monitorInfoForWidget):
2318         (WebCore::WebCore::screenRect):
2319         (WebCore::WebCore::screenDepth):
2320         (WebCore::WebCore::usableScreenRect):
2321         * platform/win/TemporaryLinkStubs.cpp:
2322         (FrameWin::canUndo):
2323         (FrameWin::runJavaScriptPrompt):
2324         (FrameWin::canPaste):
2325         (WebCore::setCookies):
2326         (WebCore::cookies):
2327         (WebCore::cookiesEnabled):
2328         (PlugInInfoStore::createPluginInfoForPluginAtIndex):
2329         (PlugInInfoStore::pluginCount):
2330         (WebCore::refreshPlugins):
2331         (FrameWin::clearUndoRedoOperations):
2332         (FrameWin::incomingReferrer):
2333
2334 2006-03-08  Darin Adler  <darin@apple.com>
2335
2336         Reviewed by Maciej.
2337
2338         - fix another instance of the bug I just fixed in the Macintosh-specific code path
2339
2340         * platform/image-decoders/gif/GIFImageReader.h: Remove not-so-useful 100ms constant.
2341         * platform/image-decoders/gif/GIFImageReader.cpp: (GIFImageReader::read):
2342         Use the correct rule for minimum frame durations.
2343
2344 2006-03-08  Maciej Stachowiak  <mjs@apple.com>
2345
2346         Reviewed by Eric.
2347
2348         - very rough implementation of networking in TransferJob for windows
2349
2350         * platform/TransferJob.h:
2351         * platform/TransferJobInternal.h:
2352         (WebCore::TransferJobInternal::TransferJobInternal):
2353         * platform/win/TransferJobWin.cpp:
2354         (WebCore::transferJobStatusCallback):
2355         (WebCore::TransferJob::start):
2356
2357 2006-03-08  Maciej Stachowiak  <mjs@apple.com>
2358
2359         Reviewed by Darin.
2360
2361         - fix win32 build
2362
2363         * platform/win/FontWin.cpp:
2364         (WebCore::Font::drawText):
2365         (WebCore::Font::drawHighlightForText):
2366         * platform/win/TemporaryLinkStubs.cpp:
2367         (GraphicsContext::clearFocusRing):
2368         (GraphicsContext::selectedTextBackgroundColor):
2369         (Font::selectionRectForText):
2370
2371 2006-03-08  Darin Adler  <darin@apple.com>
2372
2373         Reviewed by Maciej.
2374
2375         - fix one more thing from http://bugzilla.opendarwin.org/show_bug.cgi?id=7528
2376           REGRESSION: GIF animation speeds are wrong on a page with many animated GIFs
2377
2378         No layout test because I don't know how to test animated GIF speed.
2379
2380         * platform/mac/ImageSourceMac.cpp: (WebCore::ImageSource::frameDurationAtIndex):
2381         Use the correct rule for minimum frame durations. It's a bit non-intuitive, so
2382         I made the comment more explicit. The old code in WebKit had this rule.
2383
2384 2006-03-08  David Hyatt  <hyatt@apple.com>
2385
2386         Make GraphicsContext call into Font to draw all text and eliminate
2387         all knowledge of WebTextRenderers from it.
2388
2389         Reviewed by darin
2390
2391         * platform/Font.h:
2392         * platform/GraphicsContext.cpp:
2393         (WebCore::GraphicsContext::drawText):
2394         (WebCore::GraphicsContext::drawHighlightForText):
2395         (WebCore::GraphicsContext::drawLineForText):
2396         (WebCore::GraphicsContext::drawLineForMisspelling):
2397         (WebCore::GraphicsContext::misspellingLineThickness):
2398         * platform/GraphicsContext.h:
2399         (WebCore::GraphicsContext::platformContext):
2400         * platform/cairo/GraphicsContextCairo.cpp:
2401         (WebCore::GraphicsContext::platformContext):
2402         * platform/mac/FontMac.mm:
2403         (WebCore::Font::drawText):
2404         (WebCore::Font::drawHighlightForText):
2405         (WebCore::Font::drawLineForText):
2406         (WebCore::Font::drawLineForMisspelling):
2407         (WebCore::Font::misspellingLineThickness):
2408         * platform/mac/GraphicsContextMac.mm:
2409         * platform/win/FontWin.cpp:
2410         (WebCore::Font::drawText):
2411         * rendering/InlineTextBox.cpp:
2412         (WebCore::InlineTextBox::paint):
2413         (WebCore::InlineTextBox::paintSelection):
2414         (WebCore::InlineTextBox::paintMarkedTextBackground):
2415         (WebCore::InlineTextBox::paintTextMatchMarker):
2416
2417 2006-03-08  Darin Adler  <darin@apple.com>
2418
2419         Reviewed by Hyatt.
2420
2421         - fixed super-fast animation of many animated GIFs
2422
2423         No layout test because I don't know how to test animated GIF speed.
2424
2425         * platform/mac/ImageSourceMac.cpp: (WebCore::ImageSource::frameDurationAtIndex):
2426         Always take the minimum duration into account, even if there's some kind of failure
2427         getting the duration from the GIF.
2428
2429 2006-03-07  Darin Adler  <darin@apple.com>
2430
2431         Reviewed by Anders.
2432
2433         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7655
2434           unwanted output while running layout tests
2435
2436         * khtml/xsl/xsl_stylesheetimpl.cpp: (WebCore::XSLStyleSheetImpl::parseString):
2437         Pass XML_PARSE_NOERROR and XML_PARSE_NOWARNING. We don't want errors and warnings
2438         to be logged to stdout or stderr. If we later decide we want the error messages,
2439         then we should do the additional work to put them into the web page or the
2440         console (along with the JavaScript errors).
2441
2442         * platform/ArrayImpl.cpp: (WebCore::ArrayImpl::resize): Add a preflight to protect
2443         against integer overflow due to large array size. Noticed this while looking into
2444         the malloc error message.
2445
2446 2006-03-07  Darin Adler  <darin@apple.com>
2447
2448         Reviewed by Adele.
2449
2450         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7647
2451           Crash when typing into text contols
2452
2453         I missed a couple places that were still saying KWQWidgetHolder
2454         in the change I landed late last night.
2455
2456         * kwq/KWQTextArea.h:
2457         * kwq/KWQTextArea.mm:
2458         * kwq/KWQTextField.h:
2459         Changed them all to say WebCoreWidgetHolder.
2460
2461 2006-03-07  Eric Seidel  <eseidel@apple.com>
2462
2463         Reviewed by hyatt.
2464
2465         Fix cursor support on win32.
2466
2467         * platform/win/WidgetWin.cpp:
2468         (WebCore::Widget::setCursor):
2469
2470 2006-03-07  Eric Seidel  <eseidel@apple.com>
2471
2472         Reviewed by hyatt.
2473
2474         Fix basic text support.
2475
2476         * WebCore.vcproj/WebCore/WebCore.vcproj:
2477         * platform/cairo/GraphicsContextCairo.cpp:
2478         (WebCore::GraphicsContext::drawText):
2479
2480 2006-03-07  Dave Hyatt <hyatt@apple.com>
2481
2482         Eliminate the unused parameters of the QString version of drawText.
2483
2484         Reviewed by eric
2485
2486         * platform/GraphicsContext.h:
2487         * platform/cairo/GraphicsContextCairo.cpp:
2488         (WebCore::GraphicsContext::drawText):
2489         * platform/mac/GraphicsContextMac.mm:
2490         (WebCore::GraphicsContext::drawText):
2491         * rendering/render_image.cpp:
2492         (WebCore::RenderImage::paint):
2493         * rendering/render_list.cpp:
2494         (WebCore::RenderListMarker::paint):
2495
2496 2006-03-07  Eric Seidel  <eseidel@apple.com>
2497
2498         Reviewed by hyatt.
2499
2500         Add very basic text support.
2501         Sort a few more stubs.
2502
2503         * WebCore.vcproj/WebCore/WebCore.vcproj:
2504         * platform/cairo/GraphicsContextCairo.cpp:
2505         (WebCore::GraphicsContext::font):
2506         (WebCore::GraphicsContext::setFont):
2507         (WebCore::GraphicsContext::drawText):
2508         * platform/win/FontWin.cpp: Added.
2509         (WebCore::Font::drawText):
2510         * platform/win/TemporaryLinkStubs.cpp:
2511         (QComboBox::focusPolicy):
2512         (ScrollView::scrollXOffset):
2513         (Font::isFixedPitch):
2514         (Path::boundingRect):
2515
2516 2006-03-07  Adele Peterson  <adele@apple.com>
2517
2518         Reviewed by Hyatt.
2519
2520         - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=7319
2521         Can't see caret at the end of a contenteditable div with overflow:hidden
2522
2523         No tests added since I don't think the blinking caret will show up in our tests.
2524
2525         * rendering/RenderBlock.cpp:
2526         (WebCore::RenderBlock::rightmostPosition): When calculating the rightmostPosition for editable blocks, 
2527         we need to account for the caret that can be drawn 1 px past the last child inline box.
2528
2529 2006-03-07  David Kilzer  <ddkilzer@kilzer.net>
2530
2531         Reviewed by Darin.
2532
2533         - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=3905
2534         Missing </title> makes page blank
2535
2536         Test: fast/js/exception-linenums-in-html-1.html
2537         Test: fast/js/exception-linenums-in-html-2.html
2538         Test: fast/js/missing-title-end-tag-js.html
2539         Test: fast/tokenizer/missing-title-end-tag-1.html
2540         Test: fast/tokenizer/missing-title-end-tag-2.html
2541
2542         * khtml/html/htmlparser.cpp:
2543         (WebCore::HTMLParser::handleError): Add check for missing </title> tag and handle
2544         this condition if identified.
2545         * khtml/html/htmltokenizer.cpp:
2546         (WebCore::HTMLTokenizer::parseTag): If parseSpecial() consumes the rest of the
2547         document looking for a </title> tag, reset the state of the tokenizer and
2548         retokenize with no special handling for <title>.  The parser will handle the
2549         missing </title> tag in HTMLParser::handleError().
2550         * platform/SegmentedString.cpp:
2551         (WebCore::SegmentedString::SegmentedString): Added copy constructor.
2552         (WebCore::SegmentedString::operator=): Added assignment operator.  Previously the
2553         compiler was generating a default method for the assignment operator, but it did
2554         not handle m_currentChar properly.
2555         * platform/SegmentedString.h: Added prototypes for copy constructor and
2556         assignment operator.
2557
2558 2006-03-07  Eric Seidel  <eseidel@apple.com>
2559
2560         Fix win32 link stubs.
2561
2562         * platform/win/TemporaryLinkStubs.cpp:
2563         (WebCore::searchableIndexIntroduction):
2564         (WebCore::setCookies):
2565         (WebCore::cookies):
2566         (WebCore::cookiesEnabled):
2567         (WebCore::findNextSentenceFromIndex):
2568         (WebCore::findSentenceBoundary):
2569         (WebCore::findNextWordFromIndex):
2570         (WebCore::findWordBoundary):
2571         (WebCore::submitButtonDefaultLabel):
2572         (WebCore::inputElementAltText):
2573         (WebCore::resetButtonDefaultLabel):
2574         (WebCore::defaultLanguage):
2575
2576 2006-03-07  Darin Adler  <darin@apple.com>
2577
2578         Reviewed by Adele, except for the first change listed.
2579
2580         - fix recently-introduced bug that GuardMalloc found while I was debugging my other change
2581
2582         * rendering/render_frames.cpp: (WebCore::RenderPart::~RenderPart):
2583         Set m_widget to 0 before calling deref so we don't end up trying to do unwanted work.
2584
2585         - removed 10 more files from KWQ
2586
2587         * ForwardingHeaders/klocale.h: Removed.
2588
2589         * khtml/misc/helper.cpp: Removed.
2590         * khtml/misc/helper.h: Removed.
2591
2592         * kwq/KWQCollection.h: Removed.
2593         * kwq/KWQKCookieJar.h: Removed.
2594         * kwq/KWQKCookieJar.mm: Removed.
2595         * kwq/KWQKLocale.h: Removed.
2596         * kwq/KWQKLocale.mm: Removed.
2597         * kwq/KWQKURL.h: Removed.
2598         * kwq/KWQKURL.mm: Removed.
2599         * kwq/KWQTextUtilities.h: Removed.
2600         * kwq/KWQTextUtilities.mm: Removed.
2601         * kwq/KWQView.h: Removed.
2602
2603         * platform/CookieJar.h: Added.
2604         * platform/Language.h: Added.
2605         * platform/LocalizedStrings.h: Added.
2606         * platform/TextBoundaries.h: Added.
2607         * platform/mac/CookieJar.mm: Added.
2608         * platform/mac/Language.mm: Added.
2609         * platform/mac/LocalizedStringsMac.mm: Added.
2610         * platform/mac/TextBoundaries.mm: Added.
2611         * platform/mac/WebCoreWidgetHolder.h: Added.
2612
2613         * WebCore.xcodeproj/project.pbxproj: Updated for removed and added files.
2614         * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for removed and added files.
2615
2616         * bridge/mac/WebCoreFrameBridge.mm: Updated includes.
2617         (-[WebCoreFrameBridge elementForView:]): Changed KWQWidgetHolder to WebCoreWidgetHolder.
2618
2619         * editing/visible_units.cpp:
2620         (WebCore::previousWordPositionBoundary):
2621         (WebCore::nextWordPositionBoundary):
2622         (WebCore::previousSentencePositionBoundary):
2623         (WebCore::nextSentencePositionBoundary):
2624         Call TextBoundaries.h functions instead of helper.h ones.
2625
2626         * khtml/ecma/kjs_navigator.cpp: (KJS::Navigator::getValueProperty):
2627         * ksvg2/svg/SVGTestsImpl.cpp: (WebCore::SVGTestsImpl::isValid):
2628         Changed to call defaultLanguage; cleaned up formatting.
2629
2630         * khtml/html/HTMLFormElementImpl.cpp: Removed stray comment.
2631
2632         * khtml/html/html_documentimpl.cpp:
2633         (WebCore::HTMLDocumentImpl::cookie):
2634         (WebCore::HTMLDocumentImpl::setCookie):
2635         Call CookieJar.h functions.
2636
2637         * css/css_valueimpl.cpp:
2638         * css/cssparser.cpp:
2639         * css/cssstyleselector.cpp:
2640         * dom/DocumentImpl.cpp:
2641         * dom/dom_position.cpp:
2642         * khtml/ecma/kjs_window.cpp:
2643         * khtml/html/HTMLInputElementImpl.cpp:
2644         * khtml/html/html_headimpl.cpp:
2645         * khtml/html/htmlparser.cpp:
2646         * khtml/misc/decoder.cpp:
2647         * ksvg2/svg/SVGDocumentImpl.cpp:
2648         * kwq/KWQComboBox.mm:
2649         * kwq/KWQKSSLKeyGen.mm:
2650         * kwq/KWQListBox.mm:
2651         * kwq/KWQListImpl.cpp:
2652         * kwq/KWQListImpl.h:
2653         * kwq/KWQScrollBar.mm:
2654         * kwq/KWQSlider.mm:
2655         * kwq/KWQTextField.mm:
2656         * kwq/KWQValueList.h:
2657         * loader/DocLoader.cpp:
2658         * page/Frame.cpp:
2659         * page/FrameView.cpp:
2660         * platform/mac/WidgetMac.mm:
2661         (WebCore::Widget::beforeMouseDown):
2662         (WebCore::Widget::afterMouseDown):
2663         * rendering/render_applet.cpp:
2664         * rendering/render_form.cpp:
2665         * rendering/render_image.cpp:
2666         * rendering/render_list.cpp:
2667         Updated includes and protocol names.
2668
2669         * khtml/html/htmltokenizer.cpp: (WebCore::HTMLTokenizer::write): Remove
2670         QT_VERSION code.
2671         * platform/QString.h: Remove QT_VERSION.
2672
2673         * kwq/KWQPtrList.h: Change to no longer use QPtrCollection.
2674
2675         * kwq/KWQRenderTreeDebug.h:
2676         * kwq/KWQRenderTreeDebug.cpp: (externalRepresentation):
2677         Remove unused debuggingRenderTree boolean.
2678
2679 2006-03-07  Eric Seidel  <eseidel@apple.com>
2680
2681         Reviewed by darin.
2682
2683         * platform/mac/GraphicsContextMac.mm: Add Widget.h to fix no-svg build.
2684
2685 2006-03-06  Eric Seidel  <eseidel@apple.com>
2686
2687         Reviewed by hyatt.
2688
2689         Make spinneret run again, fix webview to support dynamic resize.
2690
2691         * platform/win/TemporaryLinkStubs.cpp:
2692         (Widget::setDrawingAlpha):
2693         * platform/win/WidgetWin.cpp:
2694         (WebCore::Widget::Widget):
2695         (WebCore::Widget::setClient):
2696         (WebCore::Widget::client):
2697         (WebCore::Widget::frameGeometry):
2698
2699 2006-03-06  Eric Seidel  <eseidel@apple.com>
2700
2701         Reviewed by darin.
2702
2703         Fix win32 build.
2704
2705         * platform/win/TemporaryLinkStubs.cpp:
2706         (QScrollBar::QScrollBar):
2707         (QTextEdit::setAlignment):
2708         (Widget::client):
2709         (Widget::setClient):
2710         (QLineEdit::setAlignment):
2711
2712 2006-03-06  Beth Dakin  <bdakin@apple.com>
2713
2714         Reviewed by Darin.
2715
2716         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=7566 (also 
2717         <rdar://problem/4467128> ). Must call update() on a Font before 
2718         attempting to use it because the FontRenderer is not created until 
2719         update() is called.
2720
2721         * kwq/KWQListBox.mm:
2722         (QListBox::sizeForNumberOfLines): Call update()
2723         (-[KWQTableView drawRow:clipRect:]): Call update()
2724
2725 2006-03-06  Darin Adler  <darin@apple.com>
2726
2727         Reviewed by Adele.
2728
2729         - http://bugzilla.opendarwin.org/show_bug.cgi?id=7564
2730           remove QObject, QGuardedPtr, slots, and signals
2731
2732         I had written a detailed change log entry, but I lost it!
2733         I'm too annoyed to write one all over again.
2734
2735         * ForwardingHeaders/qguardedptr.h: Removed.
2736         * ForwardingHeaders/qobject.h: Removed.
2737
2738         * kwq/KWQGuardedPtr.cpp: Removed.
2739         * kwq/KWQGuardedPtr.h: Removed.
2740         * kwq/KWQNamespace.h: Removed.
2741         * kwq/KWQObject.cpp: Removed.
2742         * kwq/KWQObject.h: Removed.
2743         * kwq/KWQSignal.cpp: Removed.
2744         * kwq/KWQSignal.h: Removed.
2745         * kwq/KWQSlot.cpp: Removed.
2746         * kwq/KWQSlot.h: Removed.
2747
2748         * platform/WidgetClient.h: Added.
2749
2750         * WebCore.xcodeproj/project.pbxproj: Updated for removed and added files.
2751         * WebCore.vcproj/WebCore/WebCore.vcproj: Ditto.
2752
2753         * bindings/js/JSDOMCore.cpp: Touched.
2754         * bindings/js/JSDOMEvents.cpp: Ditto.
2755
2756         * bridge/BrowserExtension.h:
2757         (WebCore::BrowserExtension::~BrowserExtension):
2758         * bridge/mac/WebCoreFrameBridge.mm:
2759         (-[WebCoreFrameBridge elementForView:]):
2760         * dom/CDATASectionImpl.cpp:
2761         (WebCore::CDATASectionImpl::cloneNode):
2762         * dom/DocumentImpl.cpp:
2763         (WebCore::DocumentImpl::~DocumentImpl):
2764         * dom/DocumentImpl.h:
2765         * kcanvas/device/KRenderingDevice.h:
2766         * khtml/ecma/kjs_css.cpp:
2767         (KJS::DOMCSSStyleDeclaration::put):
2768         * khtml/ecma/kjs_window.cpp:
2769         (KJS::FrameArray::indexGetter):
2770         (KJS::FrameArray::nameGetter):
2771         * khtml/html/html_documentimpl.cpp:
2772         (WebCore::HTMLDocumentImpl::createTokenizer):
2773         * khtml/html/htmlparser.cpp:
2774         (WebCore::HTMLParser::HTMLParser):
2775         (WebCore::HTMLParser::insertNode):
2776         (WebCore::HTMLParser::handleError):
2777         (WebCore::HTMLParser::commentCreateErrorCheck):
2778         (WebCore::HTMLParser::noscriptCreateErrorCheck):
2779         (WebCore::HTMLParser::isInline):
2780         (WebCore::HTMLParser::finished):
2781         * khtml/html/htmlparser.h:
2782         * khtml/html/htmltokenizer.cpp:
2783         (WebCore::HTMLTokenizer::HTMLTokenizer):
2784         (WebCore::HTMLTokenizer::scriptHandler):
2785         (WebCore::HTMLTokenizer::scriptExecution):
2786         (WebCore::HTMLTokenizer::parseComment):
2787         (WebCore::HTMLTokenizer::parseTag):
2788         (WebCore::HTMLTokenizer::stopParsing):
2789         (WebCore::HTMLTokenizer::timerFired):
2790         (WebCore::HTMLTokenizer::processToken):
2791         (WebCore::parseHTMLDocumentFragment):
2792         * khtml/html/htmltokenizer.h:
2793         * kwq/KWQComboBox.h:
2794         * kwq/KWQComboBox.mm:
2795         (-[KWQPopUpButton setPopulatingMenu:QComboBox:::]):
2796         (QComboBox::itemSelected):
2797         (-[KWQPopUpButton becomeFirstResponder]):
2798         (-[KWQPopUpButton resignFirstResponder]):
2799         * kwq/KWQFileButton.h:
2800         (KWQFileButton::filename):
2801         * kwq/KWQFileButton.mm:
2802         (KWQFileButton::KWQFileButton):
2803         (KWQFileButton::filenameChanged):
2804         (-[KWQFileButtonAdapter filenameChanged:]):
2805         (-[KWQFileButtonAdapter focusChanged:]):
2806         (-[KWQFileButtonAdapter clicked]):
2807         * kwq/KWQLineEdit.h:
2808         * kwq/KWQLineEdit.mm:
2809         (QLineEdit::QLineEdit):
2810         (QLineEdit::setAlignment):
2811         (KWQNSTextAlignment):
2812         * kwq/KWQListBox.h:
2813         (QListBox::changingSelection):
2814         * kwq/KWQListBox.mm:
2815         (QListBox::QListBox):
2816         (-[KWQTableView becomeFirstResponder]):
2817         (-[KWQTableView resignFirstResponder]):
2818         (-[KWQTableView tableViewSelectionDidChange:]):
2819         * kwq/KWQScrollBar.h:
2820         (WebCore::):
2821         (QScrollBar::orientation):
2822         * kwq/KWQScrollBar.mm:
2823         (-[KWQScrollBar initWithQScrollBar:]):
2824         (QScrollBar::QScrollBar):
2825         (QScrollBar::valueChanged):
2826         (QScrollBar::scroll):
2827         * kwq/KWQSlider.h:
2828         * kwq/KWQSlider.mm:
2829         (-[KWQSlider mouseDown:]):
2830         (-[KWQSlider slide:]):
2831         (-[KWQSlider becomeFirstResponder]):
2832         (-[KWQSlider resignFirstResponder]):
2833         (QSlider::QSlider):
2834         (QSlider::sliderValueChanged):
2835         (QSlider::dimensions):
2836         * kwq/KWQTextArea.mm:
2837         (-[KWQTextAreaTextView textViewDidChangeSelection:]):
2838         (-[KWQTextAreaTextView textDidChange:]):
2839         (-[KWQTextAreaTextView becomeFirstResponder]):
2840         (-[KWQTextAreaTextView resignFirstResponder]):
2841         (-[KWQTextAreaTextView mouseDown:]):
2842         (-[KWQTextAreaTextView dispatchHTMLEvent:]):
2843         * kwq/KWQTextEdit.h:
2844         * kwq/KWQTextEdit.mm:
2845         (QTextEdit::QTextEdit):
2846         (QTextEdit::setAlignment):
2847         * kwq/KWQTextField.mm:
2848         (-[KWQTextFieldController action:]):
2849         (-[KWQTextFieldController controlTextDidEndEditing:]):
2850         (-[KWQTextFieldController controlTextDidChange:]):
2851         (-[KWQTextFieldController textChanged]):
2852         (-[KWQTextFieldController textView:didHandleEvent:]):
2853         (-[KWQTextFieldController setHasFocus:]):
2854         (-[KWQTextFieldController textViewDidChangeSelection:]):
2855         * loader/CachedObject.h:
2856         * page/Frame.cpp:
2857         (WebCore::Frame::Frame):
2858         (WebCore::Frame::~Frame):
2859         (WebCore::Frame::setOpener):
2860         (WebCore::Frame::nodeForWidget):
2861         (WebCore::Frame::disconnectOwnerRenderer):
2862         * page/Frame.h:
2863         * page/FramePrivate.h:
2864         (WebCore::FramePrivate::FramePrivate):
2865         * page/FrameView.cpp:
2866         (WebCore::FrameView::~FrameView):
2867         * platform/Brush.h:
2868         * platform/Pen.h:
2869         * platform/Widget.cpp:
2870         (WebCore::Widget::isFrameView):
2871         * platform/Widget.h:
2872         (WebCore::):
2873         * platform/mac/GraphicsContextMac.mm:
2874         (WebCore::GraphicsContext::drawText):
2875         * platform/mac/WidgetMac.mm:
2876         (WebCore::Widget::Widget):
2877         (WebCore::Widget::focusPolicy):
2878         (WebCore::Widget::sendConsumedMouseUp):
2879         (WebCore::Widget::setClient):
2880         (WebCore::Widget::client):
2881         * rendering/InlineTextBox.cpp:
2882         (WebCore::InlineTextBox::operator delete):
2883         * rendering/render_applet.cpp:
2884         (WebCore::RenderApplet::createWidgetIfNecessary):
2885         * rendering/render_form.cpp:
2886         (WebCore::RenderFormElement::clicked):
2887         (WebCore::RenderFormElement::textAlignment):
2888         (WebCore::RenderLineEdit::RenderLineEdit):
2889         (WebCore::RenderLineEdit::selectionChanged):
2890         (WebCore::RenderLineEdit::returnPressed):
2891         (WebCore::RenderLineEdit::performSearch):
2892         (WebCore::RenderLineEdit::valueChanged):
2893         (WebCore::RenderFileButton::RenderFileButton):
2894         (WebCore::RenderFileButton::returnPressed):
2895         (WebCore::RenderFileButton::valueChanged):
2896         (WebCore::RenderLegend::RenderLegend):
2897         (WebCore::RenderSelect::RenderSelect):
2898         (WebCore::RenderSelect::updateFromElement):
2899         (WebCore::RenderSelect::valueChanged):
2900         (WebCore::RenderSelect::selectionChanged):
2901         (WebCore::RenderSelect::createListBox):
2902         (WebCore::RenderTextArea::RenderTextArea):
2903         (WebCore::RenderTextArea::valueChanged):
2904         (WebCore::RenderTextArea::selectionChanged):
2905         (WebCore::RenderSlider::RenderSlider):
2906         (WebCore::RenderSlider::valueChanged):
2907         * rendering/render_form.h:
2908         (WebCore::RenderFormElement::element):
2909         (WebCore::RenderLineEdit::element):
2910         (WebCore::RenderFileButton::element):
2911         (WebCore::RenderFileButton::isEditable):
2912         (WebCore::RenderSelect::element):
2913         (WebCore::RenderTextArea::element):
2914         (WebCore::RenderSlider::element):
2915         * rendering/render_frames.cpp:
2916         (WebCore::RenderPart::RenderPart):
2917         (WebCore::RenderPart::~RenderPart):
2918         (WebCore::RenderPart::setFrame):
2919         (WebCore::RenderPart::setWidget):
2920         (WebCore::RenderPart::deleteWidget):
2921         (WebCore::RenderFrame::RenderFrame):
2922         (WebCore::RenderPartObject::RenderPartObject):
2923         (WebCore::RenderPartObject::layout):
2924         * rendering/render_frames.h:
2925         * rendering/render_layer.cpp:
2926         (WebCore::RenderLayer::RenderLayer):
2927         (WebCore::RenderLayer::~RenderLayer):
2928         (WebCore::RenderLayer::valueChanged):
2929         (WebCore::RenderLayer::setHasHorizontalScrollbar):
2930         (WebCore::RenderLayer::setHasVerticalScrollbar):
2931         (WebCore::RenderLayer::hitTest):
2932         * rendering/render_layer.h:
2933         (WebCore::RenderLayer::parent):
2934         (WebCore::RenderLayer::previousSibling):
2935         (WebCore::RenderLayer::nextSibling):
2936         (WebCore::RenderLayer::firstChild):
2937         (WebCore::RenderLayer::lastChild):
2938         * rendering/render_list.cpp:
2939         (WebCore::RenderListMarker::paint):
2940         * rendering/render_replaced.cpp:
2941         (WebCore::RenderWidget::RenderWidget):
2942         (WebCore::RenderWidget::destroy):
2943         (WebCore::RenderWidget::~RenderWidget):
2944         (WebCore::RenderWidget::setWidget):
2945         (WebCore::RenderWidget::layout):
2946         (WebCore::RenderWidget::sendConsumedMouseUp):
2947         (WebCore::RenderWidget::focusIn):
2948         (WebCore::RenderWidget::focusOut):
2949         (WebCore::RenderWidget::scrollToVisible):
2950         (WebCore::RenderWidget::isVisible):
2951         (WebCore::RenderWidget::element):
2952         (WebCore::RenderWidget::deleteWidget):
2953         * rendering/render_replaced.h:
2954         * xml/xmlhttprequest.cpp:
2955         (WebCore::requestsByDocument):
2956         (WebCore::addToRequestsByDocument):
2957         (WebCore::removeFromRequestsByDocument):
2958         (WebCore::XMLHttpRequest::getResponseText):
2959         (WebCore::XMLHttpRequest::getResponseXML):
2960         (WebCore::XMLHttpRequest::XMLHttpRequest):
2961         (WebCore::XMLHttpRequest::~XMLHttpRequest):
2962         (WebCore::XMLHttpRequest::callReadyStateChangeListener):
2963         (WebCore::XMLHttpRequest::urlMatchesDocumentDomain):
2964         (WebCore::XMLHttpRequest::open):
2965         (WebCore::XMLHttpRequest::send):
2966         (WebCore::XMLHttpRequest::abort):
2967         (WebCore::XMLHttpRequest::overrideMIMEType):
2968         (WebCore::XMLHttpRequest::setRequestHeader):
2969         (WebCore::XMLHttpRequest::getRequestHeader):
2970         (WebCore::XMLHttpRequest::getAllResponseHeaders):
2971         (WebCore::XMLHttpRequest::getResponseHeader):
2972         (WebCore::XMLHttpRequest::getSpecificHeader):
2973         (WebCore::XMLHttpRequest::responseIsXML):
2974         (WebCore::XMLHttpRequest::getStatus):
2975         (WebCore::XMLHttpRequest::getStatusText):
2976         (WebCore::XMLHttpRequest::receivedAllData):
2977         (WebCore::XMLHttpRequest::receivedRedirect):
2978         (WebCore::XMLHttpRequest::receivedData):
2979         (WebCore::XMLHttpRequest::cancelRequests):
2980         (WebCore::XMLHttpRequest::detachRequests):
2981         * xml/xmlhttprequest.h:
2982
2983 2006-03-06  Eric Seidel  <eseidel@apple.com>
2984
2985         Reviewed by beth.
2986
2987         Reorganize link stubs (alphabetically).
2988         Stub out Path methods to make cnn.com work.
2989
2990         * platform/win/TemporaryLinkStubs.cpp:
2991         (FrameView::viewportToGlobal):
2992         (FrameView::updateBorder):
2993         (FrameView::isFrameView):
2994         (FrameView::topLevelWidget):
2995         (QScrollBar::~QScrollBar):
2996         (QScrollBar::setSteps):
2997         (QScrollBar::scroll):
2998         (QScrollBar::QScrollBar):
2999         (QScrollBar::setValue):
3000         (QScrollBar::setKnobProportion):
3001         (QListBox::QListBox):
3002         (QListBox::setSelected):
3003         (QListBox::sizeForNumberOfLines):
3004         (QListBox::isSelected):
3005         (QListBox::appendItem):
3006         (QListBox::doneAppendingItems):
3007         (ScrollView::scrollXOffset):
3008         (QComboBox::focusPolicy):
3009         (QTextEdit::QTextEdit):
3010         (QTextEdit::~QTextEdit):
3011         (QTextEdit::textWithHardLineBreaks):
3012         (QTextEdit::sizeWithColumnsAndRows):
3013         (QTextEdit::setColors):
3014         (QTextEdit::setFont):
3015         (QTextEdit::setWritingDirection):
3016         (QTextEdit::checksDescendantsForFocus):
3017         (QTextEdit::selectionStart):
3018         (QTextEdit::hasSelectedText):
3019         (QTextEdit::setReadOnly):
3020         (QTextEdit::setDisabled):
3021         (QTextEdit::setLineHeight):
3022         (QTextEdit::setSelectionStart):
3023         (QTextEdit::text):
3024         (QTextEdit::setWordWrap):
3025         (QTextEdit::setAlignment):
3026         (QTextEdit::getCursorPosition):
3027         (QTextEdit::setSelectionRange):
3028         (Widget::enableFlushDrawing):
3029         (Widget::isEnabled):
3030         (Widget::focusPolicy):
3031         (Widget::disableFlushDrawing):
3032         (Widget::setIsSelected):
3033         (Widget::unlockDrawingFocus):
3034         (KJavaAppletWidget::KJavaAppletWidget):
3035         (ScrollView::scrollPointRecursively):
3036         (ScrollView::scrollBy):
3037         (QLineEdit::selectAll):
3038         (QLineEdit::addSearchResult):
3039         (QLineEdit::selectionStart):
3040         (QLineEdit::hasSelectedText):
3041         (QLineEdit::selectedText):
3042         (QLineEdit::setAutoSaveName):
3043         (QLineEdit::checksDescendantsForFocus):
3044         (QLineEdit::setMaxResults):
3045         (GraphicsContext::GraphicsContext):
3046         (GraphicsContext::addFocusRingRect):
3047         (GraphicsContext::drawLineForMisspelling):
3048         (GraphicsContext::drawFocusRing):
3049         (GraphicsContext::selectedTextBackgroundColor):
3050         (GraphicsContext::drawHighlightForText):
3051         (GraphicsContext::misspellingLineThickness):
3052         (GraphicsContext::addRoundedRectClip):
3053         (QSlider::QSlider):
3054         (QSlider::sizeHint):
3055         (QSlider::setValue):
3056         (QSlider::setMaxValue):
3057         (QSlider::~QSlider):
3058         (QSlider::setFont):
3059         (QListBox::setFont):
3060         (QListBox::~QListBox):
3061         (QListBox::setSelectionMode):
3062         (QListBox::setEnabled):
3063         (QListBox::clear):
3064         (QListBox::checksDescendantsForFocus):
3065         (KWQFileButton::KWQFileButton):
3066         (KWQFileButton::click):
3067         (KWQFileButton::sizeForCharacterWidth):
3068         (KWQFileButton::frameGeometry):
3069         (KWQFileButton::setFilename):
3070         (KWQFileButton::baselinePosition):
3071         (KWQFileButton::setFrameGeometry):
3072         (QSlider::focusPolicy):
3073         (QListBox::focusPolicy):
3074         (Cursor::Cursor):
3075         (MouseEvent::MouseEvent):
3076         (KWQKCookieJar::cookieEnabled):
3077         (WebCore::screenDepth):
3078         (WebCore::usableScreenRect):
3079         (FrameWin::createPlugin):
3080         (ScrollView::resizeContents):
3081         (ScrollView::visibleHeight):
3082         (ScrollView::visibleWidth):
3083         (ScrollView::setContentsPos):
3084         (ScrollView::contentsHeight):
3085         (ScrollView::contentsWidth):
3086         (ScrollView::inWindow):
3087         (Path::~Path):
3088         (Path::Path):
3089         (Path::contains):
3090         (Path::translate):
3091         (Path::boundingRect):
3092         (Path::operator=):
3093
3094 2006-03-03  Justin Garcia  <justin.garcia@apple.com>
3095
3096         Reviewed by darin
3097         
3098         <http://bugzilla.opendarwin.org/show_bug.cgi?id=6844>
3099         elementAtPoint returns the list when the point is over a list marker
3100
3101         Call RenderObject::setInnerNode(), which sets both the 
3102         innerNode and the innerNonSharedNode.
3103
3104         * rendering/render_list.cpp:
3105         (WebCore::RenderListItem::nodeAtPoint):
3106         * rendering/render_list.h:
3107
3108 2006-03-05  Darin Adler  <darin@apple.com>
3109
3110         * WebCore.vcproj/WebCore/WebCore.vcproj: Removed a lot of long-ago-deleted files
3111         from the kwq directory.
3112
3113 2006-03-05  Darin Adler  <darin@apple.com>
3114
3115         Reviewed by Maciej.
3116
3117         - moved all the remnants of the public C++ DOM API out of khtml/dom
3118         - changed from "int" to "ExceptionCode" for DOM exceptions
3119         - removed unused CSS_HTML_RELATIVE
3120         - changed offsetInCharacters to be a member function of NodeImpl
3121         - changed DOM functions that take a NodeType to use NodeType instead of
3122           unsigned short for clarity (will still be unsigned short in bindings)
3123         - changed exception constants so they can be used directly in the
3124           implementation code (added in the offsets for different types of exceptions)
3125         - replaced the eventListenerType function with an isHTMLEventListener function
3126         - got rid of EventListenerEvent, which is a synonym for EventImpl*
3127         - eliminated handleEventImpl, whish is now the same as handleEvent
3128
3129         - did other preparation for the "remove Impl suffix" renaming
3130           (tested by using a script that does the renaming)
3131
3132         * khtml/dom/css_rule.h: Removed.
3133         * khtml/dom/css_stylesheet.h: Removed.
3134         * khtml/dom/css_value.h: Removed.
3135         * khtml/dom/dom2_events.cpp: Removed.
3136         * khtml/dom/dom2_events.h: Removed.
3137         * khtml/dom/dom2_range.h: Removed.
3138         * khtml/dom/dom2_traversal.cpp: Removed.
3139         * khtml/dom/dom2_traversal.h: Removed.
3140         * khtml/dom/dom_exception.h: Removed.
3141         * khtml/dom/dom_node.h: Removed.
3142
3143         * dom/EventListener.h: Added.
3144         * dom/ExceptionCode.h: Added.
3145
3146         * WebCore+SVG/kdom.h: Removed NodeType and ExceptionCodes
3147         * WebCore+SVG/kdomevents.h: Removed.
3148
3149         * WebCore.xcodeproj/project.pbxproj: Updated for file changes.
3150         * WebCore.vcproj/WebCore/WebCore.vcproj: Ditto.
3151
3152         * bindings/scripts/CodeGeneratorJS.pm: Removed unneeded DOM:: prefix. Updated file
3153         names and exception prefix for changes in DOM exceptions.
3154
3155         * bindings/js/JSDOMCore.cpp: Touched to cause auto-generated code to be
3156         recompiled. We need to get this fixed!
3157         * bindings/js/JSDOMEvents.cpp: Ditto.
3158
3159         * dom/Attr.idl:
3160         * dom/CharacterData.idl:
3161         * dom/DOMImplementation.idl:
3162         * dom/DocumentType.idl:
3163         * dom/Element.idl:
3164         * dom/Entity.idl:
3165         * dom/MutationEvent.idl:
3166         * dom/Notation.idl:
3167         * dom/ProcessingInstruction.idl:
3168         * dom/Text.idl:
3169         * dom/WheelEvent.idl:
3170         Touched all IDL files so that changes in CodeGeneratorJS.pm would take effect.
3171         Added license headers.
3172
3173         * bindings/objc/DOM.mm: Fixed garbled license agreement. Updated includes.
3174         Changed from a single "using namespace WebCore" to individual using statements
3175         because of the imminent conflict between DOMImplementation in Objective C
3176         and WebCore::DOMImplementation (currently has an Impl suffix). Added a typedef
3177         for WebCore::DOMImplementationImpl. Changed to use ExceptionCode instead of int.
3178
3179         * bindings/objc/DOMCSS.h: Removed DOMCSSException and the special CSS exception
3180         codes. This is a feature of DOM Level 1 only. In DOM Level 2 these were eliminated
3181         and use basic DOM exception codes instead. We might have to do something for binary
3182         compatibility eventually, but perhaps not.
3183
3184         * bindings/objc/DOMCSS.mm:
3185         * bindings/objc/DOMEvents.mm:
3186         * bindings/objc/DOMEventsInternal.h:
3187         * bindings/objc/DOMHTML.mm:
3188         * bindings/objc/DOMHTMLInternal.h:
3189         * bindings/objc/DOMViews.mm:
3190         * bindings/objc/DOMViewsInternal.h:
3191         Fixed garbled license agreements.
3192         Changed to use ExceptionCode instead of int and name the variable "ec".
3193
3194         * bindings/objc/DOMInternal.h: Changed addDOMWrapperImpl to take NSObject* instead
3195         of id. This helps with overload resolution when addDOMWrapperImpl is renamed to be
3196         addDOMWrapper. Changed ALLOW_DOM_CAST to always use "class" in from of the type name
3197         of the WebCore class. This helps work around what seems like a bug in namespace support
3198         in Objective-C mode, although the bug only happens after the "remove Impl" renaming.
3199         * bindings/objc/DOMInternal.mm:
3200         (getDOMWrapperImpl): Changed to use HashMap.
3201         (addDOMWrapperImpl): Ditto.
3202         (removeDOMWrapper): Ditto.
3203         (raiseDOMException): Update to use new names for exception number ranges.
3204
3205         * bridge/mac/WebCoreFrameBridge.mm:
3206         * khtml/ecma/xmlserializer.cpp:
3207         * kwq/KWQAccObject.mm:
3208         Removed unneeded includes.
3209
3210         * css/css_ruleimpl.h: Moved "rule type" into this header.
3211
3212         * dom/CommentImpl.h:
3213         * dom/CommentImpl.cpp: (WebCore::CommentImpl::offsetInCharacters): Added. Returns true.
3214
3215         * khtml/ecma/XSLTProcessor.cpp: (KJS::XSLTProcessorProtoFunc::callAsFunction):
3216         Changed this around so we don't have a local variable named docImpl.
3217
3218         * khtml/ecma/kjs_binding.cpp: (KJS::setDOMException): Updated for new form of exception
3219         constants.
3220
3221         * khtml/ecma/kjs_events.h:
3222         * khtml/ecma/kjs_events.cpp:
3223         (KJS::JSAbstractEventListener::handleEvent): Changed to no longer use EventListenerEvent.
3224         (KJS::JSAbstractEventListener::isHTMLEventListener): Added.
3225
3226         * rendering/RenderTextField.h: Updated includes. Tweaked the code formatting of
3227         InputMutationListener. (Might be unnecessary since this class might be deleted soon.)
3228
3229         * bridge/mac/MacFrame.mm:
3230         * css/css_computedstyle.cpp:
3231         * css/css_computedstyle.h:
3232         * css/css_ruleimpl.cpp:
3233         * css/css_stylesheetimpl.cpp:
3234         * css/css_stylesheetimpl.h:
3235         * css/css_valueimpl.cpp:
3236         * css/css_valueimpl.cpp:
3237         * css/css_valueimpl.h:
3238         * css/css_valueimpl.h:
3239         * css/cssparser.cpp:
3240         * css/cssstyleselector.cpp:
3241         * dom/CDATASectionImpl.cpp:
3242         * dom/CDATASectionImpl.h:
3243         * dom/CharacterDataImpl.cpp:
3244         * dom/CharacterDataImpl.h:
3245         * dom/ContainerNodeImpl.cpp:
3246         * dom/DOMImplementationImpl.cpp:
3247         * dom/DocumentFragmentImpl.cpp:
3248         * dom/DocumentFragmentImpl.h:
3249         * dom/DocumentImpl.cpp:
3250         * dom/DocumentImpl.h:
3251         * dom/DocumentTypeImpl.cpp:
3252         * dom/DocumentTypeImpl.h:
3253         * dom/NamedNodeMapImpl.h:
3254         * dom/NodeImpl.cpp:
3255         * dom/NodeImpl.h:
3256         * dom/NodeListImpl.cpp:
3257         * dom/TextImpl.cpp:
3258         * dom/TextImpl.h:
3259         * dom/dom2_eventsimpl.cpp:
3260         * dom/dom2_eventsimpl.h:
3261         * dom/dom2_rangeimpl.cpp:
3262         * dom/dom2_rangeimpl.h:
3263         * dom/dom2_traversalimpl.cpp:
3264         * dom/dom2_traversalimpl.h:
3265         * dom/dom_elementimpl.cpp:
3266         * dom/dom_elementimpl.h:
3267         * dom/dom_position.cpp:
3268         * dom/dom_xmlimpl.cpp:
3269         * dom/dom_xmlimpl.h:
3270         * dom/xml_tokenizer.cpp:
3271         * editing/AppendNodeCommand.cpp:
3272         * editing/ApplyStyleCommand.cpp:
3273         * editing/CompositeEditCommand.cpp:
3274         * editing/DeleteFromTextNodeCommand.cpp:
3275         * editing/InsertIntoTextNodeCommand.cpp:
3276         * editing/InsertLineBreakCommand.cpp:
3277         * editing/InsertNodeBeforeCommand.cpp:
3278         * editing/InsertParagraphSeparatorCommand.cpp:
3279         * editing/JoinTextNodesCommand.cpp:
3280         * editing/MergeIdenticalElementsCommand.cpp:
3281         * editing/RemoveNodeAttributeCommand.cpp:
3282         * editing/RemoveNodeCommand.cpp:
3283         * editing/ReplaceSelectionCommand.cpp:
3284         * editing/Selection.cpp:
3285         * editing/SelectionController.cpp:
3286         * editing/SelectionController.h:
3287         * editing/SetNodeAttributeCommand.cpp:
3288         * editing/SplitElementCommand.cpp:
3289         * editing/SplitTextNodeCommand.cpp:
3290         * editing/VisiblePosition.cpp:
3291         * editing/WrapContentsInDummySpanCommand.cpp:
3292         * editing/htmlediting.cpp:
3293         * editing/markup.cpp:
3294         * editing/visible_text.cpp:
3295         * khtml/ecma/kjs_binding.h:
3296         * khtml/ecma/kjs_css.cpp:
3297         * khtml/ecma/kjs_dom.cpp:
3298         * khtml/ecma/kjs_html.cpp:
3299         * khtml/ecma/kjs_range.cpp:
3300         * khtml/ecma/kjs_traversal.cpp:
3301         * khtml/ecma/kjs_traversal.h:
3302         * khtml/ecma/kjs_window.cpp:
3303         * khtml/html/HTMLElementImpl.cpp:
3304         * khtml/html/HTMLOptionElementImpl.cpp:
3305         * khtml/html/HTMLOptionElementImpl.h:
3306         * khtml/html/HTMLOptionsCollectionImpl.cpp:
3307         * khtml/html/HTMLSelectElementImpl.cpp:
3308         * khtml/html/HTMLTextAreaElementImpl.cpp:
3309         * khtml/html/html_documentimpl.cpp:
3310         * khtml/html/html_documentimpl.h:
3311         * khtml/html/html_headimpl.cpp:
3312         * khtml/html/html_tableimpl.cpp:
3313         * khtml/html/html_tableimpl.h:
3314         * khtml/html/htmlparser.cpp:
3315         * khtml/xbl/xbl_tokenizer.cpp:
3316         * khtml/xsl/xsl_stylesheetimpl.cpp:
3317         * ksvg2/misc/SVGDocumentExtensions.cpp:
3318         * ksvg2/svg/SVGAnimationElementImpl.cpp:
3319         * ksvg2/svg/SVGDOMImplementationImpl.cpp:
3320         * ksvg2/svg/SVGDOMImplementationImpl.h:
3321         * ksvg2/svg/SVGDocumentImpl.cpp:
3322         * ksvg2/svg/SVGDocumentImpl.h:
3323         * ksvg2/svg/SVGElementImpl.cpp:
3324         * ksvg2/svg/SVGLengthImpl.cpp:
3325         * ksvg2/svg/SVGLocatableImpl.cpp:
3326         * ksvg2/svg/SVGPolyElementImpl.cpp:
3327         * ksvg2/svg/SVGSVGElementImpl.cpp:
3328         * ksvg2/svg/SVGStyleElementImpl.cpp:
3329         * ksvg2/svg/SVGStyleElementImpl.h:
3330         * ksvg2/svg/SVGUseElementImpl.cpp:
3331         * page/Frame.cpp:
3332         * page/FrameView.cpp:
3333         * rendering/render_object.cpp:
3334         * xml/xmlhttprequest.cpp:
3335         Changed to use ExceptionCode instead of int and name the variable "ec".
3336         Also updated use of exception codes and other constants to get them from
3337         their new locations.
3338
3339 2006-03-06  Eric Seidel  <eseidel@apple.com>
3340
3341         Reviewed by mjs.
3342
3343         Fix more pages (apple.com, yahoo.com) by returning empty error image.
3344         Empty a couple more stubs and clean up stub style a little.
3345
3346         * platform/cairo/ImageCairo.cpp:
3347         (WebCore::Image::loadResource):
3348         * platform/win/TemporaryLinkStubs.cpp:
3349         (QListBox::isSelected):
3350         (QSlider::sizeHint):
3351         (QScrollBar::~QScrollBar):
3352         (FrameWin::getObjectInstanceForWidget):
3353         (FrameWin::getEmbedInstanceForWidget):
3354         (FrameWin::recordFormValue):
3355         (FrameWin::getAppletInstanceForWidget):
3356         (FrameWin::passMouseDownEventToWidget):
3357         (FrameWin::passWheelEventToChildWidget):
3358         (FrameWin::createPlugin):
3359         (BrowserExtensionWin::createNewWindow):
3360         (Path::Path):
3361         (QLineEdit::~QLineEdit):
3362         (QLineEdit::setLiveSearch):
3363         (QComboBox::~QComboBox):
3364
3365 2006-03-06  Eric Seidel  <eseidel@apple.com>
3366
3367         Reviewed by andersca.
3368
3369         Empty enough stubs to make apple.com load.
3370
3371         * platform/win/TemporaryLinkStubs.cpp:
3372         (QTextEdit::sizeWithColumnsAndRows):
3373         (GraphicsContext::misspellingLineThickness):
3374         (QTextEdit::selectAll):
3375         (QTextEdit::setSelectionStart):
3376         (Widget::unlockDrawingFocus):
3377         (QLineEdit::setAutoSaveName):
3378         (ScrollView::scrollYOffset):
3379         (KWQFileButton::setFilename):
3380         (QListBox::setFont):
3381         (GraphicsContext::beginTransparencyLayer):
3382         (GraphicsContext::endTransparencyLayer):
3383         (QComboBox::QComboBox):
3384         (QComboBox::setFont):
3385         (QComboBox::baselinePosition):
3386         (QComboBox::setWritingDirection):
3387         (QComboBox::clear):
3388         (QComboBox::appendItem):
3389         (QComboBox::setCurrentItem):
3390         (QComboBox::sizeHint):
3391         (QComboBox::frameGeometry):
3392         (QComboBox::setFrameGeometry):
3393         (QLineEdit::setLiveSearch):
3394
3395 2006-03-06  Eric Seidel  <eseidel@apple.com>
3396
3397         Reviewed by darin.
3398
3399         Fix external resource loading.
3400         Make a bunch of stubs not abort (to fix slashdot).
3401
3402         * platform/win/TemporaryLinkStubs.cpp:
3403         (QTextEdit::textWithHardLineBreaks):
3404         (KWQFileButton::click):
3405         (QComboBox::setFrameGeometry):
3406         (QTextEdit::setText):
3407         (QListBox::appendItem):
3408         (GraphicsContext::endTransparencyLayer):
3409         (QLineEdit::selectionStart):
3410         (QTextEdit::QTextEdit):
3411         (QListBox::isSelected):
3412         (QComboBox::focusPolicy):
3413         (QTextEdit::setCursorPosition):
3414         (QTextEdit::setAlignment):
3415         (QLineEdit::selectedText):
3416         (ScrollView::scrollPointRecursively):
3417         (QScrollBar::setSteps):
3418         (QComboBox::appendItem):
3419         (GraphicsContext::drawLineForMisspelling):
3420         (KWQFileButton::setFilename):
3421         (QListBox::setWritingDirection):
3422         (QListBox::focusPolicy):
3423         (MouseEvent::MouseEvent):
3424         (QSlider::setFont):
3425         (Widget::setEnabled):
3426         (Widget::paint):
3427         (ScrollView::addChild):
3428         (ScrollView::inWindow):
3429         (GraphicsContext::setShadow):
3430         (GraphicsContext::clearShadow):
3431         (RenderThemeWin::paintCheckbox):
3432         (RenderThemeWin::paintRadio):
3433         (RenderThemeWin::paintButton):
3434         (RenderThemeWin::paintTextField):
3435         (QLineEdit::QLineEdit):
3436         (QLineEdit::setFont):
3437         (QLineEdit::setAlignment):
3438         (QLineEdit::setWritingDirection):
3439         (QLineEdit::maxLength):
3440         (QLineEdit::setMaxLength):
3441         (QLineEdit::text):
3442         (QLineEdit::setText):
3443         (QLineEdit::cursorPosition):
3444         (QLineEdit::setCursorPosition):
3445         (QLineEdit::setEdited):
3446         (QLineEdit::setReadOnly):
3447         (QLineEdit::setPlaceholderString):
3448         (QLineEdit::setColors):
3449         (QLineEdit::sizeForCharacterWidth):
3450         (QLineEdit::baselinePosition):
3451         * platform/win/TransferJobWin.cpp:
3452         (WebCore::TransferJob::fileLoadTimer):
3453         (WebCore::TransferJob::cancel):
3454
3455 2006-03-05  Darin Adler  <darin@apple.com>
3456
3457         Reviewed by Maciej.
3458
3459         - fix failure seen running editing layout tests
3460
3461         * editing/ReplaceSelectionCommand.cpp:
3462         (WebCore::ReplacementFragment::ReplacementFragment):
3463         Use selectNodeContents instead of rolling our own.
3464         It handles the "nothing at all" edge case properly.
3465
3466 2006-03-05  Eric Seidel  <eseidel@apple.com>
3467
3468         Reviewed by darin.
3469
3470         Make updateContents invalidate entire window for now.
3471         Fix indentation in fileLoadTimer.
3472
3473         * platform/win/ScrollViewWin.cpp:
3474         (WebCore::ScrollView::updateContents):
3475         * platform/win/TransferJobWin.cpp:
3476         (WebCore::TransferJob::fileLoadTimer):
3477
3478 2006-03-05  Eric Seidel  <eseidel@apple.com>
3479
3480         Reviewed by adele.
3481
3482         Add missing files to vcproj (fix win32 build).
3483         Also add svn:eol-style=native to new files.
3484
3485         * WebCore.vcproj/WebCore/WebCore.vcproj:
3486
3487 2006-03-05  Darin Adler  <mjs@apple.com>
3488
3489         - fix build
3490
3491         * rendering/render_style.h: (compareEqual): Made it inline, fixed variable name.
3492
3493 2006-03-05  Adele Peterson  <adele@apple.com>
3494
3495         Reviewed by Darin.
3496
3497         - Fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=6987
3498         Implement maxlength for new text fields
3499
3500         Test added:
3501         * fast/forms/input-appearance-maxlength.html
3502
3503         * WebCore.xcodeproj/project.pbxproj: 
3504          Added BeforeTextInsertedEventImpl.h, BeforeTextInsertedEventImpl.cpp, HTMLTextFieldInnerElementImpl.h, and HTMLTextFieldInnerElementImpl.cpp
3505
3506         * khtml/html/HTMLInputElementImpl.cpp:
3507         (WebCore::HTMLInputElementImpl::init): initialize max length to 1024.
3508         (WebCore::HTMLInputElementImpl::defaultEventHandler): Added case to use the khtmlBeforeTextInsertedEvent to check for maxlength.
3509         (WebCore::HTMLInputElementImpl::parseMappedAttribute): Makes sure that maxlength is between 0 and 1024.
3510
3511         * editing/ReplaceSelectionCommand.cpp:
3512         (WebCore::ReplacementFragment::ReplacementFragment): After doing a test insert of the fragment,
3513          Send khtmlBeforeTextInsertedEvent to the root editable element so the event handler can update the text, and we can update the fragment.
3514         * editing/TypingCommand.cpp:
3515         (WebCore::TypingCommand::insertText): Send khtmlBeforeTextInsertedEvent to the root editable element so the event handler can update the text if necessary.
3516         * editing/EditCommand.cpp:
3517         (WebCore::EditCommand::apply): If we've just applied a command, send the khtmlTextInsertedEvent to the root editable element. 
3518         (WebCore::EditCommand::unapply): ditto.
3519         (WebCore::EditCommand::reapply): ditto.
3520
3521         * khtml/html/HTMLTextFieldInnerElementImpl.h: Added this class to store a pointer to the input element for the text field and to handle default events.
3522         (DOM::HTMLTextFieldInnerElementImpl::shadowParentNode): Added.
3523         (DOM::HTMLTextFieldInnerElementImpl::setShadowParentNode): Added.
3524         * khtml/html/HTMLTextFieldInnerElementImpl.cpp: Added.
3525         (WebCore::HTMLTextFieldInnerElementImpl::HTMLTextFieldInnerElementImpl):
3526         (WebCore::HTMLTextFieldInnerElementImpl::~HTMLTextFieldInnerElementImpl):
3527         (WebCore::HTMLTextFieldInnerElementImpl::defaultEventHandler):
3528          Sends khtmlBeforeTextInsertedEvents to the shadowParentNode, 
3529          and handles khtmlTextInsertedEvents by telling the renderer that the subtree has changed.
3530
3531         * rendering/RenderTextField.cpp: Removed InputMutationListener since subtreeHasChanged is now called from the editing code.
3532         (WebCore::RenderTextField::~RenderTextField): removed event listener code.
3533         (WebCore::RenderTextField::updateFromElement): ditto.  And creates HTMLTextFieldInnerElementImpl.
3534         (WebCore::RenderTextField::subtreeHasChanged): calls new text() method.
3535         (WebCore::RenderTextField::text): created to get a String of all text in the RenderTextField.
3536         * rendering/RenderTextField.h: Removed InputMutationListener class.
3537
3538         * dom/EventNames.h: Added khtmlTextInserted and khtmlBeforeTextInserted.
3539         * dom/BeforeTextInsertedEventImpl.cpp: Added.
3540         (WebCore::BeforeTextInsertedEventImpl::BeforeTextInsertedEventImpl):
3541         * dom/BeforeTextInsertedEventImpl.h: Added.
3542         (WebCore::BeforeTextInsertedEventImpl::isBeforeTextInsertedEvent):
3543         (WebCore::BeforeTextInsertedEventImpl::text):
3544         * dom/dom2_eventsimpl.cpp: (WebCore::EventImpl::isBeforeTextInsertedEvent): Added.
3545         * dom/dom2_eventsimpl.h: Added isBeforeTextInsertedEvent.
3546
3547 2006-03-05  Maciej Stachowiak  <mjs@apple.com>
3548
3549         - fix build, give this a return type.
3550
3551         * rendering/render_style.h:
3552         (compareEqual):
3553
3554 2006-03-05  Eric Seidel  <eseidel@apple.com>
3555
3556         Add "Font.h" to (try to) fix the no-svg build.
3557
3558         * platform/mac/GraphicsContextMac.mm:
3559
3560 2006-03-05  Maciej Stachowiak  <mjs@apple.com>
3561
3562         Rubber stamped by Darin.
3563
3564         - fix win32 build by avoiding use of typeof
3565
3566         * rendering/render_style.h:
3567         (compareEqual):
3568
3569 2006-03-05  Geoffrey Garen  <ggaren@apple.com>
3570
3571         Reviewed by Maciej.
3572
3573         - Second cut at fixing <rdar://problem/4467143> JavaScript enumeration 
3574         of HTML element properties skips DOM node properties
3575  
3576         The approach here is for prototypes, in their constructor methods, 
3577         to set their own prototypes, preserving the prototype 
3578         chain in cases of multiple levels of inheritance. (Previously, our
3579         code assumed that a prototype never had a prototype of its own,
3580         and always used an empty object as a prototype's prototype).
3581
3582         * bindings/scripts/CodeGeneratorJS.pm: Use the new
3583         DEFINE_PROTOTYPE_WITH_PROTOTYPE macro in place of the  
3584         KJS_IMPLEMENT_PROTOTYPE_WITH_PARENT macro.
3585         * khtml/ecma/kjs_dom.cpp: Ditto.
3586         * khtml/ecma/kjs_dom.h: Ditto.