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