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