Reviewed by Adele.
[WebKit-https.git] / WebCore / ChangeLog
1 2007-03-06  Kevin Decker  <kdecker@apple.com>
2
3         Reviewed by Adele.
4
5         Fixed: <rdar://problem/5041660> REGRESSION: <keygen> element broken, prevents users from signing up for Thawte email certs
6         
7         * bindings/objc/DOM.mm:
8         (WebCore::createElementClassMap): Added <keygen> to the DOM bindings so it can be accessed from Objective-C.
9         * css/html4.css: Apply the look of the <select> element to <keygen>.
10         * html/HTMLElementFactory.cpp:
11         (WebCore::keygenConstructor): Added. 
12         (WebCore::createFunctionMap): Added keygen.
13         * html/HTMLSelectElement.cpp: Made const typeAheadTimeout variable static const. 
14         (WebCore::HTMLSelectElement::HTMLSelectElement):  Fix both HTMLSelectElement constructors to initialize the
15          same number of member variables. The fact that some fields were not initialized could (and would) crash the
16          keygen element when selecting different items. Also removed m_typedString(String()) from the constructor
17          initialization because this is not needed.
18
19
20 2007-03-06  Kevin McCullough  <kmccullough@apple.com>
21
22         Reviewed by Darin.
23
24         - Rename a function to clarify its purpose.
25
26         * WebCore.exp:
27         * loader/FrameLoader.cpp:
28         (WebCore::FrameLoader::registerURLSchemeAsLocal):
29         * loader/FrameLoader.h:
30
31 2007-03-06  Adam Roben  <aroben@apple.com>
32
33         Build fix.
34
35         * WebCore.exp: Updated symbols.
36
37 2007-03-06  Adam Roben  <aroben@apple.com>
38
39         Reviewed by Anders.
40
41         Added a parameter to all StringTruncator methods to specify whether
42         rounding hacks should be on or off.
43
44         No layout test possible.
45
46         * platform/StringTruncator.cpp:
47         (WebCore::stringWidth): Added disableRoundingHacks parameter.
48         (WebCore::truncateString): Ditto.
49         (WebCore::StringTruncator::centerTruncate): Ditto.
50         (WebCore::StringTruncator::rightTruncate): Ditto.
51         (WebCore::StringTruncator::width): Ditto.
52         * platform/StringTruncator.h: Ditto.
53         * platform/mac/FileChooserMac.mm:
54         (WebCore::FileChooser::basenameForWidth): Pass in false to
55         centerTruncate so that the truncation matches the way the text will be
56         rendered.
57
58 2007-03-06  Anders Carlsson  <acarlsson@apple.com>
59
60         Reviewed by Maciej.
61
62         <rdar://problem/5035045>
63         REGRESSION: WebKit browser doesn't display image at http://www.metoffice.gov.uk/weather/satellite/index.html
64         
65         It turns out WinIE does allow you to access images by their id as special document properties. However, this is only
66         allowed when the element also has a name attribute. The value of the name attribute is ignored and can even be empty!
67         
68         * bindings/js/kjs_html.cpp:
69         (KJS::JSHTMLDocument::namedItemGetter):
70         Return jsUndefined() if the collection is empty.
71         
72         * html/HTMLImageElement.cpp:
73         (WebCore::HTMLImageElement::parseMappedAttribute):
74         (WebCore::HTMLImageElement::insertedIntoDocument):
75         (WebCore::HTMLImageElement::removedFromDocument):
76         * html/HTMLImageElement.h:
77         Add the id attribute value to the extra named item map.
78         
79         * html/HTMLNameCollection.cpp:
80         (WebCore::HTMLNameCollection::traverseNextItem):
81         Check for images with name attributes that match, as well as elements with id attributes that match where
82         the element also has a name attribute.
83
84 2007-03-06  Anders Carlsson  <acarlsson@apple.com>
85
86         Reviewed by Adam.
87
88         WebCore part of patch to make it possible to have different user agents for different URLs.
89
90         * bindings/js/kjs_navigator.cpp:
91         (KJS::Navigator::getValueProperty):
92         * bindings/js/kjs_proxy.cpp:
93         (WebCore::KJSProxy::initScriptIfNeeded):
94         * loader/DocumentLoader.cpp:
95         (WebCore::DocumentLoader::setLoading):
96         * loader/FrameLoader.cpp:
97         (WebCore::FrameLoader::userAgent):
98         (WebCore::FrameLoader::loadResourceSynchronously):
99         (WebCore::FrameLoader::applyUserAgent):
100         * loader/FrameLoader.h:
101         * loader/FrameLoaderClient.h:
102         * platform/graphics/svg/SVGImageEmptyClients.h:
103         (WebCore::SVGEmptyFrameLoaderClient::userAgent):
104
105 2007-03-05  Kevin McCullough  <kmccullough@apple.com>
106
107         Reviewed by Mark and Dave H.
108
109         - rdar://problem/5038491
110         An oversite of the security fix that prevented remote from loading local is that it
111         prevents user style sheets when the site is remote.  This fixes that.
112
113         * loader/Cache.cpp: Propogate and check user style sheet flag.
114         (WebCore::createResource):
115         (WebCore::Cache::requestResource):
116         * loader/Cache.h: Propogate user style sheet flag.
117         * loader/CachedCSSStyleSheet.cpp: Propogate user style sheet flag.
118         (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet):
119         * loader/CachedCSSStyleSheet.h: Propogate user style sheet flag.
120         * loader/DocLoader.cpp: Propogate user style sheet flag.
121         (WebCore::DocLoader::requestResource):
122         * loader/SubresourceLoader.cpp: Propogate and check user style sheet flag.
123         (WebCore::SubresourceLoader::create):
124         * loader/SubresourceLoader.h: Add check for user style sheet flag.
125         * loader/loader.cpp: Propogate user style sheet flag.
126         (WebCore::Loader::load):
127         (WebCore::Loader::servePendingRequests):
128         * loader/loader.h: Propogate user style sheet flag.
129
130 2007-03-06  Nikolas Zimmermann  <zimmermann@kde.org>
131
132         Reviewed by Darin.
133
134         Fixes: http://bugs.webkit.org/show_bug.cgi?id=12936 (Master bug used to track all current use problems.)
135
136         Fixes: http://bugs.webkit.org/show_bug.cgi?id=12926 (transform attribute not respected in nested <use> elements)
137         Fixes: http://bugs.webkit.org/show_bug.cgi?id=12267 (getElementById broken for <use>)
138         Fixes: http://bugs.webkit.org/show_bug.cgi?id=12916 (use instance in symbol definition does not work)
139         Fixes: http://bugs.webkit.org/show_bug.cgi?id=12917 (mouseout event does not occur after scaling use instance)
140         Fixes: http://bugs.webkit.org/show_bug.cgi?id=12838 (SVG <use> DOM broken for script)
141
142         Added test: svg/custom/use-nested-transform.svg
143         Added test: svg/custom/struct-use-09-b.svg (not yet official W3C-SVG-1.1 testcase)
144         Fixes test: svg/custom/use-elementInstance-event-target.svg (rectangle now turns green on first click)
145
146         Fix all (except one) known <use> bug. The remaining bug (12630) is not crucical at all.
147         Enable <use> again as default SVG feature, as discussed on webkit-dev.
148
149         dom/Element.cpp needed following tweak: set hasParentStyle to true, if there is no parentNode
150         available - which happens for <use> nodes, as it's a shadow node. This fixes recalcStyle behaviour.
151         Override recalcStyle() in SVGUseElement, and properly forward the call to the shadow tree root element.
152         The shadow tree now receives proper style updates (without having to recreate the whole tree!).
153
154         Override attributeChanged() in SVGUseElement and only call notifyAttributeChange if one of x/y/width/height/xlink:href
155         attribute changed - otherwhise we'll end up recreating the tree for every transform/style/(non-existing-attribute) change.
156
157         Do not override transform in nested use situations, but correctly append (right-sided) the translation of the <use> element.
158         Some cosmetic fixes: don't add transform="translate(0 0)" attributes if both x/y values are null in the shadow tree.
159
160         Factor out logic for replacing symbol/svg tags in the shadow tree, and also invoke it during expandUseElementsInShadowTree -
161         otherwhise <symbol><use xlink:href="#someOtherSymbol"></symbol> the <use> gets expanded to a <symbol>. Though no one expands
162         the <symbol> element - and we're end up in hitting an assertion. Avoid that.
163
164         * bindings/js/JSSVGElementWrapperFactory.cpp:
165         * bindings/js/kjs_dom.cpp:
166         (KJS::toJS):
167         * bindings/objc/DOM.mm:
168         (WebCore::createElementClassMap):
169         * dom/Element.cpp:
170         (WebCore::Element::recalcStyle):
171         * ksvg2/svg/SVGElement.cpp:
172         (WebCore::shadowTreeParentElementForShadowTreeElement):
173         (WebCore::SVGElement::dispatchEvent):
174         * ksvg2/svg/SVGElementInstance.cpp:
175         * ksvg2/svg/SVGElementInstance.h:
176         * ksvg2/svg/SVGElementInstance.idl:
177         * ksvg2/svg/SVGElementInstanceList.cpp:
178         * ksvg2/svg/SVGElementInstanceList.h:
179         * ksvg2/svg/SVGElementInstanceList.idl:
180         * ksvg2/svg/SVGStyledElement.cpp:
181         (WebCore::SVGStyledElement::notifyAttributeChange):
182         (WebCore::SVGStyledElement::updateElementInstance):
183         * ksvg2/svg/SVGStyledElement.h:
184         * ksvg2/svg/SVGUseElement.cpp:
185         (WebCore::SVGUseElement::attributeChanged):
186         (WebCore::SVGUseElement::notifyAttributeChange):
187         (WebCore::SVGUseElement::recalcStyle):
188         (WebCore::SVGUseElement::buildPendingResource):
189         (WebCore::SVGUseElement::buildShadowTreeForSymbolTag):
190         (WebCore::SVGUseElement::alterShadowTreeForSVGTag):
191         (WebCore::SVGUseElement::buildShadowTree):
192         (WebCore::SVGUseElement::expandUseElementsInShadowTree):
193         (WebCore::SVGUseElement::attachShadowTree):
194         * ksvg2/svg/SVGUseElement.h:
195         * ksvg2/svg/SVGUseElement.idl:
196         * ksvg2/svg/svgtags.in:
197
198 2007-03-05  Brady Eidson  <beidson@apple.com>
199
200         Reviewed by John
201
202         Fixes <rdar://problem/4974258>
203         Adds some key null checking
204
205         * bindings/js/kjs_html.cpp:
206         (KJS::JSHTMLElement::implementsCall): Null check doc/frame
207         * bindings/objc/DOMInternal.mm:
208         (-[WebScriptObject _initializeScriptDOMNodeImp]): Null check doc/frame
209
210 2007-03-06  Nikolas Zimmermann  <zimmermann@kde.org>
211
212         Reviewed by Darin.
213
214         Path::normalAngleAtLength() / Path::pointAtLength() don't work correctly.
215         pointAtLength() was not implemented, basically and normalAngleAtLength()
216         had a bug in the tangent slope calculation.
217
218         The normalAngleAtLength() stuff can only be tested with my local textPath support.
219         New LayoutTest: svg/custom/path-textPath-simulation.svg
220
221         * platform/graphics/Path.cpp:
222         (WebCore::pathLengthApplierFunction):
223         * platform/graphics/PathTraversalState.cpp:
224         (WebCore::PathTraversalState::quadraticBezierTo):
225         (WebCore::PathTraversalState::cubicBezierTo):
226         * platform/graphics/PathTraversalState.h:
227         (WebCore::PathTraversalState::):
228
229 2007-03-05  Alexey Proskuryakov  <ap@webkit.org>
230
231         Reviewed by Darin.
232
233         http://bugs.webkit.org/show_bug.cgi?id=12970
234         Fix and import 4XPath test_core_functions.html test
235
236         * xml/XPathExpression.cpp:
237         (WebCore::XPathExpression::evaluate): Fully initialize the evaluation context.
238
239         * xml/XPathFunctions.cpp:
240         (WebCore::XPath::FunSubstring::doEvaluate): Fixed handling of edge cases.
241         (WebCore::XPath::FunRound::round): Reimplemented to match the spec; exposed FunRound::round() to be used in
242         other functions.
243
244 2007-03-05  Alexey Proskuryakov  <ap@webkit.org>
245
246         Reviewed by Darin.
247
248         http://bugs.webkit.org/show_bug.cgi?id=12954
249         XPath relative operations are implemented incorrectly
250
251         * xml/XPathPredicate.cpp:
252         (WebCore::XPath::NumericOp::doEvaluate):
253         (WebCore::XPath::EqTestOp::compare):
254         (WebCore::XPath::EqTestOp::doEvaluate):
255         Reimplemented relative equality operations to match the spec.
256
257         * xml/XPathPredicate.h:
258         (WebCore::XPath::NumericOp::):
259         (WebCore::XPath::EqTestOp::):
260         Moved relative operations to EqTestOp.
261
262         * xml/XPathGrammar.y:
263         * xml/XPathParser.cpp:
264         (WebCore::XPath::Parser::nextTokenInternal):
265         (WebCore::XPath::Parser::lex):
266         Adapted for the above changes.
267
268 2007-03-05  Mark Rowe  <mrowe@apple.com>
269
270         Reviewed by Lars.
271
272         Fix http://bugs.webkit.org/show_bug.cgi?id=12947
273         Bug 12947: REGRESSION: ASSERTION FAILED: maxWidth >= 0 in StringTruncator.cpp:109 in WebCore::truncateString()
274
275         Handle nil window correctly in toUserSpace and toDeviceSpace.  On Intel Macs a message to nil that returns a
276         float will return 0.0.  We use this as the divisor in calculating a scale factor, which results in NaN being
277         introduced into our rect.
278
279         * platform/mac/ScreenMac.mm:
280         (WebCore::toUserSpace):
281         (WebCore::toDeviceSpace):
282
283 2007-03-05  Rob Buis  <buis@kde.org>
284
285         Reviewed by Darin.
286
287         http://bugs.webkit.org/show_bug.cgi?id=12868
288         parts of the CSS classes in this simple SVG example are not applied
289
290         Make sure the xml stylesheets are parsed in strict mode.
291
292         * dom/ProcessingInstruction.cpp:
293         (WebCore::ProcessingInstruction::parseStyleSheet):
294
295 2007-03-04  Adele Peterson  <adele@apple.com>
296
297         Reviewed by Darin.
298
299         Change to dispatch the keypress event during the defaultEventHandler for keydown events.  This matches IE behavior.
300         This is preparation for fixing event dispatch with input methods (http://bugs.webkit.org/show_bug.cgi?id=10871)
301
302         Test: fast/events/keydown-keypress-preventDefault.html
303
304         * dom/EventTargetNode.cpp: (WebCore::EventTargetNode::defaultEventHandler): Call the defaultKeyboardEventHandler for keydown events.
305         * page/EventHandler.cpp:
306         (WebCore::eventTargetNodeForDocument): Return 0 instead of false since the return type in EventTargetNode.
307         (WebCore::EventHandler::keyEvent): Removed dispatch of keypress event, since this is now done in the default event handler.
308         (WebCore::EventHandler::defaultKeyboardEventHandler): For keydown events, create and dispatch a keypress event.
309
310 2007-03-04  Alexey Proskuryakov  <ap@webkit.org>
311
312         Reviewed by Nikolas Zimmermann (yay!).
313
314         http://bugs.webkit.org/show_bug.cgi?id=12962
315         4XPath tests crash on lang() function
316
317         Covered by 4XPath tests, to be landed later.
318
319         * platform/StringImpl.cpp:
320         (WebCore::StringImpl::reverseFind): Do not crash with empty strings.
321         * xml/XPathFunctions.cpp:
322         (WebCore::XPath::FunLang::doEvaluate): Do not crash when an element has no
323         attributes. Use a proper namespace for xml:lang (not sure where "xms" came from).
324         Rewrote the algorithm for suffix removing to match the spec.
325
326 2007-03-02  Anders Carlsson  <acarlsson@apple.com>
327
328         Reviewed by Darin.
329
330         <rdar://problem/5028165> 
331         http://bugs.webkit.org/show_bug.cgi?id=12915
332         REGRESSION: XMLHttpRequest.abort() does not stop loading (12915)
333         
334         * loader/DocumentLoader.cpp:
335         (WebCore::DocumentLoader::stopLoading):
336         Save the value of m_loading since calling FrameLoader::stopLoading could set it to false.
337         
338         * loader/SubresourceLoader.cpp:
339         (WebCore::SubresourceLoader::didCancel):
340         * loader/SubresourceLoader.h:
341         Get rid of didCancel now, it's not needed anymore.
342         
343         * xml/xmlhttprequest.cpp:
344         (WebCore::XMLHttpRequest::abort):
345         Call cancel() instead of stopLoading(). Also, set m_aborted to true so the XMLHttpRequest object
346         won't be dereferenced in didFail when aborting.
347
348 2007-03-04  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>
349
350         Reviewed by Nikolas Zimmermann.
351
352         Move ScrollView stubs to ScrollViewGdk.cpp
353
354         * platform/gdk/FrameGdk.h: remove comment that no longer makes sense
355         * platform/gdk/ScrollViewGdk.cpp:
356         (WebCore::ScrollView::addChild):
357         (WebCore::ScrollView::removeChild):
358         (WebCore::ScrollView::scrollPointRecursively):
359         (WebCore::ScrollView::inWindow):
360         (WebCore::ScrollView::wheelEvent):
361         (WebCore::ScrollView::updateScrollbars):
362         (WebCore::ScrollView::updateScrollInfo):
363         (WebCore::ScrollView::windowToContents):
364         (WebCore::ScrollView::contentsToWindow):
365         (WebCore::ScrollView::scrollbarUnderMouse):
366         * platform/gdk/TemporaryLinkStubs.cpp:
367
368 2007-03-02  Kevin McCullough  <kmccullough@apple.com>
369
370         Reviewed by Geoff.
371
372         - rdar://problem/4922454
373         - This fixes a security issue by making remote referrers not able to access local
374         resources, unless they register their schemes to be treated as local. The result is
375         that those schemes can access local resources and cannot be accessed by remote
376         referrers.
377         Because this behavior is new a link-on-or-after check is made to determine if the
378         app should use the older, less safe, behavior.
379
380         * WebCore.exp: added exported functions
381         * bindings/objc/DOM.mm: consolodated function to base class
382         (-[DOMElement image]):
383         (-[DOMElement _imageTIFFRepresentation]):
384         * dom/Document.cpp: Cache the document's ability to load local resources.
385         (WebCore::Document::Document):
386         (WebCore::Document::setURL):
387         (WebCore::Document::shouldBeAllowedToLoadLocalResources):
388         (WebCore::Document::stylesheetLoaded):
389         * dom/Document.h: Cache the docuent's ability to load local resources.
390         (WebCore::Document::getPendingSheet):
391         (WebCore::Document::isAllowedToLoadLocalResources):
392         * html/HTMLImageLoader.cpp: Moved functionality into base class.
393         (WebCore::HTMLImageLoader::updateFromElement):
394         (WebCore::HTMLImageLoader::dispatchLoadEvent):
395         * html/HTMLLinkElement.cpp: Handles null returns correctly now.
396         * html/HTMLTokenizer.cpp: Moved functionality into base class.
397         (WebCore::HTMLTokenizer::notifyFinished):
398         * ksvg2/misc/SVGImageLoader.cpp: Moved functionality into base class.
399         (WebCore::SVGImageLoader::dispatchLoadEvent):
400         * loader/Cache.cpp: Checks if the cached resource can be loaded.
401         (WebCore::Cache::requestResource):
402         * loader/CachedCSSStyleSheet.cpp: Moved functionality into base class.
403         (WebCore::CachedCSSStyleSheet::ref):
404         (WebCore::CachedCSSStyleSheet::error):
405         * loader/CachedImage.cpp: Moved functionality into base class.
406         (WebCore::CachedImage::CachedImage):
407         * loader/CachedImage.h: Moved functionality into base class.
408         (WebCore::CachedImage::canRender):
409         * loader/CachedResource.cpp: Cache if the CachedResource should be treated as local
410         (WebCore::CachedResource::CachedResource):
411         * loader/CachedResource.h: Moved functionality into base class.
412         (WebCore::CachedResource::errorOccurred):
413         (WebCore::CachedResource::shouldTreatAsLocal):
414         * loader/CachedScript.cpp: Moved functionality into base class.
415         (WebCore::CachedScript::CachedScript):
416         * loader/CachedScript.h: Moved functionality into base class.
417         (WebCore::CachedScript::schedule):
418         * loader/CachedXBLDocument.cpp: Moved functionality into base class.
419         (WebCore::CachedXBLDocument::error):
420         * loader/CachedXSLStyleSheet.cpp: Moved functionality into base class.
421         (WebCore::CachedXSLStyleSheet::error):
422         * loader/FrameLoader.cpp: See comments for each function below.
423         (WebCore::FrameLoader::loadSubframe): Use new canLoad.
424         (WebCore::FrameLoader::restrictAccessToLocal): return value of linked-on-or-after check.
425         (WebCore::FrameLoader::setRestrictAccessToLocal): set value for linked-on-or-after check.
426         (WebCore::localSchemes): Return set of schemes that are to be treated as local.
427         (WebCore::FrameLoader::loadPlugin): Use new canLoad.
428         (WebCore::FrameLoader::canLoad): Now multiple functions that each do the same work but some can take advantage of the cached values, if they were computed previously.
429         (WebCore::FrameLoader::shouldHideReferrer): Extracted out the logic to determine if the referrer should be hidden so it is only calculated when needed.
430         (WebCore::FrameLoader::loadResourceSynchronously): No longer calls canLoad to get hideReferrer info.
431         (WebCore::FrameLoader::registerSchemeAsLocal): Functionality to register a scheme to be treated as local.
432         (WebCore::FrameLoader::treatURLAsLocal): Given a URL this function determines if it should be treated as local.
433         * loader/FrameLoader.h: Declared functions for this security fix.  See above.
434         * loader/MainResourceLoader.cpp: Optized order of bools to regain performance.
435         (WebCore::MainResourceLoader::continueAfterContentPolicy):
436         * loader/SubresourceLoader.cpp: Now restricts remote from loading local resources.
437         (WebCore::SubresourceLoader::create):
438         * page/EventHandler.cpp: Moved functionality into base class.
439         (WebCore::selectCursor):
440         * platform/KURL.cpp: KURLs need to check all the registered schemes now.
441         (WebCore::KURL::isLocalFile):
442         * rendering/HitTestResult.cpp: Moved functionality into base class.
443         (WebCore::HitTestResult::image):
444         * rendering/RenderImage.cpp: Moved functionality into base class.
445         (WebCore::RenderImage::setCachedImage):
446         (WebCore::RenderImage::imageChanged):
447         (WebCore::RenderImage::paint):
448         (WebCore::RenderImage::layout):
449         (WebCore::RenderImage::calcAspectRatioWidth):
450         (WebCore::RenderImage::calcAspectRatioHeight):
451         * rendering/RenderImage.h: Moved functionality into base class.
452         (WebCore::RenderImage::errorOccurred):
453         * rendering/RenderListItem.cpp: Moved functionality into base class.
454         (WebCore::RenderListItem::setStyle):
455         * rendering/RenderListMarker.cpp: Moved functionality into base class.
456         (WebCore::RenderListMarker::isImage):
457         * xml/xmlhttprequest.cpp: Check doc's cached value instead of determining independently.
458         (WebCore::XMLHttpRequest::urlMatchesDocumentDomain):
459
460 2007-03-02  Justin Garcia  <justin.garcia@apple.com>
461
462         Reviewed by kevin
463         
464         <rdar://problem/5028447>
465         REGRESSION: Gmail Editor: Copied message text pastes at the wrong font size
466
467         * editing/markup.cpp:
468         (WebCore::createMarkup): The style of the div that holds
469         a fully selected body's styles didn't include styles inherited
470         from the body's ancestors.
471         
472 2007-03-02  Justin Garcia  <justin.garcia@apple.com>
473
474         Reviewed by harrison
475
476         <rdar://problem/4545040>
477         innerHTML does not HTML-escape text nodes inside PRE elements
478         <rdar://problem/5027857>
479         Pasting into Mail from Safari's view-source window renders the HTML
480
481         * editing/HTMLInterchange.cpp:
482         (WebCore::convertHTMLTextToInterchangeFormat): Send this function
483         the node that the text comes from as a parameter.  It shouldn't convert
484         '\n's to spaces/nbsps if the text is coming from text where newlines are
485         preserved.
486         * editing/HTMLInterchange.h:
487         * editing/markup.cpp:
488         (WebCore::startMarkup): Escape text inside the children of PREs.
489
490 2007-03-02  Sam Weinig  <sam@webkit.org>
491
492         Reviewed by Anders.
493
494         Try to fix the Qt build.
495
496         * platform/qt/TemporaryLinkStubs.cpp: Add stubs.
497         (WebCore::searchMenuNoRecentSearchesText):
498         (WebCore::searchMenuRecentSearchesText):
499         (WebCore::searchMenuClearRecentSearchesText):
500         (WebCore::AXWebAreaText):
501         (WebCore::AXLinkText):
502         (WebCore::AXListMarkerText):
503         (WebCore::AXImageMapText):
504         (WebCore::AXHeadingText):
505
506 2007-03-02  David Harrison  <harrison@apple.com>
507
508         Suggested by Darin.
509
510         A more efficient solution to rdar://4961431.
511
512         * bridge/mac/WebCoreAXObject.mm:
513         (-[WebCoreAXObject accessibilityIsIgnored]):
514
515 2007-03-01  Justin Garcia  <justin.garcia@apple.com>
516
517         Reviewed by john
518         
519         <rdar://problem/5032095>
520         Gmail Editor: Copied text pastes on a new line instead of current line
521         
522         Start merge failed to occur because positionAtStartOfInsertedContent
523         had a bug.
524
525         * editing/ReplaceSelectionCommand.cpp:
526         (WebCore::ReplaceSelectionCommand::positionAtStartOfInsertedContent):
527         Was failing when inserting <span><div>foo/div></span>. Return the 
528         inserted content's first VisiblePosition.
529
530 2007-03-02  Dave Hyatt  <hyatt@apple.com>
531
532         Fix crasher in glyph map code (buffer overrun).
533
534         Reviewed by darin
535
536         * platform/win/GlyphPageTreeNodeWin.cpp:
537         (WebCore::GlyphPage::fill):
538
539 2007-03-01  Antti Koivisto  <antti@apple.com>
540
541         Reviewed by Maciej.
542
543         Fix for http://bugs.webkit.org/show_bug.cgi?id=12895
544         REGRESSION: imagemap: pointer cursor is shown everywhere
545         <rdar://problem/5028163>
546  
547         Image with imagemap should never itself be URLElement in hit test results. 
548                
549         No layout test, cursor state can't be captured.
550
551         * rendering/RenderLayer.cpp:
552         (WebCore::RenderLayer::hitTest):
553
554 2007-03-01  Antti Koivisto  <antti@apple.com>
555
556         Reviewed by Maciej.
557         
558         Fix http://bugs.webkit.org/show_bug.cgi?id=12690
559         REGRESSION: can not log in to bank of america with TOT webkit
560         <rdar://problem/4990044>
561         
562         and http://bugs.webkit.org/show_bug.cgi?id=12604
563         REGRESSION: After closing the "Would you like to save password" sheet, the form fails 
564         to submit automatically at http://www.mac.com/WebObjects/HomePage.woa
565         <rdar://problem/4871752>
566         
567         and http://bugs.webkit.org/show_bug.cgi?id=12020
568         REGRESSION: Flickr uploading broken
569         <rdar://problem/4928662>
570         
571         Turn protection against multiple forms submission back on. This approach is buggy 
572         but it is way better than not having it at all. Not protecting against this
573         breaks number of major sites.
574         
575         * bridge/mac/WebCoreAXObject.mm:
576         (-[WebCoreAXObject accessibilityPerformAction:]):
577         * loader/FrameLoader.cpp:
578         (WebCore::FrameLoader::resetMultipleFormSubmissionProtection):
579         (WebCore::FrameLoader::submitForm):
580         (WebCore::FrameLoader::receivedMainResourceError):
581         * loader/FrameLoader.h:
582         * page/EventHandler.cpp:
583         (WebCore::EventHandler::keyEvent):
584         * page/Frame.cpp:
585         (WebCore::Frame::setView):
586         * page/mac/EventHandlerMac.mm:
587         (WebCore::EventHandler::mouseDown):
588
589 2007-03-01  Kevin McCullough  <kmccullough@apple.com>
590
591         Reviewed by Adam.
592
593         - Added the test case: external-script-URL-location.html
594         - Fix an issue where the url of a document is null after an open if the document
595         has no parent.
596
597         * dom/Document.cpp:
598         (WebCore::Document::open):
599
600 2007-03-01  Anders Carlsson  <acarlsson@apple.com>
601
602         Reviewed by Darin.
603
604         <rdar://problem/4960250> 
605         http://bugs.webkit.org/show_bug.cgi?id=11627
606         REGRESSION: Reproducible crash at IMDb in WebCore::FrameLoader::stopLoadingSubframes
607         
608         In rare cases, we could end up calling checkLoadComplete twice for the same frame. This would cause the 
609         didFailProvisionalLoad delegate method to be called twice for the same frame, and also cause the provisional document loader
610         to be reset to null when other code wasn't expecting it.
611         
612         This regressed in revision 10904 with the fix for <rdar://problem/4184719>. The fix is to only call stopLoading on the frame
613         if either the document loader is loading, or the document is still being parsed. I've verified that the bug is still fixed and
614         that no leaks occur.
615         
616         * loader/DocumentLoader.cpp:
617         (WebCore::DocumentLoader::stopLoading):
618
619 2007-03-01  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>
620
621         Reviewed by Darin.
622
623         Fix ARM crash due to accessing non-4-byte-aligned memory
624         as 32-bit values.
625
626         * platform/AtomicString.cpp:
627         (WebCore::UCharBufferTranslator::equal):
628
629 2007-03-01  David Harrison  <harrison@apple.com>
630
631         Reviewed by Darin.
632
633         <rdar://problem/5033905> Have the DOM secondary thread check raise an exception by default
634
635         * platform/mac/ThreadCheck.mm:
636         (WebCore::_WebCoreThreadViolationCheck):
637         Initialize threadViolationIsException to true.
638
639 2007-03-01  Brady Eidson  <beidson@apple.com>
640
641         Reviewed by Darin
642
643         <rdar://problem/5030628> - Crash opening a new window with the
644         "New windows open to the same page" pref set
645
646         * history/HistoryItem.cpp:
647         (WebCore::HistoryItem::HistoryItem): Set the m_subItems vector capacity correctly
648
649 2007-03-01  Alexey Proskuryakov  <ap@webkit.org>
650
651         Reviewed by Maciej.
652
653         http://bugs.webkit.org/show_bug.cgi?id=12801
654         Assertion failure in createMarkup() (root) when doing Select All, Copy in an SVG document
655
656         Test: editing/pasteboard/createMarkup-assert.xml
657
658         * editing/markup.cpp:
659         (WebCore::createMarkup): Removed the assertion, because it's wrong in a non-HTML world.
660
661 2007-02-28  Adam Roben  <aroben@apple.com>
662
663         Reviewed by Oliver and Hyatt.
664
665         Fix <rdar://problem/5024233> Crash while using Find on empty document
666
667         No layout test possible, as this involves a null document.
668
669         * dom/Range.cpp:
670         (WebCore::rangeOfContents): Added an ASSERT.
671         * page/Frame.cpp:
672         (WebCore::Frame::findString): Added a null-check for document().
673         (WebCore::Frame::markAllMatchesForText): Ditto.
674
675 2007-02-28  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>
676
677         Not reviewed - simple gdk build fix.
678
679         Add stubs for newly introduced localized strings.
680
681         * platform/gdk/TemporaryLinkStubs.cpp:
682         (WebCore::searchMenuNoRecentSearchesText):
683         (WebCore::searchMenuRecentSearchesText):
684         (WebCore::searchMenuClearRecentSearchesText):
685
686 2007-02-28  Brady Eidson  <beidson@apple.com>
687
688         Reviewed by Beth
689
690         Move the Thread Safety Check functions into their own header for export to WebKit
691
692         * WebCore.exp: Export the function
693         * WebCore.xcodeproj/project.pbxproj: 
694         * bindings/scripts/CodeGeneratorObjC.pm: Include the new header
695         * platform/Logging.h: Move stuff to ThreadCheck.h
696         * platform/ThreadCheck.h: Added.
697         * platform/mac/LoggingMac.mm: Move stuff to ThreadCheck.mm
698         * platform/mac/ThreadCheck.mm: Added.
699         (WebCore::_WebCoreThreadViolationCheck):
700         (WebCoreReportThreadViolation):
701
702 2007-02-28  Beth Dakin  <bdakin@apple.com>
703
704         Reviewed by Brady.
705
706         Fix for http://bugs.webkit.org/show_bug.cgi?id=12923 REGRESSION: 
707         Assertion failure copying standalone image
708
709         * platform/mac/PasteboardMac.mm:
710         (WebCore::Pasteboard::writeImage): Use the CachedImage as the 
711         resource. This makes more sense anyway. There is no need to null-
712         check the renderer or the CachedImage since we return early if 
713         there is no Image* and the HitTestResult::image() function checks 
714         for these things.
715
716 2007-02-28  Adele Peterson  <adele@apple.com>
717
718         Reviewed by Beth.
719
720         Fix for <rdar://problem/4887423> REGRESSION: search results popup menu strings are not localized
721         and <rdar://problem/3517227> accessibility-related strings in WebCore are not localized
722
723         Use localized strings from WebKit instead of hard coded strings.
724
725         * bridge/mac/WebCoreAXObject.mm: (-[WebCoreAXObject roleDescription]):
726         * page/mac/WebCoreViewFactory.h:
727         * platform/LocalizedStrings.h:
728         * platform/mac/LocalizedStringsMac.mm:
729         (WebCore::searchMenuNoRecentSearchesText):
730         (WebCore::searchMenuRecentSearchesText):
731         (WebCore::searchMenuClearRecentSearchesText):
732         (WebCore::AXWebAreaText):
733         (WebCore::AXLinkText):
734         (WebCore::AXListMarkerText):
735         (WebCore::AXImageMapText):
736         (WebCore::AXHeadingText):
737         * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::itemText):
738
739 2007-02-27  Antti Koivisto  <antti@apple.com>
740
741         Reviewed by Maciej.
742
743         - fix http://bugs.webkit.org/show_bug.cgi?id=12911
744         GoogleDocs: Ordered lists don't update immediately when start attribute changed
745         
746         Update list marker value when start attribute changes.
747
748         * html/HTMLOListElement.cpp:
749         (WebCore::HTMLOListElement::parseMappedAttribute):
750
751 2007-02-28  Nikolas Zimmermann  <zimmermann@kde.org>
752
753         Reviewed by Maciej.
754
755         Corrected the use of the new ENABLE() macros in some ksvg2/svg files.
756         Add new build-webkit flags "--(no-)xpath" / "--(no-)xslt", to be able
757         to switch off build features easily. Also add "--(no-)svg-experimental-features"
758         flag, to be able to test filters/animations/use/foreignObject easily.
759
760         * DerivedSources.make:
761         * ksvg2/scripts/make_names.pl:
762         * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
763         * ksvg2/svg/SVGStyledElement.cpp:
764         * ksvg2/svg/SVGUseElement.cpp:
765
766 2007-02-28  Rob Buis  <buis@kde.org>
767
768         Reviewed by Maciej.
769
770         http://bugs.webkit.org/show_bug.cgi?id=12609
771         Any SVG element will create renderers even when children of HTML elements
772
773         Allow creation of svg renderers only when parent is SVG, except for
774         the <svg> element.
775
776         * ksvg2/svg/SVGAElement.h:
777         * ksvg2/svg/SVGAnimationElement.h:
778         * ksvg2/svg/SVGCircleElement.h:
779         * ksvg2/svg/SVGClipPathElement.h:
780         (WebCore::SVGClipPathElement::rendererIsNeeded):
781         * ksvg2/svg/SVGDefsElement.cpp:
782         * ksvg2/svg/SVGDefsElement.h:
783         * ksvg2/svg/SVGDescElement.h:
784         (WebCore::SVGDescElement::rendererIsNeeded):
785         * ksvg2/svg/SVGElement.cpp:
786         * ksvg2/svg/SVGEllipseElement.h:
787         * ksvg2/svg/SVGFilterElement.h:
788         (WebCore::SVGFilterElement::rendererIsNeeded):
789         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h:
790         (WebCore::SVGFilterPrimitiveStandardAttributes::rendererIsNeeded):
791         * ksvg2/svg/SVGForeignObjectElement.h:
792         * ksvg2/svg/SVGGElement.h:
793         * ksvg2/svg/SVGGradientElement.h:
794         * ksvg2/svg/SVGImageElement.h:
795         * ksvg2/svg/SVGLineElement.h:
796         * ksvg2/svg/SVGMarkerElement.h:
797         * ksvg2/svg/SVGMaskElement.h:
798         * ksvg2/svg/SVGPathElement.h:
799         * ksvg2/svg/SVGPatternElement.h:
800         * ksvg2/svg/SVGPolyElement.h:
801         * ksvg2/svg/SVGRectElement.h:
802         * ksvg2/svg/SVGStopElement.h:
803         * ksvg2/svg/SVGStyledElement.cpp:
804         (WebCore::SVGStyledElement::rendererIsNeeded):
805         * ksvg2/svg/SVGStyledElement.h:
806         * ksvg2/svg/SVGSwitchElement.h:
807         * ksvg2/svg/SVGSymbolElement.h:
808         (WebCore::SVGSymbolElement::rendererIsNeeded):
809         * ksvg2/svg/SVGTRefElement.h:
810         * ksvg2/svg/SVGTSpanElement.h:
811         * ksvg2/svg/SVGTextElement.h:
812         * ksvg2/svg/SVGTitleElement.h:
813         (WebCore::SVGTitleElement::rendererIsNeeded):
814         * ksvg2/svg/SVGUseElement.h:
815         * ksvg2/svg/SVGViewElement.h:
816         (WebCore::SVGViewElement::rendererIsNeeded):
817
818 2007-02-28  Rob Buis  <buis@kde.org>
819
820         Reviewed by Maciej.
821
822         http://bugs.webkit.org/show_bug.cgi?id=12913
823         Markers do not render in webkit when it misses markerWidth or markerHeight attribute
824
825         Set defaults for markerWidth/markerHeight so markers that do not specify them render.
826
827         * ksvg2/svg/SVGMarkerElement.cpp:
828         (WebCore::SVGMarkerElement::SVGMarkerElement):
829
830 2007-02-27  Anders Carlsson  <acarlsson@apple.com>
831
832         * loader/ResourceLoader.cpp:
833         (WebCore::ResourceLoader::~ResourceLoader):
834         Remove comment.
835
836 2007-02-27  Justin Garcia  <justin.garcia@apple.com>
837
838         Reviewed by oliver
839
840         <rdar://problem/5027300>
841         REGRESSION: Images inserted with align left/right are lost
842
843         * editing/ReplaceSelectionCommand.cpp:
844         (WebCore::ReplaceSelectionCommand::shouldMerge):
845         Don't attempt to merge to or from a position before 
846         or after a block because it will be a no-op and
847         lead to infinite recursion.
848         In this case it instead resulted in content loss because 
849         of bugs in start/endOfParagraph (5027702).
850         * editing/visible_units.cpp: Added two FIXMEs for
851         the problems with start/endOfParagraph.
852
853 2007-02-27  Anders Carlsson  <acarlsson@apple.com>
854
855         Reviewed by Geoff.
856
857         Make resource load delegate methods pass the right document loader.
858         
859         * loader/FrameLoader.cpp:
860         (WebCore::FrameLoader::willSendRequest):
861         (WebCore::FrameLoader::didReceiveResponse):
862         (WebCore::FrameLoader::didReceiveData):
863         (WebCore::FrameLoader::didFailToLoad):
864         (WebCore::FrameLoader::didFinishLoad):
865         (WebCore::FrameLoader::didReceiveAuthenticationChallenge):
866         (WebCore::FrameLoader::didCancelAuthenticationChallenge):
867         Use the resource loader's document loader instead of the active one.
868         
869         * loader/MainResourceLoader.cpp:
870         (WebCore::MainResourceLoader::receivedError):
871         Make it so we send the frame load delegate method before the resource load delegate method.
872         This was a regression from 2.0 and was caused by the fix to rdar://problem/4609195. Because the way the loader
873         now works, both delegate methods will be called.
874         
875         * loader/ResourceLoader.cpp:
876         (WebCore::ResourceLoader::ResourceLoader):
877         * loader/ResourceLoader.h:
878         (WebCore::ResourceLoader::documentLoader):
879         Add document loader pointer to ResourceLoader.
880
881 2007-02-27  Mitz Pettel  <mitz@webkit.org>
882
883         Reviewed by Hyatt.
884
885         - fix http://bugs.webkit.org/show_bug.cgi?id=12910
886           REGRESSION (r18756-r18765): list-bullet doesn't redraw properly when changing the list's content using JavaScript
887
888         Test: fast/repaint/list-marker.html
889
890         * rendering/RenderListItem.cpp:
891         (WebCore::RenderListItem::positionListMarker): Add the marker to the visual
892         overflow of all its ancestor blocks up to the list item. This needs to be
893         done here since the marker is positioned only after those blocks have been
894         laid out.
895
896 2007-02-27  Antti Koivisto  <antti@apple.com>
897
898         Reviewed by Hyatt.
899         
900         - fix http://bugs.webkit.org/show_bug.cgi?id=12918
901         REGRESSION: Google Finance dropdown Flickers
902         <rdar://4988039>
903         
904         If a node dies while mouse is over it, it is still supposed to receive
905         mouseout event (wasn't case in Tiger webkit). However this event should 
906         not propagate to any other nodes. This patch matches Firefox behavior in
907         this respect.
908
909         * dom/EventTargetNode.cpp:
910         (WebCore::EventTargetNode::dispatchGenericEvent):
911
912 2007-02-27  Geoffrey Garen  <ggaren@apple.com>
913
914         Reviewed by Maciej Stachowiak.
915         
916         Fixed http://bugs.webkit.org/show_bug.cgi?id=12659 | <rdar://problem/4954306>
917         JS objects not collected after closing window @ ebay.com/maps.google.com
918
919         Garbage collect in the KJSProxy destructor, after clearing our reference
920         to the interpreter, because that's when the interpreter has torn down fully.
921
922         (Technically speaking, we can't *prove* that we have the only reference to 
923         our interpreter, but that's how it works in practice, and manual garbage 
924         collection is just an opportunistic optimization, so it's OK for it to 
925         work in practice even if it can't be proven in theory.)
926         
927         Layout tests pass. No leaks reported.
928
929         * bindings/js/kjs_proxy.cpp:
930         (WebCore::KJSProxy::~KJSProxy):
931         * bindings/js/kjs_proxy.h:
932         * page/Page.cpp:
933         (WebCore::Page::~Page): Merged pageDestroyed() calls. Moved debug-only
934         code to the bottom.
935         * page/Frame.cpp:
936         (WebCore::Frame::~Frame): Don't call getObject() because globalObject()
937         returns a JSObject* already, and the call can leave a pointer to the Window
938         object on the stack. Don't check for NULL because it is an invariant of
939         JavaScriptCore that no JSObject* can be NULL. Do use a volatile pointer
940         for w because the 'w = 0' assignment just screams to the compiler, "Don't
941         generate any code for me!"
942
943 2007-02-27  Rob Buis  <buis@kde.org>
944
945         Reviewed by David Hyatt.
946
947         http://bugs.webkit.org/show_bug.cgi?id=4128
948         !important is ignored in inline styling.
949
950         Handle properties with !important flag better in inline
951         style declarations.
952
953         * css/CSSMutableStyleDeclaration.cpp:
954         (WebCore::CSSMutableStyleDeclaration::addParsedProperties):
955
956 2007-02-27  David Hyatt  <hyatt@apple.com>
957
958         Bug 11435.  Make sure RenderViews always paintBoxDecorations.  They used to before I removed RenderView's
959         paint method.  This fix restores the original behavior.
960
961         Reviewed by mitz
962
963         * rendering/RenderBox.cpp:
964         (WebCore::RenderBox::setStyle):
965
966 2007-02-27  David Hyatt  <hyatt@apple.com>
967
968         Fix for bug 12094, make sure setMinMaxKnown starts off false for the weird/rare case of empty
969         plaintext documents (which really are buggy and should be fixed to generate root elements).
970
971         Reviewed by mitz
972
973         * rendering/RenderView.cpp:
974         (WebCore::RenderView::RenderView):
975
976 2007-02-27  Dex Deacon  <occupant4@gmail.com>
977
978         Reviewed by Darin.
979
980         Fixed the case where a BackForwardList of capacity==1 would grow without bound.
981
982         * history/BackForwardList.cpp:
983         (WebCore::BackForwardList::addItem):
984
985 2007-02-22  Lars Naesbye Christensen  <lars@naesbye.dk>
986
987         Reviewed by Maciej.
988
989         http://bugs.webkit.org/show_bug.cgi?id=12848
990         Help cursor should have a white outline
991
992         * Resources/helpCursor.png:
993
994 2007-02-27  Alexey Proskuryakov  <ap@webkit.org>
995
996         Reviewed by Maciej.
997
998         http://bugs.webkit.org/show_bug.cgi?id=12594
999         REGRESSION: Strange highlight in active input area
1000
1001         No automated test possible.
1002
1003         * rendering/InlineTextBox.cpp:
1004         (WebCore::InlineTextBox::paint): Restore a check lost in r12792.
1005
1006 2007-02-27  Darin Adler  <darin@apple.com>
1007
1008         Reviewed by Mitz.
1009
1010         - fix http://bugs.webkit.org/show_bug.cgi?id=12908
1011           crash in http/tests/incremental/frame-focus-before-load.html
1012
1013         * page/mac/EventHandlerMac.mm: (WebCore::EventHandler::focusDocumentView):
1014         Add null checks.
1015
1016 2007-02-27  Darin Adler  <darin@apple.com>
1017
1018         Reviewed by Alexey.
1019
1020         - fix http://bugs.webkit.org/show_bug.cgi?id=12909
1021           should use ICU, not TEC, for MacRoman decoding
1022
1023         * platform/TextCodecICU.cpp: (WebCore::TextCodecICU::registerEncodingNames):
1024         Add "macroman" as an alias for "macintosh". We have seen that in use in mail,
1025         although I'm not sure it's used on the web.
1026
1027         * platform/mac/mac-encodings.txt: Remove MacRoman line, which was added back
1028         as part of the patch for bug 4971226. But by adding it to this file rather
1029         than the ICU codec, we get it only on Mac OS X. And long term we are trying to
1030         get rid of the use of TEC entirely, so we want this file to be as empty as
1031         possible.
1032
1033 2007-02-27  Rob Buis  <buis@kde.org>
1034
1035         Reviewed by Maciej.
1036
1037         http://bugs.webkit.org/show_bug.cgi?id=12905
1038         Not all svg shapes should support markers
1039
1040         Restrict marker usage to svg shapes polyline, polygon, line and path.
1041
1042         * ksvg2/svg/SVGLineElement.h:
1043         (WebCore::SVGLineElement::supportsMarkers):
1044         * ksvg2/svg/SVGPathElement.h:
1045         (WebCore::SVGPathElement::supportsMarkers):
1046         * ksvg2/svg/SVGPolyElement.h:
1047         (WebCore::SVGPolyElement::supportsMarkers):
1048         * ksvg2/svg/SVGStyledElement.h:
1049         (WebCore::SVGStyledElement::supportsMarkers):
1050         * rendering/RenderPath.cpp:
1051         (WebCore::RenderPath::paint):
1052
1053 2007-02-26  Adele Peterson  <adele@apple.com>
1054
1055         Reviewed by Lars.
1056
1057         Fix for http://bugs.webkit.org/show_bug.cgi?id=12902
1058         <rdar://problem/5012679> REGRESSION: Pressing return key doesn't 
1059         move caret to next line after applying a font color in GMail
1060
1061         Test: fast/frames/iframe-window-focus-2.html
1062
1063         * page/EventHandler.h: Make focusDocumentView public.
1064         * page/Frame.cpp: (WebCore::Frame::focusWindow): Instead of just setting the focused frame,
1065           we should set also focus the document view.  The bug here was that since the subframe view
1066           wasn't the first responder, the key down event was going to the wrong frame.
1067
1068 2007-02-26  Maciej Stachowiak  <mjs@apple.com>
1069
1070         Reviewed by Oliver.
1071
1072         - fixed <rdar://problem/4946881> Recursive loop with <marker> not caught, crashes in WebCore::SVGPaintServer::draw (11244)
1073         http://bugs.webkit.org/show_bug.cgi?id=11244
1074
1075         * platform/graphics/svg/SVGResourceMarker.cpp:
1076         (WebCore::SVGResourceMarker::draw): Use a HashSet to guard against
1077         reference cycles.
1078
1079 2007-02-26  Maciej Stachowiak  <mjs@apple.com>
1080
1081         Reviewed by Kevin McCullough.
1082
1083         - fix Qt build for earlier SVG changes.
1084
1085         * platform/graphics/svg/qt/SVGResourceFilterQt.cpp:
1086
1087 2007-02-26  Oliver Hunt  <oliver@apple.com>
1088
1089         Reviewed by Maciej.
1090
1091         Fix for <rdar://problem/4827378>: Canvas with large height 
1092         uses lots of memory, computer almost stops responding
1093          
1094         Put cap on maximum area of canvas, size is similar too the 
1095         maximum size allowed by firefox (firefox seems to to cut off 
1096         at area == 32767 * 9358). 
1097
1098         Also protect renderer against the possibility of a null context
1099         (this was triggering a CG warning)
1100
1101         * html/HTMLCanvasElement.cpp:
1102         (WebCore::HTMLCanvasElement::createDrawingContext):
1103            Apply maximum canvas area
1104         (WebCore::HTMLCanvasElement::createPlatformImage):
1105            Protect against null CG Context
1106
1107 2007-02-26  Mitz Pettel  <mitz@webkit.org>
1108
1109         Reviewed by Antti Koivisto.
1110
1111         - fix http://bugs.webkit.org/show_bug.cgi?id=12899
1112           Ordered lists not updating dynamically with new styles
1113
1114         Test: fast/lists/list-style-type-dynamic-change.html
1115
1116         * rendering/RenderListMarker.cpp:
1117         (WebCore::RenderListMarker::setStyle): Made changing the marker type trigger
1118         updating of the marker.
1119
1120 2007-02-26  Adele Peterson  <adele@apple.com>
1121
1122         Reviewed by Maciej.
1123
1124         Fix for <rdar://problem/5012761> REGRESSION: form submit invokes wrong event handler
1125
1126         Test: fast/events/submit-reset-nested-bubble.html
1127
1128         * dom/EventTargetNode.h: Made handleLocalEvents virtual.
1129         * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::handleLocalEvents): If we're
1130           not in the capture phase, and the target is a different form, and we're handling
1131           the submitEvent or the resetEvent, then stop propagation of the event.  This matches
1132           Firefox behavior.  You can only get in this situation if misnested tags cause
1133           forms to be nested.
1134         * html/HTMLFormElement.h: Added handleLocalEvents.
1135
1136 2007-02-26  Darin Adler  <darin@apple.com>
1137
1138         Reviewed by Oliver Hunt.
1139
1140         - <rdar://problem/5021555> TextCodecICU does not use fallback mappings; it should
1141
1142         * platform/TextCodecICU.cpp: (WebCore::TextCodecICU::createICUConverter):
1143         Added a call to ucnv_setFallback(TRUE).
1144
1145 2007-02-26  Oliver Hunt  <oliver@apple.com>
1146
1147         Reviewed by Adam.
1148
1149         Fix for rdar://problem/5021127 
1150
1151         Need to add null check to node -- original Obj-C didn't need 
1152         the null check due to the Obj-C null messaging semantics
1153
1154         * editing/Editor.cpp:
1155         (WebCore::Editor::shouldInsertFragment):
1156
1157 2007-02-26  David Hyatt  <hyatt@apple.com>
1158
1159         Make text files render using white-space: pre-wrap instead of white-space: pre.
1160         
1161         Reviewed by aroben
1162
1163         * loader/TextDocument.cpp:
1164         (WebCore::TextTokenizer::write):
1165
1166 2007-02-26  David Hyatt  <hyatt@apple.com>
1167
1168         Back out the change to add fullyClippedContentRect.  The layout test
1169         was actually showing more correct results.
1170
1171         * page/Frame.cpp:
1172         (WebCore::Frame::visibleSelectionRect):
1173         (WebCore::Frame::setIsActive):
1174         (WebCore::Frame::markAllMatchesForText):
1175         * platform/ScrollView.h:
1176         * platform/mac/ScrollViewMac.mm:
1177         * rendering/RenderLayer.cpp:
1178         (WebCore::RenderLayer::scrollRectToVisible):
1179
1180 2007-02-26  David Hyatt  <hyatt@apple.com>
1181
1182         Add support for a new property called -webkit-border-fit.  This property
1183         has two values: border and lines.  The "border" value means the border and
1184         background paint normally at the border box level.  The "lines" value indicates
1185         that the border and background should shrink dynamically to snugly hug the
1186         line boxes of normal flow descendants.
1187
1188         Reviewed by darin
1189
1190         fast/borders/border-fit.html
1191
1192         * WebCore.xcodeproj/project.pbxproj:
1193         * css/CSSComputedStyleDeclaration.cpp:
1194         (WebCore::):
1195         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1196         * css/CSSPropertyNames.in:
1197         * css/CSSValueKeywords.in:
1198         * css/cssparser.cpp:
1199         (WebCore::CSSParser::parseValue):
1200         * css/cssstyleselector.cpp:
1201         (WebCore::CSSStyleSelector::applyProperty):
1202         * rendering/RenderBlock.cpp:
1203         (WebCore::RenderBlock::adjustForBorderFit):
1204         (WebCore::RenderBlock::borderFitAdjust):
1205         * rendering/RenderBlock.h:
1206         * rendering/RenderBox.cpp:
1207         (WebCore::RenderBox::paintBoxDecorations):
1208         * rendering/RenderBox.h:
1209         (WebCore::RenderBox::borderFitAdjust):
1210         * rendering/RenderStyle.cpp:
1211         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
1212         (WebCore::StyleRareNonInheritedData::operator==):
1213         (WebCore::RenderStyle::diff):
1214         * rendering/RenderStyle.h:
1215         (WebCore::):
1216         (WebCore::RenderStyle::borderFit):
1217         (WebCore::RenderStyle::setBorderFit):
1218         (WebCore::RenderStyle::initialBorderFit):
1219
1220 2007-02-26  Adam Roben  <aroben@apple.com>
1221
1222         Reviewed by Darin.
1223
1224         Build fix.
1225
1226         * rendering/RenderTreeAsText.cpp: Can't use #ifndef with ENABLE() macro.
1227
1228 2007-02-26  Adele Peterson  <adele@apple.com>
1229
1230         Reviewed by Adam.
1231
1232         Fix for <rdar://problem/4990700> Safari always crashes when attempting to edit/view 
1233         Yahoo pipes in WebCore::HTMLSelectElement::optionToListIndex
1234
1235         Test: fast/forms/select-out-of-bounds-index.html
1236
1237         * html/HTMLSelectElement.cpp:
1238         (WebCore::HTMLSelectElement::setSelectedIndex): If we're about to deselect all options, then set m_lastOnChangeIndex to -1.
1239         (WebCore::HTMLSelectElement::optionToListIndex): Moved listSize to a local variable.  Rewrote using a simpler for-loop to prevent out-of-bounds errors.
1240
1241 2007-02-26  Anders Carlsson  <acarlsson@apple.com>
1242
1243         Reviewed by Geoff.
1244
1245         <rdar://problem/4816376>
1246         REGRESSION: NetNewsWire 3.0 - Crashes in WebDocumentLoaderMac::attachToFrame() (12674)
1247         
1248         * loader/FrameLoader.cpp:
1249         (WebCore::FrameLoader::reload):
1250         Remove call to setPolicyDocumentLoader here, it's set by the ::load function that we end up calling.
1251
1252 2007-02-26  Maciej Stachowiak  <mjs@apple.com>
1253
1254         Reviewed by Lars.
1255
1256         - fixed <rdar://problem/5021698> Disable experimental SVG features (12883)
1257         
1258         I added an ENABLE_SVG_EXPERIMENTAL_FEATURES define to guard all use of the experimental
1259         features, and used it to guard relevant tag names, elements, JS bindings and renderers.
1260         
1261         I also converted all the existing optional feature defines to
1262         ENABLE_FOO instead of FOO_SUPPORT since that is the more standard
1263         way to do it in open source projects and works with the handy new
1264         ENABLE() macro.
1265
1266         * CMakeLists.txt:
1267         * DerivedSources.make:
1268         * Projects/gdk/webcore-gdk.bkl:
1269         * WebCore.pro:
1270         * WebCore.vcproj/WebCore/WebCore.vcproj:
1271         * WebCore.vcproj/WebCore/build-generated-files.sh:
1272         * WebCore.xcodeproj/project.pbxproj:
1273         * bindings/js/JSCustomXPathNSResolver.cpp:
1274         * bindings/js/JSCustomXPathNSResolver.h:
1275         * bindings/js/JSSVGElementWrapperFactory.cpp:
1276         * bindings/js/JSSVGElementWrapperFactory.h:
1277         * bindings/js/JSSVGMatrixCustom.cpp:
1278         * bindings/js/JSSVGPODTypeWrapper.h:
1279         * bindings/js/JSSVGPathSegCustom.cpp:
1280         * bindings/js/JSSVGPathSegListCustom.cpp:
1281         * bindings/js/JSSVGPointListCustom.cpp:
1282         * bindings/js/JSXSLTProcessor.cpp:
1283         * bindings/js/JSXSLTProcessor.h:
1284         * bindings/js/kjs_binding.cpp:
1285         (KJS::setDOMException):
1286         * bindings/js/kjs_css.cpp:
1287         (KJS::toJS):
1288         * bindings/js/kjs_dom.cpp:
1289         (KJS::toJS):
1290         * bindings/js/kjs_html.cpp:
1291         (KJS::HTMLElementFunction::callAsFunction):
1292         * bindings/js/kjs_proxy.cpp:
1293         * bindings/js/kjs_proxy.h:
1294         * bindings/js/kjs_window.cpp:
1295         (KJS::Window::getValueProperty):
1296         * bindings/objc/DOM.mm:
1297         (WebCore::createElementClassMap):
1298         (+[DOMNode _nodeWith:WebCore::]):
1299         * bindings/objc/DOMCSS.mm:
1300         (+[DOMCSSValue _CSSValueWith:WebCore::]):
1301         * bindings/objc/DOMCustomXPathNSResolver.h:
1302         * bindings/objc/DOMCustomXPathNSResolver.mm:
1303         * bindings/objc/DOMEvents.mm:
1304         (+[DOMEvent _eventWith:WebCore::]):
1305         * bindings/objc/DOMInternal.h:
1306         * bindings/objc/DOMSVGPathSegInternal.mm:
1307         * bindings/objc/DOMXPath.mm:
1308         * bindings/objc/ExceptionHandlers.mm:
1309         (WebCore::raiseDOMException):
1310         * bindings/objc/PublicDOMInterfaces.h:
1311         * bindings/scripts/CodeGeneratorJS.pm:
1312         * bindings/scripts/CodeGeneratorObjC.pm:
1313         * config.h:
1314         * css/CSSGrammar.y:
1315         * css/CSSStyleDeclaration.cpp:
1316         (WebCore::propertyID):
1317         * css/StyleBase.h:
1318         * css/cssparser.cpp:
1319         (WebCore::CSSParser::parseValue):
1320         * css/cssparser.h:
1321         * css/cssstyleselector.cpp:
1322         (WebCore::CSSStyleSelector::loadDefaultStyle):
1323         (WebCore::CSSStyleSelector::initForStyleResolve):
1324         (WebCore::checkPseudoState):
1325         (WebCore::CSSStyleSelector::adjustRenderStyle):
1326         (WebCore::CSSStyleSelector::applyProperty):
1327         * css/cssstyleselector.h:
1328         * dom/DOMImplementation.cpp:
1329         (WebCore::DOMImplementation::hasFeature):
1330         (WebCore::DOMImplementation::createDocument):
1331         * dom/Document.cpp:
1332         (WebCore::Document::Document):
1333         (WebCore::Document::~Document):
1334         (WebCore::Document::createElement):
1335         (WebCore::Document::implicitClose):
1336         (WebCore::Document::recalcStyleSelector):
1337         (WebCore::Document::createEvent):
1338         * dom/Document.h:
1339         * dom/Document.idl:
1340         * dom/Event.cpp:
1341         * dom/Event.h:
1342         * dom/EventTarget.cpp:
1343         * dom/EventTarget.h:
1344         * dom/MappedAttributeEntry.h:
1345         (WebCore::):
1346         * dom/Node.cpp:
1347         (WebCore::Node::createRendererIfNeeded):
1348         (WebCore::Node::shadowAncestorNode):
1349         * dom/Node.h:
1350         * dom/ProcessingInstruction.cpp:
1351         (WebCore::ProcessingInstruction::ProcessingInstruction):
1352         (WebCore::ProcessingInstruction::checkStyleSheet):
1353         (WebCore::ProcessingInstruction::setCSSStyleSheet):
1354         * dom/ProcessingInstruction.h:
1355         * dom/Text.cpp:
1356         (WebCore::Text::createRenderer):
1357         * dom/XMLTokenizer.cpp:
1358         (WebCore::XMLTokenizer::startElementNs):
1359         (WebCore::XMLTokenizer::endElementNs):
1360         (WebCore::XMLTokenizer::processingInstruction):
1361         (WebCore::XMLTokenizer::end):
1362         (WebCore::XMLTokenizer::insertErrorMessageBlock):
1363         * dom/XMLTokenizer.h:
1364         * html/HTMLEmbedElement.cpp:
1365         * html/HTMLEmbedElement.h:
1366         * html/HTMLObjectElement.cpp:
1367         * html/HTMLObjectElement.h:
1368         * ksvg2/css/SVGCSSParser.cpp:
1369         * ksvg2/css/SVGCSSStyleSelector.cpp:
1370         * ksvg2/css/SVGRenderStyle.cpp:
1371         * ksvg2/css/SVGRenderStyle.h:
1372         * ksvg2/css/SVGRenderStyleDefs.cpp:
1373         * ksvg2/css/SVGRenderStyleDefs.h:
1374         * ksvg2/events/JSSVGLazyEventListener.cpp:
1375         * ksvg2/events/JSSVGLazyEventListener.h:
1376         * ksvg2/events/SVGZoomEvent.cpp:
1377         * ksvg2/events/SVGZoomEvent.h:
1378         * ksvg2/misc/KCanvasRenderingStyle.cpp:
1379         * ksvg2/misc/KCanvasRenderingStyle.h:
1380         * ksvg2/misc/PointerEventsHitRules.cpp:
1381         * ksvg2/misc/PointerEventsHitRules.h:
1382         * ksvg2/misc/SVGDocumentExtensions.cpp:
1383         * ksvg2/misc/SVGDocumentExtensions.h:
1384         * ksvg2/misc/SVGImageLoader.cpp:
1385         * ksvg2/misc/SVGImageLoader.h:
1386         * ksvg2/misc/SVGTimer.cpp:
1387         * ksvg2/misc/SVGTimer.h:
1388         * ksvg2/misc/TimeScheduler.cpp:
1389         * ksvg2/misc/TimeScheduler.h:
1390         * ksvg2/scripts/make_names.pl:
1391         * ksvg2/svg/ColorDistance.cpp:
1392         * ksvg2/svg/ColorDistance.h:
1393         * ksvg2/svg/GradientAttributes.h:
1394         * ksvg2/svg/LinearGradientAttributes.h:
1395         * ksvg2/svg/PatternAttributes.h:
1396         * ksvg2/svg/RadialGradientAttributes.h:
1397         * ksvg2/svg/SVGAElement.cpp:
1398         * ksvg2/svg/SVGAElement.h:
1399         * ksvg2/svg/SVGAngle.cpp:
1400         * ksvg2/svg/SVGAngle.h:
1401         * ksvg2/svg/SVGAnimateColorElement.cpp:
1402         * ksvg2/svg/SVGAnimateColorElement.h:
1403         * ksvg2/svg/SVGAnimateElement.cpp:
1404         * ksvg2/svg/SVGAnimateElement.h:
1405         * ksvg2/svg/SVGAnimateElement.idl:
1406         * ksvg2/svg/SVGAnimateMotionElement.cpp:
1407         * ksvg2/svg/SVGAnimateMotionElement.h:
1408         * ksvg2/svg/SVGAnimateTransformElement.cpp:
1409         * ksvg2/svg/SVGAnimateTransformElement.h:
1410         * ksvg2/svg/SVGAnimateTransformElement.idl:
1411         * ksvg2/svg/SVGAnimatedPathData.cpp:
1412         * ksvg2/svg/SVGAnimatedPathData.h:
1413         * ksvg2/svg/SVGAnimatedPoints.cpp:
1414         * ksvg2/svg/SVGAnimatedPoints.h:
1415         * ksvg2/svg/SVGAnimatedTemplate.h:
1416         * ksvg2/svg/SVGAnimationElement.cpp:
1417         * ksvg2/svg/SVGAnimationElement.h:
1418         * ksvg2/svg/SVGCircleElement.cpp:
1419         * ksvg2/svg/SVGCircleElement.h:
1420         * ksvg2/svg/SVGClipPathElement.cpp:
1421         * ksvg2/svg/SVGClipPathElement.h:
1422         * ksvg2/svg/SVGColor.cpp:
1423         * ksvg2/svg/SVGColor.h:
1424         * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
1425         * ksvg2/svg/SVGComponentTransferFunctionElement.h:
1426         * ksvg2/svg/SVGCursorElement.cpp:
1427         * ksvg2/svg/SVGCursorElement.h:
1428         * ksvg2/svg/SVGDefsElement.cpp:
1429         * ksvg2/svg/SVGDefsElement.h:
1430         * ksvg2/svg/SVGDescElement.cpp:
1431         * ksvg2/svg/SVGDescElement.h:
1432         * ksvg2/svg/SVGDocument.cpp:
1433         * ksvg2/svg/SVGDocument.h:
1434         * ksvg2/svg/SVGElement.cpp:
1435         (WebCore::SVGElement::dispatchEvent):
1436         * ksvg2/svg/SVGElement.h:
1437         * ksvg2/svg/SVGElementInstance.cpp:
1438         * ksvg2/svg/SVGElementInstance.h:
1439         * ksvg2/svg/SVGElementInstance.idl:
1440         * ksvg2/svg/SVGElementInstanceList.cpp:
1441         * ksvg2/svg/SVGElementInstanceList.h:
1442         * ksvg2/svg/SVGElementInstanceList.idl:
1443         * ksvg2/svg/SVGEllipseElement.cpp:
1444         * ksvg2/svg/SVGEllipseElement.h:
1445         * ksvg2/svg/SVGException.h:
1446         * ksvg2/svg/SVGExternalResourcesRequired.cpp:
1447         * ksvg2/svg/SVGExternalResourcesRequired.h:
1448         * ksvg2/svg/SVGFEBlendElement.cpp:
1449         * ksvg2/svg/SVGFEBlendElement.h:
1450         * ksvg2/svg/SVGFEBlendElement.idl:
1451         * ksvg2/svg/SVGFEColorMatrixElement.cpp:
1452         * ksvg2/svg/SVGFEColorMatrixElement.h:
1453         * ksvg2/svg/SVGFEColorMatrixElement.idl:
1454         * ksvg2/svg/SVGFEComponentTransferElement.cpp:
1455         * ksvg2/svg/SVGFEComponentTransferElement.h:
1456         * ksvg2/svg/SVGFEComponentTransferElement.idl:
1457         * ksvg2/svg/SVGFECompositeElement.cpp:
1458         * ksvg2/svg/SVGFECompositeElement.h:
1459         * ksvg2/svg/SVGFECompositeElement.idl:
1460         * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
1461         * ksvg2/svg/SVGFEDiffuseLightingElement.h:
1462         * ksvg2/svg/SVGFEDiffuseLightingElement.idl:
1463         * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
1464         * ksvg2/svg/SVGFEDisplacementMapElement.h:
1465         * ksvg2/svg/SVGFEDisplacementMapElement.idl:
1466         * ksvg2/svg/SVGFEDistantLightElement.cpp:
1467         * ksvg2/svg/SVGFEDistantLightElement.h:
1468         * ksvg2/svg/SVGFEDistantLightElement.idl:
1469         * ksvg2/svg/SVGFEFloodElement.cpp:
1470         * ksvg2/svg/SVGFEFloodElement.h:
1471         * ksvg2/svg/SVGFEFloodElement.idl:
1472         * ksvg2/svg/SVGFEFuncAElement.cpp:
1473         * ksvg2/svg/SVGFEFuncAElement.h:
1474         * ksvg2/svg/SVGFEFuncAElement.idl:
1475         * ksvg2/svg/SVGFEFuncBElement.cpp:
1476         * ksvg2/svg/SVGFEFuncBElement.h:
1477         * ksvg2/svg/SVGFEFuncBElement.idl:
1478         * ksvg2/svg/SVGFEFuncGElement.cpp:
1479         * ksvg2/svg/SVGFEFuncGElement.h:
1480         * ksvg2/svg/SVGFEFuncGElement.idl:
1481         * ksvg2/svg/SVGFEFuncRElement.cpp:
1482         * ksvg2/svg/SVGFEFuncRElement.h:
1483         * ksvg2/svg/SVGFEFuncRElement.idl:
1484         * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
1485         * ksvg2/svg/SVGFEGaussianBlurElement.h:
1486         * ksvg2/svg/SVGFEGaussianBlurElement.idl:
1487         * ksvg2/svg/SVGFEImageElement.cpp:
1488         * ksvg2/svg/SVGFEImageElement.h:
1489         * ksvg2/svg/SVGFEImageElement.idl:
1490         * ksvg2/svg/SVGFELightElement.cpp:
1491         * ksvg2/svg/SVGFELightElement.h:
1492         * ksvg2/svg/SVGFEMergeElement.cpp:
1493         * ksvg2/svg/SVGFEMergeElement.h:
1494         * ksvg2/svg/SVGFEMergeElement.idl:
1495         * ksvg2/svg/SVGFEMergeNodeElement.cpp:
1496         * ksvg2/svg/SVGFEMergeNodeElement.h:
1497         * ksvg2/svg/SVGFEMergeNodeElement.idl:
1498         * ksvg2/svg/SVGFEOffsetElement.cpp:
1499         * ksvg2/svg/SVGFEOffsetElement.h:
1500         * ksvg2/svg/SVGFEOffsetElement.idl:
1501         * ksvg2/svg/SVGFEPointLightElement.cpp:
1502         * ksvg2/svg/SVGFEPointLightElement.h:
1503         * ksvg2/svg/SVGFEPointLightElement.idl:
1504         * ksvg2/svg/SVGFESpecularLightingElement.cpp:
1505         * ksvg2/svg/SVGFESpecularLightingElement.h:
1506         * ksvg2/svg/SVGFESpecularLightingElement.idl:
1507         * ksvg2/svg/SVGFESpotLightElement.cpp:
1508         * ksvg2/svg/SVGFESpotLightElement.h:
1509         * ksvg2/svg/SVGFESpotLightElement.idl:
1510         * ksvg2/svg/SVGFETileElement.cpp:
1511         * ksvg2/svg/SVGFETileElement.h:
1512         * ksvg2/svg/SVGFETileElement.idl:
1513         * ksvg2/svg/SVGFETurbulenceElement.cpp:
1514         * ksvg2/svg/SVGFETurbulenceElement.h:
1515         * ksvg2/svg/SVGFETurbulenceElement.idl:
1516         * ksvg2/svg/SVGFilterElement.cpp:
1517         * ksvg2/svg/SVGFilterElement.h:
1518         * ksvg2/svg/SVGFilterElement.idl:
1519         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp:
1520         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h:
1521         * ksvg2/svg/SVGFitToViewBox.cpp:
1522         * ksvg2/svg/SVGFitToViewBox.h:
1523         * ksvg2/svg/SVGForeignObjectElement.cpp:
1524         * ksvg2/svg/SVGForeignObjectElement.h:
1525         * ksvg2/svg/SVGForeignObjectElement.idl:
1526         * ksvg2/svg/SVGGElement.cpp:
1527         * ksvg2/svg/SVGGElement.h:
1528         * ksvg2/svg/SVGGradientElement.cpp:
1529         * ksvg2/svg/SVGGradientElement.h:
1530         * ksvg2/svg/SVGImageElement.cpp:
1531         * ksvg2/svg/SVGImageElement.h:
1532         * ksvg2/svg/SVGLangSpace.cpp:
1533         * ksvg2/svg/SVGLangSpace.h:
1534         * ksvg2/svg/SVGLength.cpp:
1535         * ksvg2/svg/SVGLength.h:
1536         * ksvg2/svg/SVGLengthList.cpp:
1537         * ksvg2/svg/SVGLengthList.h:
1538         * ksvg2/svg/SVGLineElement.cpp:
1539         * ksvg2/svg/SVGLineElement.h:
1540         * ksvg2/svg/SVGLinearGradientElement.cpp:
1541         * ksvg2/svg/SVGLinearGradientElement.h:
1542         * ksvg2/svg/SVGList.h:
1543         * ksvg2/svg/SVGListTraits.h:
1544         * ksvg2/svg/SVGLocatable.cpp:
1545         (WebCore::SVGLocatable::nearestViewportElement):
1546         (WebCore::SVGLocatable::farthestViewportElement):
1547         * ksvg2/svg/SVGLocatable.h:
1548         * ksvg2/svg/SVGMPathElement.cpp:
1549         * ksvg2/svg/SVGMPathElement.h:
1550         * ksvg2/svg/SVGMarkerElement.cpp:
1551         * ksvg2/svg/SVGMarkerElement.h:
1552         * ksvg2/svg/SVGMaskElement.cpp:
1553         * ksvg2/svg/SVGMaskElement.h:
1554         * ksvg2/svg/SVGMetadataElement.cpp:
1555         * ksvg2/svg/SVGMetadataElement.h:
1556         * ksvg2/svg/SVGNumberList.cpp:
1557         * ksvg2/svg/SVGNumberList.h:
1558         * ksvg2/svg/SVGPaint.cpp:
1559         * ksvg2/svg/SVGPaint.h:
1560         * ksvg2/svg/SVGParserUtilities.cpp:
1561         * ksvg2/svg/SVGParserUtilities.h:
1562         * ksvg2/svg/SVGPathElement.cpp:
1563         * ksvg2/svg/SVGPathElement.h:
1564         * ksvg2/svg/SVGPathSeg.h:
1565         * ksvg2/svg/SVGPathSegArc.cpp:
1566         * ksvg2/svg/SVGPathSegArc.h:
1567         * ksvg2/svg/SVGPathSegClosePath.cpp:
1568         * ksvg2/svg/SVGPathSegClosePath.h:
1569         * ksvg2/svg/SVGPathSegCurvetoCubic.cpp:
1570         * ksvg2/svg/SVGPathSegCurvetoCubic.h:
1571         * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.cpp:
1572         * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.h:
1573         * ksvg2/svg/SVGPathSegCurvetoQuadratic.cpp:
1574         * ksvg2/svg/SVGPathSegCurvetoQuadratic.h:
1575         * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.cpp:
1576         * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.h:
1577         * ksvg2/svg/SVGPathSegLineto.cpp:
1578         * ksvg2/svg/SVGPathSegLineto.h:
1579         * ksvg2/svg/SVGPathSegLinetoHorizontal.cpp:
1580         * ksvg2/svg/SVGPathSegLinetoHorizontal.h:
1581         * ksvg2/svg/SVGPathSegLinetoVertical.cpp:
1582         * ksvg2/svg/SVGPathSegLinetoVertical.h:
1583         * ksvg2/svg/SVGPathSegList.cpp:
1584         * ksvg2/svg/SVGPathSegList.h:
1585         * ksvg2/svg/SVGPathSegMoveto.cpp:
1586         * ksvg2/svg/SVGPathSegMoveto.h:
1587         * ksvg2/svg/SVGPatternElement.cpp:
1588         * ksvg2/svg/SVGPatternElement.h:
1589         * ksvg2/svg/SVGPointList.cpp:
1590         * ksvg2/svg/SVGPointList.h:
1591         * ksvg2/svg/SVGPolyElement.cpp:
1592         * ksvg2/svg/SVGPolyElement.h:
1593         * ksvg2/svg/SVGPolygonElement.cpp:
1594         * ksvg2/svg/SVGPolygonElement.h:
1595         * ksvg2/svg/SVGPolylineElement.cpp:
1596         * ksvg2/svg/SVGPolylineElement.h:
1597         * ksvg2/svg/SVGPreserveAspectRatio.cpp:
1598         * ksvg2/svg/SVGPreserveAspectRatio.h:
1599         * ksvg2/svg/SVGRadialGradientElement.cpp:
1600         * ksvg2/svg/SVGRadialGradientElement.h:
1601         * ksvg2/svg/SVGRectElement.cpp:
1602         * ksvg2/svg/SVGRectElement.h:
1603         * ksvg2/svg/SVGRenderingIntent.h:
1604         * ksvg2/svg/SVGSVGElement.cpp:
1605         * ksvg2/svg/SVGSVGElement.h:
1606         * ksvg2/svg/SVGScriptElement.cpp:
1607         * ksvg2/svg/SVGScriptElement.h:
1608         * ksvg2/svg/SVGSetElement.cpp:
1609         * ksvg2/svg/SVGSetElement.h:
1610         * ksvg2/svg/SVGStopElement.cpp:
1611         * ksvg2/svg/SVGStopElement.h:
1612         * ksvg2/svg/SVGStringList.cpp:
1613         * ksvg2/svg/SVGStringList.h:
1614         * ksvg2/svg/SVGStylable.cpp:
1615         * ksvg2/svg/SVGStylable.h:
1616         * ksvg2/svg/SVGStyleElement.cpp:
1617         * ksvg2/svg/SVGStyleElement.h:
1618         * ksvg2/svg/SVGStyledElement.cpp:
1619         (WebCore::SVGStyledElement::notifyAttributeChange):
1620         * ksvg2/svg/SVGStyledElement.h:
1621         * ksvg2/svg/SVGStyledLocatableElement.cpp:
1622         * ksvg2/svg/SVGStyledLocatableElement.h:
1623         * ksvg2/svg/SVGStyledTransformableElement.cpp:
1624         * ksvg2/svg/SVGStyledTransformableElement.h:
1625         * ksvg2/svg/SVGSwitchElement.cpp:
1626         * ksvg2/svg/SVGSwitchElement.h:
1627         * ksvg2/svg/SVGSymbolElement.cpp:
1628         * ksvg2/svg/SVGSymbolElement.h:
1629         * ksvg2/svg/SVGTRefElement.cpp:
1630         * ksvg2/svg/SVGTRefElement.h:
1631         * ksvg2/svg/SVGTSpanElement.cpp:
1632         * ksvg2/svg/SVGTSpanElement.h:
1633         * ksvg2/svg/SVGTests.cpp:
1634         * ksvg2/svg/SVGTests.h:
1635         * ksvg2/svg/SVGTextContentElement.cpp:
1636         * ksvg2/svg/SVGTextContentElement.h:
1637         * ksvg2/svg/SVGTextElement.cpp:
1638         * ksvg2/svg/SVGTextElement.h:
1639         * ksvg2/svg/SVGTextPositioningElement.cpp:
1640         * ksvg2/svg/SVGTextPositioningElement.h:
1641         * ksvg2/svg/SVGTitleElement.cpp:
1642         * ksvg2/svg/SVGTitleElement.h:
1643         * ksvg2/svg/SVGTransform.cpp:
1644         * ksvg2/svg/SVGTransform.h:
1645         * ksvg2/svg/SVGTransformDistance.cpp:
1646         * ksvg2/svg/SVGTransformDistance.h:
1647         * ksvg2/svg/SVGTransformList.cpp:
1648         * ksvg2/svg/SVGTransformList.h:
1649         * ksvg2/svg/SVGTransformable.cpp:
1650         * ksvg2/svg/SVGTransformable.h:
1651         * ksvg2/svg/SVGURIReference.cpp:
1652         * ksvg2/svg/SVGURIReference.h:
1653         * ksvg2/svg/SVGUnitTypes.h:
1654         * ksvg2/svg/SVGUseElement.cpp:
1655         * ksvg2/svg/SVGUseElement.h:
1656         * ksvg2/svg/SVGUseElement.idl:
1657         * ksvg2/svg/SVGViewElement.cpp:
1658         * ksvg2/svg/SVGViewElement.h:
1659         * ksvg2/svg/SVGZoomAndPan.cpp:
1660         * ksvg2/svg/SVGZoomAndPan.h:
1661         * ksvg2/svg/svgtags.in:
1662         * loader/Cache.cpp:
1663         (WebCore::createResource):
1664         (WebCore::Cache::getStatistics):
1665         * loader/Cache.h:
1666         * loader/CachedImage.cpp:
1667         (WebCore::CachedImage::createImage):
1668         * loader/CachedResource.h:
1669         (WebCore::CachedResource::):
1670         * loader/CachedResourceClient.h:
1671         * loader/CachedXBLDocument.cpp:
1672         * loader/CachedXBLDocument.h:
1673         * loader/CachedXSLStyleSheet.cpp:
1674         * loader/CachedXSLStyleSheet.h:
1675         * loader/DocLoader.cpp:
1676         * loader/DocLoader.h:
1677         * page/DOMWindow.idl:
1678         * page/EventHandler.cpp:
1679         (WebCore::EventHandler::handleMouseMoveEvent):
1680         (WebCore::selectCursor):
1681         * page/Frame.cpp:
1682         (WebCore::Frame::Frame):
1683         * page/PageState.cpp:
1684         (WebCore::PageState::PageState):
1685         (WebCore::PageState::restore):
1686         * platform/MimeTypeRegistry.cpp:
1687         (WebCore::initialiseSupportedNonImageMimeTypes):
1688         * platform/graphics/FloatPoint3D.cpp:
1689         * platform/graphics/FloatPoint3D.h:
1690         * platform/graphics/ImageBuffer.cpp:
1691         (WebCore::ImageBuffer::renderSubtreeToImage):
1692         * platform/graphics/svg/SVGImage.cpp:
1693         * platform/graphics/svg/SVGImage.h:
1694         * platform/graphics/svg/SVGImageEmptyClients.h:
1695         * platform/graphics/svg/SVGPaintServer.cpp:
1696         * platform/graphics/svg/SVGPaintServer.h:
1697         * platform/graphics/svg/SVGPaintServerGradient.cpp:
1698         * platform/graphics/svg/SVGPaintServerGradient.h:
1699         * platform/graphics/svg/SVGPaintServerLinearGradient.cpp:
1700         * platform/graphics/svg/SVGPaintServerLinearGradient.h:
1701         * platform/graphics/svg/SVGPaintServerPattern.cpp:
1702         * platform/graphics/svg/SVGPaintServerPattern.h:
1703         * platform/graphics/svg/SVGPaintServerRadialGradient.cpp:
1704         * platform/graphics/svg/SVGPaintServerRadialGradient.h:
1705         * platform/graphics/svg/SVGPaintServerSolid.cpp:
1706         * platform/graphics/svg/SVGPaintServerSolid.h:
1707         * platform/graphics/svg/SVGResource.cpp:
1708         * platform/graphics/svg/SVGResource.h:
1709         * platform/graphics/svg/SVGResourceClipper.cpp:
1710         * platform/graphics/svg/SVGResourceClipper.h:
1711         * platform/graphics/svg/SVGResourceFilter.cpp:
1712         * platform/graphics/svg/SVGResourceFilter.h:
1713         * platform/graphics/svg/SVGResourceMarker.cpp:
1714         * platform/graphics/svg/SVGResourceMarker.h:
1715         * platform/graphics/svg/SVGResourceMasker.cpp:
1716         * platform/graphics/svg/SVGResourceMasker.h:
1717         * platform/graphics/svg/cg/CgSupport.cpp:
1718         * platform/graphics/svg/cg/CgSupport.h:
1719         * platform/graphics/svg/cg/RenderPathCg.cpp:
1720         * platform/graphics/svg/cg/SVGPaintServerCg.cpp:
1721         * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
1722         * platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp:
1723         * platform/graphics/svg/cg/SVGPaintServerSolidCg.cpp:
1724         * platform/graphics/svg/cg/SVGResourceClipperCg.cpp:
1725         * platform/graphics/svg/cg/SVGResourceFilterCg.mm:
1726         * platform/graphics/svg/cg/SVGResourceMaskerCg.mm:
1727         * platform/graphics/svg/filters/SVGDistantLightSource.h:
1728         * platform/graphics/svg/filters/SVGFEBlend.cpp:
1729         * platform/graphics/svg/filters/SVGFEBlend.h:
1730         * platform/graphics/svg/filters/SVGFEColorMatrix.cpp:
1731         * platform/graphics/svg/filters/SVGFEColorMatrix.h:
1732         * platform/graphics/svg/filters/SVGFEComponentTransfer.cpp:
1733         * platform/graphics/svg/filters/SVGFEComponentTransfer.h:
1734         * platform/graphics/svg/filters/SVGFEComposite.cpp:
1735         * platform/graphics/svg/filters/SVGFEComposite.h:
1736         * platform/graphics/svg/filters/SVGFEConvolveMatrix.cpp:
1737         * platform/graphics/svg/filters/SVGFEConvolveMatrix.h:
1738         * platform/graphics/svg/filters/SVGFEDiffuseLighting.cpp:
1739         * platform/graphics/svg/filters/SVGFEDiffuseLighting.h:
1740         * platform/graphics/svg/filters/SVGFEDisplacementMap.cpp:
1741         * platform/graphics/svg/filters/SVGFEDisplacementMap.h:
1742         * platform/graphics/svg/filters/SVGFEFlood.cpp:
1743         * platform/graphics/svg/filters/SVGFEFlood.h:
1744         * platform/graphics/svg/filters/SVGFEGaussianBlur.cpp:
1745         * platform/graphics/svg/filters/SVGFEGaussianBlur.h:
1746         * platform/graphics/svg/filters/SVGFEImage.cpp:
1747         * platform/graphics/svg/filters/SVGFEImage.h:
1748         * platform/graphics/svg/filters/SVGFEMerge.cpp:
1749         * platform/graphics/svg/filters/SVGFEMerge.h:
1750         * platform/graphics/svg/filters/SVGFEMorphology.cpp:
1751         * platform/graphics/svg/filters/SVGFEMorphology.h:
1752         * platform/graphics/svg/filters/SVGFEOffset.cpp:
1753         * platform/graphics/svg/filters/SVGFEOffset.h:
1754         * platform/graphics/svg/filters/SVGFESpecularLighting.cpp:
1755         * platform/graphics/svg/filters/SVGFESpecularLighting.h:
1756         * platform/graphics/svg/filters/SVGFETile.h:
1757         * platform/graphics/svg/filters/SVGFETurbulence.cpp:
1758         * platform/graphics/svg/filters/SVGFETurbulence.h:
1759         * platform/graphics/svg/filters/SVGFilterEffect.cpp:
1760         * platform/graphics/svg/filters/SVGFilterEffect.h:
1761         * platform/graphics/svg/filters/SVGLightSource.cpp:
1762         * platform/graphics/svg/filters/SVGLightSource.h:
1763         * platform/graphics/svg/filters/SVGPointLightSource.h:
1764         * platform/graphics/svg/filters/SVGSpotLightSource.h:
1765         * platform/graphics/svg/filters/cg/SVGFEBlendCg.mm:
1766         * platform/graphics/svg/filters/cg/SVGFEColorMatrixCg.mm:
1767         * platform/graphics/svg/filters/cg/SVGFEComponentTransferCg.mm:
1768         * platform/graphics/svg/filters/cg/SVGFECompositeCg.mm:
1769         * platform/graphics/svg/filters/cg/SVGFEDiffuseLightingCg.mm:
1770         * platform/graphics/svg/filters/cg/SVGFEDisplacementMapCg.mm:
1771         * platform/graphics/svg/filters/cg/SVGFEFloodCg.mm:
1772         * platform/graphics/svg/filters/cg/SVGFEGaussianBlurCg.mm:
1773         * platform/graphics/svg/filters/cg/SVGFEHelpersCg.h:
1774         * platform/graphics/svg/filters/cg/SVGFEHelpersCg.mm:
1775         * platform/graphics/svg/filters/cg/SVGFEImageCg.mm:
1776         * platform/graphics/svg/filters/cg/SVGFEMergeCg.mm:
1777         * platform/graphics/svg/filters/cg/SVGFEOffsetCg.mm:
1778         * platform/graphics/svg/filters/cg/SVGFESpecularLightingCg.mm:
1779         * platform/graphics/svg/filters/cg/SVGFETileCg.mm:
1780         * platform/graphics/svg/filters/cg/SVGFilterEffectCg.mm:
1781         * platform/graphics/svg/qt/SVGPaintServerGradientQt.cpp:
1782         * platform/graphics/svg/qt/SVGPaintServerLinearGradientQt.cpp:
1783         * platform/graphics/svg/qt/SVGPaintServerPatternQt.cpp:
1784         * platform/graphics/svg/qt/SVGPaintServerQt.cpp:
1785         * platform/graphics/svg/qt/SVGPaintServerRadialGradientQt.cpp:
1786         * platform/graphics/svg/qt/SVGPaintServerSolidQt.cpp:
1787         * platform/graphics/svg/qt/SVGResourceClipperQt.cpp:
1788         * platform/graphics/svg/qt/SVGResourceFilterQt.cpp:
1789         * platform/graphics/svg/qt/SVGResourceMaskerQt.cpp:
1790         * rendering/HitTestResult.cpp:
1791         (WebCore::HitTestResult::absoluteImageURL):
1792         (WebCore::HitTestResult::absoluteLinkURL):
1793         (WebCore::HitTestResult::isLiveLink):
1794         * rendering/RenderForeignObject.cpp:
1795         * rendering/RenderForeignObject.h:
1796         * rendering/RenderLayer.cpp:
1797         (WebCore::RenderLayer::isTransparent):
1798         * rendering/RenderObject.cpp:
1799         (WebCore::RenderObject::containingBlock):
1800         * rendering/RenderObject.h:
1801         * rendering/RenderPath.cpp:
1802         * rendering/RenderPath.h:
1803         * rendering/RenderSVGBlock.cpp:
1804         * rendering/RenderSVGBlock.h:
1805         * rendering/RenderSVGContainer.cpp:
1806         * rendering/RenderSVGContainer.h:
1807         * rendering/RenderSVGGradientStop.cpp:
1808         * rendering/RenderSVGGradientStop.h:
1809         * rendering/RenderSVGHiddenContainer.cpp:
1810         * rendering/RenderSVGHiddenContainer.h:
1811         * rendering/RenderSVGImage.cpp:
1812         * rendering/RenderSVGImage.h:
1813         * rendering/RenderSVGInline.cpp:
1814         * rendering/RenderSVGInline.h:
1815         * rendering/RenderSVGInlineText.cpp:
1816         * rendering/RenderSVGInlineText.h:
1817         * rendering/RenderSVGTSpan.cpp:
1818         * rendering/RenderSVGTSpan.h:
1819         * rendering/RenderSVGText.cpp:
1820         * rendering/RenderSVGText.h:
1821         * rendering/RenderStyle.cpp:
1822         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
1823         (WebCore::StyleRareNonInheritedData::~StyleRareNonInheritedData):
1824         (WebCore::StyleRareNonInheritedData::operator==):
1825         (WebCore::RenderStyle::RenderStyle):
1826         (WebCore::RenderStyle::inheritFrom):
1827         (WebCore::RenderStyle::operator==):
1828         (WebCore::RenderStyle::inheritedNotEqual):
1829         (WebCore::RenderStyle::diff):
1830         * rendering/RenderStyle.h:
1831         * rendering/RenderText.cpp:
1832         (WebCore::RenderText::setStyle):
1833         (WebCore::RenderText::setTextInternal):
1834         * rendering/RenderTreeAsText.cpp:
1835         (WebCore::write):
1836         (WebCore::externalRepresentation):
1837         * rendering/SVGInlineFlowBox.cpp:
1838         * rendering/SVGInlineFlowBox.h:
1839         * rendering/SVGRenderTreeAsText.cpp:
1840         * rendering/SVGRenderTreeAsText.h:
1841         * rendering/SVGRootInlineBox.cpp:
1842         * rendering/SVGRootInlineBox.h:
1843         * rendering/bidi.cpp:
1844         (WebCore::shouldPreserveNewline):
1845         (WebCore::RenderBlock::findNextLineBreak):
1846         * webcore-base.bkl:
1847         * xml/NativeXPathNSResolver.cpp:
1848         * xml/NativeXPathNSResolver.h:
1849         * xml/XPathEvaluator.cpp:
1850         * xml/XPathEvaluator.h:
1851         * xml/XPathExpression.cpp:
1852         * xml/XPathExpression.h:
1853         * xml/XPathExpressionNode.cpp:
1854         * xml/XPathExpressionNode.h:
1855         * xml/XPathFunctions.cpp:
1856         * xml/XPathFunctions.h:
1857         * xml/XPathGrammar.y:
1858         * xml/XPathNSResolver.cpp:
1859         * xml/XPathNSResolver.h:
1860         * xml/XPathNamespace.cpp:
1861         * xml/XPathNamespace.h:
1862         * xml/XPathParser.cpp:
1863         * xml/XPathParser.h:
1864         * xml/XPathPath.cpp:
1865         * xml/XPathPath.h:
1866         * xml/XPathPredicate.cpp:
1867         * xml/XPathPredicate.h:
1868         * xml/XPathResult.cpp:
1869         * xml/XPathResult.h:
1870         * xml/XPathStep.cpp:
1871         * xml/XPathStep.h:
1872         * xml/XPathUtil.cpp:
1873         * xml/XPathUtil.h:
1874         * xml/XPathValue.cpp:
1875         * xml/XPathValue.h:
1876         * xml/XPathVariableReference.cpp:
1877         * xml/XPathVariableReference.h:
1878         * xml/XSLImportRule.cpp:
1879         * xml/XSLImportRule.h:
1880         * xml/XSLStyleSheet.cpp:
1881         * xml/XSLStyleSheet.h:
1882         * xml/XSLTProcessor.cpp:
1883         * xml/XSLTProcessor.h:
1884
1885 2007-02-25  Mitz Pettel  <mitz@webkit.org>
1886
1887         Reviewed by David Hyatt.
1888
1889         - fix http://bugs.webkit.org/show_bug.cgi?id=12886
1890           Crash with Scriptalicious javascript library
1891
1892         Test: fast/dynamic/float-withdrawal.html
1893
1894         * rendering/RenderBlock.cpp:
1895         (WebCore::RenderBlock::layoutBlockChildren): Detect when a child block had
1896         intruding floats in a previous layout, and in that case force it to relayout.
1897
1898 2007-02-25  David Hyatt  <hyatt@apple.com>
1899
1900         Revert my change to the default fill color.  Just set the color to transparent explicitly when
1901         drawing textarea resizer frames.
1902
1903         * platform/graphics/GraphicsContext.cpp:
1904         (WebCore::GraphicsContextState::GraphicsContextState):
1905         * rendering/RenderLayer.cpp:
1906         (WebCore::RenderLayer::paintOverflowControls):
1907
1908 2007-02-25  Sam Weinig  <sam@webkit.org>
1909
1910         Update forgotten files.
1911
1912         * rendering/RenderLayer.cpp:
1913         (WebCore::RenderLayer::updateLayerPosition):
1914
1915 2007-02-25  David Hyatt  <hyatt@apple.com>
1916
1917         Fix for regression caused by changing the containing block of positioned elements with no positioned ancestor
1918         to be the initial containing block (represented in our tree by the RenderView).  Rework RenderView's layout
1919         to have very few special cases.   Now it will just relayout its children when the width/height of the
1920         view actually changes.  Positioned elements no longer get a special additional layout, since width/height
1921         adjustments are caught by the base class already anyway.
1922
1923         Reviewed by mjs, darin
1924
1925         * rendering/RenderBlock.cpp:
1926         (WebCore::RenderBlock::layoutBlock):
1927         * rendering/RenderFlexibleBox.cpp:
1928         (WebCore::RenderFlexibleBox::layoutBlock):
1929         (WebCore::RenderFlexibleBox::layoutVerticalBox):
1930         * rendering/RenderView.cpp:
1931         (WebCore::RenderView::RenderView):
1932         (WebCore::RenderView::layout):
1933         * rendering/RenderView.h:
1934
1935 2007-02-25  Maciej Stachowiak  <mjs@apple.com>
1936
1937         Not reviewed, build fix.
1938
1939         - fix build breakage
1940
1941         * platform/gdk/ScrollViewGdk.cpp:
1942         (WebCore::ScrollView::fullyClippedContentRect):
1943         * platform/qt/ScrollViewQt.cpp:
1944         (WebCore::ScrollView::fullyClippedContentRect):
1945
1946 2007-02-24  Maciej Stachowiak  <mjs@apple.com>
1947
1948         Reviewed by Adam.
1949
1950         - fixed layout test failure in fast/overflow/scrollRevealButton
1951         
1952         I added a new ScrollView method, fullyClippedContentRect, that vies the content rect
1953         as clipped by all ancestor scroll views, not just this one. Currently it only works
1954         correctly on mac however. visibleContentRect, only accounting for the clipping from
1955         this particular scroll view, is sufficient for most purposes.
1956
1957         * page/Frame.cpp:
1958         (WebCore::Frame::visibleSelectionRect):
1959         (WebCore::Frame::setIsActive):
1960         (WebCore::Frame::markAllMatchesForText):
1961         * platform/ScrollView.h:
1962         * platform/gdk/ScrollViewGdk.cpp:
1963         (WebCore::ScrolView::fullyClippedContentRect):
1964         * platform/mac/ScrollViewMac.mm:
1965         (WebCore::ScrollView::fullyClippedContentRect):
1966         * platform/qt/ScrollViewQt.cpp:
1967         (WebCore::ScrolView::fullyClippedContentRect):
1968         * rendering/RenderLayer.cpp:
1969         (WebCore::RenderLayer::scrollRectToVisible):
1970
1971 2007-02-24  Adam Roben  <aroben@apple.com>
1972
1973         Reviewed by Steve.
1974
1975         "Look Up in Dictionary" context menu item should be Mac-only for now,
1976         since it's only implemented on that platform (<rdar://problem/5021468>)
1977
1978         * platform/ContextMenu.cpp:
1979         (WebCore::ContextMenu::populate): Wrap all instances of the dictionary
1980         menu item in #if PLATFORM(MAC).
1981
1982 2007-02-24  Geoffrey Garen  <ggaren@apple.com>
1983
1984         Reviewed by Darin Adler.
1985         
1986         Fixed <rdar://problem/4987649> leaks in BidiRun::operator new seen while 
1987         running WebKit unit tests
1988         
1989         In bidi.cpp, some functions allocate BidiRuns and put them in a global data
1990         structure, while others uses the BidiRuns in the global data structure. 
1991         The caller is responsible for knowing which functions may allocate runs
1992         and which may use them, and calling deleteBidiRuns() at the appropriate time.
1993
1994         The fix is to add some calls to deleteBidiRuns() where they were missing.
1995         
1996         I also added a BidiRun counter because these two leaks were introduced by
1997         our two bidi.cpp experts, so the odds that leaks will creep in again
1998         in the future seem pretty high.
1999
2000         * rendering/bidi.cpp:
2001         (WebCore::RenderBlock::bidiReorderCharacters): Added  missing call to
2002         deleteBidiRuns().
2003         (WebCore::BidiRunCounter::~BidiRunCounter):
2004         (WebCore::BidiRun::operator delete):
2005         (WebCore::RenderBlock::layoutInlineChildren): Added missing call to
2006         deleteBidiRuns(). Moved call to deleteBidiRuns() to same scope as call to
2007         bidiReorderLine(), to emphasize that they go together like new/delete.
2008         In theory, the old code was just as good, but I didn't want to rely on
2009         theory.
2010
2011 2007-02-24  David Harrison  <harrison@apple.com>
2012
2013         Reviewed by Kevin.
2014
2015         <rdar://problem/4961431> Image with empty string alt tag should be ignored
2016
2017         * bridge/mac/WebCoreAXObject.mm:
2018         (-[WebCoreAXObject accessibilityIsIgnored]):
2019         Ignore img element that has an alt attribute, but that string is empty.
2020
2021 2007-02-24  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>
2022
2023         Reviewed by Adam Roben.
2024
2025         Gdk improvements.
2026
2027         * platform/gdk/FrameGdk.cpp: only scroll on keydown, not both keydown and keyup.
2028         (WebCore::FrameGdk::keyPress):
2029         (WebCore::FrameGdk::handleGdkEvent):
2030         (WebCore::Frame::print):
2031         (WebCore::Frame::issueTransposeCommand):
2032         (WebCore::Frame::respondToChangedSelection):
2033         (WebCore::Frame::cleanupPlatformScriptObjects):
2034         (WebCore::Frame::dragImageForSelection):
2035         * platform/network/gdk/ResourceHandleManager.cpp: don't free memory that
2036         doesn't belong to us.
2037         (WebCore::ResourceHandleManager::downloadTimerCallback):
2038
2039 2007-02-23  Kevin Decker <kdecker@apple.com>
2040
2041         Reviewed by Anders.
2042
2043         Fixed: <rdar://problem/4971226> REGRESSION: Replying to closed HTML mail message does not quote original body (12503)
2044         
2045         There were two problems here:
2046         
2047         * page/mac/WebCoreFrameBridge.mm:
2048         (+[WebCoreFrameBridge stringWithData:textEncodingName:]): The old code said  "if there is no text encoding name than
2049          assume WindowsLatin1 (iso-8859-1) and try to decode that". That's not sufficient because it doesn't handle the fallback
2050          case for unknown encodings. This method will now attempt to decode using WindowsLatin1 for unknown encoding types.
2051         * platform/mac/mac-encodings.txt: Added the missing "macroman" encoding type. 
2052
2053 2007-02-23  Mitz Pettel  <mitz@webkit.org>
2054
2055         Reviewed by Maciej.
2056
2057         - fix http://bugs.webkit.org/show_bug.cgi?id=12856
2058           REGRESSION (r13685): Canceling the suggestion popup does not revert the change
2059
2060         * editing/ReplaceSelectionCommand.cpp:
2061         (WebCore::ReplaceSelectionCommand::doApply): If the fragment to be inserted
2062         is empty, first delete the selection, and only then bail out. 
2063
2064 2007-02-23  Anders Carlsson  <acarlsson@apple.com>
2065
2066         Reviewed by Adam.
2067
2068         <rdar://problem/5001923> 
2069         REGRESSION: Crash when navigating forward from an error page in WebFrameLoaderClient::dispatchDidReceiveContentLength
2070
2071         Fix an error that was introduced in revision r18541. We should check if the provisional document loader 
2072         has an unreachable URL, not the actual document loader.
2073         
2074         * loader/FrameLoader.cpp:
2075         (WebCore::FrameLoader::updateHistoryForCommit):
2076
2077 2007-02-23  Mitz Pettel  <mitz@webkit.org>
2078
2079         Reviewed by Darin.
2080
2081         - fix http://bugs.webkit.org/show_bug.cgi?id=12823
2082           REGRESSION(r16968-16977): unable to prevent selection by cancelling "selectstart" event
2083
2084         Test: fast/events/selectstart-during-autoscroll.html
2085
2086         * rendering/RenderLayer.cpp:
2087         (WebCore::RenderLayer::autoscroll): Invoke the renderer's shouldSelect() --
2088         which dispatches the selection DOM event and gives it a chance to cancel
2089         the selection -- before updating the selection during autoscroll.
2090
2091 2007-02-23  Oliver Hunt  <oliver@apple.com>
2092
2093         Reviewed by Adam.
2094
2095         Fix for http://bugs.webkit.org/show_bug.cgi?id=12870
2096
2097         It turns out short circuiting DragData::containsURL() was bad
2098  
2099         * manual-tests/directory-drop-on-view.html: Added.
2100         * platform/mac/DragDataMac.mm:
2101         (WebCore::DragData::containsURL):
2102
2103 2007-02-23  Maciej Stachowiak  <mjs@apple.com>
2104
2105         Reviewed by Mitz.
2106
2107         - 12.5% speedup on BenchJS test 6
2108         Partial fix for http://bugs.webkit.org/show_bug.cgi?id=12866
2109         
2110         It turns out that calling documentVisibleRect on an NSScrollView is pretty expensive,
2111         and calling visibleRect even more so. Take measures to call them less often.
2112
2113         * platform/mac/ScrollViewMac.mm:
2114         (WebCore::ScrollView::visibleContentRect): Use documentVisibleRect when possible.
2115         (WebCore::ScrollView::updateContents): Use visibleContentRect to be able to use
2116         documentVisibleRect when possible.
2117         * rendering/RenderView.cpp:
2118         (WebCore::RenderView::repaintViewRectangle): Don't get or intersect with viewRect
2119         if we don't have a parent frame, since the ScrollView will do that anyway. Also,
2120         don't get contentX and contentY separately since they are in the viewRect already.
2121         (WebCore::RenderView::viewRect): Use visibleContentRect instead of getting each
2122         coordinate individually, to avoid calling documentVisibleRect repeatedly.
2123
2124 2007-02-23  Maciej Stachowiak  <mjs@apple.com>
2125
2126         Reviewed by Mitz.
2127
2128         - 2% speedup on BenchJS test 6
2129         Partial fix for http://bugs.webkit.org/show_bug.cgi?id=12866
2130
2131         * css/CSSPrimitiveValue.cpp:
2132         (WebCore::CSSPrimitiveValue::cssText): Use format() instead of
2133         number() followed by append of a constant string.
2134
2135 2007-02-22  George Staikos  <staikos@kde.org>
2136
2137         Fix the Qt build.
2138
2139         * platform/qt/ClipboardQt.cpp:
2140         (WebCore::ClipboardQt::ClipboardQt):
2141
2142 2007-02-22  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>
2143
2144         Reviewed by Adam Roben, who never sleeps.
2145
2146         To avoid code duplication, move notImplementedGdk() macro to a separate
2147         header file. Remove existing notImplementedGdk() macros and replace
2148         remaining notImplemented() to notImplementedGdk() in gdk code.
2149
2150         * loader/gdk/DocumentLoaderGdk.cpp:
2151         (WebCore::DocumentLoader::getResponseModifiedHeader):
2152         * loader/gdk/FrameLoaderClientGdk.cpp:
2153         (WebCore::FrameLoaderClientGdk::hasWebView):
2154         (WebCore::FrameLoaderClientGdk::hasFrameView):
2155         * page/gdk/ContextMenuClientGdk.cpp:
2156         (WebCore::ContextMenuClientGdk::contextMenuDestroyed):
2157         (WebCore::ContextMenuClientGdk::getCustomMenuFromDefaultItems):
2158         (WebCore::ContextMenuClientGdk::contextMenuItemSelected):
2159         (WebCore::ContextMenuClientGdk::downloadURL):
2160         (WebCore::ContextMenuClientGdk::copyImageToClipboard):
2161         (WebCore::ContextMenuClientGdk::searchWithGoogle):
2162         (WebCore::ContextMenuClientGdk::lookUpInDictionary):
2163         (WebCore::ContextMenuClientGdk::speak):
2164         (WebCore::ContextMenuClientGdk::stopSpeaking):
2165         * page/gdk/EventHandlerGdk.cpp:
2166         * platform/gdk/CursorGdk.cpp:
2167         (WebCore::Cursor::Cursor):
2168         * platform/gdk/EditorClientGdk.cpp:
2169         * platform/gdk/NotImplementedGdk.h: Added.
2170         * platform/gdk/PopupMenuGdk.cpp:
2171         (WebCore::PopupMenu::PopupMenu):
2172         (WebCore::PopupMenu::~PopupMenu):
2173         (WebCore::PopupMenu::show):
2174         (WebCore::PopupMenu::hide):
2175         (WebCore::PopupMenu::updateFromElement):
2176         * platform/gdk/RenderThemeGdk.cpp:
2177         * platform/gdk/ScreenGdk.cpp:
2178         (WebCore::screenDepth):
2179         (WebCore::screenDepthPerComponent):
2180         (WebCore::screenIsMonochrome):
2181         (WebCore::screenRect):
2182         (WebCore::screenAvailableRect):
2183         * platform/gdk/TemporaryLinkStubs.cpp:
2184         * platform/graphics/gdk/ImageGdk.cpp:
2185         (WebCore::Image::drawPattern):
2186         * platform/network/gdk/ResourceHandleCurl.cpp:
2187         (WebCore::ResourceHandle::setDefersLoading):
2188         * platform/network/gdk/ResourceHandleManager.cpp:
2189         (WebCore::ResourceHandleManager::setupPUT):
2190         (WebCore::ResourceHandleManager::setupPOST):
2191
2192 2007-02-22  Ian Eng  <ian.eng.webkit@gmail.com>
2193
2194         Reviewed by Maciej.
2195
2196         - Patch for http://bugs.webkit.org/show_bug.cgi?id=12850
2197           Leaks >10k objects
2198
2199         and
2200
2201         - http://bugs.webkit.org/show_bug.cgi?id=12853
2202           add a EventListener leak counter
2203
2204         Problem: RemoveEventListener leaks memory if the listener is not
2205         registered.
2206         Fix: Added Window::findJSEventListener function w/o creating a 
2207         JSEventListener; Renamed getJSEventListener to findOrCreateJSEventListener;
2208
2209         As an enhancement, added a leak counter for EventListeners.
2210
2211         Added a test case, LayoutTests/fast/events/remove-event-listener.html.
2212
2213         * WebCore/bindings/js/kjs_dom.cpp:
2214         * WebCore/bindings/js/kjs_window.h:
2215         * WebCore/bindings/js/kjs_window.cpp:
2216         * WebCore/bindings/js/kjs_event.cpp: Add a leak counter.
2217         * WebCore/bindings/js/JSXMLHttpRequest.cpp:
2218         * LayoutTests/fast/events/remove-event-listener.html:
2219
2220 2007-02-22  Anders Carlsson  <acarlsson@apple.com>
2221
2222         Reviewed by Geoff.
2223
2224         <rdar://problem/4998203> 
2225         REGRESSION: Back-forward list gets messed up when navigating to error pages with back-forward cache turned off
2226         
2227         * loader/FrameLoader.cpp:
2228         (WebCore::FrameLoader::load):
2229         Remove call to setPolicyDocumentLoader(), the policy document loader is set immediately after, and setting it before 
2230         calling shouldReloadToHandleUnreachableURL causes us to get the wrong URL.
2231         
2232         (WebCore::FrameLoader::shouldReloadToHandleUnreachableURL):
2233         Check if the unreachable URL is equal to the document loader's request.
2234         
2235         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
2236         Check the provisional document loader's unreachable URL.
2237
2238 2007-02-22  Justin Garcia  <justin.garcia@apple.com>
2239
2240         Reviewed by darin
2241         
2242         <rdar://problem/5007143>
2243         REGRESSION: WebKit doesn't remember horizontal position of caret when moving forward by line
2244
2245         * editing/SelectionController.cpp:
2246         (WebCore::SelectionController::SelectionController): Initialize 
2247         m_xPosForVerticalArrowNavigation.
2248         (WebCore::SelectionController::setSelection): Call the new setter.
2249         (WebCore::SelectionController::modifyMovingRightForward): For line
2250         and paragraph granularities, use the saved xPosForVerticalArrowNavigation 
2251         even if the old selection was a range. Use the x position of the 
2252         *start*, not the end of the selection if there is no saved 
2253         xPosForVerticalArrowNavigation.  This matches TextEdit's behavior.
2254         (WebCore::SelectionController::modifyMovingLeftBackward): For line
2255         and paragraph granularities, use the saved xPosForVerticalArrowNavigation 
2256         even if the old selection was a range.
2257         (WebCore::SelectionController::modify): Preserve the xPosForVerticalArrowNavigation
2258         for line and paragraph granularities.
2259         (WebCore::SelectionController::xPosForVerticalArrowNavigation): Removed
2260         the recalc bool because it is now always false.
2261         (WebCore::SelectionController::setXPosForVerticalArrowNavigation): Added.
2262         * editing/SelectionController.h: Moved m_xPosForVerticalArrowNavigation
2263         from Frame.
2264         * page/Frame.cpp: Moved m_xPosForVerticalArrowNavigation to SelectionController.
2265         * page/Frame.h: Ditto.
2266         * page/FramePrivate.h: Ditto.
2267
2268 2007-02-22  Beth Dakin  <bdakin@apple.com>
2269
2270         Reviewed by Adam. Manual test added.
2271
2272         Fix for http://bugs.webkit.org/show_bug.cgi?id=12399 REGRESSION: 
2273         Unable to prevent default context menu from appearing. <rdar://
2274         problem/5017416>
2275
2276         This problem appeared because of two facets of the current context 
2277         menu design. First, all context menu events are now considered to 
2278         be "swallowed" since we take care of building up the regular 
2279         context menu through the defaultEventHandler(). Second, the context 
2280         menu controller holds onto it's context menu until a new one is 
2281         created. There would be logistical problems changing this since 
2282         AppKit relies on the menu being around for as long as it is
2283         visible on the screen and we don't get any notification once the 
2284         menu is popped-down.
2285
2286         This patch fixes the problem by giving WebKit a way to clear the 
2287         controller's context menu. WebKit now clears the menu before it 
2288         propagates a new context menu event through the DOM.
2289
2290         * WebCore.exp:
2291         * manual-tests/DOMContextMenuEvent.html: Added.
2292         * page/ContextMenuController.cpp:
2293         (WebCore::ContextMenuController::clearContextMenu):
2294         * page/ContextMenuController.h:
2295
2296 2007-02-22  John Sullivan  <sullivan@apple.com>
2297
2298         Reviewed by Kevin and Adele
2299         
2300         - fixed <rdar://problem/4129417> Need final art for textarea's resize corner
2301         
2302         This probably broke some layout pixel tests since the image changed. I'm going to
2303         track those down in a moment (non-trivial since there are a bunch failing for other
2304         reasons).
2305
2306         * Resources/textAreaResizeCorner.tiff:
2307         new art
2308
2309         * Resources/deleteButton.tiff:
2310         * Resources/deleteButtonPressed.tiff:
2311         these got smaller when I ran compress-tiffs on this directory
2312         
2313 2007-02-22  Oliver Hunt  <oliver@apple.com>
2314
2315         Reviewed by Ada, Lou and Steve.
2316
2317         Moving basic components of ClipboardMac to Clipboard, 
2318         last of the basic common code merge will come later (namely setting the 
2319         drag element/image).
2320         
2321         Tidying up in DragController including a few bad PassRefPtr uses and
2322         removing unnecessary accessors.  Also initialise fields properly to
2323         fix <rdar:/problems/5014889>
2324
2325         * dom/Clipboard.cpp:
2326         (WebCore::Clipboard::Clipboard):
2327           New constructor
2328           
2329         * dom/Clipboard.h:
2330         (WebCore::Clipboard::isForDragging):
2331         (WebCore::Clipboard::dragLocation):
2332         (WebCore::Clipboard::dragImage):
2333         (WebCore::Clipboard::dragImageElement):
2334           Exposing common data
2335           
2336         * page/DragController.cpp:
2337         (WebCore::DragController::DragController):
2338           Initialise m_isHandlingDrag (oops)
2339         (WebCore::documentFragmentFromDragData):
2340         (WebCore::DragController::tryDocumentDrag):
2341           Fixing PassRefPtr misuse
2342         (WebCore::DragController::canProcessDrag):
2343         (WebCore::DragController::startDrag):
2344         (WebCore::DragController::doSystemDrag):
2345           Make sure we're using the correct coordinate space
2346           
2347         * page/EventHandler.cpp:
2348         (WebCore::EventHandler::handleDrag):
2349           Reset drag source correctly
2350           
2351         * platform/mac/ClipboardMac.h:
2352         * platform/mac/ClipboardMac.mm:
2353         (WebCore::ClipboardMac::ClipboardMac):
2354           update constructor to use new Clipboard constructor
2355
2356 2007-02-22  Adele Peterson  <adele@apple.com>
2357
2358         Reviewed by Darin.
2359
2360         Fix for <rdar://problem/5014970> 9A374: Tabs don't work in the message body
2361
2362         Test: fast/events/keypress-insert-tab.html
2363
2364         * page/EventHandler.cpp: (WebCore::EventHandler::defaultTextInputEventHandler):
2365           If the defaultTabEventHandler doesn't handle the event, then go on to the insertText case.
2366
2367 2007-02-22  Timothy Hatcher  <timothy@apple.com>
2368
2369         Reviewed by Darin.
2370
2371         <rdar://problem/4948887> REGRESSION: Correct differences in public DOM API that inadvertently changed in Leopard
2372
2373         * bindings/objc/PublicDOMInterfaces.h: Changes return types for two size properties, adds deprecated DOMEventTarget methods.
2374         * bindings/scripts/CodeGeneratorObjC.pm: Fixed public API checking for protocols, adds support for ConvertToString.
2375         * dom/EventTarget.idl: Marks addEventListener and removeEventListener with the OldStyleObjC attribute.
2376         * html/HTMLBaseFontElement.idl: Changes the size property to a DOMString for ObjC only.
2377         * html/HTMLInputElement.idl: Changes the size property to a DOMString for ObjC only.
2378         * html/HTMLOptionsCollection.idl: Changes the length property to be unsigned.
2379
2380 2007-02-22  Adele Peterson  <adele@apple.com>
2381
2382         Reviewed by John.
2383
2384         Fix <rdar://problem/5016969> REGRESSION: "Check Spelling As You Type" context menu item is never checked
2385
2386         * platform/ContextMenu.cpp: (WebCore::ContextMenu::checkOrEnableIfNeeded): Set shouldCheck for ContextMenuItemTagCheckSpellingWhileTyping.
2387
2388 2007-02-22  Antti Koivisto  <antti@apple.com>
2389
2390         Reviewed by Darin.
2391
2392         - fix http://bugs.webkit.org/show_bug.cgi?id=11447
2393         REGRESSION(NativeListBox): List not scrolled to preselected option
2394         <rdar://problem/4957463>
2395         
2396         Initiate scroll when selected <option> is added to <select>.
2397
2398         * html/HTMLOptionElement.cpp:
2399         (WebCore::HTMLOptionElement::insertedIntoDocument):
2400         * html/HTMLOptionElement.h:
2401         * html/HTMLSelectElement.cpp:
2402         (WebCore::HTMLSelectElement::notifyOptionSelected):
2403         (WebCore::HTMLSelectElement::updateListBoxSelection):
2404         (WebCore::HTMLSelectElement::scrollToSelection):
2405         * html/HTMLSelectElement.h:
2406
2407 2007-02-22  Zack Rusin  <zrusin@trolltech.com>
2408
2409         Reviewed by Lars
2410
2411         Fix sites with fixed positioned backgrounds.
2412
2413         * platform/qt/ScrollViewQt.cpp:
2414         (WebCore::ScrollView::setStaticBackground):
2415
2416 2007-02-22  Zack Rusin  <zrusin@trolltech.com>
2417
2418         Reviewed by Lars
2419
2420         Properly implement canvas/scrollview's. Get
2421         rid of ScrollViewCanvas and replace it with
2422         a tailor abstractscrollview (now in qwebframe).
2423         Scrolling of pages is finally completely smooth.
2424
2425         * WebCore.pro:
2426         * platform/ScrollView.h:
2427         * platform/qt/ScrollViewCanvasQt.cpp: Removed.
2428         * platform/qt/ScrollViewCanvasQt.h: Removed.
2429         * platform/qt/ScrollViewQt.cpp:
2430         (WebCore::ScrollView::ScrollView):
2431         (WebCore::ScrollView::setScrollArea):
2432         (WebCore::ScrollView::updateContents):
2433         (WebCore::ScrollView::resizeContents):
2434         (WebCore::ScrollView::contentsWidth):
2435         (WebCore::ScrollView::contentsHeight):
2436         (WebCore::ScrollView::contentsToWindow):
2437         (WebCore::ScrollView::windowToContents):
2438         (WebCore::ScrollView::addChild):
2439         * platform/qt/WidgetQt.cpp:
2440         (WebCore::WidgetPrivate::canvas):
2441         (WebCore::WidgetPrivate::parentScroll):
2442         (WebCore::WidgetPrivate::setGeometry):
2443         (WebCore::WidgetPrivate::geometry):
2444         (WebCore::Widget::frameGeometry):
2445         (WebCore::Widget::setQWidget):
2446         (WebCore::Widget::setFrameGeometry):
2447
2448 2007-02-21  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>
2449
2450         Reviewed by Adam Roben.
2451
2452         Improve notImplemented() macro for gdk. Rename to notImplementedGdk() to
2453         give it a unique name (so that it doesn't clash with notImplemented()
2454         for other platforms).
2455         Make it print a given warning only once, so that frequently called
2456         functions don't clutter the output.
2457         Don't print the warning if DISABLE_NI_WARNING env variable is set.
2458
2459         * loader/gdk/FrameLoaderClientGdk.cpp:
2460         (WebCore::FrameLoaderClientGdk::dispatchDidReceiveAuthenticationChallenge):
2461         (WebCore::FrameLoaderClientGdk::dispatchDidCancelAuthenticationChallenge):
2462         (WebCore::FrameLoaderClientGdk::dispatchWillSendRequest):
2463         (WebCore::FrameLoaderClientGdk::assignIdentifierToInitialRequest):
2464         (WebCore::FrameLoaderClientGdk::createPlugin):
2465         (WebCore::FrameLoaderClientGdk::createFrame):
2466         (WebCore::FrameLoaderClientGdk::redirectDataToPlugin):
2467         (WebCore::FrameLoaderClientGdk::createJavaAppletWidget):
2468         (WebCore::FrameLoaderClientGdk::objectContentType):
2469         (WebCore::FrameLoaderClientGdk::overrideMediaType):
2470         (WebCore::FrameLoaderClientGdk::windowObjectCleared):
2471         (WebCore::FrameLoaderClientGdk::hasWebView):
2472         (WebCore::FrameLoaderClientGdk::hasFrameView):
2473         (WebCore::FrameLoaderClientGdk::frameLoadCompleted):
2474         (WebCore::FrameLoaderClientGdk::saveViewStateToItem):
2475         (WebCore::FrameLoaderClientGdk::restoreViewState):
2476         (WebCore::FrameLoaderClientGdk::privateBrowsingEnabled):
2477         (WebCore::FrameLoaderClientGdk::makeDocumentView):
2478         (WebCore::FrameLoaderClientGdk::makeRepresentation):
2479         (WebCore::FrameLoaderClientGdk::forceLayout):
2480         (WebCore::FrameLoaderClientGdk::forceLayoutForNonHTML):
2481         (WebCore::FrameLoaderClientGdk::setCopiesOnScroll):
2482         (WebCore::FrameLoaderClientGdk::detachedFromParent1):
2483         (WebCore::FrameLoaderClientGdk::detachedFromParent2):
2484         (WebCore::FrameLoaderClientGdk::detachedFromParent3):
2485         (WebCore::FrameLoaderClientGdk::detachedFromParent4):
2486         (WebCore::FrameLoaderClientGdk::loadedFromPageCache):
2487         (WebCore::FrameLoaderClientGdk::dispatchDidHandleOnloadEvents):
2488         (WebCore::FrameLoaderClientGdk::dispatchDidReceiveServerRedirectForProvisionalLoad):
2489         (WebCore::FrameLoaderClientGdk::dispatchDidCancelClientRedirect):
2490         (WebCore::FrameLoaderClientGdk::dispatchWillPerformClientRedirect):
2491         (WebCore::FrameLoaderClientGdk::dispatchDidChangeLocationWithinPage):
2492         (WebCore::FrameLoaderClientGdk::dispatchWillClose):
2493         (WebCore::FrameLoaderClientGdk::dispatchDidReceiveIcon):
2494         (WebCore::FrameLoaderClientGdk::dispatchDidStartProvisionalLoad):
2495         (WebCore::FrameLoaderClientGdk::dispatchDidReceiveTitle):
2496         (WebCore::FrameLoaderClientGdk::dispatchDidCommitLoad):
2497         (WebCore::FrameLoaderClientGdk::dispatchDidFinishDocumentLoad):
2498         (WebCore::FrameLoaderClientGdk::dispatchDidFirstLayout):
2499         (WebCore::FrameLoaderClientGdk::dispatchShow):
2500         (WebCore::FrameLoaderClientGdk::cancelPolicyCheck):
2501         (WebCore::FrameLoaderClientGdk::dispatchDidLoadMainResource):
2502         (WebCore::FrameLoaderClientGdk::revertToProvisionalState):
2503         (WebCore::FrameLoaderClientGdk::clearUnarchivingState):
2504         (WebCore::FrameLoaderClientGdk::willChangeTitle):
2505         (WebCore::FrameLoaderClientGdk::finishedLoading):
2506         (WebCore::FrameLoaderClientGdk::finalSetupForReplace):
2507         (WebCore::FrameLoaderClientGdk::setDefersLoading):
2508         (WebCore::FrameLoaderClientGdk::isArchiveLoadPending):
2509         (WebCore::FrameLoaderClientGdk::cancelPendingArchiveLoad):
2510         (WebCore::FrameLoaderClientGdk::clearArchivedResources):
2511         (WebCore::FrameLoaderClientGdk::canHandleRequest):
2512         (WebCore::FrameLoaderClientGdk::canShowMIMEType):
2513         (WebCore::FrameLoaderClientGdk::representationExistsForURLScheme):
2514         (WebCore::FrameLoaderClientGdk::generatedMIMETypeForURLScheme):
2515         (WebCore::FrameLoaderClientGdk::provisionalLoadStarted):
2516         (WebCore::FrameLoaderClientGdk::didFinishLoad):
2517         (WebCore::FrameLoaderClientGdk::prepareForDataSourceReplacement):
2518         (WebCore::FrameLoaderClientGdk::setTitle):
2519         (WebCore::FrameLoaderClientGdk::setDocumentViewFromPageCache):
2520         (WebCore::FrameLoaderClientGdk::dispatchDidReceiveContentLength):
2521         (WebCore::FrameLoaderClientGdk::dispatchDidFinishLoading):
2522         (WebCore::FrameLoaderClientGdk::dispatchDidFailLoading):
2523         (WebCore::FrameLoaderClientGdk::dispatchDidLoadResourceFromMemoryCache):
2524         (WebCore::FrameLoaderClientGdk::dispatchDidFailProvisionalLoad):
2525         (WebCore::FrameLoaderClientGdk::dispatchDidFailLoad):
2526         (WebCore::FrameLoaderClientGdk::download):
2527         (WebCore::FrameLoaderClientGdk::cancelledError):
2528         (WebCore::FrameLoaderClientGdk::cannotShowURLError):
2529         (WebCore::FrameLoaderClientGdk::interruptForPolicyChangeError):
2530         (WebCore::FrameLoaderClientGdk::cannotShowMIMETypeError):
2531         (WebCore::FrameLoaderClientGdk::fileDoesNotExistError):
2532         (WebCore::FrameLoaderClientGdk::shouldFallBack):
2533         (WebCore::FrameLoaderClientGdk::willUseArchive):
2534         (WebCore::FrameLoaderClientGdk::saveDocumentViewToPageCache):
2535         (WebCore::FrameLoaderClientGdk::canCachePage):
2536         (WebCore::FrameLoaderClientGdk::dispatchCreatePage):
2537         (WebCore::FrameLoaderClientGdk::dispatchUnableToImplementPolicy):
2538         (WebCore::FrameLoaderClientGdk::setMainDocumentError):
2539         (WebCore::FrameLoaderClientGdk::startDownload):
2540         (WebCore::FrameLoaderClientGdk::updateGlobalHistoryForStandardLoad):
2541         (WebCore::FrameLoaderClientGdk::updateGlobalHistoryForReload):
2542         (WebCore::FrameLoaderClientGdk::shouldGoToHistoryItem):
2543         * page/gdk/EventHandlerGdk.cpp:
2544         (WebCore::EventHandler::passMouseDownEventToWidget):
2545         (WebCore::EventHandler::eventActivatedView):
2546         (WebCore::EventHandler::passSubframeEventToSubframe):
2547         (WebCore::EventHandler::passWheelEventToWidget):
2548         (WebCore::EventHandler::createDraggingClipboard):
2549         * platform/gdk/EditorClientGdk.cpp:
2550         (WebCore::EditorClientGdk::shouldDeleteRange):
2551         (WebCore::EditorClientGdk::isContinuousSpellCheckingEnabled):
2552         (WebCore::EditorClientGdk::isGrammarCheckingEnabled):
2553         (WebCore::EditorClientGdk::spellCheckerDocumentTag):
2554         (WebCore::EditorClientGdk::shouldBeginEditing):
2555         (WebCore::EditorClientGdk::shouldEndEditing):
2556         (WebCore::EditorClientGdk::shouldInsertText):
2557         (WebCore::EditorClientGdk::shouldChangeSelectedRange):
2558         (WebCore::EditorClientGdk::shouldApplyStyle):
2559         (WebCore::EditorClientGdk::didBeginEditing):
2560         (WebCore::EditorClientGdk::respondToChangedContents):
2561         (WebCore::EditorClientGdk::didEndEditing):
2562         (WebCore::EditorClientGdk::didWriteSelectionToPasteboard):
2563         (WebCore::EditorClientGdk::didSetSelectionTypesForPasteboard):
2564         (WebCore::EditorClientGdk::selectWordBeforeMenuEvent):
2565         (WebCore::EditorClientGdk::isEditable):
2566         (WebCore::EditorClientGdk::registerCommandForUndo):
2567         (WebCore::EditorClientGdk::registerCommandForRedo):
2568         (WebCore::EditorClientGdk::clearUndoRedoOperations):
2569         (WebCore::EditorClientGdk::canUndo):
2570         (WebCore::EditorClientGdk::canRedo):
2571         (WebCore::EditorClientGdk::undo):
2572         (WebCore::EditorClientGdk::redo):
2573         (WebCore::EditorClientGdk::shouldInsertNode):
2574         (WebCore::EditorClientGdk::pageDestroyed):
2575         (WebCore::EditorClientGdk::smartInsertDeleteEnabled):
2576         (WebCore::EditorClientGdk::toggleContinuousSpellChecking):
2577         (WebCore::EditorClientGdk::textFieldDidBeginEditing):
2578         (WebCore::EditorClientGdk::textFieldDidEndEditing):
2579         (WebCore::EditorClientGdk::textDidChangeInTextField):
2580         (WebCore::EditorClientGdk::doTextFieldCommandFromEvent):
2581         (WebCore::EditorClientGdk::textWillBeDeletedInTextField):
2582         (WebCore::EditorClientGdk::textDidChangeInTextArea):
2583         * platform/gdk/RenderThemeGdk.cpp:
2584         (WebCore::RenderThemeGdk::setCheckboxSize):
2585         (WebCore::RenderThemeGdk::setRadioSize):
2586         (WebCore::RenderThemeGdk::adjustTextFieldStyle):
2587         * platform/gdk/TemporaryLinkStubs.cpp:
2588         (FrameView::updateBorder):
2589         (Widget::setEnabled):
2590         (Widget::isEnabled):
2591         (Widget::focusPolicy):
2592         (Widget::enableFlushDrawing):
2593         (Widget::disableFlushDrawing):
2594         (Widget::lockDrawingFocus):
2595         (Widget::unlockDrawingFocus):
2596         (Widget::removeFromParent):
2597         (Widget::paint):
2598         (Widget::setIsSelected):
2599         (Widget::invalidate):
2600         (Widget::invalidateRect):
2601         (PlatformMouseEvent::PlatformMouseEvent):
2602         (WebCore::findNextSentenceFromIndex):
2603         (WebCore::findSentenceBoundary):
2604         (WebCore::findNextWordFromIndex):
2605         (ChromeClientGdk::chromeDestroyed):
2606         (ChromeClientGdk::windowRect):
2607         (ChromeClientGdk::setWindowRect):
2608         (ChromeClientGdk::pageRect):
2609         (ChromeClientGdk::scaleFactor):
2610         (ChromeClientGdk::focus):
2611         (ChromeClientGdk::unfocus):
2612         (ChromeClientGdk::createWindow):
2613         (ChromeClientGdk::createModalDialog):
2614         (ChromeClientGdk::show):
2615         (ChromeClientGdk::canRunModal):
2616         (ChromeClientGdk::runModal):
2617         (ChromeClientGdk::setToolbarsVisible):
2618         (ChromeClientGdk::toolbarsVisible):
2619         (ChromeClientGdk::setStatusbarVisible):
2620         (ChromeClientGdk::statusbarVisible):
2621         (ChromeClientGdk::setScrollbarsVisible):
2622         (ChromeClientGdk::scrollbarsVisible):
2623         (ChromeClientGdk::setMenubarVisible):
2624         (ChromeClientGdk::menubarVisible):
2625         (ChromeClientGdk::setResizable):
2626         (ChromeClientGdk::closeWindowSoon):
2627         (ChromeClientGdk::canTakeFocus):
2628         (ChromeClientGdk::takeFocus):
2629         (ChromeClientGdk::canRunBeforeUnloadConfirmPanel):
2630         (ChromeClientGdk::addMessageToConsole):
2631         (ChromeClientGdk::runBeforeUnloadConfirmPanel):
2632         (ChromeClientGdk::runJavaScriptAlert):
2633         (ChromeClientGdk::runJavaScriptConfirm):
2634         (ChromeClientGdk::runJavaScriptPrompt):
2635         (ChromeClientGdk::setStatusbarText):
2636         (ChromeClientGdk::shouldInterruptJavaScript):
2637         (ChromeClientGdk::tabsToLinks):
2638         (ChromeClientGdk::windowResizerRect):
2639         (ChromeClientGdk::addToDirtyRegion):
2640         (ChromeClientGdk::scrollBackingStore):
2641         (ChromeClientGdk::updateBackingStore):
2642         (PlugInInfoStore::createPluginInfoForPluginAtIndex):
2643         (PlugInInfoStore::pluginCount):
2644         (WebCore::PlugInInfoStore::supportsMIMEType):
2645         (WebCore::refreshPlugins):
2646         (SearchPopupMenu::saveRecentSearches):
2647         (SearchPopupMenu::loadRecentSearches):
2648         (SearchPopupMenu::SearchPopupMenu):
2649         (PlatformScrollbar::PlatformScrollbar):
2650         (PlatformScrollbar::~PlatformScrollbar):
2651         (PlatformScrollbar::setEnabled):
2652         (PlatformScrollbar::paint):
2653         (PlatformScrollbar::updateThumbPosition):
2654         (PlatformScrollbar::updateThumbProportion):
2655         (PlatformScrollbar::setRect):
2656         (FileChooser::FileChooser):
2657         (FileChooser::~FileChooser):
2658         (FileChooser::openFileChooser):
2659         (FileChooser::basenameForWidth):
2660         (ResourceHandle::willLoadFromCache):
2661         (ResourceHandle::loadsBlocked):
2662         (ResourceHandle::loadResourceSynchronously):
2663         (Icon::Icon):
2664         (Icon::~Icon):
2665         (Icon::newIconForFile):
2666         (Icon::paint):
2667         (Font::drawComplexText):
2668         (Font::floatWidthForComplexText):
2669         (Font::offsetForPositionForComplexText):
2670         (PageCache::close):
2671         (Editor::ignoreSpelling):
2672         (Editor::learnSpelling):
2673         (Editor::isSelectionUngrammatical):
2674         (Editor::isSelectionMisspelled):
2675         (Editor::guessesForMisspelledSelection):
2676         (Editor::guessesForUngrammaticalSelection):
2677         (Editor::markMisspellingsAfterTypingToPosition):
2678         (Editor::newGeneralClipboard):
2679         (Pasteboard::generalPasteboard):
2680         (Pasteboard::writeSelection):
2681         (Pasteboard::writeURL):
2682         (Pasteboard::writeImage):
2683         (Pasteboard::clear):
2684         (Pasteboard::canSmartReplace):
2685         (Pasteboard::documentFragment):
2686         (Pasteboard::plainText):
2687         (Pasteboard::Pasteboard):
2688         (Pasteboard::~Pasteboard):
2689         (ContextMenu::ContextMenu):
2690         (ContextMenu::~ContextMenu):
2691         (ContextMenu::appendItem):
2692         (ContextMenuItem::ContextMenuItem):
2693         (ContextMenuItem::~ContextMenuItem):
2694         (ContextMenuItem::releasePlatformDescription):
2695         (ContextMenuItem::type):
2696         (ContextMenuItem::setType):
2697         (ContextMenuItem::action):
2698         (ContextMenuItem::setAction):
2699         (ContextMenuItem::title):
2700         (ContextMenuItem::setTitle):
2701         (ContextMenuItem::platformSubMenu):
2702         (ContextMenuItem::setSubMenu):
2703         (ContextMenuItem::setChecked):
2704         (ContextMenuItem::setEnabled):
2705         (WebCore::supportedKeySizes):
2706         (WebCore::systemBeep):
2707         (WebCore::userIdleTime):
2708
2709 2007-02-21  Antti Koivisto  <antti@apple.com>
2710
2711         Reviewed by Hyatt.
2712
2713         - fix http://bugs.webkit.org/show_bug.cgi?id=12820
2714         REGRESSION (r19706): Caret not painted after popup, failing editing/pasteboard/4641033
2715
2716         Yet another attempt to figure out exactly who should paint the caret.
2717
2718         * editing/SelectionController.cpp:
2719         (WebCore::SelectionController::isInsideNode):
2720         * editing/SelectionController.h:
2721         * rendering/RenderBlock.cpp:
2722         (WebCore::RenderBlock::paintCaret):
2723
2724 2007-02-21  Mitz Pettel  <mitz@webkit.org>
2725
2726         Reviewed by Hyatt.
2727
2728         - fix http://bugs.webkit.org/show_bug.cgi?id=12818
2729           REGRESSION (r19148): shacknews.com does not render completely
2730
2731         Test: fast/dynamic/staticY-marking-parents-regression.html
2732
2733         Changed calls to setChildNeedsLayout(true) during layout to
2734         setChildNeedsLayout(true, false). Prior to r19148, the default behavior
2735         of marking containers did not matter because the caller was the container
2736         and was already marked, but r19148 added marking of the parent of
2737         objects with static Y, which can be different from the caller and not
2738         necessarily marked already.
2739
2740         * rendering/RenderBlock.cpp:
2741         (WebCore::RenderBlock::collapseMargins):
2742         (WebCore::RenderBlock::clearFloatsIfNeeded):
2743         (WebCore::RenderBlock::layoutBlockChildren):
2744         * rendering/RenderBox.cpp:
2745         (WebCore::RenderBox::setStaticY):
2746         * rendering/RenderFlexibleBox.cpp:
2747         (WebCore::RenderFlexibleBox::layoutVerticalBox):
2748
2749 2007-02-21  Brady Eidson  <beidson@apple.com>
2750
2751         Reviewed by Dave Harrison
2752
2753         <rdar://problem/5014313> - Crash in FrameLoader::restoreScrollPositionAndViewState() 
2754         after regaining network connection
2755
2756         * loader/FrameLoader.cpp:
2757         (WebCore::FrameLoader::restoreScrollPositionAndViewState):  Leave an assertion for debug
2758         build exploration, but gracefully handle the release build case
2759
2760 2007-02-21  Timothy Hatcher  <timothy@apple.com>
2761
2762         Rubber-stamped by Darin.
2763
2764         * bindings/objc/PublicDOMInterfaces.h: Add missing classes that are really public.
2765         Also adds the deprecated selector for getComputedStyle: on DOMDocument.
2766
2767 2007-02-21  Justin Garcia  <justin.garcia@apple.com>
2768
2769         Reviewed by john
2770         
2771         <rdar://problem/5012665>
2772         Removing indent from list moves the caret to the line below
2773
2774         Selection preservation during indent, outdent and list 
2775         operations uses rangeFromLocationAndLength.  Ranges returned 
2776         by rangeFromLocationAndLength were incorrect for locations 
2777         just before the line breaks that are emitted after blocks.  
2778         This is because TextIterator emitted bad ranges for these line 
2779         breaks (ranges that started and ended *after* the block).  
2780         The fix corrects the start but not the end.  This is acceptible 
2781         because there is code in rangeFromLocationAndLength that corrects 
2782         the ends of runs using the start of the run and VisiblePosition 
2783         creation.
2784         
2785         * editing/TextIterator.cpp:
2786         (WebCore::TextIterator::exitNode): Emit a position *inside* 
2787         the block, after its contents.
2788
2789 2007-02-21  Adele Peterson  <adele@apple.com>
2790
2791         Reviewed by Darin.
2792
2793         Fix for <rdar://problem/4999030> Indexing into select element to get to items in the options collection is broken
2794
2795         Test: fast/forms/select-index-setter.html
2796
2797         Added indexSetter for HTMLSelectElement.
2798
2799         * WebCore.xcodeproj/project.pbxproj: Added JSHTMLSelectElementCustom.h
2800
2801         * bindings/js/JSHTMLOptionsCollectionCustom.cpp: (WebCore::JSHTMLOptionsCollection::indexSetter):
2802           Moved code to selectIndexSetter so it can be shared between these classes.
2803         * bindings/js/JSHTMLSelectElementCustom.cpp:
2804         (WebCore::selectIndexSetter): Added.  Moved from JSHTMLOptionsCollection::indexSetter.
2805         (WebCore::JSHTMLSelectElement::indexSetter): Calls selectIndexSetter.
2806         * bindings/js/JSHTMLSelectElementCustom.h: Added.
2807         * html/HTMLSelectElement.idl: Added HasCustomIndexSetter keyword.
2808
2809         * bindings/scripts/CodeGeneratorJS.pm: When generating "put" methods, if the propertyName is a number, call the indexSetter first,
2810           and then call the version of lookupPut that will also try to use the parent's lookup table.  This matches the order of our
2811           old code, before we autogenerated the JSHTMLSelectElement class.
2812
2813 2007-02-21  George Staikos  <staikos@kde.org>
2814
2815         Reviewed by Zack.
2816
2817         Add files to the build.
2818
2819         * WebCore.pro:
2820
2821 2007-02-21  Zack Rusin  <zrusin@trolltech.com>
2822
2823         Reviewed by Lars
2824
2825         Implementing popups for the Qt platform.
2826
2827         * WebCore.pro:
2828         * platform/PopupMenu.h:
2829         * platform/Widget.h:
2830         * platform/qt/PopupMenuQt.cpp:
2831         (WebCore::PopupMenu::PopupMenu):
2832         (WebCore::PopupMenu::clear):
2833         (WebCore::PopupMenu::populate):
2834         (WebCore::PopupMenu::show):
2835         (WebCore::PopupMenu::hide):
2836         * platform/qt/QWebPopup.cpp: Added.
2837         (WebCore::QWebPopup::QWebPopup):
2838         (WebCore::QWebPopup::exec):
2839         (WebCore::QWebPopup::hideEvent):
2840         (WebCore::QWebPopup::activeChanged):
2841         * platform/qt/QWebPopup.h: Added.
2842         * platform/qt/WidgetQt.cpp:
2843         (WebCore::Widget::canvas):
2844
2845 2007-02-21  George Staikos  <staikos@kde.org>
2846
2847         Reviewed by Zack.
2848
2849         Remove unneeded hack now.
2850
2851         * platform/qt/RenderThemeQt.cpp:
2852         (WebCore::RenderThemeQt::setCheckboxSize):
2853
2854 2007-02-21  Zack Rusin  <zrusin@trolltech.com>
2855
2856         Reviewed by Lars
2857
2858         Fix rendering of lineedits and remove the spurious
2859         padding on push-buttons.
2860
2861         * platform/qt/RenderThemeQt.cpp:
2862         (WebCore::RenderThemeQt::baselinePosition):
2863         (WebCore::RenderThemeQt::adjustTextFieldStyle):
2864         (WebCore::RenderThemeQt::sizeForFont):
2865         (WebCore::RenderThemeQt::setButtonPadding):
2866
2867 2007-02-21  Zack Rusin  <zrusin@trolltech.com>
2868
2869         Fix compilation.
2870
2871         * platform/qt/PasteboardQt.cpp:
2872         (WebCore::Pasteboard::writeURL):
2873         (WebCore::Pasteboard::writeImage):
2874
2875 2007-02-20  Adam Roben  <aroben@apple.com>
2876
2877         Preemptive build fix.
2878
2879         * platform/mac/FontCacheMac.mm: Remove unused (and non-existent) header.
2880
2881 2007-02-20  Adam Roben  <aroben@apple.com>
2882
2883         Fix the build the right way.
2884
2885         * platform/StringTruncator.cpp:
2886         (WebCore::truncateString): Keep all widths as floats.
2887
2888 2007-02-20  Beth Dakin  <bdakin@apple.com>
2889
2890         Reviewed by Maciej.
2891
2892         Implement writeImage() on Pasteboard so that the context menus can 
2893         call into the editor for the "Copy image" command instead of 
2894         calling across the clients.
2895
2896         * WebCore.exp:
2897         * WebCore.xcodeproj/project.pbxproj:
2898         * editing/Editor.cpp:
2899         (WebCore::Editor::copyImage): Call into the Pasteboard.
2900         * editing/Editor.h:
2901         * loader/mac/LoaderNSURLExtras.h: A new NSURL extra needed inside 
2902         WebCore.
2903         * loader/mac/LoaderNSURLExtras.m: Made this file Objective-C++ 
2904         (from Objective-C) since the call into the MIMETypeRegistry will 
2905         return a Vector.
2906         (urlByRemovingComponent): Cast to build as Obj-C++
2907         (urlWithDataRelativeToURL): Same.
2908         (vectorContainsString): Helper.
2909         (suggestedFilenameWithMIMEType): New function.
2910         * page/ContextMenuClient.h: Remove copyImageToClipboard()
2911         * page/ContextMenuController.cpp:
2912         (WebCore::ContextMenuController::contextMenuItemSelected): Call 
2913         into the editor instead of the client.
2914         * page/mac/WebCoreViewFactory.h: New localized String.
2915         * platform/LocalizedStrings.h: Same.
2916         * platform/MimeTypeRegistry.h: Expose two additional functions for 
2917         MIMEType information from WebCore System Interface.
2918         * platform/Pasteboard.h:
2919         * platform/SharedBuffer.h: Make platformData() and platformDataSize
2920         () public since they are needed to write the image to the 
2921         pasteboard.
2922         * platform/mac/LocalizedStringsMac.mm: New localized string.
2923         (WebCore::copyImageUnknownFileLabel):
2924         * platform/mac/MimeTypeRegistryMac.mm:
2925         (WebCore::MimeTypeRegistry::getExtensionsForMIMEType):
2926         (WebCore::MimeTypeRegistry::getPreferredExtensionForMIMEType):
2927         * platform/mac/PasteboardMac.mm:
2928         (WebCore::writableTypesForImage):
2929         (WebCore::Pasteboard::writeURL): Write the correct types if the url 
2930         is for an image.
2931         (WebCore::fileWrapperForImage):
2932         (WebCore::Pasteboard::writeFileWrapperAsRTFDAttachment):
2933         (WebCore::Pasteboard::writeImage):
2934         * platform/mac/WebCoreNSStringExtras.h: Added. Some the the 
2935         NSStringExtras that were in WebKit are now needed by WebCore. To 
2936         avoid having two copies of these functions, I just moved the 
2937         implementations to WebCore. The WebKit functions just call into 
2938         WebCore.
2939         * platform/mac/WebCoreNSStringExtras.mm: Added.
2940         (hasCaseInsensitiveSuffix):
2941         (hasCaseInsensitiveSubstring):
2942         (filenameByFixingIllegalCharacters):
2943         * platform/mac/WebCoreSystemInterface.h: 
2944         wkGetPreferredExtensionForMIMEType and wkGetExtensionsForMIMEType 
2945         are now needed in WebCore as well as WebKit.
2946         * platform/mac/WebCoreSystemInterface.mm:
2947
2948 2007-02-20  Adam Roben  <aroben@apple.com>
2949
2950         Build fix.
2951
2952         * platform/StringTruncator.cpp:
2953         (WebCore::truncateString): Added explicit casts.
2954
2955 2007-02-20  Adam Roben  <aroben@apple.com>
2956
2957         Reviewed by Darin and Anders.
2958
2959         Fix <rdar://problem/4736215> Make WebCoreStringTruncator use WebCore types
2960
2961         * WebCore.exp: Updated symbols.
2962         * WebCore.xcodeproj/project.pbxproj: Updated file names.
2963         * bridge/mac/WebCoreStringTruncator.h: Removed.
2964         * bridge/mac/WebCoreStringTruncator.mm: Removed.
2965         * platform/StringTruncator.cpp: Added. Moved from bridge/mac/WebCoreStringTruncator.mm.
2966         (WebCore::textBreakAtOrPreceding): Added.
2967         (WebCore::boundedTextBreakFollowing): Added.
2968         (WebCore::centerTruncateToBuffer):
2969         (WebCore::rightTruncateToBuffer):
2970         (WebCore::stringWidth): Now takes a const Font& instead of a Font*.
2971         (WebCore::truncateString):
2972         (WebCore::StringTruncator::centerTruncate):
2973         (WebCore::StringTruncator::rightTruncate):
2974         (WebCore::StringTruncator::width):
2975         * platform/StringTruncator.h: Added.
2976         * platform/TextBreakIterator.h: Added isTextBreak declaration.
2977         * platform/TextBreakIteratorICU.cpp:
2978         (WebCore::isTextBreak): Implemented.
2979         * platform/mac/FileChooserMac.mm:
2980         (WebCore::FileChooser::basenameForWidth): Updated for changes to WebCoreStringTruncator.
2981         * platform/qt/TextBreakIteratorQt.cpp:
2982         (WebCore::isTextBreak): Stubbed out.
2983
2984 2007-02-20  Justin Garcia  <justin.garcia@apple.com>
2985
2986         Reviewed by harrison
2987
2988         <rdar://problem/5006779>
2989         REGRESSION: Paste and Match Style of quoted text onto empty line yields quoted text
2990         
2991         We decided to change the copy/paste behavior in both
2992         the Paste and the Paste and Match Style cases.
2993
2994         * editing/markup.cpp:
2995         (WebCore::createMarkup): Don't add mail blockquote wrappers
2996         unless the user selected one or more paragraphs.
2997
2998 2007-02-20  Timothy Hatcher  <timothy@apple.com>
2999
3000         Reviewed by Mark Rowe.
3001
3002         <rdar://problem/4912899> WebCore project ObjC @property cleanup
3003
3004         * bindings/objc/DOMObject.h: Add the new style @property
3005         * bindings/objc/PublicDOMInterfaces.h: Update to the new style @property
3006         * bindings/scripts/CodeGeneratorObjC.pm: Export both new and old style @properties
3007
3008 2007-02-20  Timothy Hatcher  <timothy@apple.com>
3009
3010         Reviewed by Sam Weinig.
3011
3012         <rdar://problem/5007248> need to export symbols for DOM exception constants
3013
3014         * WebCore.exp: Adds DOMEventException, DOMException, DOMRangeException, DOMXPathException
3015
3016 2007-02-20  Timothy Hatcher  <timothy@apple.com>
3017
3018         Reviewed by Darin.
3019
3020         <rdar://problem/4900579> WebKit -finalize methods are not thread-safe; design change needed
3021
3022         Call WebCoreObjCFinalizeOnMainThread from the initialize method of all the classes
3023         that have a finalizer that needs called on the main thread.
3024
3025         * WebCore.exp:
3026         * WebCore.xcodeproj/project.pbxproj:
3027         * bindings/objc/WebScriptObject.mm:
3028         (+[WebScriptObject initialize]):
3029         * bridge/mac/WebCoreScriptDebugger.mm:
3030         (+[WebCoreScriptDebugger initialize]):
3031         * platform/mac/SharedBufferMac.mm:
3032         (+[SharedBufferData initialize]):
3033         * platform/mac/WebCoreObjCExtras.c: Added.
3034         (WebCoreObjCFinalizeOnMainThread):
3035         * platform/mac/WebCoreObjCExtras.h: Added.
3036
3037 2007-02-20  Geoffrey Garen  <ggaren@apple.com>
3038
3039         Not not reviewed by Mitz Pettel.
3040
3041         Fixed http://bugs.webkit.org/show_bug.cgi?id=12827 | <rdar://problem/5006671> 
3042         REGRESSION: -[DOMCSSStyleDeclaration setValue:forKey:] doesn't have an 
3043         immediate effect
3044         
3045         Let's just pretend this never happened.
3046         
3047         I attempted a layout test but I couldn't get the old code to fail because 
3048         there's no obvious way to isolate the ObjC bindings in a test that's 
3049         controlled by JS.
3050         
3051         * bindings/objc/WebScriptObject.mm:
3052         (_didExecute):
3053
3054 2007-02-20  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>
3055
3056         Reviewed by Maciej S.
3057
3058         Gdk build fixes for recent refactorings.
3059
3060         * Projects/gdk/webcore-gdk.bkl:
3061         * WebCoreSources.bkl:
3062         * page/gdk/DragControllerGdk.cpp:
3063         (WebCore::DragController::dragOperation):
3064         (WebCore::DragController::maxDragImageSize):
3065         * page/gdk/EventHandlerGdk.cpp:
3066         (WebCore::EventHandler::createDraggingClipboard):
3067         * platform/DragImage.h:
3068         * platform/gdk/ChromeClientGdk.h:
3069         * platform/gdk/CursorGdk.cpp:
3070         (WebCore::verticalTextCursor):
3071         (WebCore::cellCursor):
3072         (WebCore::contextMenuCursor):
3073         (WebCore::noDropCursor):
3074         (WebCore::copyCursor):
3075         (WebCore::progressCursor):
3076         (WebCore::aliasCursor):
3077         (WebCore::noneCursor):
3078         (WebCore::notAllowedCursor):
3079         * platform/gdk/EditorClientGdk.cpp:
3080         (WebCore::EditorClientGdk::shouldChangeSelectedRange):
3081         (WebCore::EditorClientGdk::isEditable):
3082         (WebCore::EditorClientGdk::textFieldDidBeginEditing):
3083         (WebCore::EditorClientGdk::textFieldDidEndEditing):
3084         (WebCore::EditorClientGdk::textDidChangeInTextField):
3085         (WebCore::EditorClientGdk::doTextFieldCommandFromEvent):
3086         (WebCore::EditorClientGdk::textWillBeDeletedInTextField):
3087         (WebCore::EditorClientGdk::textDidChangeInTextArea):
3088         * platform/gdk/EditorClientGdk.h:
3089         * platform/gdk/FrameGdk.cpp:
3090         (WebCore::Frame::print):
3091         (WebCore::Frame::issueTransposeCommand):
3092         (WebCore::Frame::respondToChangedSelection):
3093         (WebCore::Frame::cleanupPlatformScriptObjects):
3094         (WebCore::Frame::isCharacterSmartReplaceExempt):
3095         (WebCore::Frame::dragImageForSelection):
3096         * platform/gdk/FrameGdk.h:
3097         * platform/gdk/MimeTypeRegistryGdk.cpp: Added.
3098         * platform/gdk/TemporaryLinkStubs.cpp:
3099         (ChromeClientGdk::tabsToLinks):
3100         (ChromeClientGdk::windowResizerRect):
3101         (ChromeClientGdk::addToDirtyRegion):
3102         (ChromeClientGdk::scrollBackingStore):
3103         (ChromeClientGdk::updateBackingStore):
3104         * webcore-base.bkl:
3105
3106 2007-02-20  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>
3107
3108         Reviewed by Darin.
3109
3110         Allow over-writting Product, ProductSub, Vendor and VendorSub
3111         js properties via #define WEBCORE_NAVIGATOR_*
3112
3113         * bindings/js/kjs_navigator.cpp:
3114         (KJS::Navigator::getValueProperty):
3115
3116 2007-02-20  Darin Adler  <darin@apple.com>
3117
3118         Reviewed by Anders.
3119
3120         - prepare to fix some "stop loading" bugs by moving state from the
3121           FrameLoader class to the DocumentLoader class
3122
3123         * WebCore.exp: Update since cancelMainResourceLoad is now on the document loader.
3124
3125         * html/HTMLDocument.h:
3126         * html/HTMLDocument.cpp:
3127         (WebCore::HTMLDocument::HTMLDocument): Removed unused bodyElement and htmlElement
3128         data members.
3129         (WebCore::HTMLDocument::lastModified): Call getResponseModifiedHeader directly on
3130         the document loader.
3131
3132         * loader/DocumentLoader.h: Moved m_mainResourceLoader, m_subresourceLoaders, and
3133         m_plugInStreamLoaders here.
3134         * loader/DocumentLoader.cpp:
3135         (WebCore::cancelAll): Moved here from FrameLoader.
3136         (WebCore::setAllDefersLoading): Ditto.
3137         (WebCore::DocumentLoader::mainResourceData): Moved the body of FrameLoader's
3138         mainResourceData function here.
3139         (WebCore::DocumentLoader::stopLoading): Replaced calls to hasMainResourceLoader
3140         and cancelMainResourceLoad with code that works directly on m_mainResourceLoader.
3141         Call the stop functions moved from FrameLoader here on ourselves.
3142         (WebCore::DocumentLoader::setupForReplaceByMIMEType): Ditto.
3143         (WebCore::DocumentLoader::setPrimaryLoadComplete): Moved the code to store the
3144         main resource data here; it doesn't require separate functions.
3145         (WebCore::DocumentLoader::isLoadingInAPISense): Removed call to isLoadingSubresources
3146         and instead just check if the m_subresourceLoaders set is empty.
3147         (WebCore::DocumentLoader::setDefersLoading): Moved code here from FrameLoader.
3148         (WebCore::DocumentLoader::stopLoadingPlugIns): Ditto.
3149         (WebCore::DocumentLoader::stopLoadingSubresources): Ditto.
3150         (WebCore::DocumentLoader::addSubresourceLoader): Ditto.
3151         (WebCore::DocumentLoader::removeSubresourceLoader): Ditto.
3152         (WebCore::DocumentLoader::addPlugInStreamLoader): Ditto.
3153         (WebCore::DocumentLoader::removePlugInStreamLoader): Ditto.
3154         (WebCore::DocumentLoader::isLoadingSubresources): Ditto.
3155         (WebCore::DocumentLoader::isLoadingPlugIns): Ditto.
3156         (WebCore::DocumentLoader::startLoadingMainResource): Ditto.
3157         (WebCore::DocumentLoader::cancelMainResourceLoad): Ditto.
3158
3159         * loader/FrameLoader.h: Removed stopLoadingPlugIns, stopLoadingSubresources,
3160         cancelMainResourceLoad, hasMainResourceLoader, isLoadingSubresources,
3161         mainResourceData, releaseMainResourceLoader, lastModified, startLoadingMainResource,
3162         isLoadingPlugIns, m_mainResourceLoader, m_subresourceLoaders, m_plugInStreamLoaders,
3163         m_responseRefreshHeader, and m_responseModifiedHeader.
3164         * loader/FrameLoader.cpp:
3165         (WebCore::FrameLoader::setDefersLoading): Call setDefersLoading on all the document
3166         loaders.
3167         (WebCore::FrameLoader::stopLoading): Get rid of code to set m_responseRefreshHeader
3168         and m_responseModifiedHeader.
3169         (WebCore::FrameLoader::receivedFirstData): Call httpHeaderField on the response
3170         here to get the Refresh, instead of storing it in a data member.
3171         (WebCore::FrameLoader::addPlugInStreamLoader): Change to just call this on the
3172         document loader.
3173         (WebCore::FrameLoader::removePlugInStreamLoader): Ditto.
3174         (WebCore::FrameLoader::isLoading): Change to call isLoadingSubresources and
3175         isLoadingPlugIns on the document loader.
3176         (WebCore::FrameLoader::addSubresourceLoader): Change to just call this on the
3177         document loader.
3178         (WebCore::FrameLoader::removeSubresourceLoader): Ditto.
3179         (WebCore::FrameLoader::commitProvisionalLoad): Call stopLoadingSubresources and
3180         stopLoadingPlugIns on the document loader. Removed code to set
3181         m_responseModifiedHeader.
3182         (WebCore::FrameLoader::startLoading): Call isLoadingMainResource and
3183         startLoadingMainResource on the document loader.
3184
3185         * loader/ImageDocument.cpp: (WebCore::ImageTokenizer::finish): Call
3186         mainResourceData() on the document loader instead of the frame loader.
3187
3188         - other changes
3189
3190         * loader/DocLoader.cpp:
3191         (WebCore::DocLoader::checkCacheObjectStatus): Fixed indentation.
3192
3193 2007-02-20  Zack Rusin  <zrusin@trolltech.com>
3194
3195         Reviewed by Lars
3196
3197         Fix focus handling and make the forms
3198         work as expected.
3199
3200         * platform/qt/ScrollViewQt.cpp:
3201         (WebCore::ScrollView::setScrollArea):
3202         * platform/qt/WidgetQt.cpp:
3203         (WebCore::WidgetPrivate::WidgetPrivate):
3204         (WebCore::WidgetPrivate::canvas):
3205         (WebCore::Widget::hasFocus):
3206         (WebCore::Widget::setFocus):
3207         (WebCore::Widget::clearFocus):
3208         (WebCore::Widget::setFont):
3209         (WebCore::Widget::setQWidget):
3210         (WebCore::Widget::focusPolicy):
3211
3212 2007-02-20  Mitz Pettel  <mitz@webkit.org>
3213
3214         Reviewed by Darin and then Sam.
3215
3216         - fix http://bugs.webkit.org/show_bug.cgi?id=10735
3217           Clicking in SVG results causes WebKit to consume 100% CPU for several minutes
3218
3219         No test since there is no change in functionality.
3220
3221         * CMakeLists.txt:
3222         * WebCore.pro:
3223         * WebCore.xcodeproj/project.pbxproj: Added PositionIterator.{cpp,h}.
3224         * WebCoreSources.bkl:
3225         * dom/Position.cpp:
3226         (WebCore::Position::Position): Added converting constructor from
3227         PositionIterator.
3228         (WebCore::Position::previous): Changed assert() to ASSERT().
3229         (WebCore::Position::next): Ditto.
3230         (WebCore::isStreamer): Changed the argument to a PositionIterator.
3231         (WebCore::Position::upstream): Changed to use PositionIterator.
3232         (WebCore::Position::downstream): Ditto.
3233         (WebCore::Position::inRenderedText): Made public.
3234         (WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight): Changed
3235         into a static member function.
3236         (WebCore::Position::nodeIsUserSelectNone): Ditto.
3237         * dom/Position.h:
3238         * dom/PositionIterator.cpp: Added. A Position iterator with constant-time
3239         increment, decrement, and several predicates on the Position it is at.
3240         Conversion to/from Position is O(n) in the offset.
3241         (WebCore::PositionIterator::increment):
3242         (WebCore::PositionIterator::decrement):
3243         (WebCore::PositionIterator::atStart):
3244         (WebCore::PositionIterator::atEnd):
3245         (WebCore::PositionIterator::atStartOfNode):
3246         (WebCore::PositionIterator::atEndOfNode):
3247         (WebCore::PositionIterator::isCandidate):
3248         * dom/PositionIterator.h: Added.
3249         (WebCore::PositionIterator::PositionIterator):
3250         (WebCore::PositionIterator::node):
3251         (WebCore::PositionIterator::offsetInLeafNode):
3252         * editing/htmlediting.cpp:
3253         (WebCore::nextCandidate): Changed to use PositionIterator.
3254         (WebCore::previousCandidate): Changed to use PositionIterator.
3255
3256 2007-02-20  Rob Buis  <buis@kde.org>
3257
3258         Reviewed by Darin.
3259
3260         http://bugs.webkit.org/show_bug.cgi?id=12439
3261         SVG parser complains about points attribute in polygon and polyline element
3262
3263         Return true when the parsed points specification is valid.
3264
3265         * ksvg2/svg/SVGParserUtilities.cpp:
3266         (WebCore::parseNumber):
3267         (WebCore::SVGPolyParser::parsePoints):
3268         * ksvg2/svg/SVGPolyElement.cpp:
3269         (WebCore::SVGPolyElement::parseMappedAttribute):
3270
3271 2007-02-20  Zack Rusin  <zrusin@trolltech.com>
3272
3273         Reviewed by Lars
3274
3275         Make editing of forms work plus make sure that non-void methods
3276         always return something.
3277
3278         * WebCore.pro:
3279         * loader/qt/DocumentLoaderQt.cpp:
3280         (WebCore::DocumentLoader::getResponseModifiedHeader):
3281         * platform/qt/ClipboardQt.cpp:
3282         (WebCore::ClipboardQt::setData):
3283
3284 2007-02-20  Zack Rusin  <zrusin@trolltech.com>
3285
3286         Reviewed by Lars
3287
3288         Refactor and fix the implementation of theming of
3289         form elements on the Qt platform.
3290
3291         * platform/qt/RenderThemeQt.cpp:
3292         (WebCore::theme):
3293         (WebCore::RenderThemeQt::RenderThemeQt):
3294         (WebCore::RenderThemeQt::supportsHover):
3295         (WebCore::RenderThemeQt::supportsFocusRing):
3296         (WebCore::RenderThemeQt::baselinePosition):
3297         (WebCore::RenderThemeQt::controlSupportsTints):
3298         (WebCore::RenderThemeQt::supportsControlTints):
3299         (WebCore::RenderThemeQt::adjustRepaintRect):
3300         (WebCore::RenderThemeQt::paintResizeControl):
3301         (WebCore::RenderThemeQt::platformActiveSelectionBackgroundColor):
3302         (WebCore::RenderThemeQt::platformInactiveSelectionBackgroundColor):
3303         (WebCore::RenderThemeQt::platformActiveSelectionForegroundColor):
3304         (WebCore::RenderThemeQt::platformInactiveSelectionForegroundColor):
3305         (WebCore::RenderThemeQt::systemFont):
3306         (WebCore::RenderThemeQt::minimumMenuListSize):
3307         (WebCore::RenderThemeQt::adjustSliderThumbSize):
3308         (WebCore::RenderThemeQt::paintCheckbox):
3309         (WebCore::RenderThemeQt::paintRadio):
3310         (WebCore::RenderThemeQt::setRadioSize):
3311         (WebCore::RenderThemeQt::adjustButtonStyle):
3312         (WebCore::RenderThemeQt::setButtonSize):
3313         (WebCore::RenderThemeQt::adjustTextFieldStyle):
3314         (WebCore::RenderThemeQt::adjustMenuListStyle):
3315         (WebCore::RenderThemeQt::paintMenuList):
3316         (WebCore::RenderThemeQt::paintMenuListButton):
3317         (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
3318         (WebCore::RenderThemeQt::paintSliderTrack):
3319         (WebCore::RenderThemeQt::paintSliderThumb):
3320         (WebCore::RenderThemeQt::paintSearchField):
3321         (WebCore::RenderThemeQt::adjustSearchFieldStyle):
3322         (WebCore::RenderThemeQt::adjustSearchFieldCancelButtonStyle):
3323         (WebCore::RenderThemeQt::paintSearchFieldCancelButton):
3324         (WebCore::RenderThemeQt::adjustSearchFieldDecorationStyle):
3325         (WebCore::RenderThemeQt::paintSearchFieldDecoration):
3326         (WebCore::RenderThemeQt::adjustSearchFieldResultsDecorationStyle):
3327         (WebCore::RenderThemeQt::paintSearchFieldResultsDecoration):
3328         (WebCore::RenderThemeQt::supportsFocus):
3329         (WebCore::RenderThemeQt::getStylePainterAndWidgetFromPaintInfo):
3330         (WebCore::RenderThemeQt::applyTheme):
3331         (WebCore::RenderThemeQt::setSizeFromFont):
3332         (WebCore::RenderThemeQt::sizeForFont):
3333         (WebCore::RenderThemeQt::setButtonPadding):
3334         (WebCore::RenderThemeQt::setPopupPadding):
3335         (WebCore::RenderThemeQt::setPrimitiveSize):
3336         * platform/qt/RenderThemeQt.h: Added.
3337
3338 2007-02-19  Lars Naesbye Christensen <lars@naesbye.dk>
3339
3340         Reviewed by Maciej.
3341
3342         http://bugs.webkit.org/show_bug.cgi?id=12815
3343         Two image files not included in project file
3344
3345         * WebCore.xcodeproj/project.pbxproj: Added crossHairCursor.png and
3346         notAllowedCursor.png.
3347
3348 2007-02-19  Geoffrey Garen  <ggaren@apple.com>
3349
3350         Reviewed by Adam Roben.
3351
3352         Fixed some leaks in RenderThemeMac.
3353         
3354         No test case because 'leaks' can't detect these leaks inside DRT, even if
3355         DRT forces the WebView to paint. ('leaks' can detect these leaks inside
3356         Safari. Weird.)
3357         
3358         * rendering/RenderThemeMac.h:
3359             - Renamed data members to m_*, to match our style guidelines.
3360             - Renamed *Is* to is**, to match our style guidelines.
3361             - Removed a few unnecessary data members.
3362             - Made cached values like m_checkbox mutable, since they can change
3363             inside functions that don't change the logical state of a RenderTheme
3364             object. (The alternative was to make some const functions non-const.)
3365
3366         (WebCore::RenderThemeMac::paintMenuList): Took CFType pointers that just 
3367         used to leak and placed them in RetainPtrs.
3368         (WebCore::RenderThemeMac::paintMenuListButtonGradients): ditto
3369
3370         Factored inline implementations of lazy initialization into these accessor
3371         functions, for better encapsulation:
3372         
3373         (WebCore::RenderThemeMac::checkbox):
3374         (WebCore::RenderThemeMac::radio):
3375         (WebCore::RenderThemeMac::button):
3376         (WebCore::RenderThemeMac::popupButton):
3377         (WebCore::RenderThemeMac::search):
3378         (WebCore::RenderThemeMac::sliderThumbHorizontal): The inline version of
3379         this initialization used to confuse the retained data member with a local
3380         stack value, causing both a leak and a failure to initialize. Fixed now.
3381         (WebCore::RenderThemeMac::sliderThumbVertical): ditto
3382         (WebCore::RenderThemeMac::resizeCornerImage):
3383
3384 2007-02-19  Mitz Pettel  <mitz@webkit.org>
3385
3386         Reviewed by Hyatt.
3387
3388         - fix http://bugs.webkit.org/show_bug.cgi?id=12817
3389           REGRESSION (r18634): Table border-collapse problems with right margin
3390
3391         Test: fast/repaint/table-outer-border.html
3392
3393         * rendering/RenderTable.cpp:
3394         (WebCore::RenderTable::layout): Reordered to initialize horizontal overflow
3395         after table sections have computed their outer horizontal borders.
3396
3397 2007-02-19  John Sullivan  <sullivan@apple.com>
3398
3399         Reviewed by Darin
3400         
3401         - fixed <rdar://problem/4613701> REGRESSION: A line break in the source HTML of a link becomes visible after drag & drop
3402
3403         * page/DragController.cpp:
3404         (WebCore::DragController::startDrag):
3405         Call simplifyWhiteSpace() on the proposed link title to match what's displayed on the web page, instead of using the
3406         raw source HTML text.
3407
3408 2007-02-19  David Hyatt  <hyatt@apple.com>
3409
3410         Fix for Radar 4981605, regression where button grows randomly when a select is
3411         opened.  With the new form controls, the WinIE quirk for using line width
3412         ended up being used for them more.
3413
3414         This patch removes the quirk after verifying that Firefox doesn't implement
3415         the quirk at all.  usesLineWidth is being renamed to shrinksToAvoidFloats to
3416         make it clear that the new method only applies to block objects that avoid floats
3417         and that have auto width.
3418
3419         Also fixed a regression where whitespace after a floating <select> at the start
3420         of a block got incorrectly rendered.  Make sure skipWhitespace always skips
3421         through floating/positioned elements regardless of the whitespace setting (this
3422         way the white-space:pre value on floating <select>s doesn't cause trouble).
3423
3424         Reviewed by darin
3425
3426         fast/block/float/float-avoidance.html
3427
3428         * rendering/RenderBlock.cpp:
3429         (WebCore::RenderBlock::collapseMargins):
3430         (WebCore::RenderBlock::clearFloatsIfNeeded):
3431         (WebCore::RenderBlock::layoutBlockChildren):
3432         (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout):
3433         * rendering/RenderBox.cpp:
3434         (WebCore::RenderBox::containingBlockWidth):
3435         * rendering/RenderObject.cpp:
3436         (WebCore::RenderObject::shrinkToAvoidFloats):
3437         * rendering/RenderObject.h:
3438         * rendering/bidi.cpp:
3439         (WebCore::RenderBlock::skipWhitespace):
3440
3441 2007-02-19  Zalan Bujtas  <zbujtas@gmail.com>
3442
3443         Reviewed by Darin.
3444
3445         Update stylesheet href, when document's baseUrl changes. It needs
3446         update when the stylesheet is constructed before the parser hits the base tag.
3447         http://bugs.webkit.org/show_bug.cgi?id=12214
3448
3449         * css/StyleSheet.h:
3450         (WebCore::StyleSheet::setHref):
3451         * dom/Document.cpp:
3452         (WebCore::Document::setBaseURL):
3453         * dom/Document.h:
3454
3455 2007-02-19  Mitz Pettel  <mitz@webkit.org>
3456
3457         Reviewed by Adam.
3458
3459         - fix http://bugs.webkit.org/show_bug.cgi?id=11518
3460           REGRESSION (r14376): View Source not available after Back navigation from a non-HTML page
3461
3462         The FrameLoader's responseMIMEType was not being updated when a page was
3463         brought back from the page cache.
3464         
3465         Moved the line that updates the MIME type from commitProvisionalLoad() to
3466         transitionToCommitted().
3467
3468         * loader/FrameLoader.cpp:
3469         (WebCore::FrameLoader::commitProvisionalLoad):
3470         (WebCore::FrameLoader::transitionToCommitted):
3471
3472 2007-02-19  Anders Carlsson  <acarlsson@apple.com>
3473
3474         Reviewed by Oliver.
3475
3476         Make DragController::maxDragImageSize a function to get rid of the global initializer.
3477         
3478         * page/DragController.cpp:
3479         (WebCore::DragController::doImageDrag):
3480         * page/DragController.h:
3481         * page/mac/DragControllerMac.mm:
3482         (WebCore::DragController::maxDragImageSize):
3483         * page/qt/DragControllerQt.cpp:
3484         (WebCore::DragController::maxDragImageSize):
3485
3486 2007-02-19  Darin Adler  <darin@apple.com>
3487
3488         Reviewed by Hyatt.
3489
3490         - <rdar://problem/5006414> REGRESSION: Crash occurs at WebCore::Frame::loader()
3491           when loading AFL Ladder widget
3492
3493         * html/HTMLFrameElementBase.cpp: (WebCore::HTMLFrameElementBase::openURL):
3494         Add missing null check so this fails without crashing when called on an element
3495         that's no longer in a frame.
3496
3497 2007-02-19  Antti Koivisto  <antti@apple.com>
3498
3499         Reviewed by Mitz.
3500
3501         - fix for http://bugs.webkit.org/show_bug.cgi?id=10990
3502           REGRESSION: Pressing a pop-up's access key doesn't focus it
3503           <rdar://problem/4823138>
3504           
3505         Focus the select element too in accessKeyAction.
3506
3507         * html/HTMLSelectElement.cpp:
3508         (WebCore::HTMLSelectElement::accessKeyAction):
3509
3510 2007-02-18  Antti Koivisto  <antti@apple.com>
3511
3512         Reviewed by Hyatt.
3513
3514         - really fix http://bugs.webkit.org/show_bug.cgi?id=11974
3515         REGRESSION: Caret drawn over input when smaller than font size on initial focus
3516         <rdar://problem/4960258>
3517         
3518         Avoid double painting caret when it is on a block element.
3519         
3520         Layout test for this already went in previous try (it only fails in pixel mode) in r19626.
3521
3522         * rendering/RenderBlock.cpp:
3523         (WebCore::RenderBlock::paintCaret):
3524
3525 2007-02-19  Lars Knoll <lars@trolltech.com>
3526
3527         Added a one line patch from Olliej to create the
3528         clipboard on demand (to stop things from crashing), 
3529         and added lots of notImplemented() warnings all 
3530         over the place.
3531
3532         * platform/qt/ClipboardQt.cpp:
3533         (WebCore::ClipboardQt::ClipboardQt):
3534         (WebCore::ClipboardQt::clearData):
3535         (WebCore::ClipboardQt::clearAllData):
3536         (WebCore::ClipboardQt::getData):
3537         (WebCore::ClipboardQt::setData):
3538         (WebCore::ClipboardQt::types):
3539         (WebCore::ClipboardQt::dragLocation):
3540         (WebCore::ClipboardQt::dragImage):
3541         (WebCore::ClipboardQt::setDragImage):
3542         (WebCore::ClipboardQt::dragImageElement):
3543         (WebCore::ClipboardQt::setDragImageElement):
3544         (WebCore::ClipboardQt::createDragImage):
3545         (WebCore::ClipboardQt::declareAndWriteDragImage):
3546         (WebCore::ClipboardQt::writeURL):
3547         (WebCore::ClipboardQt::writeRange):
3548         (WebCore::ClipboardQt::hasData):
3