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