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