WebCore:
[WebKit-https.git] / WebCore / ChangeLog
1 2006-03-22  Tim Omernick  <timo@apple.com>
2
3         Reviewed by Kevin Decker.
4
5         Part of <rdar://problem/4351664> REGRESSION (420+): extra URL in b/f list - navigating back to previous page fails at apple.com/retail/)
6         This also fixes <rdar://problem/4477821> REGRESSION (10.4.5-TOT): meta tag specifying refresh is being added to history.
7
8         * bridge/mac/FrameMac.h:
9         * bridge/mac/FrameMac.mm:
10         Removed redirectionTimerFired().  This was added as attempt to fix <http://bugzilla.opendarwin.org/show_bug.cgi?id=7058>.  The
11         aim was to cause Safari and WebKit to update their loading status after a redirect.  Unfortunately, the fix had a bad side
12         effect.  Calling -reportClientRedirectCancelled: on a successful redirect causes WebKit to forget that the redirect was supposed
13         to lock history (i.e. reuse the current back/forward entry for the new page).  The end result was that intermediate "quick" redirects
14         were creating back/forward entries when they should not have been.  See 4351664.  That fix was almost correct, in that we do need to
15         notify the frame load delegate when a redirect ends, either because it succeeded or because it was cancelled.  However, this is the
16         wrong place to do it.  WebCore's redirect notification logic did not need to change to fix 7058.  The never-ending spinning indicators
17         problem was actually caused by a bug at the WebKit level.
18
19         * manual-tests/redirectHistory: Added.
20         * manual-tests/redirectHistory/redir-1.html: Added.
21         * manual-tests/redirectHistory/redir-2.html: Added.
22         * manual-tests/redirectHistory/redir-3.html: Added.
23         Manual test case.  I couldn't figure out how to create a layout test for this, because it involves navigation through history and
24         it was unclear how/when to tell DumpRenderTree to dump its output.
25
26 2006-03-22  Eric Seidel  <eseidel@apple.com>
27
28         Reviewed by darin.
29
30         Replace more DeprecatedString with String.
31         http://bugzilla.opendarwin.org/show_bug.cgi?id=7907
32
33         * WebCore+SVG/kdom.h:
34         * bindings/objc/DOMHTML.mm:
35         (-[DOMHTMLDocument _createDocumentFragmentWithMarkupString:baseURLString:]):
36         * bridge/BrowserExtension.h:
37         * bridge/mac/BrowserExtensionMac.h:
38         * bridge/mac/BrowserExtensionMac.mm:
39         (WebCore::BrowserExtensionMac::setTypedIconURL):
40         * bridge/mac/FrameMac.h:
41         * bridge/mac/FrameMac.mm:
42         (WebCore::FrameMac::searchForLabelsBeforeElement):
43         (WebCore::nsArray):
44         (WebCore::FrameMac::createPlugin):
45         (WebCore::FrameMac::bindingRootObject):
46         (WebCore::FrameMac::windowScriptObject):
47         (WebCore::FrameMac::windowScriptNPObject):
48         (WebCore::FrameMac::partClearedInBegin):
49         (WebCore::FrameMac::openURLFromPageCache):
50         * bridge/mac/WebCoreFrameBridge.mm:
51         (-[WebCoreFrameBridge openURL:reload:contentType:refresh:lastModified:pageCache:]):
52         (-[WebCoreFrameBridge scrollToAnchor:]):
53         (-[WebCoreFrameBridge URLWithAttributeString:]):
54         (-[WebCoreFrameBridge highlightAllMatchesForString:caseSensitive:]):
55         * bridge/mac/WebCoreScriptDebugger.mm:
56         (-[WebCoreScriptCallFrame evaluateWebScript:]):
57         * bridge/mac/WebCoreSettings.mm:
58         (-[WebCoreSettings _updateAllViews]):
59         (-[WebCoreSettings setStandardFontFamily:]):
60         (-[WebCoreSettings setMinimumFontSize:]):
61         (-[WebCoreSettings setMinimumLogicalFontSize:]):
62         (-[WebCoreSettings setDefaultFontSize:]):
63         (-[WebCoreSettings setDefaultFixedFontSize:]):
64         (-[WebCoreSettings setUserStyleSheetLocation:]):
65         * css/CSSComputedStyleDeclaration.cpp:
66         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
67         * css/CSSGrammar.y:
68         * css/css_stylesheetimpl.cpp:
69         (WebCore::MediaList::setMediaText):
70         * css/css_valueimpl.cpp:
71         (WebCore::quoteStringIfNeeded):
72         * css/cssparser.cpp:
73         (WebCore::CSSParser::parseColor):
74         * css/cssstyleselector.cpp:
75         (WebCore::CSSStyleSelector::CSSStyleSelector):
76         * css/cssstyleselector.h:
77         * dom/Document.cpp:
78         (WebCore::Document::resetActiveLinkColor):
79         (WebCore::Document::nextState):
80         (WebCore::Document::setUserStyleSheet):
81         (WebCore::Document::processHttpEquiv):
82         (WebCore::Document::recalcStyleSelector):
83         * dom/Document.h:
84         (WebCore::Document::userStyleSheet):
85         (WebCore::Document::setPrintStyleSheet):
86         (WebCore::Document::printStyleSheet):
87         * editing/markup.cpp:
88         (WebCore::createMarkup):
89         (WebCore::createFragmentFromMarkup):
90         (WebCore::createFragmentFromText):
91         * editing/markup.h:
92         * html/CanvasRenderingContext2D.cpp:
93         (WebCore::CanvasRenderingContext2D::setGlobalCompositeOperation):
94         * html/HTMLTokenizer.cpp:
95         (WebCore::HTMLTokenizer::scriptHandler):
96         * html/html_baseimpl.cpp:
97         (WebCore::HTMLFrameElement::openURL):
98         (WebCore::HTMLFrameElement::attach):
99         * html/html_headimpl.cpp:
100         (WebCore::HTMLLinkElement::process):
101         (WebCore::HTMLLinkElement::setStyleSheet):
102         * html/html_headimpl.h:
103         * html/html_imageimpl.cpp:
104         (WebCore::HTMLImageElement::parseMappedAttribute):
105         * html/html_imageimpl.h:
106         (WebCore::HTMLImageElement::compositeOperator):
107         * html/html_objectimpl.cpp:
108         (WebCore::HTMLAppletElement::createRenderer):
109         * ksvg2/svg/SVGStringList.cpp:
110         (SVGStringList::reset):
111         * kwq/AccessibilityObjectCache.h:
112         * kwq/AccessibilityObjectCache.mm:
113         (AccessibilityObjectCache::textMarkerForVisiblePosition):
114         (AccessibilityObjectCache::postNotificationToTopWebArea):
115         (AccessibilityObjectCache::postNotification):
116         * kwq/ClipboardMac.mm:
117         (WebCore::cocoaTypeFromMIMEType):
118         * kwq/KWQKHTMLSettings.h:
119         (KHTMLSettings::userStyleSheetLocation):
120         (KHTMLSettings::setUserStyleSheetLocation):
121         * kwq/KWQLineEdit.h:
122         * kwq/KWQLineEdit.mm:
123         (QLineEdit::selectedText):
124         * loader/CachedCSSStyleSheet.cpp:
125         (WebCore::CachedCSSStyleSheet::ref):
126         * page/Frame.cpp:
127         (WebCore::UserStyleSheetLoader::setStyleSheet):
128         (WebCore::Frame::jScriptEnabled):
129         (WebCore::Frame::javaEnabled):
130         (WebCore::Frame::pluginsEnabled):
131         (WebCore::Frame::receivedFirstData):
132         (WebCore::Frame::begin):
133         (WebCore::Frame::setUserStyleSheet):
134         (WebCore::Frame::requestObject):
135         (WebCore::Frame::loadPlugin):
136         (WebCore::Frame::referrer):
137         (WebCore::Frame::lastModified):
138         (WebCore::Frame::reparseConfiguration):
139         (WebCore::Frame::handleMousePressEventSingleClick):
140         (WebCore::Frame::appliedEditing):
141         (WebCore::Frame::unappliedEditing):
142         (WebCore::Frame::reappliedEditing):
143         * page/Frame.h:
144         * page/FramePrivate.h:
145         (WebCore::FramePrivate::FramePrivate):
146         * platform/AtomicString.h:
147         (WebCore::AtomicString::AtomicString):
148         * platform/DeprecatedString.cpp:
149         (DeprecatedString::replace):
150         * platform/GraphicsContext.h:
151         * platform/Image.h:
152         * platform/KURL.cpp:
153         * platform/KURL.h:
154         * platform/PlatformString.h:
155         (WebCore::String::String):
156         (WebCore::String::replace):
157         * platform/String.cpp:
158         (WebCore::operator+):
159         * platform/StringImpl.cpp:
160         (WebCore::StringImpl::remove):
161         (WebCore::parseLength):
162         (WebCore::StringImpl::replace):
163         * platform/StringImpl.h:
164         * platform/mac/GraphicsContextMac.mm:
165         (WebCore::GraphicsContext::setCompositeOperation):
166         * rendering/RenderHTMLCanvas.cpp:
167         (WebCore::RenderHTMLCanvas::paint):
168         * rendering/render_form.cpp:
169         (WebCore::RenderSelect::updateFromElement):
170         * rendering/render_frames.cpp:
171         (WebCore::isURLAllowed):
172         (WebCore::mapClassIdToServiceType):
173         (WebCore::RenderPartObject::updateWidget):
174         * rendering/render_style.h:
175         (WebCore::RenderStyle::setDashboardRegion):
176         * xml/xmlhttprequest.cpp:
177         (WebCore::getCharset):
178         (WebCore::XMLHttpRequest::send):
179         (WebCore::XMLHttpRequest::overrideMIMEType):
180
181 2006-03-22  Beth Dakin  <bdakin@apple.com>
182
183         Reviewed by Hyatt
184
185         Fix for <rdar://problem/4471984> repro crash CSS position for html/
186         table=relative causes crash when hiding table
187
188         * css/cssstyleselector.cpp:
189         (WebCore::CSSStyleSelector::adjustRenderStyle): If an object is 
190         positioned, relatively positioned, or transparent, it should always 
191         have auto indexing. Auto z-index for the root should always be 0.
192         * rendering/RenderLayer.cpp:
193         (WebCore::RenderLayer::removeChild): This is not part of the bug 
194         fix; just using a local variable that was created for the stacking 
195         context instead of recalculating it.
196
197 2006-03-22  David Hyatt  <hyatt@apple.com>
198
199         Fix for residual style problem where form elements lose their connection
200         to a degenerate table form because of a residual style fixup.  This is
201         Radar bug #4330765.
202
203         Reviewed by eric
204
205         * khtml/html/HTMLFormElement.cpp:
206         (WebCore::HTMLFormElement::HTMLFormElement):
207         * khtml/html/HTMLFormElement.h:
208         (WebCore::HTMLFormElement::setPreserveFormConnectionAcrossRemove):
209         (WebCore::HTMLFormElement::preserveFormConnectionAcrossRemove):
210         * khtml/html/HTMLGenericFormElement.cpp:
211         (WebCore::HTMLGenericFormElement::removedFromTree):
212         * khtml/html/htmlparser.cpp:
213         (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
214
215 2006-03-22  Mitz Pettel  <opendarwin.org@mitzpettel.com>
216
217         Reviewed by Adele.
218
219         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7747
220           REGRESSION: Background tab/window auto-refresh in GMail will take focus.
221
222         * manual-tests/named-window-blank-target.html: Added.
223         * manual-tests/resources/named-window-blank-target-step2.html: Added.
224         * manual-tests/resources/named-window-blank-target-step3.html: Added.
225         * manual-tests/resources/named-window-blank-target-step4.html: Added.
226         * page/FrameTree.cpp:
227         (WebCore::FrameTree::find): If the given name is empty, just return our frame,
228         even if it has a name.
229
230 2006-03-22  Darin Adler  <darin@apple.com>
231
232         Reviewed by Adele.
233
234         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7143
235           <rdar://problem/4483856> REGRESSION (417.8-TOT): onclick handler cannot call a function named OnClick (7143)
236
237         Test: fast/dom/Element/onclick-case.html
238
239         We discussed this with Maciej. In the long run we may need to remove the "all attributes
240         show up as properties in JavaScript" feature entirely. Gecko does not do it, and it's
241         not really the same thing IE does either.
242
243         * khtml/ecma/kjs_dom.cpp:
244         (KJS::DOMElement::attributeGetter): Use getAttributeNS so we're case sensitive.
245         (KJS::DOMElement::getOwnPropertySlot): Ditto.
246
247 2006-03-22  Eric Seidel  <eseidel@apple.com>
248
249         Reviewed by beth.
250
251         <rdar://problem/4486417> REGRESSION: Mail linked against TOT WebKit crashes when composing a message
252
253         No test possible.
254
255         * bridge/mac/WebCoreSettings.mm:
256         (-[WebCoreSettings init]): call AtomicString::init()
257
258 2006-03-21  Darin Adler  <darin@apple.com>
259
260         - fix buildbot (and everyone else)
261
262         * bindings/js/JSDOMCore.cpp: Touch, because Adele's change adds a virtual function,
263         and Xcode doesn't know this needs recompiling.
264         * bindings/js/JSDOMEvents.cpp: Ditto.
265         * bindings/js/JSDOMHTML.cpp: Ditto.
266
267 2006-03-21  Justin Haygood and Bjoern Graf  <jhaygood@spsu.edu> <bjoern.graf@gmail.com>
268
269         Reviewed by Eric and Darin.
270
271         - get Windows building again
272
273         * WebCore.vcproj/WebCore/WebCore.vcproj:
274         * bridge/win/FrameWin.cpp:
275         (WebCore::FrameWin::userAgent):
276         * bridge/win/FrameWin.h:
277         * platform/GraphicsContext.h:
278         * platform/cairo/ImageCairo.cpp:
279         (WebCore::Image::supportsType):
280         * platform/win/TemporaryLinkStubs.cpp:
281         (FrameWin::mimeTypeForFileName):
282         (FrameWin::objectContentType):
283         (FrameWin::createPlugin):
284         (FrameWin::overrideMediaType):
285         (FrameWin::passSubframeEventToSubframe):
286         (FrameWin::createFrame):
287         (FrameWin::incomingReferrer):
288
289 2006-03-21  Mitz Pettel  <opendarwin.org@mitzpettel.com>
290
291         Reviewed by Darin.
292
293         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7884
294           REGRESSION: Selecting a custom style sheet crashes 20/3 nightly
295
296         * page/Frame.cpp:
297         (WebCore::UserStyleSheetLoader::setStyleSheet): This was calling the function
298         that sets the stylesheet URL, passing it the actual stylesheet.
299         (WebCore::Frame::begin):
300         (WebCore::Frame::setUserStyleSheetLocation): Renamed the version of
301         setUserStyleSheet() that takes a URL to this.
302         (WebCore::Frame::reparseConfiguration):
303         * page/Frame.h:
304
305 2006-03-21  Adele Peterson  <adele@apple.com>
306
307         Reviewed by Darin.
308
309         - Fix for
310         http://bugzilla.opendarwin.org/show_bug.cgi?id=6813
311         elementAtPoint needs to return input element when clicking on new text field
312         http://bugzilla.opendarwin.org/show_bug.cgi?id=7799
313         New text fields don't respect the disabled attribute
314
315         - Tests:
316         fast/forms/input-appearance-disabled.html
317         fast/forms/input-appearance-elementFromPoint.html
318         fast/forms/input-appearance-preventDefault.html
319
320         * bridge/mac/WebCoreFrameBridge.h: Added allowShadowContent parameter to getInnerNonSharedNode so new elementAtPoint method in WebKit can call this.
321         * bridge/mac/WebCoreFrameBridge.mm:
322         (-[WebCoreFrameBridge getInnerNonSharedNode:innerNode:URLElement:atPoint:allowShadowContent:]): Passes allowShadowContent parameter to nodeInfoAtPoint.
323         (-[WebCoreFrameBridge _visiblePositionForPoint:]): Updated to call nodeInfoAtPoint allowing shadow content.
324         (-[WebCoreFrameBridge RenderObject::nodeInfoAtPoint:allowShadowContent:]): Added allowShadowContent parameter.
325
326         * dom/Node.h:
327         (WebCore::Node::isShadowNode): Added.
328         (WebCore::Node::shadowParentNode): Added.
329         * dom/Node.cpp: (WebCore::Node::shadowAncestorNode): Added.  If an ancestor is a shadow node, return its shadow parent node.
330         * html/HTMLTextFieldInnerElement.h: (WebCore::HTMLTextFieldInnerElement::isShadowNode): Added.
331
332         * dom/Document.cpp: (WebCore::Document::elementFromPoint): Gets the shadowAncestorNode (so we get the input element, and not the inner div).
333         * html/HTMLInputElement.cpp:
334         (WebCore::HTMLInputElement::isKeyboardFocusable): If text fields are focusable, then they should be keyboard focusable.  This works for the
335         old text fields because HTMLGenericFormElement::isKeyboardFocusable does the right thing for RenderWidgets.  That's not needed for the new form
336         elements.
337         (WebCore::HTMLInputElement::defaultEventHandler): let the renderer forward drag, mouse, and wheel events.
338
339         * page/FrameView.cpp:
340         (WebCore::FrameView::updateDragAndDrop): Send drag events to the shadowAncestorNode.
341         (WebCore::FrameView::dispatchMouseEvent): Send mouse events to the shadowAncestorNode.
342         (WebCore::FrameView::handleWheelEvent): Send wheel events to the shadowAncestorNode.
343
344         * rendering/RenderTextField.cpp: (WebCore::RenderTextField::forwardEvent): forwards events to the inner div element.
345         * rendering/RenderTextField.h: Added forwardEvent method.
346
347         * kwq/WebCoreAXObject.mm:
348         (-[WebCoreAXObject accessibilityHitTest:]): Gets the  shadowAncestorNode (so we get the input element, and not the inner div).
349         (-[WebCoreAXObject role]): Gets the right role for text fields, since we no longer get that from AppKit.
350         (-[WebCoreAXObject roleDescription]): Gets the right description for text fields.
351
352 2006-03-21  Darin Adler  <darin@apple.com>
353
354         Reviewed by Tim O.
355
356         - fixed <rdar://problem/4251515> REGRESSION: listing tag broken in TOT
357
358         Test: fast/html/listing.html
359
360         * html/HTMLNames.h: Add listing tag.
361
362         * bindings/objc/DOM.mm: (+[DOMNode _nodeWith:]):
363         * bridge/mac/FrameMac.mm: (WebCore::FrameMac::attributedString):
364         * css/html4.css:
365         * editing/ReplaceSelectionCommand.cpp: (WebCore::isProbablyBlock):
366         * editing/TextIterator.cpp:
367         (WebCore::TextIterator::handleNonTextNode):
368         (WebCore::TextIterator::exitNode):
369         (WebCore::SimplifiedBackwardsTextIterator::handleNonTextNode):
370         * editing/markup.cpp:
371         (WebCore::startMarkup):
372         (WebCore::createMarkup):
373         * html/HTMLElement.cpp: (WebCore::blockTagList):
374         * html/HTMLElementFactory.cpp:
375         (WebCore::addTag):
376         (WebCore::createFunctionMap):
377         (WebCore::HTMLElementFactory::createHTMLElement):
378         * html/HTMLParser.cpp: (WebCore::HTMLParser::isAffectedByResidualStyle):
379         * html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::parseTag):
380         * khtml/ecma/kjs_html.cpp:
381         (KJS::JSHTMLElement::classInfo):
382         (KJS::JSHTMLElement::accessors):
383         Add listing tags everywhere pre tags are listed.
384
385 2006-03-21  Maciej Stachowiak  <mjs@apple.com>
386
387         Reviewed by Darin.
388         
389         - fix horrible build fallout from my attr fix
390
391         * bindings/js/JSCanvasRenderingContext2DBase.cpp:
392         * bindings/js/JSDOMCore.cpp:
393         * bindings/js/JSDOMEvents.cpp:
394         * bindings/js/JSDOMHTML.cpp:
395         * bindings/scripts/CodeGeneratorJS.pm:
396
397 2006-03-21  Beth Dakin  <bdakin@apple.com>
398
399         Reviewed by Maciej
400
401         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=7223 
402         Reproducible crash when tabbing to a frame that has not been loaded
403
404         * bridge/mac/FrameMac.mm:
405         (WebCore::FrameMac::nextKeyViewInFrame): When a renderer doesn't 
406         have a widget, skip it in the focus loop.
407
408 2006-03-20  Eric Seidel  <eseidel@apple.com>
409
410         Reviewed by mjs.
411
412         Fix a unsafe static cast causing intermittent crashes.
413         <rdar://problem/4411663> crash at KXMLCore::RefPtr<WebCore::DOMStringImpl>::get() const + 20 (RefPtr.h:45)
414
415         Test: fast/dom/NodeList/item-by-id-with-no-document.html
416
417         * dom/NodeList.cpp:
418         (WebCore::NodeList::itemById): fix unsafe static cast.
419
420 2006-03-20  Maciej Stachowiak  <mjs@apple.com>
421
422         - touch this file in hopes of fixing build
423
424         * bindings/js/JSDOMCore.cpp:
425
426 2006-03-20  Maciej Stachowiak  <mjs@apple.com>
427
428         Reviewed by Anders.
429         
430         - fixed <rdar://problem/4446749> 10.4.4: safari crash in DOM::NamedAttrMapImpl::setNamedItem
431
432         * bindings/scripts/CodeGeneratorJS.pm: Add a framework for typechecking method
433         arguments. For now only use it for parameters of type Attr.
434         * dom/Element.idl: Arbitrary change to make it regenerate.
435         * dom/dom_elementimpl.cpp:
436         (WebCore::Element::setAttributeNode): ASSERT that attr is not null
437         * khtml/ecma/kjs_dom.cpp:
438         (KJS::toAttr): add bool ok parameter
439         * khtml/ecma/kjs_dom.h:
440
441 2006-03-20  Eric Seidel  <eseidel@apple.com>
442
443         * ksvg2/css/SVGCSSParser.h: Removed unused file.
444
445 2006-03-20  Eric Seidel  <eseidel@apple.com>
446
447         Reviewed by mjs.
448
449         Fix tokenizer crash when document.open() is called from an external script:
450         <rdar://problem/4483882> REGRESSION (417.8-TOT): crash at yourmovies.com.au in WebCore::HTMLTokenizer::reset() + 92 (7818)
451
452         * dom/Document.cpp:
453         (WebCore::Document::open): Check to make sure the current tokenizer isn't executing a script
454         * dom/xml_tokenizer.h:
455         (WebCore::Tokenizer::executingScript): Add a way for others to know if scripts are executing.
456         * html/HTMLTokenizer.cpp:
457         (WebCore::HTMLTokenizer::scriptExecution): Wire into existing m_executingScript member var.
458         * html/HTMLTokenizer.h:
459         (WebCore::HTMLTokenizer::executingScript):
460         * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
461         (WebCore::KCanvasFilterQuartz::prepareFilter): Unrelated code cleanup.
462
463 2006-03-20  Justin Garcia  <justin.garcia@apple.com>
464
465         Reviewed by darin
466         
467         <rdar://problem/3997958> 
468         REGRESSION (Mail): Mail takes half of forever to paste >1500 lines - replaceSelectionWithNode
469
470         * dom/Position.cpp:
471         (WebCore::Position::upstream): Avoid calling previous() when we know that 
472         it will 1) end the search and 2) be expensive to compute.
473         (WebCore::Position::downstream): Removed some dead code.
474         (WebCore::Position::inRenderedText): Return false for offsets inside composed characters.
475         * dom/Position.h:
476         * editing/VisiblePosition.cpp:
477         (WebCore::VisiblePosition::init): If there are two visually equivalent candidates, we choose
478         the one that occurs first in document order.  Using upstream() to find the one that occurs first is
479         much faster than the old code.
480
481 2006-03-20  Eric Seidel  <eseidel@apple.com>
482
483         Reviewed by adele & ggaren.
484
485         Added new cachePluginDataIfNecessary function to update
486         plugins and mimes arrays.  Made sure to call this in
487         constructor as well as refresh.  The crash was caused by
488         a refresh rendering a "plugins" object invalid.
489         Changed existing test case to depend on this new correct behavior.
490         
491         <rdar://problem/4480571> Safari crashed at exit at KXMLCore::deleteAllValues + 24
492
493         * khtml/ecma/kjs_navigator.cpp:
494         (KJS::PluginBase::cachePluginDataIfNecessary):
495         (KJS::PluginBase::PluginBase):
496         (KJS::PluginBase::~PluginBase):
497         (KJS::PluginBase::refresh):
498
499 2006-03-20  Adele Peterson  <adele@apple.com>
500
501         Reviewed by Justin.
502
503         * rendering/RenderTextField.cpp: (WebCore::RenderTextField::visiblePositionForIndex):
504         When calculating the VisiblePosition for the first position in the text field, it
505         makes more sense for the position to have a downstream affinity.
506
507 2006-03-20  Maciej Stachowiak  <mjs@apple.com>
508
509         Reviewed by Adele.
510         
511         <rdar://problem/4362396> REGRESSION: (417-420) stopPropagation is not working for click event listener (onclick works fine)
512
513         * dom/EventTargetNode.cpp:
514         (WebCore::EventTargetNode::dispatchGenericEvent): make sure to fire capturing listeners
515         as well as bubbling ones on the target.
516
517 2006-03-20  Maciej Stachowiak  <mjs@apple.com>
518
519         Reviewed by Darin.
520         
521         <rdar://problem/4458568> WebCore should not disclose https referrers
522
523         * bridge/mac/WebCoreFrameBridge.mm:
524         (-[WebCoreFrameBridge canLoadURL:fromReferrer:hideReferrer:]):
525         Don't send https URLs as referrers to non-secure http sites.
526
527 2006-03-20  Darin Adler  <darin@apple.com>
528
529         Reviewed by Geoff.
530
531         - http://bugzilla.opendarwin.org/show_bug.cgi?id=7867
532           get rid of macro hacks for DOM, KDOM, KSVG, khtml, DOMString, QString
533
534         * config.h: Remove the defines for DOM, KDOM, KSVG, khtml, DOMString, QString,
535         and qstring().
536
537         * WebCore.xcodeproj/project.pbxproj: Pass in WebCore instead of KSVG as the
538         namespace for SVG names.
539         * ksvg2/scripts/make_names.pl: Made a couple changes to trick the SVG names into
540         recompiling, since they are in a different namespace now.
541
542         * ForwardingHeaders/kjs/identifier.h: Added.
543
544         * dom/PlatformWheelEvent.idl: Removed.
545         * dom/WheelEvent.idl: Added. This file was renamed by accident.
546
547         * bindings/js/JSDOMCore.cpp:
548         * bindings/js/JSDOMEvents.cpp:
549         * bindings/js/JSDOMHTML.cpp:
550         * dom/Attr.idl:
551         * dom/CharacterData.idl:
552         * dom/DOMImplementation.idl:
553         * dom/DocumentType.idl:
554         * dom/Element.idl:
555         * dom/Entity.idl:
556         * dom/MutationEvent.idl:
557         * dom/Notation.idl:
558         * dom/ProcessingInstruction.idl:
559         * dom/Text.idl:
560         * html/CanvasGradient.idl:
561         * html/CanvasPattern.idl:
562         * html/CanvasRenderingContext2D.idl:
563         Touched, to get CodeGeneratorJS.pm changes to take effect.
564  
565         * css/CSSGrammar.y:
566         * css/css_valueimpl.cpp: (WebCore::propertyID):
567         Changed calls to get CSS property values to use an explicit SVG:: namespace,
568         to match what the script writes out.
569
570         * khtml/ecma/kjs_binding.h: Added forward declaration of WebCore::String.
571
572         * ksvg2/scripts/cssmakeget rid of macro hacks for DOM, KDOM, KSVG, khtml, DOMString, QString
573           props: Made this compile with warnings and strict turned on.
574         Really just a trick to get properties to recompile, which turned out to be unneeded.
575         * ksvg2/scripts/cssmakevalues: Ditto.
576
577         * ksvg2/svg/SVGAElement.cpp:
578         (SVGAElement::parseMappedAttribute):
579         (SVGAElement::defaultEventHandler):
580         * ksvg2/svg/SVGAnimateTransformElement.cpp:
581         (SVGAnimateTransformElement::parseMappedAttribute):
582         * ksvg2/svg/SVGAnimationElement.cpp:
583         (SVGAnimationElement::parseMappedAttribute):
584         * ksvg2/svg/SVGClipPathElement.cpp:
585         (SVGClipPathElement::parseMappedAttribute):
586         * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
587         (SVGComponentTransferFunctionElement::parseMappedAttribute):
588         * ksvg2/svg/SVGExternalResourcesRequired.cpp:
589         (SVGExternalResourcesRequired::parseMappedAttribute):
590         * ksvg2/svg/SVGFEBlendElement.cpp:
591         (SVGFEBlendElement::parseMappedAttribute):
592         * ksvg2/svg/SVGFEColorMatrixElement.cpp:
593         (SVGFEColorMatrixElement::parseMappedAttribute):
594         * ksvg2/svg/SVGFEComponentTransferElement.cpp:
595         (SVGFEComponentTransferElement::parseMappedAttribute):
596         * ksvg2/svg/SVGFECompositeElement.cpp:
597         (SVGFECompositeElement::parseMappedAttribute):
598         * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
599         (WebCore::SVGFEDiffuseLightingElement::parseMappedAttribute):
600         * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
601         (SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
602         (SVGFEDisplacementMapElement::stringToChannel):
603         (SVGFEDisplacementMapElement::parseMappedAttribute):
604         (SVGFEDisplacementMapElement::filterEffect):
605         * ksvg2/svg/SVGFEDisplacementMapElement.h:
606         * ksvg2/svg/SVGFEFloodElement.cpp:
607         (SVGFEFloodElement::parseMappedAttribute):
608         * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
609         (SVGFEGaussianBlurElement::parseMappedAttribute):
610         * ksvg2/svg/SVGFEImageElement.cpp:
611         (SVGFEImageElement::parseMappedAttribute):
612         * ksvg2/svg/SVGFELightElement.cpp:
613         (SVGFELightElement::parseMappedAttribute):
614         * ksvg2/svg/SVGFEMergeNodeElement.cpp:
615         (SVGFEMergeNodeElement::parseMappedAttribute):
616         * ksvg2/svg/SVGFEOffsetElement.cpp:
617         (SVGFEOffsetElement::parseMappedAttribute):
618         * ksvg2/svg/SVGFESpecularLightingElement.cpp:
619         (SVGFESpecularLightingElement::parseMappedAttribute):
620         * ksvg2/svg/SVGFETileElement.cpp:
621         (SVGFETileElement::parseMappedAttribute):
622         * ksvg2/svg/SVGFETurbulenceElement.cpp:
623         (SVGFETurbulenceElement::parseMappedAttribute):
624         * ksvg2/svg/SVGFilterElement.cpp:
625         (SVGFilterElement::parseMappedAttribute):
626         * ksvg2/svg/SVGGradientElement.cpp:
627         (SVGGradientElement::parseMappedAttribute):
628         * ksvg2/svg/SVGMaskElement.cpp:
629         (WebCore::SVGMaskElement::parseMappedAttribute):
630         * ksvg2/svg/SVGPolyElement.cpp:
631         (SVGPolyElement::parseMappedAttribute):
632         * ksvg2/svg/SVGStopElement.cpp:
633         (SVGStopElement::parseMappedAttribute):
634         * ksvg2/svg/SVGStyledElement.cpp:
635         (WebCore::SVGStyledElement::parseMappedAttribute):
636         * ksvg2/svg/SVGTests.cpp:
637         (WebCore::SVGTests::parseMappedAttribute):
638         * ksvg2/svg/SVGTextContentElement.cpp:
639         (SVGTextContentElement::parseMappedAttribute):
640         * ksvg2/svg/SVGTextPositioningElement.cpp:
641         (SVGTextPositioningElement::parseMappedAttribute):
642         * ksvg2/svg/SVGViewElement.cpp:
643         (SVGViewElement::parseMappedAttribute):
644         * ksvg2/svg/SVGZoomAndPan.cpp:
645         (SVGZoomAndPan::parseMappedAttribute):
646         Changed code that converts an AtomicString to a String to do it in a
647         more-efficient fashion that works even with all the new conversions.
648
649         * page/Frame.cpp:
650         (WebCore::getString): Removed unneeded .deprecatedString().
651         (WebCore::Frame::begin): Removed the only use of QSTRING_NULL.
652
653         * platform/AtomicString.h: Added conversion to and from KJS::Identifier
654         and KJS::UString.
655         * platform/AtomicString.cpp:
656         (WebCore::AtomicString::add): Added overloads for Identifier and UString.
657         (WebCore::AtomicString::operator Identifier): Added.
658         (WebCore::AtomicString::operator UString): Added.
659
660         * platform/DeprecatedString.h: Added conversion to and from KJS::Identifier
661         and KJS::UString.
662         * platform/DeprecatedString.cpp:
663         (DeprecatedString::DeprecatedString): Added overloads for Identifier and UString.
664         (DeprecatedString::operator Identifier): Added.
665         (DeprecatedString::operator UString): Added.
666
667         * platform/PlatformString.h: Added conversion to and from KJS::Identifier
668         and KJS::UString.
669         * platform/String.cpp:
670         (WebCore::String::String): Added overloads for Identifier and UString.
671         (WebCore::String::operator Identifier): Added.
672         (WebCore::String::operator UString): Added.
673
674         * platform/StringImpl.h: Added constructors that take KJS::Identifier
675         and KJS::UString
676         * platform/StringImpl.cpp:
677         (WebCore::getWordBreakIterator): Changed a use of UChar to say ::UChar
678         instead because of ambiguity with KJS::UChar.
679         (WebCore::StringImpl::StringImpl): Added overloads for Identifier and String.
680
681         * bindings/js/JSCanvasRenderingContext2DBase.cpp:
682         (WebCore::JSCanvasRenderingContext2DBaseProtoFunc::callAsFunction):
683         (WebCore::toHTMLCanvasStyle):
684         * bindings/scripts/CodeGeneratorJS.pm:
685         * bridge/mac/WebCoreFrameBridge.mm:
686         (aeDescFromJSValue):
687         (-[WebCoreFrameBridge stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
688         * dom/QualifiedName.cpp:
689         (WebCore::QualifiedName::toString):
690         * khtml/ecma/JSDOMParser.cpp:
691         (KJS::DOMParserProtoFunc::callAsFunction):
692         * khtml/ecma/JSXMLHttpRequest.cpp:
693         (KJS::JSXMLHttpRequestProtoFunc::callAsFunction):
694         * khtml/ecma/JSXSLTProcessor.cpp:
695         (KJS::XSLTProcessorProtoFunc::callAsFunction):
696         * khtml/ecma/kjs_binding.cpp:
697         (KJS::valueToStringWithNullCheck):
698         * khtml/ecma/kjs_css.cpp:
699         (KJS::cssPropertyName):
700         (KJS::DOMCSSStyleDeclaration::put):
701         (KJS::DOMCSSStyleDeclarationProtoFunc::callAsFunction):
702         (KJS::DOMStyleSheetList::nameGetter):
703         (KJS::DOMStyleSheetList::getOwnPropertySlot):
704         (KJS::DOMMediaList::put):
705         (KJS::KJS::DOMMediaListProtoFunc::callAsFunction):
706         (KJS::DOMCSSStyleSheetProtoFunc::callAsFunction):
707         (KJS::DOMCSSRule::putValueProperty):
708         (KJS::DOMCSSRuleFunc::callAsFunction):
709         (KJS::DOMCSSValue::put):
710         (KJS::DOMCSSPrimitiveValueProtoFunc::callAsFunction):
711         * khtml/ecma/kjs_dom.cpp:
712         (KJS::DOMNode::putValueProperty):
713         (KJS::DOMNode::toString):
714         (KJS::DOMNodeProtoFunc::callAsFunction):
715         (KJS::DOMEventTargetNodeProtoFunc::callAsFunction):
716         (KJS::DOMNodeList::nameGetter):
717         (KJS::DOMNodeList::getOwnPropertySlot):
718         (KJS::DOMDocument::putValueProperty):
719         (KJS::DOMDocumentProtoFunc::callAsFunction):
720         (KJS::DOMElement::attributeGetter):
721         (KJS::DOMElement::getOwnPropertySlot):
722         (KJS::DOMNamedNodeMap::nameGetter):
723         (KJS::DOMNamedNodeMap::getOwnPropertySlot):
724         (KJS::DOMNamedNodeMapProtoFunc::callAsFunction):
725         (KJS::DOMNamedNodesCollection::getOwnPropertySlot):
726         * khtml/ecma/kjs_events.cpp:
727         (KJS::JSAbstractEventListener::handleEvent):
728         (KJS::DOMEvent::getValueProperty):
729         (KJS::DOMEventProtoFunc::callAsFunction):
730         (KJS::DOMUIEventProtoFunc::callAsFunction):
731         (KJS::DOMMouseEventProtoFunc::callAsFunction):
732         (KJS::DOMKeyboardEventProtoFunc::callAsFunction):
733         (KJS::Clipboard::putValueProperty):
734         (KJS::ClipboardProtoFunc::callAsFunction):
735         * khtml/ecma/kjs_html.cpp:
736         (KJS::HTMLDocFunction::callAsFunction):
737         (KJS::JSHTMLDocument::namedItemGetter):
738         (KJS::JSHTMLDocument::getOwnPropertySlot):
739         (KJS::JSHTMLDocument::putValueProperty):
740         (KJS::JSHTMLElement::framesetNameGetter):
741         (KJS::JSHTMLElement::getOwnPropertySlot):
742         (KJS::HTMLElementFunction::callAsFunction):
743         (KJS::JSHTMLElement::putValueProperty):
744         (KJS::JSHTMLCollection::callAsFunction):
745         (KJS::JSHTMLCollection::getNamedItems):
746         (KJS::HTMLCollectionProtoFunc::callAsFunction):
747         (KJS::OptionConstructorImp::construct):
748         * khtml/ecma/kjs_navigator.cpp:
749         (KJS::Plugins::nameGetter):
750         (KJS::Plugins::getOwnPropertySlot):
751         (KJS::MimeTypes::nameGetter):
752         (KJS::MimeTypes::getOwnPropertySlot):
753         (KJS::Plugin::nameGetter):
754         (KJS::Plugin::getOwnPropertySlot):
755         * khtml/ecma/kjs_proxy.cpp:
756         (WebCore::KJSProxy::evaluate):
757         * khtml/ecma/kjs_range.cpp:
758         (KJS::DOMRangeProtoFunc::callAsFunction):
759         * khtml/ecma/kjs_views.cpp:
760         (KJS::DOMAbstractViewProtoFunc::callAsFunction):
761         * khtml/ecma/kjs_window.cpp:
762         (KJS::parseModalDialogFeatures):
763         (KJS::showModalDialog):
764         (KJS::Window::childFrameGetter):
765         (KJS::Window::namedFrameGetter):
766         (KJS::Window::namedItemGetter):
767         (KJS::Window::getOwnPropertySlot):
768         (KJS::Window::put):
769         (KJS::WindowFunc::callAsFunction):
770         (KJS::ScheduledAction::execute):
771         (KJS::Window::installTimeout):
772         (KJS::FrameArray::nameGetter):
773         (KJS::FrameArray::getOwnPropertySlot):
774         (KJS::Location::put):
775         (KJS::LocationFunc::callAsFunction):
776         (KJS::SelectionFunc::callAsFunction):
777         Removed explicit calls to domString(), sometimes replacing with explicit calls to the
778         String() constructor. Other similar changes for AtomicString and DeprecatedString use.
779
780 2006-03-20  Eric Seidel  <eseidel@apple.com>
781
782         Reviewed by darin.
783
784         Remove many, many uses of DeprecatedString.
785         Fix various style issues throughout the touched code.
786
787         * bindings/objc/DOM.mm:
788         (-[DOMRange _text]):
789         * bridge/mac/BrowserExtensionMac.mm:
790         (WebCore::BrowserExtensionMac::createNewWindow):
791         * bridge/mac/FrameMac.h:
792         (WebCore::FrameMac::bridge):
793         (WebCore::FrameMac::markedTextRange):
794         (WebCore::Mac):
795         * bridge/mac/FrameMac.mm:
796         (WebCore::FrameMac::openURLRequest):
797         (WebCore::FrameMac::searchForLabelsAboveCell):
798         (WebCore::FrameMac::searchForLabelsBeforeElement):
799         (WebCore::FrameMac::matchLabelsAgainstElement):
800         (WebCore::FrameMac::findString):
801         (WebCore::FrameMac::submitForm):
802         (WebCore::FrameMac::urlSelected):
803         (WebCore::FrameMac::objectContentType):
804         (WebCore::FrameMac::createPlugin):
805         (WebCore::FrameMac::createFrame):
806         (WebCore::FrameMac::setTitle):
807         (WebCore::FrameMac::setStatusBarText):
808         (WebCore::FrameMac::advanceToNextMisspelling):
809         (WebCore::FrameMac::userAgent):
810         (WebCore::FrameMac::mimeTypeForFileName):
811         (WebCore::FrameMac::openURLFromPageCache):
812         (WebCore::FrameMac::incomingReferrer):
813         (WebCore::FrameMac::attributedString):
814         (WebCore::FrameMac::overrideMediaType):
815         (WebCore::FrameMac::shouldClose):
816         * bridge/mac/WebCoreFrameBridge.mm:
817         (-[WebCoreFrameBridge _documentTypeString]):
818         (-[WebCoreFrameBridge selectedString]):
819         (-[WebCoreFrameBridge stringForRange:]):
820         (-[WebCoreFrameBridge advanceToNextMisspelling]):
821         (-[WebCoreFrameBridge advanceToNextMisspellingStartingJustBeforeSelection]):
822         (-[WebCoreFrameBridge domain]):
823         * bridge/mac/WebCoreSettings.mm:
824         (-[WebCoreSettings setStandardFontFamily:]):
825         (-[WebCoreSettings setFixedFontFamily:]):
826         (-[WebCoreSettings setSerifFontFamily:]):
827         (-[WebCoreSettings setSansSerifFontFamily:]):
828         (-[WebCoreSettings setCursiveFontFamily:]):
829         (-[WebCoreSettings setFantasyFontFamily:]):
830         (-[WebCoreSettings setUserStyleSheetLocation:]):
831         (-[WebCoreSettings setDefaultTextEncoding:]):
832         * css/css_valueimpl.cpp:
833         (WebCore::quoteStringIfNeeded):
834         * css/cssstyleselector.cpp:
835         (WebCore::CSSStyleSelector::CSSStyleSelector):
836         (WebCore::CSSStyleSelector::setEncodedURL):
837         (WebCore::cleanpath):
838         (WebCore::checkPseudoState):
839         (WebCore::CSSStyleSelector::styleForElement):
840         (WebCore::CSSStyleSelector::styleRulesForElement):
841         (WebCore::convertToLength):
842         (WebCore::colorForCSSValue):
843         (WebCore::CSSStyleSelector::applyProperty):
844         (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
845         * css/cssstyleselector.h:
846         * dom/CDATASection.cpp:
847         (WebCore::CDATASection::toString):
848         * dom/Document.cpp:
849         (WebCore::Document::recalcStyle):
850         * dom/Document.h:
851         (WebCore::Document::baseTarget):
852         (WebCore::Document::setBaseTarget):
853         * dom/dom_elementimpl.cpp:
854         (WebCore::Element::openTagStartToString):
855         * dom/xml_tokenizer.cpp:
856         (WebCore::handleElementAttributes):
857         (WebCore::XMLTokenizer::startElementNs):
858         * editing/SelectionController.cpp:
859         (WebCore::SelectionController::type):
860         * editing/TextIterator.cpp:
861         (WebCore::TextIterator::advance):
862         (WebCore::TextIterator::handleTextBox):
863         (WebCore::TextIterator::handleNonTextNode):
864         (WebCore::TextIterator::exitNode):
865         (WebCore::SimplifiedBackwardsTextIterator::advance):
866         (WebCore::SimplifiedBackwardsTextIterator::handleTextNode):
867         (WebCore::CharacterIterator::advance):
868         (WebCore::WordAwareIterator::advance):
869         (WebCore::WordAwareIterator::length):
870         (WebCore::WordAwareIterator::characters):
871         (WebCore::CircularSearchBuffer::CircularSearchBuffer):
872         (WebCore::CircularSearchBuffer::append):
873         (WebCore::TextIterator::rangeFromLocationAndLength):
874         (WebCore::findPlainText):
875         * editing/TextIterator.h:
876         * html/HTMLFormElement.cpp:
877         (WebCore::HTMLFormElement::formData):
878         * khtml/ecma/kjs_navigator.cpp:
879         (KJS::Navigator::getValueProperty):
880         * khtml/ecma/kjs_proxy.cpp:
881         (WebCore::KJSProxy::initScriptIfNeeded):
882         * khtml/ecma/kjs_window.cpp:
883         (KJS::Location::getValueProperty):
884         * ksvg2/misc/KCanvasRenderingStyle.cpp:
885         (WebCore::KSVGPainterFactory::fillPaintServer):
886         (WebCore::KSVGPainterFactory::strokePaintServer):
887         * ksvg2/svg/SVGAngle.cpp:
888         (SVGAngle::calculate):
889         (SVGAngle::setValueAsString):
890         (SVGAngle::valueAsString):
891         (SVGAngle::convertToSpecifiedUnits):
892         (SVGAngle::shortestArcBisector):
893         * ksvg2/svg/SVGAngle.h:
894         * ksvg2/svg/SVGAnimationElement.cpp:
895         (SVGAnimationElement::targetElement):
896         (SVGAnimationElement::parseMappedAttribute):
897         (SVGAnimationElement::parseClockValue):
898         (SVGAnimationElement::targetAttribute):
899         (SVGAnimationElement::setTargetAttribute):
900         (SVGAnimationElement::detectAnimationMode):
901         (SVGAnimationElement::calculateCurrentValueItem):
902         (SVGAnimationElement::calculateRelativeTimePercentage):
903         * ksvg2/svg/SVGColor.cpp:
904         (SVGColor::setRGBColor):
905         * ksvg2/svg/SVGDOMImplementation.cpp:
906         (svgFeatureSet):
907         (SVGDOMImplementation::self):
908         (SVGDOMImplementation::hasFeature):
909         (SVGDOMImplementation::createDocumentType):
910         (SVGDOMImplementation::createDocument):
911         * ksvg2/svg/SVGDOMImplementation.h:
912         * ksvg2/svg/SVGPaint.cpp:
913         (SVGPaint::cssText):
914         * ksvg2/svg/SVGPathSegClosePath.h:
915         (WebCore::SVGPathSegClosePath::toString):
916         * ksvg2/svg/SVGPreserveAspectRatio.cpp:
917         (SVGPreserveAspectRatio::parsePreserveAspectRatio):
918         (SVGPreserveAspectRatio::getCTM):
919         * ksvg2/svg/SVGStopElement.cpp:
920         (SVGStopElement::parseMappedAttribute):
921         * ksvg2/svg/SVGStyleElement.cpp:
922         (SVGStyleElement::childrenChanged):
923         * ksvg2/svg/SVGURIReference.cpp:
924         (SVGURIReference::getTarget):
925         * kwq/ClipboardMac.mm:
926         (WebCore::ClipboardMac::setData):
927         (WebCore::ClipboardMac::types):
928         (WebCore::ClipboardMac::setEffectAllowed):
929         (WebCore::cocoaOpFromIEOp):
930         (WebCore::IEOpFromCocoaOp):
931         (WebCore::ClipboardMac::sourceOperation):
932         (WebCore::ClipboardMac::destinationOperation):
933         * kwq/KWQCString.cpp:
934         (DeprecatedCString::append):
935         * kwq/KWQKHTMLSettings.h:
936         (KHTMLSettings::stdFontName):
937         (KHTMLSettings::fixedFontName):
938         (KHTMLSettings::serifFontName):
939         (KHTMLSettings::sansSerifFontName):
940         (KHTMLSettings::cursiveFontName):
941         (KHTMLSettings::fantasyFontName):
942         (KHTMLSettings::minFontSize):
943         (KHTMLSettings::minLogicalFontSize):
944         (KHTMLSettings::mediumFontSize):
945         (KHTMLSettings::mediumFixedFontSize):
946         (KHTMLSettings::autoLoadImages):
947         (KHTMLSettings::isJavaScriptEnabled):
948         (KHTMLSettings::JavaScriptCanOpenWindowsAutomatically):
949         (KHTMLSettings::isJavaEnabled):
950         (KHTMLSettings::isPluginsEnabled):
951         (KHTMLSettings::encoding):
952         (KHTMLSettings::userStyleSheet):
953         (KHTMLSettings::shouldPrintBackgrounds):
954         (KHTMLSettings::textAreasAreResizable):
955         (KHTMLSettings::setStdFontName):
956         (KHTMLSettings::setFixedFontName):
957         (KHTMLSettings::setSerifFontName):
958         (KHTMLSettings::setSansSerifFontName):
959         (KHTMLSettings::setCursiveFontName):
960         (KHTMLSettings::setFantasyFontName):
961         (KHTMLSettings::setMinFontSize):
962         (KHTMLSettings::setMinLogicalFontSize):
963         (KHTMLSettings::setMediumFontSize):
964         (KHTMLSettings::setMediumFixedFontSize):
965         (KHTMLSettings::setAutoLoadImages):
966         (KHTMLSettings::setIsJavaScriptEnabled):
967         (KHTMLSettings::setIsJavaEnabled):
968         (KHTMLSettings::setArePluginsEnabled):
969         (KHTMLSettings::setJavaScriptCanOpenWindowsAutomatically):
970         (KHTMLSettings::setEncoding):
971         (KHTMLSettings::setUserStyleSheet):
972         (KHTMLSettings::setShouldPrintBackgrounds):
973         (KHTMLSettings::setTextAreasAreResizable):
974         * kwq/KWQLoader.mm:
975         (KWQServeSynchronousRequest):
976         * kwq/KWQTextStream.cpp:
977         (QTextStream::QTextStream):
978         (QTextStream::operator<<):
979         (QTextStream::precision):
980         * kwq/KWQTextStream.h:
981         * kwq/RenderTreeAsText.cpp:
982         (operator<<):
983         (quoteAndEscapeNonPrintables):
984         (writeTextRun):
985         (write):
986         (writeSelection):
987         * loader/Cache.cpp:
988         (WebCore::Cache::init):
989         (WebCore::Cache::requestImage):
990         (WebCore::Cache::requestStyleSheet):
991         (WebCore::Cache::preloadStyleSheet):
992         (WebCore::Cache::requestScript):
993         (WebCore::Cache::preloadScript):
994         (WebCore::Cache::requestXSLStyleSheet):
995         (WebCore::Cache::requestXBLDocument):
996         (WebCore::Cache::remove):
997         * loader/Cache.h:
998         * loader/CachedCSSStyleSheet.cpp:
999         (WebCore::CachedCSSStyleSheet::error):
1000         * loader/CachedCSSStyleSheet.h:
1001         * loader/CachedImage.cpp:
1002         (WebCore::CachedImage::error):
1003         * loader/CachedImage.h:
1004         * loader/CachedObject.h:
1005         * loader/CachedScript.cpp:
1006         (WebCore::CachedScript::checkNotify):
1007         (WebCore::CachedScript::error):
1008         * loader/CachedScript.h:
1009         * loader/CachedXBLDocument.cpp:
1010         (WebCore::CachedXBLDocument::error):
1011         * loader/CachedXBLDocument.h:
1012         * loader/CachedXSLStyleSheet.cpp:
1013         (WebCore::CachedXSLStyleSheet::error):
1014         * loader/CachedXSLStyleSheet.h:
1015         * loader/DocLoader.cpp:
1016         (WebCore::DocLoader::DocLoader):
1017         (WebCore::DocLoader::~DocLoader):
1018         (WebCore::DocLoader::needReload):
1019         (WebCore::DocLoader::requestImage):
1020         (WebCore::DocLoader::requestStyleSheet):
1021         (WebCore::DocLoader::requestScript):
1022         (WebCore::DocLoader::requestXSLStyleSheet):
1023         (WebCore::DocLoader::requestXBLDocument):
1024         (WebCore::DocLoader::setAutoloadImages):
1025         (WebCore::DocLoader::setShowAnimations):
1026         (WebCore::DocLoader::removeCachedObject):
1027         * loader/loader.cpp:
1028         (WebCore::Loader::receivedAllData):
1029         (WebCore::Loader::receivedResponse):
1030         * page/Frame.cpp:
1031         (WebCore::UserStyleSheetLoader::setStyleSheet):
1032         (WebCore::Frame::didOpenURL):
1033         (WebCore::Frame::setMetaRefreshEnabled):
1034         (WebCore::Frame::setAutoloadImages):
1035         (WebCore::Frame::autoloadImages):
1036         (WebCore::Frame::clear):
1037         (WebCore::Frame::receivedFirstData):
1038         (WebCore::Frame::begin):
1039         (WebCore::Frame::write):
1040         (WebCore::Frame::baseTarget):
1041         (WebCore::Frame::completeURL):
1042         (WebCore::Frame::scheduleRedirection):
1043         (WebCore::Frame::scheduleLocationChange):
1044         (WebCore::Frame::scheduleHistoryNavigation):
1045         (WebCore::Frame::changeLocation):
1046         (WebCore::Frame::redirectionTimerFired):
1047         (WebCore::Frame::encoding):
1048         (WebCore::Frame::gotoAnchor):
1049         (WebCore::Frame::setStandardFont):
1050         (WebCore::Frame::setFixedFont):
1051         (WebCore::Frame::selectedText):
1052         (WebCore::Frame::selection):
1053         (WebCore::Frame::dragCaret):
1054         (WebCore::Frame::setSelection):
1055         (WebCore::Frame::setDragCaret):
1056         (WebCore::Frame::paintCaret):
1057         (WebCore::Frame::paintDragCaret):
1058         (WebCore::Frame::urlSelected):
1059         (WebCore::Frame::requestFrame):
1060         (WebCore::Frame::requestObject):
1061         (WebCore::Frame::shouldUsePlugin):
1062         (WebCore::Frame::loadPlugin):
1063         (WebCore::Frame::loadSubframe):
1064         (WebCore::Frame::submitForm):
1065         (WebCore::Frame::lastModified):
1066         (WebCore::Frame::reparseConfiguration):
1067         (WebCore::Frame::shouldChangeSelection):
1068         (WebCore::Frame::appliedEditing):
1069         (WebCore::Frame::unappliedEditing):
1070         (WebCore::Frame::reappliedEditing):
1071         (WebCore::Frame::executeScript):
1072         (WebCore::updateState):
1073         (WebCore::Frame::isCharacterSmartReplaceExempt):
1074         (WebCore::Frame::openURL):
1075         (WebCore::Frame::didNotOpenURL):
1076         (WebCore::Frame::setEncoding):
1077         (WebCore::Frame::saveInterpreterBuiltins):
1078         (WebCore::Frame::restoreInterpreterBuiltins):
1079         (WebCore::Frame::mutableInstances):
1080         (WebCore::Frame::setPolicyBaseURL):
1081         (WebCore::Frame::addMetaData):
1082         (WebCore::Frame::scrollToAnchor):
1083         (WebCore::Frame::setMediaType):
1084         (WebCore::Frame::highlightAllMatchesForString):
1085         (WebCore::Frame::tree):
1086         * page/Frame.h:
1087         (WebCore::Frame::instances):
1088         * page/FramePrivate.h:
1089         * page/FrameView.cpp:
1090         (WebCore::FrameViewPrivate::FrameViewPrivate):
1091         (WebCore::FrameView::FrameView):
1092         (WebCore::FrameView::~FrameView):
1093         (WebCore::FrameView::init):
1094         (WebCore::FrameView::setMarginWidth):
1095         (WebCore::FrameView::setMarginHeight):
1096         (WebCore::FrameView::adjustViewSize):
1097         (WebCore::FrameView::layout):
1098         (WebCore::FrameView::dispatchDragEvent):
1099         (WebCore::FrameView::scrollTo):
1100         (WebCore::FrameView::setMediaType):
1101         (WebCore::FrameView::mediaType):
1102         (WebCore::FrameView::setResizingFrameSet):
1103         (WebCore::FrameView::setIgnoreWheelEvents):
1104         * page/FrameView.h:
1105         (WebCore::FrameView::frameWidth):
1106         (WebCore::FrameView::marginWidth):
1107         (WebCore::FrameView::marginHeight):
1108         (WebCore::FrameView::ref):
1109         (WebCore::FrameView::deref):
1110         * page/ResourceRequest.h:
1111         (WebCore::ResourceRequest::contentType):
1112         (WebCore::ResourceRequest::setContentType):
1113         * platform/FontFamily.h:
1114         * platform/Image.h:
1115         * platform/KURL.cpp:
1116         (KURL::KURL):
1117         (KURL::parse):
1118         (urlcmp):
1119         (KURL::encode_string):
1120         (encodeHostname):
1121         * platform/KURL.h:
1122         * platform/PlatformString.h:
1123         (WebCore::String::left):
1124         (WebCore::String::right):
1125         * platform/String.cpp:
1126         (WebCore::String::toInt):
1127         * platform/StringImpl.cpp:
1128         (WebCore::StringImpl::toInt):
1129         * platform/TransferJob.cpp:
1130         (WebCore::TransferJob::queryMetaData):
1131         (WebCore::TransferJob::addMetaData):
1132         * platform/TransferJob.h:
1133         * platform/mac/ImageMac.mm:
1134         (WebCore::Image::supportsType):
1135         * platform/mac/TransferJobMac.mm:
1136         (WebCore::TransferJob::start):
1137         * rendering/RenderObject.cpp:
1138         (WebCore::RenderObject::information):
1139         * rendering/RenderTextField.cpp:
1140         (WebCore::RenderTextField::updateFromElement):
1141         * xml/xmlhttprequest.cpp:
1142         (WebCore::getMIMEType):
1143         (WebCore::getCharset):
1144         (WebCore::XMLHttpRequest::getReadyState):
1145         (WebCore::XMLHttpRequest::getResponseText):
1146         (WebCore::XMLHttpRequest::getResponseXML):
1147         (WebCore::XMLHttpRequest::XMLHttpRequest):
1148         (WebCore::XMLHttpRequest::~XMLHttpRequest):
1149         (WebCore::XMLHttpRequest::changeState):
1150         (WebCore::XMLHttpRequest::callReadyStateChangeListener):
1151         (WebCore::XMLHttpRequest::urlMatchesDocumentDomain):
1152         (WebCore::XMLHttpRequest::open):
1153         (WebCore::XMLHttpRequest::send):
1154         (WebCore::XMLHttpRequest::abort):
1155         (WebCore::XMLHttpRequest::overrideMIMEType):
1156         (WebCore::XMLHttpRequest::setRequestHeader):
1157         (WebCore::XMLHttpRequest::getRequestHeader):
1158         (WebCore::XMLHttpRequest::getAllResponseHeaders):
1159         (WebCore::XMLHttpRequest::getResponseHeader):
1160         (WebCore::XMLHttpRequest::responseIsXML):
1161         (WebCore::XMLHttpRequest::getStatus):
1162         (WebCore::XMLHttpRequest::getStatusText):
1163         (WebCore::XMLHttpRequest::processSyncLoadResults):
1164         (WebCore::XMLHttpRequest::receivedAllData):
1165         (WebCore::XMLHttpRequest::receivedRedirect):
1166         (WebCore::XMLHttpRequest::receivedData):
1167         (WebCore::XMLHttpRequest::cancelRequests):
1168         (WebCore::XMLHttpRequest::detachRequests):
1169         * xml/xmlhttprequest.h:
1170
1171 2006-03-20  Alexey Proskuryakov  <ap@nypop.com>
1172
1173         Reviewed by Darin.
1174
1175         - http://bugzilla.opendarwin.org/show_bug.cgi?id=3439
1176          mouseover effects can get stuck sometimes due to missing events
1177         - http://bugzilla.opendarwin.org/show_bug.cgi?id=7701
1178          mouseout sent to the wrong element when layout changes simultaneously
1179         
1180         Implemented saving the previous node under the mouse, so that we don't need to 
1181         recalculate it, which is slow and even not really possible. This has fixed a number 
1182         of issues with mouse event dispatching when the content changes.
1183         The code still needs refactoring and cleanup, see bug 3439 for comments.
1184
1185         Tests (both files perform multiple checks):
1186         - fast/events/mouseover-mouseout.html
1187         - fast/events/mouseover-mouseout2.html
1188
1189         * page/Frame.h: Added a Frame parameter to passSubframeEventToSubframe(),
1190         used for mouseMoved events.
1191         * bridge/mac/FrameMac.h: Ditto.
1192         * bridge/mac/FrameMac.mm: 
1193         (WebCore::FrameMac::passSubframeEventToSubframe): Use the passed subframe to target 
1194         NSMouseMoved events.
1195         * page/FrameView.h: Added a prepareMouseEvent() helper that does viewportToContents translation.
1196         * page/FrameView.cpp: Added data members for storing the previous node and subframe 
1197         under the mouse to FrameViewPrivate. Removed the now unused prevMouseX/prevMouseY.
1198         (WebCore::FrameViewPrivate::reset): Reset the new data members.
1199         (WebCore::subframeForEvent): A temporary place for the code that extracts a subframe
1200         pointer from MouseEventWithHitTestResults, moved from FrameMac::passSubframeEventToSubframe().
1201         (WebCore::FrameView::prepareMouseEvent): The new helper.
1202         (WebCore::FrameView::handleMousePressEvent): Use the new helper.
1203         (WebCore::FrameView::handleMouseDoubleClickEvent): Ditto.
1204         (WebCore::FrameView::handleMouseReleaseEvent): Ditto.
1205         (WebCore::FrameView::updateDragAndDrop): Ditto.
1206         (WebCore::FrameView::hoverTimerFired): Ditto.
1207         (WebCore::FrameView::dispatchMouseEvent): Store and use the oldUnder node, don't store 
1208         or use prevMouseX/Y.
1209         (WebCore::FrameView::handleMouseMoveEvent): Rewrote dispatching events to subframes using 
1210         a stored oldSubframe reference. Protect "this" from being removed while in this function.
1211
1212 2006-03-20  Darin Adler  <darin@apple.com>
1213
1214         Reviewed by Anders.
1215
1216         - http://bugzilla.opendarwin.org/show_bug.cgi?id=7875
1217           autogenerate bindings for Range
1218
1219         * dom/Range.idl: Added.
1220         * khtml/ecma/kjs_range.cpp: Removed.
1221         * khtml/ecma/kjs_range.h: Removed.
1222
1223         * WebCore.vcproj/WebCore/build-generated-files.sh: Removed code to generate
1224         kjs_range.lut.h.
1225
1226         * WebCore.xcodeproj/project.pbxproj: Added Range.idl source file.
1227         Removed kjs_range.h and kjs_range.cpp source files. Sorted the "dom" group.
1228         Removed rule to generate kjs_range.lut.h.
1229
1230         * bindings/js/JSDOMCore.cpp: Added include of JSRange.cpp.
1231
1232         * bindings/scripts/CodeGeneratorJS.pm: Added DocumentFragment, Range, CompareHow,
1233         and short to the types this script can handle. Added code to generate toRange
1234         functions and the like. Added separate code to handle exceptions for getters
1235         vs. setters for attributes. Changed return values for the "bad ID" case to 0
1236         -- there's no need to generate the extra code to return jsUndefined() in such
1237         cases, which should be unreachable. Changed exception handling to use setDOMException
1238         directly instead of DOMExceptionTranslator; DOMExceptionTranslator was a trick
1239         to make it easier to convert existing bindings and shouldn't be used going
1240         forward. Fixed names of constructors to use the JavaScript class name (the
1241         interface name), not the name of the C++ implementation class. Fixed generation
1242         of code for functions that have no parameters but do raise exceptions.
1243
1244         * bindings/scripts/IDLParser.pm: Added parsing for separate getter and setter
1245         exceptions in attributes. The syntax is not real IDL, but real IDL doesn't support
1246         declaring exceptions on attributes at all. We'll probably want to revisit our
1247         syntax for this some day.
1248
1249         * bindings/scripts/IDLStructure.pm: Removed unused exceptionName field from
1250         domAttribute, and replaced raisesExceptions field with getterExceptions and
1251         setterExceptions. Added regular expressions for parsing getter/setter syntax.
1252         We'll probably have to redo this whole thing parse in a better way at some
1253         point -- the regular expressions allow any invalid syntax in between them.
1254
1255         * dom/Attr.idl: Change exception declaration for setting the value attribute
1256         to use setter-specific exception syntax.
1257         * dom/CharacterData.idl: Change exception declaration for setting the data
1258         attribute to use setter-specific exception syntax.
1259         * dom/ProcessingInstruction.idl: Change exception declaration for setting the
1260         data attribute to use setter-specific exception syntax.
1261
1262         * khtml/ecma/kjs_dom.cpp: Include JSRange.h instead of kjs_range.h.
1263         * khtml/ecma/kjs_window.cpp: Include JSRange.h instead of kjs_range.h.
1264         (KJS::Window::getValueProperty): Use JSRange::getConstructor instead of
1265         getRangeConstructor.
1266
1267 2006-03-20  Eric Seidel  <eseidel@apple.com>
1268
1269         Reviewed by hyatt.
1270
1271         Fix win32 compile.
1272
1273         * Viewer/ImageView.cpp:
1274         * platform/GraphicsContext.cpp:
1275         (WebCore::WebCore::GraphicsContext::createGraphicsContextPrivate):
1276         (WebCore::WebCore::GraphicsContext::destroyGraphicsContextPrivate):
1277         * platform/cairo/GraphicsContextCairo.cpp:
1278         (WebCore::fillRectSourceOver):
1279         (WebCore::GraphicsContext::drawLine):
1280         (WebCore::GraphicsContext::drawFocusRing):
1281         * platform/win/FontWin.cpp:
1282         (WebCore::Font::drawHighlightForText):
1283         (WebCore::Font::drawLineForText):
1284
1285 2006-03-19  Darin Adler  <darin@apple.com>
1286
1287         Rubber stamped by Eric.
1288
1289         - moved khtml/html files all into html directory
1290
1291         * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for new paths.
1292         * WebCore.vcproj/WebCore/build-generated-files.sh: Ditto.
1293         * WebCore.xcodeproj/project.pbxproj: Ditto.
1294
1295         * khtml/html: Removed.
1296
1297         * html/DocTypeStrings.gperf: Moved.
1298         * html/FormDataList.cpp: Ditto.
1299         * html/FormDataList.h: Ditto.
1300         * html/HTMLBaseFontElement.cpp: Ditto.
1301         * html/HTMLBaseFontElement.h: Ditto.
1302         * html/HTMLButtonElement.cpp: Ditto.
1303         * html/HTMLButtonElement.h: Ditto.
1304         * html/HTMLCanvasElement.cpp: Ditto.
1305         * html/HTMLCanvasElement.h: Ditto.
1306         * html/HTMLCollection.cpp: Ditto.
1307         * html/HTMLCollection.h: Ditto.
1308         * html/HTMLDocument.cpp: Ditto.
1309         * html/HTMLDocument.h: Ditto.
1310         * html/HTMLElement.cpp: Ditto.
1311         * html/HTMLElement.h: Ditto.
1312         * html/HTMLElementFactory.cpp: Ditto.
1313         * html/HTMLElementFactory.h: Ditto.
1314         * html/HTMLEntityNames.gperf: Ditto.
1315         * html/HTMLFieldSetElement.cpp: Ditto.
1316         * html/HTMLFieldSetElement.h: Ditto.
1317         * html/HTMLFormCollection.cpp: Ditto.
1318         * html/HTMLFormCollection.h: Ditto.
1319         * html/HTMLFormElement.cpp: Ditto.
1320         * html/HTMLFormElement.h: Ditto.
1321         * html/HTMLGenericFormElement.cpp: Ditto.
1322         * html/HTMLGenericFormElement.h: Ditto.
1323         * html/HTMLInputElement.cpp: Ditto.
1324         * html/HTMLInputElement.h: Ditto.
1325         * html/HTMLIsIndexElement.cpp: Ditto.
1326         * html/HTMLIsIndexElement.h: Ditto.
1327         * html/HTMLKeygenElement.cpp: Ditto.
1328         * html/HTMLKeygenElement.h: Ditto.
1329         * html/HTMLLabelElement.cpp: Ditto.
1330         * html/HTMLLabelElement.h: Ditto.
1331         * html/HTMLLegendElement.cpp: Ditto.
1332         * html/HTMLLegendElement.h: Ditto.
1333         * html/HTMLNameCollection.cpp: Ditto.
1334         * html/HTMLNameCollection.h: Ditto.
1335         * html/HTMLNames.cpp: Ditto.
1336         * html/HTMLNames.h: Ditto.
1337         * html/HTMLOptGroupElement.cpp: Ditto.
1338         * html/HTMLOptGroupElement.h: Ditto.
1339         * html/HTMLOptionElement.cpp: Ditto.
1340         * html/HTMLOptionElement.h: Ditto.
1341         * html/HTMLOptionsCollection.cpp: Ditto.
1342         * html/HTMLOptionsCollection.h: Ditto.
1343         * html/HTMLParser.cpp: Ditto.
1344         * html/HTMLParser.h: Ditto.
1345         * html/HTMLSelectElement.cpp: Ditto.
1346         * html/HTMLSelectElement.h: Ditto.
1347         * html/HTMLTextAreaElement.cpp: Ditto.
1348         * html/HTMLTextAreaElement.h: Ditto.
1349         * html/HTMLTextFieldInnerElement.cpp: Ditto.
1350         * html/HTMLTextFieldInnerElement.h: Ditto.
1351         * html/HTMLTokenizer.cpp: Ditto.
1352         * html/HTMLTokenizer.h: Ditto.
1353         * html/html_baseimpl.cpp: Ditto.
1354         * html/html_baseimpl.h: Ditto.
1355         * html/html_blockimpl.cpp: Ditto.
1356         * html/html_blockimpl.h: Ditto.
1357         * html/html_headimpl.cpp: Ditto.
1358         * html/html_headimpl.h: Ditto.
1359         * html/html_imageimpl.cpp: Ditto.
1360         * html/html_imageimpl.h: Ditto.
1361         * html/html_inlineimpl.cpp: Ditto.
1362         * html/html_inlineimpl.h: Ditto.
1363         * html/html_listimpl.cpp: Ditto.
1364         * html/html_listimpl.h: Ditto.
1365         * html/html_objectimpl.cpp: Ditto.
1366         * html/html_objectimpl.h: Ditto.
1367         * html/html_tableimpl.cpp: Ditto.
1368         * html/html_tableimpl.h: Ditto.
1369
1370         * bindings/objc/DOM.mm:
1371         * bridge/mac/WebCoreEncodings.mm:
1372         * bridge/mac/WebCoreFrameBridge.mm:
1373         * css/CSSGrammar.y:
1374         * css/cssstyleselector.cpp:
1375         * dom/Document.cpp:
1376         * dom/EventTargetNode.cpp:
1377         * dom/NameNodeList.cpp:
1378         * dom/Node.cpp:
1379         * dom/Position.cpp:
1380         * dom/dom_elementimpl.cpp:
1381         * dom/xml_tokenizer.cpp:
1382         * editing/ApplyStyleCommand.cpp:
1383         * editing/BreakBlockquoteCommand.cpp:
1384         * editing/CompositeEditCommand.cpp:
1385         * editing/DeleteSelectionCommand.cpp:
1386         * editing/InsertLineBreakCommand.cpp:
1387         * editing/InsertParagraphSeparatorCommand.cpp:
1388         * editing/JSEditor.cpp:
1389         * editing/ReplaceSelectionCommand.cpp:
1390         * editing/TextIterator.cpp:
1391         * editing/VisiblePosition.cpp:
1392         * editing/htmlediting.cpp:
1393         * editing/markup.cpp:
1394         * editing/visible_units.cpp:
1395         * html/CanvasRenderingContext2D.cpp:
1396         * kcanvas/KCanvasTreeDebug.cpp:
1397         * khtml/ecma/JSDOMParser.cpp:
1398         * khtml/ecma/kjs_css.cpp:
1399         * khtml/ecma/kjs_dom.cpp:
1400         * khtml/ecma/kjs_events.cpp:
1401         * khtml/misc/decoder.cpp:
1402         * khtml/xsl/XSLStyleSheet.cpp:
1403         * khtml/xsl/XSLTProcessor.cpp:
1404         * ksvg2/misc/SVGImageLoader.h:
1405         * ksvg2/svg/SVGElement.cpp:
1406         * ksvg2/svg/SVGSVGElement.cpp:
1407         * kwq/WebCoreAXObject.mm:
1408         * page/Frame.cpp:
1409         * page/FrameView.cpp:
1410         * rendering/RenderBlock.cpp:
1411         * rendering/RenderBox.cpp:
1412         * rendering/RenderFlow.cpp:
1413         * rendering/RenderHTMLCanvas.cpp:
1414         * rendering/RenderImage.cpp:
1415         * rendering/RenderLayer.cpp:
1416         * rendering/RenderObject.cpp:
1417         * rendering/RenderTable.cpp:
1418         * rendering/RenderTableCell.cpp:
1419         * rendering/RenderTableCol.cpp:
1420         * rendering/RenderTableRow.cpp:
1421         * rendering/RenderTableSection.cpp:
1422         * rendering/RenderTextField.cpp:
1423         * rendering/RenderTheme.cpp:
1424         * rendering/render_applet.cpp:
1425         * rendering/render_button.cpp:
1426         * rendering/render_frames.cpp:
1427         * rendering/render_list.cpp:
1428         Updated includes.
1429
1430 2006-03-17  Eric Seidel  <eseidel@apple.com>
1431
1432         Reviewed by darin.
1433
1434         Move Form code from MacFrame to Frame.
1435         Move GraphicsContext code from GraphicsContextMac to GraphicsContext.
1436         Use IntRect, FloatRect in more places throughout the code.
1437         http://bugzilla.opendarwin.org/show_bug.cgi?id=7824
1438
1439         * bridge/mac/MacFrame.h:
1440         * bridge/mac/MacFrame.mm:
1441         (WebCore::MacFrame::MacFrame):
1442         (WebCore::MacFrame::searchForLabelsAboveCell):
1443         (WebCore::MacFrame::searchForLabelsBeforeElement):
1444         (WebCore::dictionaryFromHashMap):
1445         (WebCore::MacFrame::submitForm):
1446         (WebCore::MacFrame::setView):
1447         (WebCore::MacFrame::currentEventIsMouseDownInWidget):
1448         (WebCore::MacFrame::currentEventIsKeyboardOptionTab):
1449         (WebCore::MacFrame::handleKeyboardOptionTabInView):
1450         (WebCore::MacFrame::tabsToAllControls):
1451         (WebCore::MacFrame::shouldDragAutoNode):
1452         (WebCore::MacFrame::selectionImage):
1453         (WebCore::MacFrame::snapshotDragImage):
1454         * bridge/mac/WebCoreFrameBridge.mm:
1455         (-[WebCoreFrameBridge nextKeyView]):
1456         (-[WebCoreFrameBridge previousKeyView]):
1457         (-[WebCoreFrameBridge nextKeyViewInsideWebFrameViews]):
1458         (-[WebCoreFrameBridge previousKeyViewInsideWebFrameViews]):
1459         * kcanvas/RenderSVGImage.cpp:
1460         (WebCore::RenderSVGImage::paint):
1461         * page/Frame.cpp:
1462         (WebCore::Frame::Frame):
1463         (WebCore::Frame::clearRecordedFormValues):
1464         (WebCore::Frame::recordFormValue):
1465         (WebCore::Frame::didNotOpenURL):
1466         (WebCore::scanForForm):
1467         (WebCore::Frame::paint):
1468         (WebCore::Frame::prepareForUserAction):
1469         * page/Frame.h:
1470         * platform/GraphicsContext.cpp:
1471         (WebCore::GraphicsContextState::GraphicsContextState):
1472         (WebCore::GraphicsContextPrivate::GraphicsContextPrivate):
1473         (WebCore::GraphicsContextPrivate::~GraphicsContextPrivate):
1474         (WebCore::GraphicsContext::save):
1475         (WebCore::GraphicsContext::restore):
1476         (WebCore::GraphicsContext::font):
1477         (WebCore::GraphicsContext::setFont):
1478         (WebCore::GraphicsContext::pen):
1479         (WebCore::GraphicsContext::setPen):
1480         (WebCore::GraphicsContext::setBrush):
1481         (WebCore::GraphicsContext::brush):
1482         (WebCore::GraphicsContext::setUsesInactiveTextBackgroundColor):
1483         (WebCore::GraphicsContext::usesInactiveTextBackgroundColor):
1484         (WebCore::GraphicsContext::updatingControlTints):
1485         (WebCore::GraphicsContext::setUpdatingControlTints):
1486         (WebCore::GraphicsContext::setPaintingDisabled):
1487         (WebCore::GraphicsContext::paintingDisabled):
1488         (WebCore::GraphicsContext::printing):
1489         (WebCore::GraphicsContext::drawImageAtPoint):
1490         (WebCore::GraphicsContext::drawImageInRect):
1491         (WebCore::GraphicsContext::drawImage):
1492         (WebCore::GraphicsContext::initFocusRing):
1493         (WebCore::GraphicsContext::clearFocusRing):
1494         (WebCore::GraphicsContext::addFocusRingRect):
1495         (WebCore::GraphicsContext::focusRingWidth):
1496         (WebCore::GraphicsContext::focusRingOffset):
1497         (WebCore::GraphicsContext::focusRingRects):
1498         * platform/GraphicsContext.h:
1499         * platform/mac/GraphicsContextMac.mm:
1500         (WebCore::fillRectSourceOver):
1501         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
1502         (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
1503         (WebCore::GraphicsContext::GraphicsContext):
1504         (WebCore::GraphicsContext::~GraphicsContext):
1505         (WebCore::GraphicsContext::savePlatformState):
1506         (WebCore::GraphicsContext::restorePlatformState):
1507         (WebCore::GraphicsContext::drawRect):
1508         (WebCore::GraphicsContext::setColorFromBrush):
1509         (WebCore::GraphicsContext::setColorFromPen):
1510         (WebCore::GraphicsContext::drawLine):
1511         (WebCore::GraphicsContext::drawEllipse):
1512         (WebCore::GraphicsContext::drawArc):
1513         (WebCore::GraphicsContext::drawConvexPolygon):
1514         (WebCore::GraphicsContext::drawFloatImage):
1515         (WebCore::GraphicsContext::drawTiledImage):
1516         (WebCore::GraphicsContext::drawScaledAndTiledImage):
1517         (WebCore::GraphicsContext::selectedTextBackgroundColor):
1518         (WebCore::GraphicsContext::fillRect):
1519         (WebCore::GraphicsContext::addClip):
1520         (WebCore::GraphicsContext::addRoundedRectClip):
1521         (WebCore::GraphicsContext::beginTransparencyLayer):
1522         (WebCore::GraphicsContext::endTransparencyLayer):
1523         (WebCore::GraphicsContext::setShadow):
1524         (WebCore::GraphicsContext::clearShadow):
1525         (WebCore::GraphicsContext::drawFocusRing):
1526         * rendering/render_box.cpp:
1527         (WebCore::RenderBox::paintBackgroundExtended):
1528         (WebCore::RenderBox::outlineBox):
1529         * rendering/render_frames.cpp:
1530         (WebCore::RenderFrameSet::userResize):
1531         * rendering/render_image.cpp:
1532         (WebCore::RenderImage::paint):
1533         * rendering/render_list.cpp:
1534         (WebCore::RenderListMarker::paint):
1535         * rendering/render_object.cpp:
1536         (WebCore::RenderObject::drawBorder):
1537         (WebCore::RenderObject::paintBorderImage):
1538
1539 2006-03-19  Darin Adler  <darin@apple.com>
1540
1541         Reviewed by Eric.
1542
1543         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7854
1544           CanvasGradient leaks
1545
1546         * html/CanvasGradient.cpp: (WebCore::CanvasGradient::platformShading):
1547         Don't make the CG shading object keep a reference to the DOM gradient object.
1548         I got confused because in the case of a CanvasPattern, the pattern does need
1549         to keep a reference to the DOM pattern object, but the object lifetime is
1550         handled differently here. The CG shading object is used right away, not set
1551         in a graphics context.
1552
1553 2006-03-19  Darin Adler  <darin@apple.com>
1554
1555         Reviewed by Eric.
1556
1557         - attempt to fix the buildbot by handling DOMImplementation another way
1558
1559         * WebCore.xcodeproj/project.pbxproj: Added DOMImplementationFront.h/cpp.
1560
1561         * bindings/objc/DOMImplementationFront.cpp: Added.
1562         * bindings/objc/DOMImplementationFront.h: Added.
1563
1564         * bindings/objc/DOMInternal.h: Use DOMImplementationFront, not DOMImplementation.
1565         * bindings/objc/DOM.mm:
1566         (-[DOMImplementation dealloc]): Ditto.
1567         (-[DOMImplementation finalize]): Ditto.
1568         (-[DOMImplementation _initWithDOMImplementation:]): Ditto.
1569         (+[DOMImplementation _DOMImplementationWith:]): Ditto.
1570         (-[DOMImplementation _DOMImplementation]): Ditto.
1571         (-[DOMDocument implementation]): Call implementationFront from the
1572         DOMImplementationFront header instead of using the real implementation
1573         function on the Document.
1574
1575 2006-03-19  Darin Adler  <darin@apple.com>
1576
1577         - global rename, done by script
1578
1579         * <lots of files>: Renamed XXXImpl to XXX, and a number of other renames.
1580         See WebKitTools/Scripts/do-webcore-rename version 13392 for details.
1581
1582 2006-03-19  Darin Adler  <darin@apple.com>
1583
1584         - roll out fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6314
1585           Unclosed <style> element in <head> makes page completely blank
1586
1587         This fix was breaking major sites -- details in the bug report.
1588
1589         * khtml/html/htmltokenizer.cpp: (WebCore::HTMLTokenizer::parseTag):
1590         Removed the bug fix, added a FIXME about the <title> code that has
1591         the same problem.
1592
1593 2006-03-18  David Carson  <dacarson@gmail.com>
1594
1595         Test: fast/canvas/patternfill-repeat.html
1596
1597         Reviewed by Darin.
1598
1599         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7830
1600           <canvas> createPattern 'repeat' options fail
1601
1602         * CanvasPattern.cpp (CanvasPattern::createPattern)
1603         Change stepping so that repeat-x, repeat-y, and no-repeat repeat 
1604         outside the view area by using large values for repeat interval.
1605
1606 2006-03-18  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1607
1608         Test: fast/dom/Element/class-attribute-whitespace.html
1609
1610         Reviewed by Darin.
1611
1612         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7761
1613           Tabs in class attribute not treated as whitespace
1614
1615         * dom/dom_elementimpl.cpp:
1616         (WebCore::isClassWhitespace): Helper function to check if a character
1617         in the class attribute should be treated as whitespace. Added \r and \t.
1618         (WebCore::NamedMappedAttrMapImpl::parseClassAttribute): Instead of creating
1619         a QStringList and iterating it, do everything in one pass over the string.
1620
1621 2006-03-18  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1622
1623         Test: fast/block/float/vertical-move-relayout.html
1624
1625         Reviewed by Hyatt.
1626
1627         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6795
1628           Slow image load causes render problem
1629
1630         * rendering/RenderBlock.cpp:
1631         (WebCore::RenderBlock::layoutBlockChildren): Call markAllDescendantsWithFloatsForLayout
1632         when the child's vertical position changes.
1633
1634 2006-03-18  David Kilzer  <ddkilzer@kilzer.net>
1635
1636         Reviewed by Darin.
1637
1638         - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6314
1639         Unclosed <style> element in <head> makes page completely blank
1640
1641         Test: fast/js/exception-linenums-in-html-3.html
1642         Test: fast/js/missing-style-end-tag-js.html
1643         Test: fast/tokenizer/missing-style-end-tag-1.html
1644         Test: fast/tokenizer/missing-style-end-tag-2.html
1645
1646         * khtml/html/htmlparser.cpp:
1647         (WebCore::HTMLParser::handleError): Add check for missing </style> tag and handle
1648         this condition if identified.
1649         * khtml/html/htmltokenizer.cpp:
1650         (WebCore::HTMLTokenizer::parseTag): If parseSpecial() consumes the rest of the
1651         document looking for a </style> tag, reset the state of the tokenizer and
1652         retokenize with no special handling for <style>.  The parser will handle the
1653         missing </style> tag in HTMLParser::handleError().
1654
1655 2006-03-18  Rob Buis  <buis@kde.org>
1656
1657         Reviewed by Darin.
1658
1659         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=5351:
1660         SVG: Safari ignores <title> elements
1661
1662         Make SVGTitleElementImpl act the same as HTMLTitleElementImpl,
1663         in the process setting the title on the right triggers.
1664
1665         * ksvg2/svg/SVGTitleElementImpl.cpp:
1666         (SVGTitleElementImpl::SVGTitleElementImpl):
1667         (SVGTitleElementImpl::title):
1668         (SVGTitleElementImpl::closeRenderer):
1669         (SVGTitleElementImpl::insertedIntoDocument):
1670         (SVGTitleElementImpl::removedFromDocument):
1671         (SVGTitleElementImpl::childrenChanged):
1672         * ksvg2/svg/SVGTitleElementImpl.h:
1673
1674 2006-03-18  Darin Adler  <darin@apple.com>
1675
1676         - another try at fixing Windows build
1677
1678         * WebCore.vcproj/WebCore/WebCore.vcproj: Added EventTargetNodeImpl.h and .cpp.
1679
1680 2006-03-18  Darin Adler  <darin@apple.com>
1681
1682         - another try at fixing Windows build
1683
1684         * bridge/win/FrameWin.cpp: (WebCore::FrameWin::keyPress): Added EventTargetNodeCast.
1685
1686 2006-03-18  Darin Adler  <darin@apple.com>
1687
1688         - try to fix Windows build
1689
1690         * bridge/win/FrameWin.h: Remove KURL parameter.
1691         * bridge/win/FrameWin.cpp: (WebCore::FrameWin::urlSelected): Ditto.
1692         * platform/win/TemporaryLinkStubs.cpp: (BrowserExtensionWin::canRunModal): Ditto.
1693
1694 2006-03-18  Mitz Pettel  <opendarwin.org@mitzpettel.com>
1695
1696         Reviewed by Darin.
1697
1698         - fix leaks caused by the fix for Bugzilla bug 3560
1699
1700         * rendering/RenderContainer.cpp:
1701         (WebCore::RenderContainer::destroyLeftoverChildren): Text renderers with
1702         first-letter pseudo style are children of an existing first-letter inline
1703         that has been updated, and should be destroyed.
1704
1705 2006-03-18  David Hyatt  <hyatt@apple.com>
1706
1707         Fix for bug 7841, tables, table rows, and table row groups should
1708         all support overflow:hidden.
1709
1710         Reviewed by eric
1711
1712         * css/cssstyleselector.cpp:
1713         (WebCore::CSSStyleSelector::adjustRenderStyle):
1714         * rendering/RenderTable.cpp:
1715         (WebCore::RenderTable::layout):
1716         (WebCore::RenderTable::paint):
1717         (WebCore::RenderTable::getOverflowClipRect):
1718         * rendering/RenderTable.h:
1719         * rendering/RenderTableCol.h:
1720         (WebCore::RenderTableCol::requiresLayer):
1721         * rendering/RenderTableRow.h:
1722         (WebCore::RenderTableRow::requiresLayer):
1723         * rendering/render_box.cpp:
1724         (WebCore::RenderBox::setStyle):
1725         * rendering/render_layer.cpp:
1726         (WebCore::RenderLayer::paintLayer):
1727
1728 2006-03-17  Alice Liu  <alice.liu@apple.com>
1729
1730         Reviewed by Hyatt.
1731
1732         - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=6999
1733           "Dynamically added link-tag disables the use of change styles 
1734            dynamically"
1735
1736         * khtml/html/html_headimpl.cpp:
1737         (WebCore::HTMLLinkElementImpl::process):
1738         - dynamically added link-tags for stylesheets were messing up the
1739           counting of pending stylesheets.  If a head link element 
1740           specifies a new stylesheet but the previously specified 
1741           stylesheet is still loading, tell the document that stylesheets 
1742           are loaded so that there are no remaining requests for it to be 
1743           loaded.
1744
1745 2006-03-17  Geoffrey Garen  <ggaren@apple.com>
1746
1747         Reviewed by Darin.
1748
1749         - Fixed some crashes in event dispatch and settled the question of 
1750         when getDocument() can return NULL, removing superfluous NULL checks.
1751
1752         I promise to check in a test case soon, but I need to land this before
1753         the global rename happens, and I left the test file on my other machine.
1754
1755         Here's what I did:
1756
1757         (1) Removed NULL checks for getDocument() in cases where we know it
1758         should not return NULL (which turned out to be all but one). Replaced 
1759         with ASSERT inside getDocument(). Tested to ensure there was no 
1760         regression @ albertsons.com.
1761
1762         (2) Added the EventTargetNode class, which represents Nodes that
1763         implement the DOM EventTarget interface. Discussed this design with
1764         Maciej and Hyatt. The previous dsign -- assuming that all Nodes were 
1765         EventTargets -- made it possible to crash WebKit by, for example, 
1766         dispatching a mouse event to a documentType node that was not 
1767         associated with a document.
1768
1769         (3) Reflected (2) into the JS bindings and touched JSDOMCore.cpp to 
1770         force a re-build.
1771
1772         (4) Using classInfo checking, strengthened type constraints on 
1773         JavaScript method dispatch so that you can't finagle JavaScript into, 
1774         for example, invoking a document-dependent method belonging to a
1775         node type that's guaranteed to have a document on a node type that may
1776         not have one. 
1777
1778         (5) Pushed some IE-specific JS bindings that depend on a node having a 
1779         document down from DOMNode to DOMElement. (An element always has a 
1780         document.) Tested that Firefox's behavior matched. Confirmed with MSDN.
1781
1782         (6) Updated Objc bindigns to throw an exception if you try to use
1783         the event interface on a node that doesn't support it. Discussed this
1784         design with Maciej and TimH.
1785
1786         (7) Consolidated repeated documentElement-finding code in the Position 
1787         class into the Position::documentElement() method. Did the same for
1788         repeated top-level document finding and DocumentImpl::topDocument().
1789         
1790         * WebCore+SVG/KDOMHeaders.h:
1791         * WebCore.xcodeproj/project.pbxproj:
1792         * bindings/js/JSDOMCore.cpp:
1793         * bindings/objc/DOM.mm:
1794         (-[DOMNode addEventListener:::]):
1795         (-[DOMNode removeEventListener:::]):
1796         (-[DOMNode dispatchEvent:]):
1797         (-[DOMNode KJS::Bindings::]):
1798         * bridge/mac/MacFrame.mm:
1799         (WebCore::MacFrame::keyEvent):
1800         (WebCore::MacFrame::dispatchCPPEvent):
1801         * bridge/mac/WebCoreFrameBridge.mm:
1802         (-[WebCoreFrameBridge setSelectedDOMRange:affinity:closeTyping:]):
1803         (-[WebCoreFrameBridge smartDeleteRangeForProposedRange:]):
1804         * css/css_base.cpp:
1805         (WebCore::StyleBaseImpl::baseURL):
1806         * css/css_computedstyle.cpp:
1807         (WebCore::CSSComputedStyleDeclarationImpl::getPropertyCSSValue):
1808         * css/css_valueimpl.cpp:
1809         (WebCore::CSSMutableStyleDeclarationImpl::removeProperty):
1810         (WebCore::CSSMutableStyleDeclarationImpl::setProperty):
1811         * css/cssstyleselector.cpp:
1812         (WebCore::CSSStyleSelector::applyProperty):
1813         * dom/Attr.idl:
1814         * dom/CharacterData.idl:
1815         * dom/CharacterDataImpl.cpp:
1816         (WebCore::CharacterDataImpl::CharacterDataImpl):
1817         (WebCore::CharacterDataImpl::rendererIsNeeded):
1818         (WebCore::CharacterDataImpl::dump):
1819         * dom/CharacterDataImpl.h:
1820         * dom/ContainerNodeImpl.cpp:
1821         (WebCore::ContainerNodeImpl::ContainerNodeImpl):
1822         (WebCore::ContainerNodeImpl::removeChild):
1823         (WebCore::ContainerNodeImpl::attach):
1824         (WebCore::ContainerNodeImpl::detach):
1825         (WebCore::ContainerNodeImpl::insertedIntoDocument):
1826         (WebCore::ContainerNodeImpl::removedFromDocument):
1827         (WebCore::ContainerNodeImpl::insertedIntoTree):
1828         (WebCore::ContainerNodeImpl::removedFromTree):
1829         (WebCore::ContainerNodeImpl::setFocus):
1830         (WebCore::ContainerNodeImpl::setActive):
1831         (WebCore::ContainerNodeImpl::setHovered):
1832         (WebCore::dispatchChildInsertionEvents):
1833         (WebCore::dispatchChildRemovalEvents):
1834         * dom/ContainerNodeImpl.h:
1835         * dom/DOMImplementationImpl.cpp:
1836         (WebCore::DOMImplementationImpl::createDocument):
1837         * dom/DocumentImpl.cpp:
1838         (WebCore::DocumentImpl::removeAllEventListenersFromAllNodes):
1839         (WebCore::DocumentImpl::removeAllDisconnectedNodeEventListeners):
1840         (WebCore::DocumentImpl::getAccObjectCache):
1841         (WebCore::DocumentImpl::setFocusNode):
1842         (WebCore::DocumentImpl::topDocument):
1843         * dom/Element.idl:
1844         * dom/EventTargetNodeImpl.cpp: Added.
1845         (WebCore::EventTargetNodeImpl::EventTargetNodeImpl):
1846         (WebCore::EventTargetNodeImpl::~EventTargetNodeImpl):
1847         (WebCore::EventTargetNodeImpl::insertedIntoDocument):
1848         (WebCore::EventTargetNodeImpl::removedFromDocument):
1849         (WebCore::EventTargetNodeImpl::addEventListener):
1850         (WebCore::EventTargetNodeImpl::removeEventListener):
1851         (WebCore::EventTargetNodeImpl::removeAllEventListeners):
1852         (WebCore::EventTargetNodeImpl::handleLocalEvents):
1853         (WebCore::EventTargetNodeImpl::dispatchGenericEvent):
1854         (WebCore::EventTargetNodeImpl::dispatchEvent):
1855         (WebCore::EventTargetNodeImpl::dispatchSubtreeModifiedEvent):
1856         (WebCore::EventTargetNodeImpl::dispatchWindowEvent):
1857         (WebCore::EventTargetNodeImpl::dispatchUIEvent):
1858         (WebCore::EventTargetNodeImpl::dispatchKeyEvent):
1859         (WebCore::EventTargetNodeImpl::dispatchMouseEvent):
1860         (WebCore::EventTargetNodeImpl::dispatchSimulatedMouseEvent):
1861         (WebCore::EventTargetNodeImpl::dispatchWheelEvent):
1862         (WebCore::EventTargetNodeImpl::dispatchHTMLEvent):
1863         (WebCore::EventTargetNodeImpl::removeHTMLEventListener):
1864         (WebCore::EventTargetNodeImpl::setHTMLEventListener):
1865         (WebCore::EventTargetNodeImpl::getHTMLEventListener):
1866         (WebCore::EventTargetNodeImpl::disabled):
1867         (WebCore::EventTargetNodeImpl::defaultEventHandler):
1868         (WebCore::EventTargetNodeImpl::dump):
1869         * dom/EventTargetNodeImpl.h: Added.
1870         (WebCore::EventTargetNodeImpl::isEventTargetNode):
1871         (WebCore::EventTargetNodeImpl::preDispatchEventHandler):
1872         (WebCore::EventTargetNodeImpl::postDispatchEventHandler):
1873         (WebCore::EventTarget):
1874         (WebCore::forbidEventDispatch):
1875         (WebCore::allowEventDispatch):
1876         (WebCore::eventDispatchForbidden):
1877         * dom/NodeImpl.cpp:
1878         (WebCore::NodeImpl::NodeImpl):
1879         (WebCore::NodeImpl::~NodeImpl):
1880         (WebCore::NodeImpl::dump):
1881         (WebCore::NodeImpl::detach):
1882         (WebCore::NodeImpl::insertedIntoDocument):
1883         (WebCore::NodeImpl::removedFromDocument):
1884         * dom/NodeImpl.h:
1885         (WebCore::NodeImpl::isEventTargetNode):
1886         (WebCore::NodeImpl::isLink):
1887         (WebCore::NodeImpl::getDocument):
1888         (WebCore::NodeImpl::inDocument):
1889         * dom/dom2_eventsimpl.cpp:
1890         (WebCore::MouseRelatedEventImpl::receivedTarget):
1891         * dom/dom2_rangeimpl.cpp:
1892         (WebCore::RangeImpl::commonAncestorContainer):
1893         * dom/dom_elementimpl.cpp:
1894         (WebCore::inHTMLDocument):
1895         (WebCore::ElementImpl::focus):
1896         (WebCore::ElementImpl::blur):
1897         (WebCore::StyledElementImpl::parseMappedAttribute):
1898         * dom/dom_position.cpp:
1899         (WebCore::Position::documentElement):
1900         * dom/dom_position.h:
1901         * editing/ReplaceSelectionCommand.cpp:
1902         (WebCore::computeAndStoreNodeDesiredStyle):
1903         * editing/SelectionController.cpp:
1904         (WebCore::SelectionController::needsCaretRepaint):
1905         * editing/visible_units.cpp:
1906         (WebCore::previousBoundary):
1907         (WebCore::nextBoundary):
1908         (WebCore::previousLinePosition):
1909         (WebCore::nextLinePosition):
1910         (WebCore::startOfDocument):
1911         (WebCore::endOfDocument):
1912         * khtml/ecma/kjs_dom.cpp:
1913         (KJS::DOMNode::mark):
1914         (KJS::DOMNode::getValueProperty):
1915         (KJS::DOMNode::putValueProperty):
1916         (KJS::DOMNodeProtoFunc::callAsFunction):
1917         (KJS::DOMEventTargetNode::DOMEventTargetNode):
1918         (KJS::DOMEventTargetNode::getOwnPropertySlot):
1919         (KJS::DOMEventTargetNode::getValueProperty):
1920         (KJS::DOMEventTargetNode::put):
1921         (KJS::DOMEventTargetNode::putValueProperty):
1922         (KJS::DOMEventTargetNode::setListener):
1923         (KJS::DOMEventTargetNode::getListener):
1924         (KJS::DOMEventTargetNode::pushEventHandlerScope):
1925         (KJS::DOMEventTargetNodeProtoFunc::callAsFunction):
1926         (KJS::):
1927         (KJS::DOMDocument::DOMDocument):
1928         (KJS::DOMDocument::getOwnPropertySlot):
1929         (KJS::DOMDocument::put):
1930         (KJS::DOMDocument::putValueProperty):
1931         (KJS::DOMDocumentProtoFunc::callAsFunction):
1932         (KJS::DOMElement::DOMElement):
1933         (KJS::DOMElement::getValueProperty):
1934         (KJS::DOMElement::put):
1935         (KJS::DOMElement::putValueProperty):
1936         (KJS::DOMElement::getOwnPropertySlot):
1937         (KJS::DOMElementProtoFunc::callAsFunction):
1938         (KJS::checkNodeSecurity):
1939         * khtml/ecma/kjs_dom.h:
1940         (KJS::DOMNode::):
1941         (KJS::DOMEventTargetNode::):
1942         (KJS::DOMElement::):
1943         * khtml/ecma/kjs_events.cpp:
1944         (KJS::JSLazyEventListener::parseCode):
1945         (KJS::getNodeEventListener):
1946         * khtml/ecma/kjs_html.cpp:
1947         (KJS::HTMLElement::bodyGetter):
1948         (KJS::HTMLElement::anchorGetter):
1949         (KJS::HTMLElement::getValueProperty):
1950         (KJS::HTMLElement::bodySetter):
1951         * khtml/ecma/kjs_views.cpp:
1952         (KJS::DOMAbstractViewProtoFunc::callAsFunction):
1953         * khtml/html/HTMLFormElementImpl.cpp:
1954         (WebCore::HTMLFormElementImpl::registerFormElement):
1955         (WebCore::HTMLFormElementImpl::removeFormElement):
1956         * khtml/html/HTMLGenericFormElementImpl.cpp:
1957         (WebCore::HTMLGenericFormElementImpl::insertedIntoTree):
1958         * khtml/html/HTMLInputElementImpl.cpp:
1959         (WebCore::HTMLInputElementImpl::~HTMLInputElementImpl):
1960         (WebCore::HTMLInputElementImpl::focus):
1961         * khtml/html/HTMLOptionElementImpl.cpp:
1962         (WebCore::HTMLOptionElementImpl::text):
1963         * khtml/html/HTMLSelectElementImpl.cpp:
1964         (WebCore::HTMLSelectElementImpl::~HTMLSelectElementImpl):
1965         * khtml/html/HTMLTextAreaElementImpl.cpp:
1966         (WebCore::HTMLTextAreaElementImpl::~HTMLTextAreaElementImpl):
1967         * khtml/html/html_baseimpl.cpp:
1968         (WebCore::HTMLBodyElementImpl::insertedIntoDocument):
1969         (WebCore::HTMLFrameElementImpl::isURLAllowed):
1970         (WebCore::HTMLFrameElementImpl::openURL):
1971         (WebCore::HTMLFrameElementImpl::frameWidth):
1972         (WebCore::HTMLFrameElementImpl::frameHeight):
1973         * khtml/html/html_imageimpl.cpp:
1974         (WebCore::HTMLImageLoader::~HTMLImageLoader):
1975         (WebCore::HTMLImageLoader::updateFromElement):
1976         (WebCore::HTMLImageLoader::notifyFinished):
1977         (WebCore::HTMLImageElementImpl::width):
1978         (WebCore::HTMLImageElementImpl::height):
1979         (WebCore::HTMLMapElementImpl::~HTMLMapElementImpl):
1980         * khtml/html/html_inlineimpl.cpp:
1981         (WebCore::HTMLAnchorElementImpl::defaultEventHandler):
1982         * khtml/html/htmltokenizer.cpp:
1983         (WebCore::HTMLTokenizer::notifyFinished):
1984         * ksvg2/svg/SVGAnimateColorElementImpl.cpp:
1985         (SVGAnimateColorElementImpl::handleTimerEvent):
1986         * ksvg2/svg/SVGAnimateElementImpl.cpp:
1987         (SVGAnimateElementImpl::handleTimerEvent):
1988         * ksvg2/svg/SVGAnimateTransformElementImpl.cpp:
1989         (SVGAnimateTransformElementImpl::handleTimerEvent):
1990         * ksvg2/svg/SVGAnimationElementImpl.cpp:
1991         (SVGAnimationElementImpl::closeRenderer):
1992         * ksvg2/svg/SVGDOMImplementationImpl.cpp:
1993         * ksvg2/svg/SVGDocumentImpl.cpp:
1994         (WebCore::SVGDocumentImpl::dispatchRecursiveEvent):
1995         * ksvg2/svg/SVGDocumentImpl.h:
1996         * ksvg2/svg/SVGImageElementImpl.cpp:
1997         * ksvg2/svg/SVGSetElementImpl.cpp:
1998         (SVGSetElementImpl::handleTimerEvent):
1999         * kwq/KWQAccObject.mm:
2000         (-[KWQAccObject mouseButtonListener]):
2001         (-[KWQAccObject accessibilityPerformAction:]):
2002         * kwq/KWQTextArea.mm:
2003         (-[KWQTextAreaTextView dispatchHTMLEvent:]):
2004         * page/Frame.cpp:
2005         (WebCore::dispatchKHTMLEditableContentChanged):
2006         * page/FrameView.cpp:
2007         (WebCore::FrameView::dispatchDragEvent):
2008         (WebCore::FrameView::dispatchMouseEvent):
2009         (WebCore::FrameView::viewportWheelEvent):
2010         * rendering/render_layer.cpp:
2011         (WebCore::RenderLayer::scrollToOffset):
2012         * rendering/render_object.cpp:
2013         (WebCore::RenderObject::shouldSelect):
2014         (WebCore::RenderObject::backslashAsCurrencySymbol):
2015         * rendering/render_replaced.cpp:
2016         (WebCore::RenderWidget::sendConsumedMouseUp):
2017
2018 2006-03-17  David Hyatt  <hyatt@apple.com>
2019
2020         Fix for 7837, make opacity work with table rows.  Make transparent backgrounds
2021         stack properly in cells (so that the layers behind can show through like they
2022         should).
2023
2024         Reviewed by beth
2025
2026         * rendering/RenderTableCell.cpp:
2027         (WebCore::RenderTableCell::requiresLayer):
2028         (WebCore::RenderTableCell::paintBackgroundsBehindCell):
2029         (WebCore::RenderTableCell::paintBoxDecorations):
2030         * rendering/RenderTableCell.h:
2031         * rendering/RenderTableRow.cpp:
2032         (WebCore::RenderTableRow::paint):
2033         * rendering/RenderTableRow.h:
2034         (WebCore::RenderTableRow::requiresLayer):
2035         * rendering/RenderTableSection.cpp:
2036         (WebCore::RenderTableSection::paint):
2037         * rendering/render_layer.cpp:
2038         (WebCore::RenderLayer::updateLayerPosition):
2039         (WebCore::RenderLayer::isTransparent):
2040         (WebCore::RenderLayer::transparentAncestor):
2041         (WebCore::RenderLayer::beginTransparencyLayers):
2042         (WebCore::RenderLayer::paintLayer):
2043         (WebCore::RenderLayer::absoluteBoundingBox):
2044         * rendering/render_object.cpp:
2045         (WebCore::RenderObject::requiresLayer):
2046         * rendering/render_object.h:
2047         (WebCore::RenderObject::isTransparent):
2048         (WebCore::RenderObject::opacity):
2049
2050 2006-03-17  Maciej Stachowiak  <mjs@apple.com>
2051
2052         Reviewed by Adele.
2053
2054         - clean up ResourceRequest to be closer to a proper request interface
2055
2056         * page/ResourceRequest.h: folded URL into ResourceRequest, other cleanup
2057         (WebCore::ResourceRequest::ResourceRequest): Add new explicit constructor
2058         that takes a KURL.
2059         (WebCore::ResourceRequest::url): getter for KURL
2060         (WebCore::ResourceRequest::setURL): corresponding setter
2061         (WebCore::ResourceRequest::referrer): new getter for referrer, instead
2062         of storing it in m_metaData (it was the only remaining real use of it)
2063         (WebCore::ResourceRequest::setReferrer): corresponding setter
2064         * bridge/BrowserExtension.h: 
2065         - removed unused openURLRequest and openURLNotify methods
2066         - folded KURL parameter into ResourceRequest
2067         * bridge/mac/BrowserExtensionMac.h: remove KURL args from methods that
2068         also take a ResourceRequest
2069         * bridge/mac/BrowserExtensionMac.mm:
2070         (WebCore::BrowserExtensionMac::createNewWindow): adjust for ResourceRequest
2071         changes.
2072         * bridge/mac/MacFrame.h: remove KURL args from methods that also take a
2073         ResourceRequest
2074         * bridge/mac/MacFrame.mm:
2075         (WebCore::MacFrame::openURLRequest): adjust for ResourceRequest changes
2076         (WebCore::MacFrame::submitForm): ditto
2077         (WebCore::MacFrame::urlSelected): ditto
2078         * bridge/mac/WebCoreFrameBridge.mm:
2079         (-[WebCoreFrameBridge openURL:reload:contentType:refresh:lastModified:pageCache:]): 
2080         adjust for ResourceRequest changes
2081         * bridge/win/BrowserExtensionWin.h:
2082         * khtml/ecma/kjs_window.cpp:
2083         (KJS::createNewWindow): adjust for ResourceRequest changes
2084         (KJS::WindowFunc::callAsFunction): ditto
2085         * page/Frame.cpp:
2086         (WebCore::Frame::didOpenURL): adjust for ResourceRequest changes
2087         (WebCore::Frame::receivedFirstData): ditto
2088         (WebCore::Frame::begin): ditto
2089         (WebCore::Frame::completeURL): ditto
2090         (WebCore::Frame::changeLocation): ditto
2091         (WebCore::Frame::urlSelected): ditto
2092         (WebCore::Frame::requestFrame): ditto
2093         (WebCore::Frame::submitForm): ditto
2094         * page/Frame.h:
2095         * platform/win/TemporaryLinkStubs.cpp:
2096         (BrowserExtensionWin::createNewWindow): ditto
2097
2098 2006-03-17  Adele Peterson  <adele@apple.com>
2099
2100         Reviewed by Tim H.
2101
2102         Make default backgrounds for new text fields white
2103         instead of transparent.  This will move to html4.css
2104         when we flip the switch.
2105
2106         Test added:
2107         * fast/forms/input-appearance-default-bkcolor.html
2108
2109         * rendering/render_theme_mac.mm:
2110         (WebCore::RenderThemeMac::adjustTextFieldStyle):
2111
2112 2006-03-17  David Hyatt  <hyatt@apple.com>
2113
2114         Make table sections and table captions support opacity.
2115
2116         Reviewed by darin
2117
2118         Covered by some of the new Mozilla table tests.
2119
2120         * rendering/RenderTable.cpp:
2121         (WebCore::RenderTable::paint):
2122
2123 2006-03-17  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2124
2125         Reviewed by Maciej, landed by Beth.
2126
2127         fix http://bugzilla.opendarwin.org/show_bug.cgi?id=3560
2128         page with use of first-letter crashes reproducibly in 
2129         RenderObject::renderArena()
2130
2131         * rendering/RenderBlock.cpp:
2132         (WebCore::RenderBlock::updateFirstLetter): Pass the first-leter 
2133         renderer to the remaining text fragment.
2134         * rendering/RenderContainer.cpp:
2135         (WebCore::RenderContainer::destroyLeftoverChildren): Do not destroy 
2136         first-letter renderers since they are destroyed by their remaining 
2137         text now.
2138         * rendering/RenderTextFragment.cpp:
2139         (khtml::RenderTextFragment::RenderTextFragment):
2140         (khtml::RenderTextFragment::destroy): Destroy the first-letter 
2141         renderer.
2142         * rendering/RenderTextFragment.h:
2143         (khtml::RenderTextFragment::firstLetter):
2144
2145 2006-03-17  Adele Peterson  <adele@apple.com>
2146
2147         Reviewed by Eric.
2148
2149         - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=7798 
2150         New text fields are much wider than they should be for a specified size
2151
2152         I changed the character we use to calculate the width from "w" back to "0", 
2153         which matches our old behavior.  The original change was intentional, to try
2154         to better match other browsers, but "w" is a little too wide.  For now, lets
2155         go back to the old behavior.
2156
2157         I also set the minWidth = maxWidth.  We were trying to match a WinIE quirk,
2158         but that caused some odd behavior with growth of the text field in table cells.
2159
2160         * rendering/RenderTextField.cpp: (WebCore::RenderTextField::calcMinMaxWidth):
2161
2162 2006-03-17  Eric Seidel  <eseidel@apple.com>
2163
2164         Reviewed by adele.
2165
2166         Fix win32 build.
2167         Add PageWin class.
2168         Add previously forgotten KeyEventWin class.
2169         Pass MouseEvent() instead of 0 in a couple places to make compiler happy.
2170
2171         * WebCore.vcproj/WebCore/WebCore.vcproj:
2172         * bridge/win/BrowserExtensionWin.h:
2173         * bridge/win/FrameWin.cpp:
2174         (WebCore::FrameWin::urlSelected):
2175         (WebCore::FrameWin::keyPress):
2176         * bridge/win/FrameWin.h:
2177         * bridge/win/PageWin.cpp: Added.
2178         (WebCore::rootWindowForFrame):
2179         (WebCore::Page::windowRect):
2180         (WebCore::Page::setWindowRect):
2181         * page/FrameView.cpp:
2182         (WebCore::FrameView::updateDragAndDrop):
2183         (WebCore::FrameView::hoverTimerFired):
2184         * page/Page.h:
2185         (WebCore::Page::mainFrame):
2186         * platform/win/KeyEventWin.cpp: Added.
2187         (WebCore::KeyEvent::KeyEvent):
2188         * platform/win/TemporaryLinkStubs.cpp:
2189         (WebCore::findNextWordFromIndex):
2190         (FrameWin::passMouseDownEventToWidget):
2191         (FrameWin::scheduleClose):
2192         (BrowserExtensionWin::createNewWindow):
2193         (WebCore::findWordBoundary):
2194         (FrameWin::registerCommandForUndo):
2195         (FrameWin::markMisspellingsInAdjacentWords):
2196         (FrameWin::respondToChangedContents):
2197
2198 2006-03-17  David Hyatt  <hyatt@apple.com>
2199
2200         Fix pixel test regression in fast/table/overflowHidden.html.  There was
2201         a borderTopExtra error made in the new boundingBox code for layers that
2202         caused the bottom half of cells with opacity set to be clipped out.
2203
2204         Reviewed by andersca
2205
2206         * rendering/render_layer.cpp:
2207         (WebCore::RenderLayer::absoluteBoundingBox):
2208
2209 2006-03-17  David Hyatt  <hyatt@apple.com>
2210
2211         Give table rows and sections accurate dimensions.  Fix absolutePosition
2212         to work for table cells properly.  Add an absolutePositionForContent method
2213         to make sure callers that want to deal with the content of a cell handle
2214         the cell's extra space correctly.
2215
2216         Reviewed by darin
2217
2218         Existing layout tests cover this change.
2219
2220         * bridge/mac/WebCoreFrameBridge.mm:
2221         (-[WebCoreFrameBridge copyRenderNode:copier:]):
2222         * dom/ContainerNodeImpl.cpp:
2223         (WebCore::ContainerNodeImpl::getUpperLeftCorner):
2224         (WebCore::ContainerNodeImpl::getLowerRightCorner):
2225         * dom/NodeImpl.cpp:
2226         (WebCore::NodeImpl::getRect):
2227         * editing/SelectionController.cpp:
2228         (WebCore::SelectionController::layout):
2229         (WebCore::SelectionController::caretRect):
2230         * editing/visible_units.cpp:
2231         (WebCore::previousLinePosition):
2232         (WebCore::nextLinePosition):
2233         * khtml/html/HTMLInputElementImpl.cpp:
2234         (WebCore::HTMLInputElementImpl::defaultEventHandler):
2235         * kwq/KWQRenderTreeDebug.cpp:
2236         (operator<<):
2237         * rendering/RenderBlock.cpp:
2238         (WebCore::RenderBlock::selectionGapRects):
2239         (WebCore::RenderBlock::positionForCoordinates):
2240         * rendering/RenderContainer.cpp:
2241         (WebCore::RenderContainer::positionForCoordinates):
2242         (WebCore::RenderContainer::lineBoxRects):
2243         * rendering/RenderTableCell.cpp:
2244         (WebCore::RenderTableCell::computeAbsoluteRepaintRect):
2245         (WebCore::RenderTableCell::absolutePosition):
2246         * rendering/RenderTableRow.cpp:
2247         (WebCore::RenderTableRow::addChild):
2248         (WebCore::RenderTableRow::getAbsoluteRepaintRect):
2249         (WebCore::RenderTableRow::nodeAtPoint):
2250         * rendering/RenderTableRow.h:
2251         * rendering/RenderTableSection.cpp:
2252         (WebCore::RenderTableSection::ensureRows):
2253         (WebCore::RenderTableSection::addCell):
2254         (WebCore::RenderTableSection::layoutRows):
2255         (WebCore::RenderTableSection::recalcCells):
2256         (WebCore::RenderTableSection::nodeAtPoint):
2257         * rendering/RenderTableSection.h:
2258         * rendering/RenderText.cpp:
2259         (WebCore::RenderText::lineBoxRects):
2260         (WebCore::RenderText::positionForCoordinates):
2261         (WebCore::RenderText::caretRect):
2262         (WebCore::RenderText::posOfChar):
2263         (WebCore::RenderText::selectionRect):
2264         * rendering/render_box.cpp:
2265         (WebCore::RenderBox::absolutePosition):
2266         (WebCore::RenderBox::caretRect):
2267         * rendering/render_br.cpp:
2268         (WebCore::RenderBR::caretRect):
2269         * rendering/render_canvas.h:
2270         * rendering/render_flow.cpp:
2271         (WebCore::RenderFlow::caretRect):
2272         * rendering/render_frames.cpp:
2273         (WebCore::RenderPart::updateWidgetPosition):
2274         * rendering/render_layer.cpp:
2275         (WebCore::RenderLayer::updateLayerPosition):
2276         * rendering/render_object.cpp:
2277         (WebCore::RenderObject::absoluteRects):
2278         (WebCore::RenderObject::absoluteBoundingBoxRect):
2279         (WebCore::RenderObject::absolutePosition):
2280         * rendering/render_object.h:
2281         (WebCore::RenderObject::absolutePositionForContent):
2282         (WebCore::RenderObject::offsetHeight):
2283         * rendering/render_replaced.cpp:
2284         (WebCore::RenderWidget::updateWidgetPosition):
2285
2286 2006-03-17  Adele Peterson  <adele@apple.com>
2287
2288         Reviewed by Hyatt.
2289
2290         WebCore part of fix for:
2291         http://bugzilla.opendarwin.org/show_bug.cgi?id=7797 
2292         Can't set background color on new text fields
2293
2294         Bezeled NSTextFieldCells always draw a background, so instead we'll use a new 
2295         WebKitSystemInterface function to just draw the border of the cell.
2296
2297         Since the theme is drawing the border and the engine is drawing the background 
2298         (which is different from the other form controls), we have to make sure we let the 
2299         theme paint the border after the engine paints the background.
2300
2301         * platform/mac/WebCoreGraphicsBridge.h:
2302         * platform/mac/WebCoreGraphicsBridge.m:
2303         (-[WebCoreGraphicsBridge drawBezeledTextFieldCell:enabled:]):
2304         * rendering/render_box.cpp: (WebCore::RenderBox::paintBoxDecorations):
2305         * rendering/render_theme.cpp:
2306         (WebCore::RenderTheme::paint):
2307         (WebCore::RenderTheme::paintBorder):
2308         (WebCore::RenderTheme::shouldPaintBorder):
2309         * rendering/render_theme.h:
2310         * rendering/render_theme_mac.mm:
2311         (WebCore::RenderThemeMac::paintTextField):
2312         (WebCore::RenderThemeMac::setTextFieldCellState):
2313
2314 2006-03-16  Darin Adler  <darin@apple.com>
2315
2316         Reviewed by Eric.
2317
2318         - removed KWQWindowWidget
2319         - changed most event handling to use references instead of pointers
2320         - chagned PageMac to no longer be a subclass of Page
2321
2322         Yes, I know there's no detail in this ChangeLog entry.
2323         No, I don't plan to make a habit of doing things this way.
2324         Yes, this will probably break the Windows build again.
2325
2326         * WebCore.xcodeproj/project.pbxproj:
2327         * bridge/mac/BrowserExtensionMac.mm:
2328         (WebCore::BrowserExtensionMac::createNewWindow):
2329         * bridge/mac/FrameViewMac.mm:
2330         * bridge/mac/MacFrame.h:
2331         * bridge/mac/MacFrame.mm:
2332         (WebCore::MacFrame::MacFrame):
2333         (WebCore::MacFrame::~MacFrame):
2334         (WebCore::MacFrame::wheelEvent):
2335         (WebCore::MacFrame::keyEvent):
2336         (WebCore::MacFrame::khtmlMousePressEvent):
2337         (WebCore::MacFrame::khtmlMouseMoveEvent):
2338         (WebCore::MacFrame::khtmlMouseReleaseEvent):
2339         (WebCore::MacFrame::mouseDown):
2340         (WebCore::MacFrame::mouseDragged):
2341         (WebCore::MacFrame::mouseUp):
2342         (WebCore::MacFrame::mouseMoved):
2343         (WebCore::MacFrame::sendContextMenuEvent):
2344         (WebCore::MacFrame::setBridge):
2345         (WebCore::MacFrame::dragSourceMovedTo):
2346         (WebCore::MacFrame::dragSourceEndedAt):
2347         (WebCore::MacFrame::dispatchDragSrcEvent):
2348         * bridge/mac/PageMac.h: Removed.
2349         * bridge/mac/PageMac.mm: Added.
2350         (WebCore::Page::Page):
2351         (WebCore::Page::windowRect):
2352         (WebCore::Page::setWindowRect):
2353         * bridge/mac/WebCoreFrameBridge.h:
2354         * bridge/mac/WebCoreFrameBridge.mm:
2355         (-[WebCoreFrameBridge page]):
2356         (-[WebCoreFrameBridge initializeSettings:]):
2357         (globalPoint):
2358         (createMouseEventFromDraggingInfo):
2359         (-[WebCoreFrameBridge dragOperationForDraggingInfo:]):
2360         (-[WebCoreFrameBridge dragExitedWithDraggingInfo:]):
2361         (-[WebCoreFrameBridge concludeDragForDraggingInfo:]):
2362         (-[WebCoreFrameBridge dragSourceMovedTo:]):
2363         (-[WebCoreFrameBridge dragSourceEndedAt:operation:]):
2364         * bridge/mac/WebCoreFrameNamespaces.mm:
2365         (WebCore::):
2366         * bridge/mac/WebCorePageBridge.h:
2367         * bridge/mac/WebCorePageBridge.mm:
2368         (-[WebCorePageBridge init]):
2369         * dom/DocumentImpl.cpp:
2370         (WebCore::DocumentImpl::prepareMouseEvent):
2371         (WebCore::DocumentImpl::defaultEventHandler):
2372         * dom/DocumentImpl.h:
2373         * dom/NodeImpl.cpp:
2374         (WebCore::NodeImpl::dispatchMouseEvent):
2375         (WebCore::NodeImpl::dispatchKeyEvent):
2376         (WebCore::NodeImpl::dispatchWheelEvent):
2377         * dom/NodeImpl.h:
2378         * dom/dom2_eventsimpl.cpp:
2379         (WebCore::KeyboardEventImpl::KeyboardEventImpl):
2380         * dom/dom2_eventsimpl.h:
2381         (WebCore::KeyboardEventImpl::keyEvent):
2382         * khtml/ecma/kjs_window.cpp:
2383         (KJS::Window::getValueProperty):
2384         (KJS::WindowFunc::callAsFunction):
2385         * khtml/html/html_inlineimpl.cpp:
2386         (WebCore::HTMLAnchorElementImpl::defaultEventHandler):
2387         * ksvg2/svg/SVGDocumentImpl.cpp:
2388         * ksvg2/svg/SVGDocumentImpl.h:
2389         * kwq/KWQWindowWidget.h:
2390         * kwq/KWQWindowWidget.mm: Removed.
2391         * page/Frame.cpp:
2392         (WebCore::Frame::selectClosestWordFromMouseEvent):
2393         (WebCore::Frame::handleMousePressEventDoubleClick):
2394         (WebCore::Frame::handleMousePressEventTripleClick):
2395         (WebCore::Frame::handleMousePressEventSingleClick):
2396         (WebCore::Frame::khtmlMousePressEvent):
2397         (WebCore::Frame::handleMouseMoveEventSelection):
2398         (WebCore::Frame::khtmlMouseMoveEvent):
2399         (WebCore::Frame::khtmlMouseReleaseEvent):
2400         (WebCore::Frame::khtmlMouseDoubleClickEvent):
2401         (WebCore::Frame::passWidgetMouseDownEventToWidget):
2402         * page/Frame.h:
2403         * page/FrameView.cpp:
2404         (WebCore::FrameView::viewportMousePressEvent):
2405         (WebCore::FrameView::viewportMouseDoubleClickEvent):
2406         (WebCore::FrameView::viewportMouseMoveEvent):
2407         (WebCore::FrameView::viewportMouseReleaseEvent):
2408         (WebCore::FrameView::dispatchDragEvent):
2409         (WebCore::FrameView::updateDragAndDrop):
2410         (WebCore::FrameView::cancelDragAndDrop):
2411         (WebCore::FrameView::performDragAndDrop):
2412         (WebCore::FrameView::dispatchMouseEvent):
2413         (WebCore::FrameView::viewportWheelEvent):
2414         * page/FrameView.h:
2415         * page/MouseEventWithHitTestResults.h:
2416         (WebCore::MouseEventWithHitTestResults::MouseEventWithHitTestResults):
2417         (WebCore::MouseEventWithHitTestResults::event):
2418         * page/Page.cpp:
2419         (WebCore::Page::init):
2420         * page/Page.h:
2421         (WebCore::Page::bridge):
2422         * platform/KeyEvent.h:
2423         (WebCore::KeyEvent::isAutoRepeat):
2424         * platform/MouseEvent.h:
2425         (WebCore::MouseEvent::MouseEvent):
2426         * platform/mac/KeyEventMac.mm:
2427         (WebCore::KeyEvent::KeyEvent):
2428         * platform/win/TemporaryLinkStubs.cpp:
2429         (FrameView::isFrameView):
2430         * rendering/render_form.cpp:
2431         (WebCore::RenderFormElement::clicked):
2432
2433 2006-03-16  Eric Seidel  <eseidel@apple.com>
2434
2435         Reviewed by darin.
2436
2437         Add additional hackish Font, focusring and caret code.
2438         http://bugzilla.opendarwin.org/show_bug.cgi?id=7803
2439
2440         * WebCore.vcproj/WebCore/WebCore.vcproj:
2441         * WebCore.vcproj/WebCore/build-generated-files.sh:
2442         * bindings/js/JSCanvasRenderingContext2DBase.cpp:
2443         * bridge/win/FrameWin.cpp:
2444         (WebCore::FrameWin::keyPress):
2445         * bridge/win/FrameWin.h:
2446         * html/CanvasRenderingContext2D.h:
2447         * platform/IntSize.h:
2448         * platform/KeyEvent.h:
2449         * platform/cairo/GraphicsContextCairo.cpp:
2450         (WebCore::GraphicsContext::drawArc):
2451         (WebCore::GraphicsContext::drawFocusRing):
2452         * platform/win/FontWin.cpp:
2453         (WebCore::hackishExtentForString):
2454         (WebCore::Font::floatWidth):
2455         (WebCore::convertRange):
2456         (WebCore::Font::drawText):
2457         (WebCore::Font::drawHighlightForText):
2458         (WebCore::Font::selectionRectForText):
2459         (WebCore::Font::checkSelectionPoint):
2460         (WebCore::Font::drawLineForText):
2461         (WebCore::Font::misspellingLineThickness):
2462         * platform/win/IntSizeWin.cpp: Added.
2463         (WebCore::IntSize::IntSize):
2464         (WebCore::IntSize::operator SIZE):
2465         * platform/win/ScrollViewWin.cpp:
2466         (WebCore::ScrollView::visibleContentRect):
2467         * platform/win/TemporaryLinkStubs.cpp:
2468         (Widget::disableFlushDrawing):
2469         (GraphicsContext::GraphicsContext):
2470         (QListBox::setSelected):
2471         (QListBox::sizeForNumberOfLines):
2472         (QListBox::isSelected):
2473         (QListBox::appendItem):
2474         (QListBox::doneAppendingItems):
2475         (FrameWin::locationbarVisible):
2476         (FrameWin::canUndo):
2477         (FrameWin::mimeTypeForFileName):
2478         (FrameWin::issueTransposeCommand):
2479         (RenderCanvasImage::setNeedsImageUpdate):
2480         (FrameWin::shouldChangeSelection):
2481         (FrameWin::respondToChangedSelection):
2482         (FrameWin::clearRecordedFormValues):
2483         (FrameWin::recordFormValue):
2484         (BrowserExtensionWin::getHistoryLength):
2485         (Widget::setIsSelected):
2486         (GraphicsContext::selectedTextBackgroundColor):
2487         (GraphicsContext::addRoundedRectClip):
2488         (QScrollBar::QScrollBar):
2489         (QScrollBar::~QScrollBar):
2490         (QScrollBar::setSteps):
2491         (QScrollBar::scroll):
2492         (QScrollBar::setValue):
2493         (QScrollBar::setKnobProportion):
2494         (QListBox::QListBox):
2495         (QListBox::~QListBox):
2496         (QListBox::setSelectionMode):
2497         (QListBox::setFont):
2498         * rendering/render_canvasimage.h:
2499
2500 2006-03-16  Maciej Stachowiak  <mjs@apple.com>
2501
2502         Reviewed by Eric.
2503
2504         - renamed URLArgs to ResourceRequest, split it into its own header
2505         - moved methods to get and set ResourceRequest to Frame
2506
2507         * WebCore.xcodeproj/project.pbxproj:
2508         * bridge/BrowserExtension.h:
2509         * bridge/mac/BrowserExtensionMac.h:
2510         * bridge/mac/BrowserExtensionMac.mm:
2511         (WebCore::BrowserExtensionMac::openURLRequest):
2512         (WebCore::BrowserExtensionMac::createNewWindow):
2513         * bridge/mac/MacFrame.h:
2514         * bridge/mac/MacFrame.mm:
2515         (WebCore::MacFrame::openURLRequest):
2516         (WebCore::MacFrame::submitForm):
2517         (WebCore::MacFrame::urlSelected):
2518         * bridge/mac/WebCoreFrameBridge.mm:
2519         (-[WebCoreFrameBridge openURL:reload:contentType:refresh:lastModified:pageCache:]):
2520         * khtml/ecma/kjs_window.cpp:
2521         (KJS::createNewWindow):
2522         (KJS::WindowFunc::callAsFunction):
2523         * page/Frame.cpp:
2524         (WebCore::Frame::didOpenURL):
2525         (WebCore::Frame::receivedFirstData):
2526         (WebCore::Frame::setResourceRequest):
2527         (WebCore::Frame::resourceRequest):
2528         (WebCore::Frame::begin):
2529         (WebCore::Frame::changeLocation):
2530         (WebCore::Frame::urlSelected):
2531         (WebCore::Frame::requestFrame):
2532         (WebCore::Frame::submitForm):
2533         * page/Frame.h:
2534         * page/FramePrivate.h:
2535         * page/ResourceRequest.h: Added.
2536         (WebCore::ResourceRequest::ResourceRequest):
2537         (WebCore::ResourceRequest::contentType):
2538         (WebCore::ResourceRequest::setContentType):
2539         (WebCore::ResourceRequest::doPost):
2540         (WebCore::ResourceRequest::setDoPost):
2541         (WebCore::ResourceRequest::lockHistory):
2542         (WebCore::ResourceRequest::setLockHistory):
2543         (WebCore::ResourceRequest::metaData):
2544
2545 2006-03-16  Darin Adler  <darin@apple.com>
2546
2547         - need to touch one more file to fix the build
2548           (Darn the lack of dependencies for autogenerated bindings!)
2549
2550         * dom/Element.idl: Touch. (Really this time.)
2551
2552 2006-03-16  Eric Seidel  <eseidel@apple.com>
2553
2554         Reviewed by darin.
2555
2556         Pushed focus ring handling down into GraphicsContext.cpp
2557
2558         * bridge/mac/MacFrame.mm:
2559         (WebCore::MacFrame::mouseDown):
2560         * platform/GraphicsContext.cpp:
2561         (WebCore::GraphicsContext::initFocusRing):
2562         (WebCore::GraphicsContext::clearFocusRing):
2563         (WebCore::GraphicsContext::addFocusRingRect):
2564         * platform/GraphicsContext.h:
2565         * platform/mac/GraphicsContextMac.mm:
2566         (WebCore::GraphicsContextPrivate::GraphicsContextPrivate):
2567         (WebCore::GraphicsContextPrivate::~GraphicsContextPrivate):
2568         (WebCore::GraphicsContext::GraphicsContext):
2569         (WebCore::GraphicsContext::drawFocusRing):
2570         * rendering/render_flow.cpp:
2571         (WebCore::RenderFlow::addFocusRingRects):
2572         * rendering/render_object.cpp:
2573         (WebCore::RenderObject::addFocusRingRects):
2574
2575 2006-03-15  Darin Adler  <darin@apple.com>
2576
2577         Reviewed by Hyatt.
2578
2579         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7749
2580           canvas should be in DOM, not implemented in the JS bindings
2581
2582         * WebCore.xcodeproj/project.pbxproj: Added new files.
2583         Changed bindings-generation code to work on the new html directory
2584         as well as the dom one.
2585
2586         * bindings/js/JSCanvasRenderingContext2DBase.cpp: Added.
2587         * bindings/js/JSCanvasRenderingContext2DBase.h: Added.
2588         * bindings/js/JSDOMHTML.cpp: Added.
2589         * html: Added.
2590         * html/CanvasGradient.cpp: Added.
2591         * html/CanvasGradient.h: Added.
2592         * html/CanvasGradient.idl: Added.
2593         * html/CanvasPattern.cpp: Added.
2594         * html/CanvasPattern.h: Added.
2595         * html/CanvasPattern.idl: Added.
2596         * html/CanvasRenderingContext2D.cpp: Added.
2597         * html/CanvasRenderingContext2D.h: Added.
2598         * html/CanvasRenderingContext2D.idl: Added.
2599         * html/CanvasStyle.cpp: Added.
2600         * html/CanvasStyle.h: Added.
2601
2602         * bindings/js/JSDOMCore.cpp: Touched so that it will recompile.
2603         * bindings/js/JSDOMEvents.cpp: Ditto.
2604         * dom/Attr.idl: Ditto.
2605         * dom/DOMImplementation.idl: Ditto.
2606         * dom/DocumentType.idl: Ditto.
2607         * dom/MutationEvent.idl: Ditto.
2608         * dom/ProcessingInstruction.idl: Ditto.
2609         * dom/Text.idl: Ditto.
2610
2611         * khtml/ecma/kjs_binding.h: (KJS::toJS): Added. Template so that you can call
2612         toJS on a PassRefPtr as well as on a raw pointer.
2613
2614         * bindings/scripts/CodeGeneratorJS.pm: Fixed handling of a class that has only
2615         a legacy parent, no conventional parents. Added JSCanvasRenderingContext2DBase
2616         as a legacy parent, and html as a legacy module. Added CanvasRenderingContext2D,
2617         CanvasGradient, and CanvasPattern to the "waht to include". Added a special
2618         case for strings beginning with Canvas to not add an "Impl" suffix. Made the
2619         generated impl() function be a const member function. Made m_mimpl be private
2620         instead of protected. Generate a toJS function for each class. Added flaot as
2621         a type. Generate String, not DOMString. Made the HashTable const.
2622
2623         * bindings/scripts/IDLParser.pm: Fix a couple small things. I had started to
2624         try to make a missing semicolon trigger an error, but ended up giving up on
2625         that for now.
2626
2627         * khtml/html/html_canvasimpl.h:
2628         * khtml/html/html_canvasimpl.cpp:
2629         (WebCore::HTMLCanvasElementImpl::HTMLCanvasElementImpl): Set m_2DContext to 0.
2630         (WebCore::HTMLCanvasElementImpl::~HTMLCanvasElementImpl): Call detachCanvas
2631         on m_2DContext, if any.
2632         (WebCore::HTMLCanvasElementImpl::detach): Call reset on m_2DContext, if any.
2633         (WebCore::HTMLCanvasElementImpl::getContext): Added.
2634         (WebCore::HTMLCanvasElementImpl::size): Added.
2635         (WebCore::HTMLCanvasElementImpl::createPlatformImage): Added.
2636
2637         * platform/Image.h:
2638         * platform/Image.cpp: (WebCore::Image::compositeOperatorFromString):
2639         Changed to take a String instead of a const char*.
2640
2641         * khtml/html/html_imageimpl.h:
2642         * khtml/html/html_imageimpl.cpp: (WebCore::HTMLMapElementImpl::areas):
2643         Tweaked formatting. Changed to use PassRefPtr.
2644
2645         * bindings/objc/DOMInternal.mm: (-[WebScriptObject _initializeScriptDOMNodeImp]):
2646         * khtml/ecma/JSXMLHttpRequest.cpp: (KJS::JSXMLHttpRequest::getValueProperty):
2647         * khtml/ecma/XSLTProcessor.cpp: (KJS::XSLTProcessorProtoFunc::callAsFunction):
2648         * khtml/ecma/domparser.cpp: (KJS::DOMParserProtoFunc::callAsFunction):
2649         * khtml/ecma/kjs_css.cpp:
2650         (KJS::DOMCSSStyleDeclaration::getValueProperty):
2651         (KJS::DOMCSSStyleDeclarationProtoFunc::callAsFunction):
2652         (KJS::toJS):
2653         (KJS::DOMStyleSheet::getValueProperty):
2654         (KJS::DOMStyleSheetList::indexGetter):
2655         (KJS::DOMStyleSheetList::nameGetter):
2656         (KJS::DOMStyleSheetListFunc::callAsFunction):
2657         (KJS::DOMCSSStyleSheet::getValueProperty):
2658         (KJS::DOMCSSRuleList::indexGetter):
2659         (KJS::DOMCSSRuleListFunc::callAsFunction):
2660         (KJS::DOMCSSRule::getValueProperty):
2661         (KJS::DOMCSSPrimitiveValueProtoFunc::callAsFunction):
2662         (KJS::DOMCSSValueList::indexGetter):
2663         (KJS::DOMCSSValueListFunc::callAsFunction):
2664         (KJS::DOMRect::getValueProperty):
2665         * khtml/ecma/kjs_css.h:
2666         * khtml/ecma/kjs_dom.cpp:
2667         (KJS::DOMNode::getValueProperty):
2668         (KJS::DOMNodeProtoFunc::callAsFunction):
2669         (KJS::DOMNodeList::indexGetter):
2670         (KJS::DOMNodeList::nameGetter):
2671         (KJS::DOMNodeList::callAsFunction):
2672         (KJS::DOMNodeListFunc::callAsFunction):
2673         (KJS::DOMDocument::getValueProperty):
2674         (KJS::DOMDocumentProtoFunc::callAsFunction):
2675         (KJS::DOMNamedNodeMap::indexGetter):
2676         (KJS::DOMNamedNodeMap::nameGetter):
2677         (KJS::DOMNamedNodeMapProtoFunc::callAsFunction):
2678         (KJS::toJS):
2679         (KJS::DOMNamedNodesCollection::indexGetter):
2680         * khtml/ecma/kjs_dom.h:
2681         * khtml/ecma/kjs_events.cpp:
2682         (KJS::JSAbstractEventListener::handleEvent):
2683         (KJS::JSLazyEventListener::parseCode):
2684         (KJS::DOMEvent::getValueProperty):
2685         (KJS::toJS):
2686         (KJS::DOMUIEvent::getValueProperty):
2687         (KJS::DOMMouseEvent::getValueProperty):
2688         * khtml/ecma/kjs_events.h:
2689         * khtml/ecma/kjs_html.cpp:
2690         (KJS::HTMLDocFunction::callAsFunction):
2691         (KJS::HTMLDocument::namedItemGetter):
2692         (KJS::HTMLDocument::getValueProperty):
2693         (KJS::HTMLDocument::put):
2694         (KJS::HTMLDocument::putValueProperty):
2695         (KJS::HTMLElement::classInfo):
2696         (KJS::HTMLElement::formIndexGetter):
2697         (KJS::HTMLElement::selectIndexGetter):
2698         (KJS::HTMLElement::implementsCall):
2699         (KJS::HTMLElement::callAsFunction):
2700         (KJS::HTMLElement::linkGetter):
2701         (KJS::HTMLElement::isIndexGetter):
2702         (KJS::HTMLElement::styleGetter):
2703         (KJS::HTMLElement::selectGetter):
2704         (KJS::HTMLElement::optionGetter):
2705         (KJS::HTMLElement::inputGetter):
2706         (KJS::HTMLElement::textAreaGetter):
2707         (KJS::HTMLElement::buttonGetter):
2708         (KJS::HTMLElement::labelGetter):
2709         (KJS::HTMLElement::fieldSetGetter):
2710         (KJS::HTMLElement::legendGetter):
2711         (KJS::HTMLElement::objectGetter):
2712         (KJS::HTMLElement::tableGetter):
2713         (KJS::HTMLElement::frameGetter):
2714         (KJS::HTMLElement::iFrameGetter):
2715         (KJS::HTMLElement::getValueProperty):
2716         (KJS::HTMLElement::toString):
2717         (KJS::HTMLElement::pushEventHandlerScope):
2718         (KJS::toJS):
2719         (KJS::HTMLElementFunction::callAsFunction):
2720         (KJS::HTMLElement::put):
2721         (KJS::HTMLCollection::indexGetter):
2722         (KJS::HTMLCollection::callAsFunction):
2723         (KJS::HTMLCollection::getNamedItems):
2724         (KJS::HTMLCollectionProtoFunc::callAsFunction):
2725         (KJS::HTMLSelectCollection::put):
2726         (KJS::OptionConstructorImp::construct):
2727         (KJS::ImageConstructorImp::construct):
2728         * khtml/ecma/kjs_html.h:
2729         * khtml/ecma/kjs_proxy.cpp: (WebCore::KJSProxyImpl::evaluate):
2730         * khtml/ecma/kjs_range.cpp:
2731         (KJS::DOMRange::getValueProperty):
2732         (KJS::DOMRangeProtoFunc::callAsFunction):
2733         (KJS::toJS):
2734         * khtml/ecma/kjs_range.h:
2735         * khtml/ecma/kjs_traversal.cpp:
2736         (KJS::DOMNodeIterator::getValueProperty):
2737         (KJS::DOMNodeIteratorProtoFunc::callAsFunction):
2738         (KJS::toJS):
2739         (KJS::DOMTreeWalker::getValueProperty):
2740         (KJS::DOMTreeWalkerProtoFunc::callAsFunction):
2741         (KJS::JSNodeFilterCondition::acceptNode):
2742         * khtml/ecma/kjs_traversal.h:
2743         * khtml/ecma/kjs_views.cpp:
2744         (KJS::DOMAbstractView::getValueProperty):
2745         (KJS::DOMAbstractViewProtoFunc::callAsFunction):
2746         (KJS::toJS):
2747         * khtml/ecma/kjs_views.h:
2748         * khtml/ecma/kjs_window.cpp:
2749         (KJS::Window::getValueProperty):
2750         (KJS::Window::namedItemGetter):
2751         (KJS::Selection::getValueProperty):
2752         (KJS::SelectionFunc::callAsFunction):
2753         Rename uses and definitions of all the various converstions to JavaScript
2754         wrappers to the new common overloaded name: "toJS".
2755
2756 2006-03-15  Eric Seidel  <eseidel@apple.com>
2757
2758         Reviewed by darin.
2759
2760         Push more of MacFrame down into Frame.
2761         Add visibleContentRect method to ScrollView.
2762
2763         * bridge/mac/MacFrame.h:
2764         * bridge/mac/MacFrame.mm:
2765         (WebCore::MacFrame::imageFromRect):
2766         (WebCore::MacFrame::setDisplaysWithFocusAttributes):
2767         (WebCore::MacFrame::bodyBackgroundColor):
2768         * bridge/mac/WebCoreFrameBridge.mm:
2769         * page/Frame.cpp:
2770         (WebCore::Frame::visibleSelectionRect):
2771         (WebCore::Frame::setDisplaysWithFocusAttributes):
2772         * page/Frame.h:
2773         * platform/ScrollView.h:
2774         * platform/mac/ScrollViewMac.mm:
2775         (WebCore::ScrollView::visibleWidth):
2776         (WebCore::ScrollView::visibleHeight):
2777         (WebCore::ScrollView::visibleContentRect):
2778         (WebCore::ScrollView::contentsWidth):
2779         (WebCore::ScrollView::contentsHeight):
2780         (WebCore::ScrollView::contentsX):
2781         (WebCore::ScrollView::contentsY):
2782         (WebCore::ScrollView::scrollXOffset):
2783         (WebCore::ScrollView::scrollYOffset):
2784         (WebCore::ScrollView::inWindow):
2785
2786 2006-03-15  Eric Seidel  <eseidel@apple.com>
2787
2788         Reviewed by darin.
2789
2790         Remove unused code and clean-up style.
2791
2792         * bridge/mac/MacFrame.mm:
2793         (WebCore::MacFrame::advanceToNextMisspelling):
2794         (WebCore::MacFrame::wheelEvent):
2795         (WebCore::MacFrame::nextKeyViewInFrame):
2796         (WebCore::MacFrame::nextKeyViewInFrameHierarchy):
2797         (WebCore::MacFrame::nextKeyView):
2798         * page/Frame.cpp:
2799         * page/Frame.h:
2800         * page/FrameView.cpp:
2801         (WebCore::FrameView::dispatchMouseEvent):
2802
2803 2006-03-15  Eric Seidel  <eseidel@apple.com>
2804
2805         Reviewed by mjs.
2806
2807         http://bugzilla.opendarwin.org/show_bug.cgi?id=7790
2808         addEventListener does not work with "dblclick" event.
2809         Renamed khtmlDblclickEvent to dblclickEvent to fix.
2810
2811         Test: fast/events/dblclick-addEventListener.html
2812
2813         * WebCore.xcodeproj/project.pbxproj:
2814         * bridge/mac/MacFrame.mm:
2815         (WebCore::MacFrame::mouseUp):
2816         (WebCore::MacFrame::mouseMoved):
2817         (WebCore::MacFrame::shouldDragAutoNode):
2818         (WebCore::MacFrame::sendContextMenuEvent):
2819         * dom/EventNames.h:
2820         * dom/NodeImpl.cpp:
2821         (WebCore::NodeImpl::dispatchMouseEvent):
2822         * dom/NodeImpl.h:
2823         * khtml/ecma/kjs_binding.cpp:
2824         (KJS::ScriptInterpreter::wasRunByUserGesture):
2825         * khtml/ecma/kjs_dom.cpp:
2826         (KJS::DOMNode::getValueProperty):
2827         (KJS::DOMNode::putValueProperty):
2828         * khtml/ecma/kjs_window.cpp:
2829         (KJS::Window::getValueProperty):
2830         (KJS::Window::put):
2831         * khtml/html/HTMLElementImpl.cpp:
2832         (WebCore::HTMLElementImpl::parseMappedAttribute):
2833         * page/FrameView.cpp:
2834         (WebCore::FrameView::dispatchMouseEvent):
2835         * page/FrameView.h:
2836
2837 2006-03-16  Alexey Proskuryakov  <ap@nypop.com>
2838
2839         Reviewed by Maciej.
2840
2841         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=4395
2842          REGRESSION: document.open doesn't clear the document
2843
2844         Test: fast/dom/Document/document-reopen.html
2845         Test: fast/dom/Document/doc-open-while-parsing.html
2846
2847         * dom/DocumentImpl.cpp:
2848         (WebCore::DocumentImpl::open): Only ignore open() while the frame is still loading the main resource.
2849         * page/Frame.cpp:
2850         (WebCore::Frame::isComplete): Added const specifier.
2851         (WebCore::Frame::isLoadingMainResource): New function.
2852         * page/Frame.h:
2853
2854 2006-03-15  Adele Peterson  <adele@apple.com>
2855
2856         Reviewed by Eric.
2857
2858         - Fixes win32 build.
2859
2860         * page/Frame.cpp: (WebCore::Frame::autoscrollTimerFired): Calls isMouseButtonDown instead of CG function.
2861         * platform/MouseEvent.h: Added isMouseButtonDown
2862         * platform/mac/MouseEventMac.mm: (WebCore::MouseEvent::isMouseButtonDown): Calls CG function to get state of mouse button.
2863         * platform/win/TemporaryLinkStubs.cpp: (MouseEvent::isMouseButtonDown): Added stub.
2864
2865 2006-03-15  Eric Seidel  <eseidel@apple.com>
2866
2867         Reviewed by geoff.
2868
2869         * platform/KeyEvent.h: Fix #define from QEvent_H to KeyEvent_H
2870
2871 2006-03-15  David Hyatt  <hyatt@apple.com>
2872
2873         Fix the box-sizing layout test by stopping integer overflowing from
2874         occurring in the flexbox code.
2875
2876         Reviewed by beth
2877
2878         * rendering/render_flexbox.cpp:
2879         (khtml::RenderFlexibleBox::allowedChildFlex):
2880
2881 2006-03-15  Beth Dakin  <bdakin@apple.com>
2882
2883         Reviewed by Eric
2884
2885         Fix for some leaks and intermittent broken pipes in the layout 
2886         tests after check-in for http://bugzilla.opendarwin.org/
2887         show_bug.cgi?id=4171.  
2888
2889         * platform/StringImpl.cpp:
2890         (WebCore::StringImpl::capitalize): Call deleteQCharVector() for 
2891         stringWithPrevious and make sure we don't walk off the end of 
2892         stringWithPrevious when copying to capitalizedString.
2893
2894 2006-03-15  Adele Peterson  <adele@apple.com>
2895
2896        Reviewed by Maciej.
2897
2898        Followup fix for previous checkin.
2899        http://bugzilla.opendarwin.org/show_bug.cgi?id=7114
2900        <rdar://problem/3695120> dragging to scroll doesn't work with overflow:auto/scroll/overlay areas 
2901
2902        Many of the bugs related to the Radar bug have to do with autoscrolling in the RSS View.  
2903        This fix walks the layer tree to find the first scrollable layer, so that autoscrolling will 
2904        also work with nested layers, like those in the RSS View.
2905
2906        * bridge/mac/MacFrame.mm: (WebCore::MacFrame::khtmlMouseMoveEvent):
2907
2908 2006-03-15  Adele Peterson  <adele@apple.com>
2909
2910         Reviewed by Maciej.
2911
2912         - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=7114
2913         Dragging to scroll doesn't work for overflow areas
2914
2915         No test case.  There doesn't appear to be a way to trigger the autoscroll with the EventSender.
2916
2917         * bridge/mac/MacFrame.mm:
2918         (WebCore::MacFrame::khtmlMouseMoveEvent):  If we have a layer that can scroll, let the layer handle its autoscroll.  
2919          Otherwise, call over the bridge to let AppKit scroll the view.
2920         (WebCore::MacFrame::khtmlMouseReleaseEvent): Stops the autoscroll timer.
2921         * page/Frame.cpp:
2922         (WebCore::Frame::khtmlMouseReleaseEvent): Stops the autoscroll timer.
2923         (WebCore::Frame::handleAutoscroll): Added. Saves the layer, and starts the timer.
2924         (WebCore::Frame::autoscrollTimerFired): Added. Calls autoscroll() on the layer.
2925         (WebCore::Frame::startAutoscrollTimer): Added.
2926         (WebCore::Frame::stopAutoscrollTimer): Added.
2927         * page/Frame.h: Added new autoscroll methods.
2928         * page/FramePrivate.h: (WebCore::FramePrivate::FramePrivate): Initialize m_autoscrollTimer and m_autoscrollLayer.
2929         * rendering/render_layer.cpp:
2930         (WebCore::RenderLayer::autoscroll): Calculates how much the layer should scroll, and actually scrolls.
2931         (WebCore::RenderLayer::shouldAutoscroll): If the layer has overflow then it should be able to scroll.  
2932          Except for overflow:hidden areas that aren't editable.  
2933          In the future, we may want to have a css property that indicates an overflow:hidden style that should also scroll.
2934         * rendering/render_layer.h: Added new autoscroll methods.
2935
2936 2006-03-14  Justin Garcia  <justin.garcia@apple.com>
2937
2938         Reviewed by mjs
2939         
2940         <http://bugzilla.opendarwin.org/show_bug.cgi?id=7578>
2941         TinyMCE: Implement execCommand CreateLink
2942         
2943         Used ApplyStyleCommand so that creating a link from
2944         a selection doesn't change document structure.
2945
2946         * WebCore.xcodeproj/project.pbxproj:
2947         * editing/ApplyStyleCommand.cpp:
2948         (WebCore::ApplyStyleCommand::ApplyStyleCommand):
2949         (WebCore::ApplyStyleCommand::doApply):
2950         (WebCore::ApplyStyleCommand::removeInlineStyle):
2951         (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
2952         * editing/ApplyStyleCommand.h:
2953         * editing/CompositeEditCommand.cpp:
2954         (WebCore::CompositeEditCommand::applyStyle):
2955         * editing/CreateLinkCommand.cpp: Added.
2956         (WebCore::CreateLinkCommand::CreateLinkCommand):
2957         (WebCore::CreateLinkCommand::doApply):
2958         * editing/CreateLinkCommand.h: Added.
2959         * editing/jsediting.cpp:
2960         * page/Frame.cpp:
2961         (WebCore::Frame::computeAndSetTypingStyle):
2962         (WebCore::Frame::applyStyle):
2963         (WebCore::Frame::applyParagraphStyle):
2964
2965 2006-03-14  Beth Dakin  <bdakin@apple.com>
2966
2967         Reviewed by Maciej
2968
2969         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=4171
2970         This patch changes the word-break algorithm used to apply text-
2971         transform:capitalize to use a UBreakIterator. This fixes some 
2972         existing edge cases we have in our text-transform:capitalize 
2973         support and generally makes our results more consistent.
2974
2975         * platform/StringImpl.cpp:
2976         (WebCore::getWordBreakIterator): Returns a UBreakIterator for a 
2977         given string of a given length.
2978         (WebCore::StringImpl::capitalize): Now uses the UBreakIterator to 
2979         step between words and requires the previous character as input.
2980         * platform/StringImpl.h: Change the declaration of capitalize() to 
2981         take the previous character as a parameter. 
2982         * rendering/RenderText.cpp:
2983         (WebCore::RenderText::setText): Find the previous character and 
2984         send it to StringImpl::capitalize()
2985
2986 2006-03-14  Justin Garcia  <justin.garcia@apple.com>
2987
2988         Reviewed by adele
2989         
2990         <http://bugzilla.opendarwin.org/show_bug.cgi?id=7770>
2991         Should only dispatch the khtmlTextInsertedEvent for high level editing operations
2992
2993         Dispatching this event for low level editing operations 
2994         isn't necessary and causes a big performance regression. 
2995         Also renamed the event because it's dispatched for changes
2996         other than just text insertion.
2997
2998         * dom/EventNames.h: 
2999         * editing/EditCommand.cpp:
3000         (WebCore::EditCommand::apply):
3001         (WebCore::EditCommand::unapply):
3002         (WebCore::EditCommand::reapply):
3003         * khtml/html/HTMLTextFieldInnerElementImpl.cpp:
3004         (WebCore::HTMLTextFieldInnerElementImpl::defaultEventHandler):
3005         * page/Frame.cpp:
3006         (WebCore::dispatchKHTMLEditableContentChanged):
3007         (WebCore::Frame::appliedEditing):
3008         (WebCore::Frame::unappliedEditing):
3009         (WebCore::Frame::reappliedEditing):
3010
3011 2006-03-14  Darin Adler  <darin@apple.com>
3012
3013         Reviewed by Eric.
3014
3015         - fix <rdar://problem/4478121> -[WebCoreFrameBridge finalize] crashes under GC
3016
3017         * bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge finalize]):
3018         Don't call setBridge(nil).
3019
3020 2006-03-14  Darin Adler  <darin@apple.com>
3021
3022         - oops, didn't mean to check this in
3023
3024         * dom/dom_elementimpl.cpp: (WebCore::StyledElementImpl::parseMappedAttribute):
3025         Reverted nil-document check that I didn't mean to remove.
3026
3027 2006-03-14  Beth Dakin  <bdakin@apple.com>
3028
3029         Reviewed by Hyatt
3030
3031         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6796
3032         This fix prevents infinite recursion when a block with overflow: 
3033         auto can't decide if it needs scrollbars or not. This fix puts a 
3034         guard in place in updateScrollInforAfterLayout that only allows you 
3035         to re-layout if you are not currently laying out.  
3036
3037         * rendering/render_layer.cpp:
3038         (WebCore::RenderLayer::RenderLayer): Initialize 
3039         m_inOverflowRelayout to false. Fixed spacing too.
3040         (WebCore::RenderLayer::updateScrollInfoAfterLayout): Place guard 
3041         around layout calls in overflow:auto case.
3042         * rendering/render_layer.h: Add m_inOverflowRelayout.
3043
3044 2006-03-14  Darin Adler  <darin@apple.com>
3045
3046         Reviewed by Geoff and Eric.
3047
3048         - fix <http://bugzilla.opendarwin.org/show_bug.cgi?id=7765>, <rdar://problem/4474884>
3049           hasAttribute always returns false for uppercase attribute names like "STYLE"
3050         - re-add missing JavaScript binding for getAttributeNS
3051         - fixed handling of null namespace parameters in getAttributeNS and friends
3052
3053         Test: fast/dom/Element/attribute-uppercase.html
3054
3055         To match Gecko's behavior, the magic "lowercasing" of all attribute names
3056         is only done when calling DOM Level 1 functions that lack an NS suffix.
3057         The functions with an NS suffix are case sensitive, even in HTML documents.
3058
3059         * dom/NamedNodeMapImpl.h: Changed getNamedItem and removeNamedItem to be pure virtual
3060         functions instead of calling through to getNamedItemNS and removeNamedItemNS.
3061
3062         * dom/dom_elementimpl.h: Eliminated inline versions of non-NS functions that called
3063         the NS functions. They can't work that way any more since the lowercasing behavior
3064         is different.
3065         * dom/dom_elementimpl.cpp:
3066         (WebCore::ElementImpl::getAttribute): Added. Lowercases the name if the document
3067         is an HTML document, and then calls through to the qualified name version. Removed
3068         the null check since getDocument is guaranteed to never return 0 now that nodes
3069         hold a reference to their document.
3070         (WebCore::ElementImpl::getAttributeNS): Removed the lowercasing code.
3071         (WebCore::ElementImpl::setAttribute): More of the same.
3072         (WebCore::ElementImpl::setAttributeNS): Ditto.
3073         (WebCore::ElementImpl::removeAttribute): Ditto.
3074         (WebCore::ElementImpl::removeAttributeNS): Ditto.
3075         (WebCore::ElementImpl::getAttributeNode): Ditto.
3076         (WebCore::ElementImpl::getAttributeNodeNS): Ditto.
3077         (WebCore::ElementImpl::hasAttribute): Ditto.
3078         (WebCore::ElementImpl::hasAttributeNS): Ditto.
3079         (WebCore::NamedAttrMapImpl::getNamedItem): Ditto.
3080         (WebCore::NamedAttrMapImpl::getNamedItemNS): Ditto.
3081         (WebCore::NamedAttrMapImpl::removeNamedItem): Ditto.
3082         (WebCore::NamedAttrMapImpl::removeNamedItemNS): Ditto.
3083         (WebCore::StyledElementImpl::parseMappedAttribute): Removed another unneeded null
3084         check like the one mentioned above.
3085
3086         * dom/Element.idl: Set ConvertNullToNullString for all the namespaceURI
3087         parameters, since we don't want null to turn into "null". Added a semicolon
3088         to the end of the hasAttributeNS line -- was causing the next declaration to
3089         be eaten up (so getAttributeNS was completely broken).
3090
3091         * khtml/ecma/kjs_dom.cpp: (KJS::DOMNamedNodeMapProtoFunc::callAsFunction):
3092         Call valueToStringWithNullCheck to do the equivalent of ConvertNullToNullString
3093         for both getNamedItemNS and removeNamedItemNS.
3094
3095         * bindings/js/JSDOMCore.cpp: Touched so that the changes above will take effect.
3096
3097 2006-03-14  David Hyatt  <hyatt@apple.com>
3098
3099         Fix for bug 7259, opacity performs badly.
3100
3101         Reviewed by mjs
3102
3103         Adding some tests in fast/opacity.
3104
3105         * rendering/RenderTableRow.h:
3106         (WebCore::RenderTableRow::requiresLayer):
3107         * rendering/render_layer.cpp:
3108         (WebCore::transparencyClipBox):
3109         (WebCore::RenderLayer::beginTransparencyLayers):
3110         (WebCore::RenderLayer::paintLayer):
3111         (WebCore::RenderLayer::intersectsDamageRect):
3112         (WebCore::RenderLayer::absoluteBoundingBox):
3113         * rendering/render_layer.h:
3114         (WebCore::RenderLayer::root):
3115
3116 2006-03-14  Eric Seidel  <eseidel@apple.com>
3117
3118         Reviewed by mjs.
3119
3120         Fix Gif crasher.
3121
3122         * platform/image-decoders/gif/GIFImageReader.cpp:
3123         (GIFImageReader::do_lzw): Initialize array after new.
3124
3125 2006-03-14  Eric Seidel  <eseidel@apple.com>
3126
3127         Reviewed by mjs.
3128
3129         Make MouseEvents aware of current scroll position.
3130
3131         * platform/win/ScrollViewWin.cpp:
3132         (WebCore::ScrollView::viewportToContents):
3133         (WebCore::ScrollView::contentsToViewport):
3134
3135 2006-03-13  Eric Seidel  <eseidel@apple.com>
3136
3137         Reviewed by mjs.
3138
3139         Fix mouse events to be window-relative.
3140
3141         * platform/win/MouseEventWin.cpp:
3142         (WebCore::positionForEvent):
3143         (WebCore::globalPositionForEvent):
3144         (WebCore::MouseEvent::MouseEvent):
3145
3146 2006-03-13  Eric Seidel  <eseidel@apple.com>
3147
3148         Reviewed by mjs.
3149
3150         Close DeviceContext leaks in Font code.
3151         Also add moveCursor stub to make maps.google.com not crash.
3152
3153         * platform/win/FontWin.cpp:
3154         (WebCore::getFontData):
3155         (WebCore::Font::floatWidth):
3156         (WebCore::Font::drawText):
3157         * platform/win/TemporaryLinkStubs.cpp:
3158         (Cursor::Cursor):
3159         (WebCore::moveCursor):
3160
3161 2006-03-13  Eric Seidel  <eseidel@apple.com>
3162
3163         Reviewed by ggaren & TimH.
3164
3165         <rdar://problem/4473288> XSL file containing <xsl:include href="../Styles/EscapeString.xsl" /> fails to load file
3166         XML_DTD_NODE objects in the tree were causing loadChildSheets to 
3167         fail to preload child stylesheets, this patch causes us to 
3168         correctly ignore all nodes besides the first XML_ELEMENT_NODE at 
3169         the root level when searching the tree for xsl:include statements 
3170         to pre-load.
3171
3172         Test: fast/xsl/xslt-second-level-import.xml
3173
3174         * khtml/xsl/xsl_stylesheetimpl.cpp:
3175         (WebCore::XSLStyleSheetImpl::loadChildSheets):
3176
3177 2006-03-10  Rob Buis  <buis@kde.org>
3178
3179         Reviewed by darin.  Landed by eseidel.
3180
3181         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=7666:
3182         dasharray on rounded rectangles is broken
3183
3184         Make sure the rounded rectangle is drawn clockwise, as outlined
3185         in the specification.
3186
3187         Test: svg/custom/dashArrayOrigin.svg
3188
3189         * kcanvas/KCanvasCreator.cpp:
3190         (WebCore::KCanvasCreator::createRoundedRectangle):
3191
3192 2006-03-12  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3193
3194         Reviewed by Maciej, landed by ap.
3195
3196         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=5923
3197           REGRESSION: scrolling on Google maps continues after the mouse is 
3198           released outside the window
3199
3200         Test: fast/events/drag-outside-window.html
3201
3202         * rendering/render_layer.cpp:
3203         (WebCore::RenderLayer::containsPoint): Always return true for the root
3204         object to ensure that mouse events occurring outside the window target
3205         the document.
3206
3207 2006-03-12  Alexey Proskuryakov  <ap@nypop.com>
3208
3209         Reviewed by Maciej.
3210
3211         - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=7735
3212         REGRESSION: crash on importing bookmarks
3213
3214         No test - only reproducible when Safari imports the bookmarks.
3215
3216         * dom/EventNames.cpp:
3217         (WebCore::EventNames::init): Initialize AtomicString before using it.
3218         * dom/QualifiedName.cpp:
3219         (WebCore::QualifiedName::init): Ditto.
3220         * khtml/html/htmlnames.cpp:
3221         (WebCore::HTMLNames::init): Ditto.
3222         * ksvg2/scripts/make_names.pl: Ditto.
3223
3224 2006-03-12  David Kilzer  <ddkilzer@kilzer.net>
3225
3226         Reviewed by Darin, landed by ap.
3227
3228         - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=7724
3229         Minor refactoring to HTMLParser::handleError() to remove duplicate code
3230
3231         Test: fast/invalid/missing-address-end-tag.html
3232         Test: fast/invalid/missing-dl-end-tag.html
3233         Test: fast/invalid/missing-dt-end-tag.html
3234         Test: fast/invalid/missing-font-end-tag.html
3235
3236         * khtml/html/htmlparser.cpp:
3237         (WebCore::HTMLParser::handleError): Refactored code.
3238
3239 2006-03-10  Darin Adler  <darin@apple.com>
3240
3241         - fix Windows build
3242
3243         * bridge/win/FrameWin.h: Removed declaration of generateFrameName.
3244
3245 2006-03-10  Darin Adler  <darin@apple.com>
3246
3247         Reviewed by Adele.
3248
3249         - removed some unused stuff from Frame and MacFrame
3250
3251         * page/Frame.h: Removed autoloadImages (the setter), enableMetaRefresh,
3252         setCharset, backgroundURL, findTextBegin, findTextNext, preloadStyleSheet,
3253         preloadScript, restored, onURL, selectionChanged, htmlError, openFile,
3254         updateActions, openURLInFrame, overURL, checkLinkSecurity, and cacheId.
3255         * page/FramePrivate.h: Removed m_restored, m_frameNameId, m_strSelectedURL,
3256         m_strSelectedURLTarget, m_bDnd, m_bClearing, m_bSecurityInQuestion,
3257         m_focusNodeRestored, m_focusNodeNumber, and m_newJSInterpreterExists.
3258         * page/Frame.cpp:
3259         (WebCore::Frame::didOpenURL): Removed use of m_restored, code to set
3260         m_bClearing.
3261         (WebCore::Frame::clear): Removed code to set m_bClearing and m_frameNameId.
3262         (WebCore::Frame::khtmlMousePressEvent): Removed code to set m_strSelectedURL
3263         and m_strSelectedURLTarget.
3264
3265         * bridge/mac/MacFrame.h: Removed scheduleHistoryNavigation and
3266         requestedURLString.
3267         * bridge/mac/MacFrame.mm:
3268         (WebCore::MacFrame::openURLFromPageCache): Removed use of m_restored.
3269         Removed unused requestedURLString.
3270
3271         * bridge/mac/WebCoreFrameBridge.h: Removed requestedURLString.
3272
3273 2006-03-10  Darin Adler  <darin@apple.com>
3274
3275         - fix Windows build
3276
3277         * page/FrameTree.cpp: Add include of <stdarg.h>.
3278
3279 2006-03-10  Darin Adler  <darin@apple.com>
3280
3281         Reviewed by Geoff.
3282
3283         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=3308
3284           Pop-up blocking blocks window.open for already open windows
3285
3286         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7422
3287           Setting a frame name to the same value resets it to a generated one
3288
3289         - refactor frame-name-related functions into the FrameTree object
3290
3291         * WebCore.xcodeproj/project.pbxproj: Update for rename.
3292         * bridge/mac/MacFrame.h: Remove generateFrameName.
3293         * bridge/mac/MacFrame.mm: Ditto.
3294         * bridge/mac/PageMac.h: Added a declaration for WebCorePageBridge.
3295
3296         * bridge/mac/WebCoreFrameBridge.h: Remove _frameNamespace, generateFrameName,
3297         setFrameNamespace, frameNamespace.
3298         * bridge/mac/WebCoreFrameBridge.mm:
3299         (-[WebCoreFrameBridge childFrameNamed:]): Change to call the new child
3300         function on the FrameTree.
3301         (-[WebCoreFrameBridge findFrameNamed:]): Change to call the new find
3302         function on the FrameTree.
3303         (-[WebCoreFrameBridge RenderObject::nodeInfoAtPoint:]): Change since the
3304         contentPart function has been renamed to contentFrame.
3305
3306         * bridge/mac/WebCoreFrameNamespaces.h: Removed everything except for the
3307         one method still used on the WebKit side, framesInNamespace:.
3308         * bridge/mac/WebCoreFrameNamespaces.m: Renamed.
3309         * bridge/mac/WebCoreFrameNamespaces.mm: Added. Reimplemented the
3310         framesInNamespace method to use the namespace in WebCore::Page.
3311
3312         * bridge/mac/WebCorePageBridge.h: Added setGroupName and groupName.
3313         * bridge/mac/WebCorePageBridge.mm:
3314         (-[WebCorePageBridge setGroupName:]): Added. Calls through to Page.
3315         (-[WebCorePageBridge groupName]): Ditto.
3316
3317         * khtml/ecma/kjs_html.cpp:
3318         (KJS::HTMLDocument::namedItemGetter): Changed to call contentFrame by its new name.
3319         (KJS::HTMLElement::frameGetter): Ditto.
3320         (KJS::HTMLElement::iFrameGetter): Ditto.
3321
3322         * khtml/ecma/kjs_window.cpp:
3323         (KJS::Window::getValueProperty): Changed to call FrameTree::childCount
3324         instead of Frame::frames.
3325         (KJS::Window::childFrameGetter): Changed to call FrameTree::child
3326         instead of Frame::childFrameNamed.
3327         (KJS::Window::namedFrameGetter): Changed to call FrameTree::find
3328         instead of Frame::findFrame.
3329         (KJS::Window::indexGetter): Changed to call FrameTree::child
3330         instead of Frame::frames.
3331         (KJS::Window::getOwnPropertySlot): Changed to call FrameTree::child,
3332         FrameTree::find, and FrameTree::childCount instead of Frame::childFrameNamed,
3333         and Frame::findFrame, and Frame::frames.
3334         (KJS::WindowFunc::callAsFunction): Call FrameTree::find to check if the window
3335         is already open when considering whether to block a pop-up.
3336         (KJS::FrameArray::getValueProperty): Changed to call FrameTree::childCount
3337         instead of Frame::frames.
3338         (KJS::FrameArray::indexGetter): Changed to call FrameTree::child
3339         instead of Frame::frames.
3340         (KJS::FrameArray::nameGetter): Changed to call FrameTree::child
3341         instead of Frame::findFrame.
3342         (KJS::FrameArray::getOwnPropertySlot): Changed to call FrameTree::child,
3343         and FrameTree::childCount instead of Frame::findFrame and Frame::frames.
3344
3345         * khtml/html/html_baseimpl.h:
3346         * khtml/html/html_baseimpl.cpp:
3347         (WebCore::HTMLFrameElementImpl::isURLAllowed): Changed to call Page::frameCount
3348         instead of Frame::topLevelFrameCount.
3349         (WebCore::HTMLFrameElementImpl::openURL): Changed to call FrameTree::child
3350         instead of Frame::findFrame.
3351         (WebCore::HTMLFrameElementImpl::attach): Changed to call Page::incrementFrameCount
3352         instead of Frame::incrementFrameCount. Changed to call FrameTree::uniqueChildName
3353         instead of Frame::requestFrameName.
3354         (WebCore::HTMLFrameElementImpl::close): Changed to call Page::decrementFrameCount
3355         instead of Frame::decrementFrameCount. Changed to call FrameTree::child
3356         instead of Frame::findFrame.
3357         (WebCore::HTMLFrameElementImpl::contentFrame): Renamed from contentPart. Also
3358         changed to call FrameTree::child instead of Frame::findFrame.
3359         (WebCore::HTMLFrameElementImpl::contentDocument): Updated for name change of
3360         contentFrame from contentPart.
3361         (WebCore::HTMLIFrameElementImpl::attach): Changed to call Page::incrementFrameCount
3362         instead of Frame::incrementFrameCount. Changed to call FrameTree::uniqueChildName
3363         instead of Frame::requestFrameName.
3364
3365         * rendering/render_frames.cpp: (WebCore::isURLAllowed): Changed to call Page::frameCount
3366         instead of Frame::topLevelFrameCount.
3367
3368         * page/Frame.h: Removed frameNames, frames, childFrameNamed, findFrame, currentFrame,
3369         frameExists, incrementFrameCount, decrementFrameCount, topLevelFrameCount,
3370         generateFrameName, and requestFrameName functions.
3371         * page/Frame.cpp: (WebCore::Frame::requestFrame): Changed to use FrameTree::child
3372         instead of Frame::childFrameNamed.
3373
3374         * page/FrameTree.h: Changed name to an atomic string. Changed childCount to unsigned.
3375         Added isDescendantOf, traverseNext, child, find, uniqueChildName.
3376         * page/FrameTree.cpp:
3377         (WebCore::FrameTree::setName): Changed to call uniqueChildName to handle name
3378         duplication logic.
3379         (WebCore::FrameTree::uniqueChildName): Added. Checks for duplication and generates
3380         an appropriate frame name if there is a duplicate.
3381         (WebCore::FrameTree::child): Added.
3382         (WebCore::FrameTree::find): Added.
3383         (WebCore::FrameTree::isDescendantOf): Added.
3384         (WebCore::FrameTree::traverseNext): Added.
3385
3386         * page/Page.h: Added setGroupName, groupName, frameNamespace, incrementFrameCount,
3387         decrementFrameCount, and frameCount.
3388         * page/Page.cpp:
3389         (WebCore::Page::Page): Initialize m_frameCount to 0.
3390         (WebCore::Page::~Page): Call setGroupName to remove the page from any group it's in.
3391         (WebCore::Page::setGroupName): Added.
3392         (WebCore::Page::frameNamespace): Added.
3393
3394         * platform/win/TemporaryLinkStubs.cpp: Removed FrameWin::generateFrameName.
3395
3396 2006-03-10  Justin Garcia  <justin.garcia@apple.com>
3397         
3398         Reviewed by darin, harrison
3399         
3400         ~3x speedup pasting plain text from the console
3401
3402         * dom/dom_position.cpp:
3403         (WebCore::Position::next): 
3404         (WebCore::Position::atEnd): 
3405
3406 2006-03-10  David Hyatt <hyatt@apple.com>
3407
3408         More refactoring.  Split the FontData into cross-platform and
3409         platform-specific components.
3410
3411         Reviewed by eric
3412
3413         * WebCore.vcproj/WebCore/WebCore.vcproj:
3414         * platform/FontData.h: Added.
3415         (WebCore::FontData:::m_platformData):
3416         (WebCore::FontData::platformData):
3417         (WebCore::FontData::setMetrics):
3418         (WebCore::FontData::ascent):
3419         (WebCore::FontData::descent):
3420         (WebCore::FontData::xHeight):
3421         (WebCore::FontData::lineSpacing):
3422         * platform/FontPlatformData.h: Added.
3423         (WebCore::FontPlatformData::hfont):
3424         (WebCore::FontPlatformData::scaledFont):
3425         * platform/win/FontPlatformDataWin.cpp: Added.
3426         (WebCore::FontPlatformData::FontPlatformData):
3427         (WebCore::FontPlatformData::~FontPlatformData):
3428         * platform/win/FontWin.cpp:
3429         (WebCore::Font::floatWidth):
3430         (WebCore::Font::drawText):
3431
3432 2006-03-10  Maciej Stachowiak  <mjs@apple.com>
3433
3434         Reviewed by Eric.
3435
3436         - fix win32 networking to properly use async load API
3437
3438         * platform/win/TransferJobWin.cpp:
3439         (WebCore::TransferJobWndProc):
3440         (WebCore::TransferJob::start):
3441
3442 2006-03-10  Eric Seidel  <eseidel@apple.com>
3443
3444         Fix build.
3445
3446         * platform/win/FontWin.cpp:
3447         (WebCore::getFontData):
3448         * platform/win/TemporaryLinkStubs.cpp:
3449
3450 2006-03-10  Adele Peterson  <adele@apple.com>
3451
3452         Reviewed by Tim Hatcher.
3453
3454         - fix for <rdar://problem/4469419> 
3455         REGRESSION: RadioButtons are not checked in Safari when name attribute comes after checked attribute
3456
3457         Test: fast/forms/radio-attr-order.html
3458
3459         * khtml/html/HTMLInputElementImpl.cpp: (WebCore::HTMLInputElementImpl::parseMappedAttribute):
3460         When the name attribute gets parsed for radio buttons, if its supposed to be checked by default, call setChecked.
3461         Also, when the name changes on a checked button, we don't need to check that 
3462         there's a form before removing it as the checked button for that group.  
3463         That was an old check from when we required a form to keep track of checked buttons.
3464
3465 2006-03-10  Eric Seidel  <eseidel@apple.com>
3466
3467         Reviewed by darin.
3468
3469         Add real ScrollViewWin implementation (fixes redraw bugs, adds ScrollBar support.)
3470
3471         * platform/ScrollView.h:
3472         * platform/Widget.h:
3473         * platform/win/FontWin.cpp:
3474         (WebCore::getCairoFont): Fix crasher.
3475         * platform/win/ScrollViewWin.cpp:
3476         (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
3477         (WebCore::ScrollView::ScrollView):
3478         (WebCore::ScrollView::~ScrollView):
3479         (WebCore::ScrollView::updateContents):
3480         (WebCore::ScrollView::visibleWidth):
3481         (WebCore::ScrollView::visibleHeight):
3482         (WebCore::ScrollView::setContentsPos):
3483         (WebCore::ScrollView::resizeContents):
3484         (WebCore::ScrollView::contentsX):
3485         (WebCore::ScrollView::contentsY):
3486         (WebCore::ScrollView::contentsWidth):
3487         (WebCore::ScrollView::contentsHeight):
3488         (WebCore::ScrollView::viewportToContents):
3489         (WebCore::ScrollView::contentsToViewport):
3490         (WebCore::ScrollView::scrollXOffset):
3491         (WebCore::ScrollView::scrollYOffset):
3492         (WebCore::ScrollView::scrollBy):
3493         (WebCore::ScrollView::hScrollBarMode):
3494         (WebCore::ScrollView::vScrollBarMode):
3495         (WebCore::ScrollView::suppressScrollBars):
3496         (WebCore::ScrollView::setHScrollBarMode):
3497         (WebCore::ScrollView::setVScrollBarMode):
3498         (WebCore::ScrollView::setScrollBarsMode):
3499         (WebCore::ScrollView::setStaticBackground):
3500         (WebCore::ScrollView::updateScrollInfo):
3501         (WebCore::ScrollView::updateScrollBars):
3502         * platform/win/TemporaryLinkStubs.cpp:
3503         (BrowserExtensionWin::goBackOrForward):
3504         (BrowserExtensionWin::setIconURL):
3505         (ScrollView::scrollPointRecursively):
3506         * platform/win/WidgetWin.cpp:
3507         (WebCore::Widget::windowHandle): mark as const
3508
3509 2006-03-10  David Hyatt  <hyatt@apple.com>
3510
3511         Rename the m_renderer variable to m_dataSet now that the class name
3512         has changed.
3513
3514         Reviewed by adele
3515
3516         * platform/Font.cpp:
3517         (WebCore::m_wordSpacing):
3518         (WebCore::Font::Font):
3519         (WebCore::Font::operator=):
3520         (WebCore::Font::update):
3521         * platform/Font.h:
3522         * platform/FontDataSet.h:
3523         * platform/mac/FontMac.mm:
3524         (WebCore::Font::getWebCoreFont):
3525         (WebCore::Font::ascent):
3526         (WebCore::Font::descent):
3527         (WebCore::Font::lineSpacing):
3528         (WebCore::Font::xHeight):
3529         (WebCore::Font::isFixedPitch):
3530         (WebCore::Font::selectionRectForText):
3531         (WebCore::Font::drawText):
3532         (WebCore::Font::drawHighlightForText):
3533         (WebCore::Font::drawLineForText):
3534         (WebCore::Font::drawLineForMisspelling):
3535         (WebCore::Font::misspellingLineThickness):
3536         (WebCore::Font::floatWidth):
3537         (WebCore::Font::checkSelectionPoint):
3538         * platform/win/FontWin.cpp:
3539         (WebCore::FontData::FontData):
3540         (WebCore::FontData::~FontData):
3541         (WebCore::getFontData):
3542         (