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