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