9e0094639c2e79bf47bc2135fd17b7c2e1e2a81f
[WebKit-https.git] / WebCore / ChangeLog
1 2007-02-09  Nicholas Shanks  <webkit@nickshanks.com>
2
3         Reviewed by Dave Hyatt.
4
5         Removed broken recognition of :last-* and :only-* selectors
6
7         * css/CSSGrammar.y:
8         * css/CSSSelector.cpp:
9         (WebCore::CSSSelector::extractPseudoType):
10         * css/CSSSelector.h:
11         (WebCore::CSSSelector::):
12         * css/cssstyleselector.cpp:
13         (WebCore::CSSStyleSelector::checkOneSelector):
14
15 2007-02-09  Maciej Stachowiak  <mjs@apple.com>
16
17         Reviewed by Mark.
18
19         <rdar://problem/4980176>
20
21         * page/Frame.cpp:
22         (WebCore::Frame::pageDestroyed): Since this frame is getting
23         disconnected from its page, ensure it is not the focus node.
24
25 2007-02-09  Krzysztof  <kkowalczyk@gmail.com>
26
27         Reviewed by Maciej.
28
29         gdklauncher crashes when compiled with NDEBUG defined.
30
31         * Projects/gdk/webcore-gdk.bkl:
32
33 2007-02-09  Maciej Stachowiak  <mjs@apple.com>
34
35         Reviewed by Mitz.
36
37         <rdar://problem/4971224> REGRESSION: ASSERT in WebCore with Mail (12491)
38         http://bugs.webkit.org/show_bug.cgi?id=12491
39
40         No test case. Not testable since there is no way to do substitute
41         data loads from layout tests.
42         
43         * loader/MainResourceLoader.cpp:
44         (WebCore::MainResourceLoader::continueAfterContentPolicy): Don't dispatch data load
45         callback when loading empty data.
46
47 2007-02-09  Mark Rowe  <mrowe@apple.com>
48
49         Reviewed by Maciej.
50
51         http://bugs.webkit.org/show_bug.cgi?id=12705
52         REGRESSION: Crash with user stylesheet set
53
54         Allow the Frame::canLoad check to skipped so that user stylesheets can be loaded in remote documents.
55
56         * ChangeLog:
57         * loader/DocLoader.cpp:
58         (WebCore::DocLoader::requestCSSStyleSheet): Skip canLoad check if this is a user stylesheet.
59         (WebCore::DocLoader::requestUserCSSStyleSheet):
60         (WebCore::DocLoader::requestResource): Allow canLoad check to be skipped.
61         * loader/DocLoader.h:
62         * page/Frame.cpp:
63         (WebCore::UserStyleSheetLoader::UserStyleSheetLoader):
64
65 2007-02-08  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>
66
67         Reviewed by Darin.
68
69         Linux/gdk build fixes.
70
71         * Projects/gdk/webcore-gdk.bkl: Account for file renaming.
72         * platform/gdk/KeyEventGdk.cpp: Make gdk's tab key recognized as tab so that
73         keyboard link walking works on gdk.
74         (WebCore::keyIdentifierForGdkKeyCode):
75
76 2007-02-08  Adele Peterson  <adele@apple.com>
77
78         Reviewed by Brady.
79
80         Fix for http://bugs.webkit.org/show_bug.cgi?id=12599
81         <rdar://problem/4973507> REGRESSION: When replying in Gmail, the caret disappears when you start to type (12599)
82
83         When a frame's window was focused, the page didn't get updated about the new frame getting focus.
84         This was causing handleKeyPress to fail because it kept getting a selection for the wrong frame (which wasn't editable).
85
86         Test: fast/frames/iframe-window-focus.html
87
88         * page/Frame.cpp:
89         (WebCore::Frame::focusWindow):
90         (WebCore::Frame::unfocusWindow):
91         * page/Frame.h:
92         * page/mac/FrameMac.mm:
93         (WebCore::FrameMac::focusWindow):
94         (WebCore::FrameMac::unfocusWindow):
95
96 2007-02-08  Adele Peterson  <adele@apple.com>
97
98         Reviewed by Brady.
99
100         Fix for http://bugs.webkit.org/show_bug.cgi?id=12480
101         <rdar://problem/4971222> REGRESSION (NativeListBox): Deselecting option causes list to jump to top
102
103         Test: fast/forms/listbox-deselect-scroll.html
104
105         * html/HTMLSelectElement.cpp:
106         (WebCore::HTMLSelectElement::activeSelectionStartListIndex): Added.  Returns the index for the active selection.  If there is no active selection,
107          it returns the first selected index.
108         (WebCore::HTMLSelectElement::activeSelectionEndListIndex): Added.  If there is no active selection, it returns the last selected index.
109         * html/HTMLSelectElement.h:
110         * rendering/RenderListBox.cpp: (WebCore::RenderListBox::scrollToRevealSelection): Instead of using the first and last selected indices,
111           use the active selection indices to determine which item to reveal.  This way, when you're selecting with the keyboard, or the mouse,
112           no unnecessary scrolling will occur if the end of your active selection is already visible.
113
114 2007-02-08  Adele Peterson  <adele@apple.com>
115
116         Reviewed by Hyatt.
117
118         Fix for <rdar://problem/4963411> Items of SELECT element are incorrectly highlighted when display:block is set
119
120         Test: fast/forms/select-block-background.html
121
122         * rendering/RenderListBox.cpp: (WebCore::RenderListBox::paintObject):
123           Paint the item backgrounds during the PaintPhaseChildBlockBackground or PaintPhaseChildBlockBackgrounds phase.
124
125 2007-02-08  Mitz Pettel  <mitz@webkit.org>
126
127         Reviewed by Adele.
128
129         - fix http://bugs.webkit.org/show_bug.cgi?id=11047
130           REGRESSION: Empty options cause the entire select to collapse
131         
132         Test: fast/forms/select-empty-option-height.html
133
134         - fix http://bugs.webkit.org/show_bug.cgi?id=10783
135           REGRESSION (r16044): Clicking a popup changes layout around it
136
137         * rendering/RenderMenuList.cpp:
138         (WebCore::RenderMenuList::setText): If the option text is empty, use a RenderBR
139         as inner text, to ensure that the inner div has line height.
140
141 2007-02-08  Geoffrey Garen  <ggaren@apple.com>
142
143         Reviewed by Beth Dakin.
144
145         Added a hard counter for SubresourceLoaders because the leaks tool now
146         ignores them.
147         
148         * loader/SubresourceLoader.cpp:
149         (WebCore::):
150         (WebCore::SubresourceLoaderCounter::~SubresourceLoaderCounter):
151         (WebCore::SubresourceLoader::SubresourceLoader):
152         (WebCore::SubresourceLoader::~SubresourceLoader):
153         * page/Frame.cpp: Removed unnecessary #define
154
155 2007-02-08  Geoffrey Garen  <ggaren@apple.com>
156
157         Reviewed by Beth Dakin.
158
159         Fixed <rdar://problem/4982374> CSSComputedStyleDeclaration::getPropertyCSSValue 
160         leak reported by buildbot
161         
162         The leak was a typo: "new" instead of "return new". I also generously
163         deployed RefPtr in places that were holding ref-counted objects in
164         bare pointers.
165
166         * css/CSSComputedStyleDeclaration.cpp:
167         (WebCore::valueForShadow):
168         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
169
170 2007-02-08  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>
171
172         Reviewed by Adam Roben.
173
174         Linux/gdk build fixes.
175
176         * platform/gdk/EditorClientGdk.cpp: Added. Based on qt version.
177         (WebCore::EditorClientGdk::shouldDeleteRange):
178         (WebCore::EditorClientGdk::shouldShowDeleteInterface):
179         (WebCore::EditorClientGdk::isContinuousSpellCheckingEnabled):
180         (WebCore::EditorClientGdk::isGrammarCheckingEnabled):
181         (WebCore::EditorClientGdk::spellCheckerDocumentTag):
182         (WebCore::EditorClientGdk::shouldBeginEditing):
183         (WebCore::EditorClientGdk::shouldEndEditing):
184         (WebCore::EditorClientGdk::shouldInsertText):
185         (WebCore::EditorClientGdk::shouldApplyStyle):
186         (WebCore::EditorClientGdk::didBeginEditing):
187         (WebCore::EditorClientGdk::respondToChangedContents):
188         (WebCore::EditorClientGdk::didEndEditing):
189         (WebCore::EditorClientGdk::didWriteSelectionToPasteboard):
190         (WebCore::EditorClientGdk::didSetSelectionTypesForPasteboard):
191         (WebCore::EditorClientGdk::selectWordBeforeMenuEvent):
192         (WebCore::EditorClientGdk::isEditable):
193         (WebCore::EditorClientGdk::registerCommandForUndo):
194         (WebCore::EditorClientGdk::registerCommandForRedo):
195         (WebCore::EditorClientGdk::clearUndoRedoOperations):
196         (WebCore::EditorClientGdk::canUndo):
197         (WebCore::EditorClientGdk::canRedo):
198         (WebCore::EditorClientGdk::undo):
199         (WebCore::EditorClientGdk::redo):
200         (WebCore::EditorClientGdk::shouldInsertNode):
201         (WebCore::EditorClientGdk::pageDestroyed):
202         (WebCore::EditorClientGdk::smartInsertDeleteEnabled):
203         (WebCore::EditorClientGdk::toggleContinuousSpellChecking):
204         (WebCore::EditorClientGdk::toggleGrammarChecking):
205         (WebCore::EditorClientGdk::handleKeyPress):
206         (WebCore::EditorClientGdk::EditorClientGdk):
207         (WebCore::EditorClientGdk::setPage):
208         * platform/gdk/EditorClientGdk.h: Added. Ditto.
209         * platform/gdk/FrameGdk.cpp: Add exitAfterLoading and dumpRenderTreeAfterLoading
210         as small debugging features. Remove FrameGdkClient as no other platform has Frame*Client
211         anymore. Adjust for new APIs.
212         (WebCore::FrameGdk::FrameGdk):
213         (WebCore::FrameGdk::onDidFinishLoad):
214         (WebCore::FrameGdk::dumpRenderTree):
215         (WebCore::FrameGdk::keyPress):
216         (WebCore::FrameGdk::handleGdkEvent):
217         (WebCore::FrameGdk::focusWindow):
218         (WebCore::FrameGdk::unfocusWindow):
219         (WebCore::FrameGdk::getObjectInstanceForWidget):
220         (WebCore::FrameGdk::getEmbedInstanceForWidget):
221         (WebCore::FrameGdk::bindingRootObject):
222         (WebCore::FrameGdk::print):
223         (WebCore::FrameGdk::getAppletInstanceForWidget):
224         (WebCore::FrameGdk::issueCutCommand):
225         (WebCore::FrameGdk::issueCopyCommand):
226         (WebCore::FrameGdk::issuePasteCommand):
227         (WebCore::FrameGdk::issueTransposeCommand):
228         (WebCore::FrameGdk::issuePasteAndMatchStyleCommand):
229         (WebCore::FrameGdk::markedTextRange):
230         (WebCore::FrameGdk::shouldChangeSelection):
231         (WebCore::FrameGdk::respondToChangedSelection):
232         (WebCore::FrameGdk::mimeTypeForFileName):
233         * platform/gdk/FrameGdk.h: Ditto.
234         (WebCore::FrameGdk::setExitAfterLoading):
235         (WebCore::FrameGdk::exitAfterLoading):
236         (WebCore::FrameGdk::setDumpRenderTreeAfterLoading):
237         (WebCore::FrameGdk::dumpRenderTreeAfterLoading):
238         (WebCore::GdkFrame):
239         * platform/gdk/TemporaryLinkStubs.cpp: Adjust to new APIs. Small cleanups.
240         (FrameView::updateBorder):
241         (Widget::setEnabled):
242         (Widget::isEnabled):
243         (Widget::enableFlushDrawing):
244         (Widget::removeFromParent):
245         (Widget::paint):
246         (Widget::setIsSelected):
247         (Widget::invalidate):
248         (Widget::invalidateRect):
249         (PlatformMouseEvent::PlatformMouseEvent):
250         (WebCore::findWordBoundary):
251         (ChromeClientGdk::chromeDestroyed):
252         (ChromeClientGdk::closeWindowSoon):
253         (ChromeClientGdk::canTakeFocus):
254         (ChromeClientGdk::takeFocus):
255         (ChromeClientGdk::canRunBeforeUnloadConfirmPanel):
256         (ChromeClientGdk::addMessageToConsole):
257         (ChromeClientGdk::runBeforeUnloadConfirmPanel):
258         (ChromeClientGdk::runJavaScriptAlert):
259         (ChromeClientGdk::runJavaScriptConfirm):
260         (ChromeClientGdk::runJavaScriptPrompt):
261         (ChromeClientGdk::setStatusbarText):
262         (ChromeClientGdk::shouldInterruptJavaScript):
263         (WebCore::inputElementAltText):
264         (WebCore::resetButtonDefaultLabel):
265         (WebCore::searchableIndexIntroduction):
266         (WebCore::fileButtonChooseFileLabel):
267         (WebCore::fileButtonNoFileSelectedLabel):
268         (WebCore::contextMenuItemTagOpenLinkInNewWindow):
269         (WebCore::contextMenuItemTagDownloadLinkToDisk):
270         (WebCore::contextMenuItemTagCopyLinkToClipboard):
271         (WebCore::contextMenuItemTagOpenImageInNewWindow):
272         (WebCore::contextMenuItemTagDownloadImageToDisk):
273         (WebCore::contextMenuItemTagCopyImageToClipboard):
274         (WebCore::contextMenuItemTagOpenFrameInNewWindow):
275         (WebCore::contextMenuItemTagCopy):
276         (WebCore::contextMenuItemTagGoBack):
277         (WebCore::contextMenuItemTagGoForward):
278         (WebCore::contextMenuItemTagStop):
279         (WebCore::contextMenuItemTagReload):
280         (WebCore::contextMenuItemTagCut):
281         (WebCore::contextMenuItemTagPaste):
282         (WebCore::contextMenuItemTagNoGuessesFound):
283         (WebCore::contextMenuItemTagIgnoreSpelling):
284         (WebCore::contextMenuItemTagLearnSpelling):
285         (WebCore::contextMenuItemTagSearchWeb):
286         (WebCore::contextMenuItemTagLookUpInDictionary):
287         (WebCore::contextMenuItemTagOpenLink):
288         (WebCore::contextMenuItemTagIgnoreGrammar):
289         (WebCore::contextMenuItemTagSpellingMenu):
290         (WebCore::contextMenuItemTagShowSpellingPanel):
291         (WebCore::contextMenuItemTagCheckSpelling):
292         (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
293         (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
294         (WebCore::contextMenuItemTagFontMenu):
295         (WebCore::contextMenuItemTagBold):
296         (WebCore::contextMenuItemTagItalic):
297         (WebCore::contextMenuItemTagUnderline):
298         (WebCore::contextMenuItemTagOutline):
299         (WebCore::contextMenuItemTagWritingDirectionMenu):
300         (WebCore::contextMenuItemTagDefaultDirection):
301         (WebCore::contextMenuItemTagLeftToRight):
302         (WebCore::contextMenuItemTagRightToLeft):
303         (PlugInInfoStore::createPluginInfoForPluginAtIndex):
304         (PlugInInfoStore::pluginCount):
305         (WebCore::PlugInInfoStore::supportsMIMEType):
306         (WebCore::refreshPlugins):
307         (SearchPopupMenu::saveRecentSearches):
308         (SearchPopupMenu::loadRecentSearches):
309         (SearchPopupMenu::SearchPopupMenu):
310         (Path::apply):
311         (PlatformScrollbar::PlatformScrollbar):
312         (PlatformScrollbar::~PlatformScrollbar):
313         (PlatformScrollbar::width):
314         (PlatformScrollbar::height):
315         (PlatformScrollbar::setEnabled):
316         (PlatformScrollbar::paint):
317         (PlatformScrollbar::updateThumbPosition):
318         (PlatformScrollbar::updateThumbProportion):
319         (PlatformScrollbar::setRect):
320         (ResourceHandle::willLoadFromCache):
321         (ResourceHandle::loadsBlocked):
322         (ResourceHandle::loadResourceSynchronously):
323         (PageCache::close):
324         (Editor::ignoreSpelling):
325         (Editor::learnSpelling):
326         (Editor::isSelectionUngrammatical):
327         (Editor::isSelectionMisspelled):
328         (Editor::guessesForMisspelledSelection):
329         (Editor::guessesForUngrammaticalSelection):
330         (Editor::markMisspellingsAfterTypingToPosition):
331         (Editor::newGeneralClipboard):
332         (Pasteboard::generalPasteboard):
333         (Pasteboard::writeSelection):
334         (Pasteboard::writeURL):
335         (Pasteboard::clear):
336         (Pasteboard::canSmartReplace):
337         (Pasteboard::documentFragment):
338         (Pasteboard::plainText):
339         (Pasteboard::Pasteboard):
340         (Pasteboard::~Pasteboard):
341         (ContextMenu::ContextMenu):
342         (ContextMenu::~ContextMenu):
343         (ContextMenu::appendItem):
344         (ContextMenu::setPlatformDescription):
345         (ContextMenu::platformDescription):
346         (ContextMenuItem::ContextMenuItem):
347         (ContextMenuItem::~ContextMenuItem):
348         (ContextMenuItem::releasePlatformDescription):
349         (ContextMenuItem::type):
350         (ContextMenuItem::setType):
351         (ContextMenuItem::action):
352         (ContextMenuItem::setAction):
353         (ContextMenuItem::title):
354         (ContextMenuItem::setTitle):
355         (ContextMenuItem::platformSubMenu):
356         (ContextMenuItem::setSubMenu):
357         (ContextMenuItem::setChecked):
358         (ContextMenuItem::setEnabled):
359         (WebCore::systemBeep):
360         (WebCore::userIdleTime):
361
362 2007-02-08  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>
363
364         Reviewed by Adam Roben.
365
366         Linux/gdk build fixes.
367
368         * platform/GlyphPageTreeNode.h: Fix header guard name.
369         * platform/gdk/ChromeClientGdk.h:
370         * platform/gdk/CursorGdk.cpp:
371         (WebCore::verticalTextCursor):
372         (WebCore::cellCursor):
373         (WebCore::contextMenuCursor):
374         (WebCore::noDropCursor):
375         (WebCore::copyCursor):
376         (WebCore::progressCursor):
377         (WebCore::aliasCursor):
378         * platform/gdk/MouseEventGdk.cpp:
379         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
380         * platform/gdk/PageGdk.cpp: Removed. No longer used.
381         * platform/gdk/RenderThemeGdk.cpp:
382         (WebCore::RenderThemeGdk::getThemeData):
383         (WebCore::RenderThemeGdk::setCheckboxSize):
384         (WebCore::RenderThemeGdk::paintCheckbox):
385         (WebCore::RenderThemeGdk::setRadioSize):
386         (WebCore::RenderThemeGdk::paintRadio):
387         (WebCore::RenderThemeGdk::paintButton):
388         (WebCore::RenderThemeGdk::adjustTextFieldStyle):
389         (WebCore::RenderThemeGdk::paintTextField):
390         (WebCore::RenderThemeGdk::paintTextArea):
391         (WebCore::RenderThemeGdk::systemFont):
392         * platform/gdk/RenderThemeGdk.h:
393         * platform/gdk/ScreenGdk.cpp:
394         (WebCore::screenDepth):
395         (WebCore::screenDepthPerComponent):
396         (WebCore::screenIsMonochrome):
397         (WebCore::screenRect):
398         (WebCore::screenAvailableRect):
399
400 2007-02-08  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>
401
402         Reviewed by Adam Roben.
403
404         Linux/gdk build fixes for cairo.
405
406         * platform/graphics/GraphicsContext.cpp:
407         * platform/graphics/cairo/GraphicsContextCairo.cpp:
408         (WebCore::GraphicsContext::GraphicsContext):
409         (WebCore::GraphicsContext::strokeArc):
410         (WebCore::GraphicsContext::drawFocusRing):
411         (WebCore::GraphicsContext::setFocusRingClip):
412         (WebCore::GraphicsContext::clearFocusRingClip):
413         (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
414         (WebCore::GraphicsContext::origin):
415         (WebCore::GraphicsContext::setPlatformFillColor):
416         (WebCore::GraphicsContext::setPlatformStrokeColor):
417         (WebCore::GraphicsContext::setPlatformStrokeThickness):
418         (WebCore::GraphicsContext::setPlatformStrokeStyle):
419         (WebCore::GraphicsContext::setPlatformFont):
420         (WebCore::GraphicsContext::setURLForRect):
421         (WebCore::GraphicsContext::addRoundedRectClip):
422         (WebCore::GraphicsContext::addInnerRoundedRectClip):
423         (WebCore::GraphicsContext::setShadow):
424         (WebCore::GraphicsContext::clearShadow):
425         (WebCore::GraphicsContext::beginTransparencyLayer):
426         (WebCore::GraphicsContext::endTransparencyLayer):
427         (WebCore::GraphicsContext::clearRect):
428         (WebCore::GraphicsContext::strokeRect):
429         (WebCore::GraphicsContext::setLineCap):
430         (WebCore::GraphicsContext::setLineJoin):
431         (WebCore::GraphicsContext::setMiterLimit):
432         (WebCore::GraphicsContext::setAlpha):
433         (WebCore::toCairoOperator):
434         (WebCore::GraphicsContext::setCompositeOperation):
435         (WebCore::GraphicsContext::clip):
436         (WebCore::GraphicsContext::rotate):
437         (WebCore::GraphicsContext::scale):
438         (WebCore::GraphicsContext::clipOut):
439         (WebCore::GraphicsContext::clipOutEllipseInRect):
440         (WebCore::GraphicsContext::fillRoundedRect):
441
442 2007-02-08  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>
443
444         Reviewed by Adam Roben.
445
446         Linux/gdk build fixes.
447
448         * Projects/gdk/webcore-gdk.bkl:
449         * WebCoreSources.bkl:
450         * webcore-base.bkl:
451
452 2007-02-08  Brady Eidson  <beidson@apple.com>
453
454         Reviewed by Tim Hatcher
455
456         Tweaked the thread violation behavior to be disabled by default, and to provide
457         an easy breakpoint to set.  
458         The possibilities for the "WebCoreThreadCheck" user defaults key are -
459           - The value "None" disables thread checking
460           - The value "Log" causes an NSLog on a violation
461           - The value "Exception" causes exceptions to be raised on a violation
462
463         * platform/Logging.h:
464         * platform/mac/LoggingMac.mm:
465         (WebCore::_WebCoreThreadViolationCheck):
466         (WebCoreReportThreadViolation):  In the global namespace, making breakpoints cake!
467
468 2007-02-08  Brady Eidson  <beidson@apple.com>
469
470         Reviewed by Tim Hatcher
471
472         <rdar://problem/4983515> Need mechanism to protect against WebKit calls from secondary threads
473         This initial landing is a conservative move until we can be certain of performance impact.
474         By writing to the user defaults key @"WebCoreThreadCheck" for the WebKit app you're running -
475           - The value "None" disables thread checking
476           - The value "Exception" causes exceptions to be raised on a violation
477           - The default is to do the check, and NSLog each violation
478
479         * bindings/objc/ExceptionHandlers.h:  Add a "Is Main Thread" assert macro
480         * bindings/scripts/CodeGeneratorObjC.pm: Use new mechanism in allocs and deallocs for now
481
482         * platform/Logging.h: Added WebCoreThreadViolationCheck macro
483         * platform/mac/LoggingMac.mm:
484         (WebCore::_WebCoreThreadViolationCheck): Check for main-threadedness, and do some stuff
485
486 2007-02-08  Kevin McCullough  <KMcCullough@apple.com>
487
488         Reviewed by Maciej, Darin, and Mark.
489
490         rdar://problem/4922454
491         - Prevents remote sites from executing local scripts.
492
493         * bindings/objc/DOM.mm: - renamed a function that is now in the base class
494         (-[DOMElement image]):
495         (-[DOMElement _imageTIFFRepresentation]):
496         * dom/XMLTokenizer.cpp: - removed needless asserts
497         (WebCore::XMLTokenizer::notifyFinished):
498         * html/HTMLImageLoader.cpp: - renamed a function that is now in the base class
499         (WebCore::HTMLImageLoader::dispatchLoadEvent):
500         * html/HTMLTokenizer.cpp: - removed needless asserts
501         (WebCore::HTMLTokenizer::reset):
502         (WebCore::HTMLTokenizer::notifyFinished):
503         * ksvg2/misc/SVGImageLoader.cpp: - renamed a function that is now in the base class
504         (WebCore::SVGImageLoader::dispatchLoadEvent):
505         * loader/Cache.cpp: - return early if an error occured
506         (WebCore::Cache::requestResource):
507         (WebCore::Cache::remove):
508         * loader/CachedImage.h: - renamed a function that is now in the base class
509         (WebCore::CachedImage::canRender):
510         * loader/CachedResource.h: - renamed a function that is now in the base class
511         (WebCore::CachedResource::errorOccurred):
512         * loader/CachedScript.h: - renamed a function that is now in the base class 
513         (WebCore::CachedScript::schedule):
514         * loader/DocLoader.cpp: - The heart of the fix, prevents resources from being created or retrieved from the cache if a remote site is requesting the local resource.
515         (WebCore::DocLoader::requestResource):
516         (WebCore::DocLoader::setLoadInProgress):
517         * page/EventHandler.cpp: - renamed a function that is now in the base class
518         (WebCore::selectCursor):
519         * rendering/HitTestResult.cpp: - renamed a function that is now in the base class
520         (WebCore::HitTestResult::image):
521         * rendering/RenderImage.cpp: - renamed a function that is now in the base class
522         (WebCore::RenderImage::setCachedImage):
523         (WebCore::RenderImage::imageChanged):
524         (WebCore::RenderImage::paint):
525         (WebCore::RenderImage::layout):
526         (WebCore::RenderImage::calcAspectRatioWidth):
527         (WebCore::RenderImage::calcAspectRatioHeight):
528         * rendering/RenderImage.h: - renamed a function that is now in the base class
529         (WebCore::RenderImage::errorOccurred):
530         * rendering/RenderListItem.cpp: - renamed a function that is now in the base class
531         (WebCore::RenderListItem::setStyle):
532         * rendering/RenderListMarker.cpp: - renamed a function that is now in the base class
533         (WebCore::RenderListMarker::isImage):
534
535 2007-02-07  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>
536
537         Reviewed by Maciej.
538
539         Add updateGeometry() to gdk's ScrollView. Needed to fix resizing of the window
540         in gdk.
541
542         * platform/ScrollView.h:
543         * platform/gdk/ScrollViewGdk.cpp:
544         (WebCore::ScrollView::updateGeometry):
545         (WebCore::ScrollView::setDrawable):
546
547 2007-02-07  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>
548
549         Reviewed by Maciej.
550
551         Linux/gdk build fixes.
552
553         * platform/ContextMenuItem.h:
554         * platform/PlatformMenuDescription.h:
555         * platform/gdk/PopupMenuGdk.cpp: Added. Renamed from RenderPopupMenuGdk.cpp for
556         consistency with other platforms.
557         (WebCore::PopupMenu::PopupMenu):
558         (WebCore::PopupMenu::~PopupMenu):
559         * platform/gdk/RenderPopupMenuGdk.cpp: Removed.
560         * platform/gdk/RenderPopupMenuGdk.h: Removed.
561
562 2007-02-07  Mitz Pettel  <mitz@webkit.org>
563
564         Reviewed by Maciej.
565
566         - fix http://bugs.webkit.org/show_bug.cgi?id=12608
567           Incorrect min. width calculation of a series of floats with clear:both and white-space:nowrap
568
569         Test: fast/block/float/nowrap-clear-min-width.html
570
571         * rendering/RenderBlock.cpp:
572         (WebCore::RenderBlock::calcInlineMinMaxWidth):
573
574 2007-02-07  Mitz Pettel  <mitz@webkit.org>
575
576         Reviewed by Dave Hyatt.
577
578         - fix http://bugs.webkit.org/show_bug.cgi?id=10522
579           REGRESSION: Incomplete repaint after table relayout that decreases height
580
581         Test: fast/repaint/intermediate-layout-position.html
582
583         * rendering/RenderBlock.cpp:
584         (WebCore::RenderBlock::layoutBlock): Adjust the old bounds by the layout delta,
585         to get the block's absolute bounds as they were before its ancestors moved it
586         during layout.
587         (WebCore::RenderBlock::collapseMargins): Update the layout delta for the child
588         when moving it.
589         (WebCore::RenderBlock::clearFloatsIfNeeded): Ditto.
590         (WebCore::RenderBlock::determineHorizontalPosition): Ditto.
591         (WebCore::RenderBlock::layoutBlockChildren): Ditto.
592         * rendering/RenderFlexibleBox.cpp:
593         (WebCore::RenderFlexibleBox::layoutBlock): Adjust the old bounds by the current
594         layout delta.
595         * rendering/RenderHTMLCanvas.cpp:
596         (WebCore::RenderHTMLCanvas::layout): Ditto.
597         * rendering/RenderImage.cpp:
598         (WebCore::RenderImage::layout): Ditto.
599         * rendering/RenderTable.cpp:
600         (WebCore::RenderTable::layout): Ditto.
601         * rendering/RenderView.h:
602         (WebCore::RenderView::layoutDelta): Added. Keeps track of the offset between
603         the position of the object currently being laid out and its position at the
604         end of the last layout.
605         (WebCore::RenderView::addLayoutDelta): Added.
606
607 2007-02-07  Christopher Brichford  <chrisb@adobe.com>
608
609         Reviewed by Brady.
610
611         http://bugs.webkit.org/show_bug.cgi?id=6286
612         Very large (~500MB) images cause reproducible Safari crash
613
614         * loader/CachedImage.cpp: 
615         (WebCore::CachedImage::bufferData): Detect failure to create a
616         large Vector<> and call error() when that happens.
617
618 2007-02-07  Mitz Pettel  <mitz@webkit.org>
619
620         Reviewed by Dave Hyatt.
621
622         - fix http://bugs.webkit.org/show_bug.cgi?id=5399
623           no-repeat on negatively positioned background images are ignored
624
625         Test: fast/backgrounds/repeat/negative-offset-repeat.html
626
627         - fix http://bugs.webkit.org/show_bug.cgi?id=5821
628           Changing background of <col> doesn't repaint the column
629
630         Test: fast/repaint/table-col-background.html
631
632         - fix http://bugs.webkit.org/show_bug.cgi?id=11720
633           REGRESSION: large amounts of CPU consumed viewing this site
634
635         * rendering/RenderBox.cpp:
636         (WebCore::RenderBox::imageChanged): Added. Finds the border and/or background
637         layer(s) that use the image and invalidates only the rect in which the image
638         actually paints. There are two special cases in this function: 1) for the body
639         element, the background is propagated to the root; 2) inline flows do a full
640         repaint.
641         (WebCore::RenderBox::calculateBackgroundImageGeometry): Added. Factored out,
642         simplified and corrected the calculation of the rectangle into which the background
643         image paints, the tile size and the pattern phase.
644         (WebCore::RenderBox::paintBackgroundExtended):
645         * rendering/RenderBox.h:
646         * rendering/RenderObject.cpp:
647         * rendering/RenderObject.h:
648         (WebCore::RenderObject::imageChanged): Moved the implementation to RenderBox.
649         * rendering/RenderTableCol.cpp:
650         (WebCore::RenderTableCol::getAbsoluteRepaintRect): Overridden to return the
651         table's repaint rect.
652         (WebCore::RenderTableCol::imageChanged): Overridden to do a full repaint, which
653         currently repaints the entire table.
654         * rendering/RenderTableCol.h:
655         * rendering/RenderTableRow.cpp:
656         (WebCore::RenderTableRow::imageChanged): Overridden to do a full repaint
657         of the row, since the backgrounds are painted by the cells.
658         * rendering/RenderTableRow.h:
659         * rendering/RenderTableSection.cpp:
660         (WebCore::RenderTableSection::imageChanged): Overridden to do a full
661         repaint of the section, since the backgrounds are painted by the cells.
662         * rendering/RenderTableSection.h:
663
664 2007-02-07  Anders Carlsson  <acarlsson@apple.com>
665
666         Reviewed by Maciej.
667
668         Move shouldInterruptJavaScript to the Chrome.
669
670         * bindings/js/kjs_binding.cpp:
671         (KJS::ScriptInterpreter::shouldInterruptScript):
672         * page/Chrome.cpp:
673         (WebCore::Chrome::shouldInterruptJavaScript):
674         * page/Chrome.h:
675         * page/ChromeClient.h:
676         * page/Frame.h:
677         * page/mac/FrameMac.h:
678         * page/mac/FrameMac.mm:
679         * page/mac/WebCoreFrameBridge.h:
680         * platform/graphics/svg/SVGImageEmptyClients.h:
681         (WebCore::SVGEmptyChromeClient::shouldInterruptJavaScript):
682
683 2007-02-07  Darin Adler  <darin@apple.com>
684
685         Reviewed by Maciej.
686
687         - <rdar://problem/4826861> WebKit tests show memory leaks in NSHTMLReader, caused by method named "hash"
688
689         * bindings/scripts/CodeGeneratorObjC.pm: Added a list of method names we should never use, since they
690         are in base classes WebScriptObject and NSObject. Luckily, only "hash" is causing trouble. Added
691         "hash" to the existing special case for "id". Now "hash" is "hashName" just as "id" is "idName".
692
693 2007-02-07  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>
694
695         Reviewed by Adam Roben.
696
697         Linux/gdk build fixes for graphics-related stuff.
698
699         * platform/graphics/cairo/ImageCairo.cpp:
700         (WebCore::BitmapImage::checkForSolidColor):
701         * platform/graphics/cairo/ImageSourceCairo.cpp:
702         (WebCore::ImageSource::setData):
703         * platform/graphics/gdk/ImageGdk.cpp:
704         (WebCore::BitmapImage::initPlatformData):
705         (WebCore::BitmapImage::invalidatePlatformData):
706         (WebCore::Image::loadPlatformResource):
707         (WebCore::Image::drawPattern):
708
709 2007-02-07  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>
710
711         Reviewed by Maciej.
712
713         Linux/gdk build fixes related to networking.
714
715         * platform/network/ResourceHandleInternal.h: Add accessor for m_client.
716         (WebCore::ResourceHandleInternal::client):
717         * platform/network/gdk/ResourceHandleCurl.cpp: Add missing functions and
718         massage for changed APIs.
719         (WebCore::ResourceHandle::start):
720         (WebCore::ResourceHandle::cancel):
721         (WebCore::ResourceHandle::bufferedData):
722         (WebCore::ResourceHandle::supportsBufferedData):
723         (WebCore::ResourceHandle::setDefersLoading):
724         * platform/network/gdk/ResourceHandleManager.cpp: Rename get() to
725         sharedInstance(). Massaged for changed APIs.
726         (WebCore::ResourceHandleManager::sharedInstance):
727         (WebCore::writeCallback):
728         (WebCore::ResourceHandleManager::downloadTimerCallback):
729         (WebCore::ResourceHandleManager::remove):
730         * platform/network/gdk/ResourceHandleManager.h: Ditto.
731
732 2007-02-07  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>
733
734         Reviewed by Maciej.
735
736         Mismatched type of alloc/free function crashes gdk build.
737
738         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
739         (WebCore::JPEGImageReader::close):
740
741 2007-02-07  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>
742
743         Reviewed by Adam Roben.
744
745         Linux/gdk build fixes - add file based on qt implementation.
746
747         * platform/DragData.h:
748         * platform/gdk/DragDataGdk.cpp: Added.
749
750 2007-02-07  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>
751
752         Reviewed by Adam Roben.
753
754         Linux/gdk build fixes - add new files based on qt implementation.
755
756         * page/gdk/DragControllerGdk.cpp: Added.
757         (WebCore::DragController::dragOperation):
758         * page/gdk/EventHandlerGdk.cpp: Added.
759         (WebCore::EventHandler::focusDocumentView):
760         (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
761         (WebCore::EventHandler::handleDrag):
762         (WebCore::EventHandler::eventActivatedView):
763
764 2007-02-07  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>
765
766         Reviewed by Adam Roben.
767
768         Linux/gdk build fixes - add new files based on Qt implementation.
769
770         * loader/gdk/DocumentLoaderGdk.cpp: Added.
771         (WebCore::DocumentLoader::getResponseModifiedHeader):
772         * loader/gdk/FrameLoaderClientGdk.cpp: Added.
773         (WebCore::FrameLoaderClientGdk::FrameLoaderClientGdk):
774         (WebCore::FrameLoaderClientGdk::frame):
775         (WebCore::FrameLoaderClientGdk::userAgent):
776         (WebCore::FrameLoaderClientGdk::createDocumentLoader):
777         (WebCore::FrameLoaderClientGdk::dispatchWillSubmitForm):
778         (WebCore::FrameLoaderClientGdk::committedLoad):
779         (WebCore::FrameLoaderClientGdk::dispatchDidReceiveAuthenticationChallenge):
780         (WebCore::FrameLoaderClientGdk::dispatchDidCancelAuthenticationChallenge):
781         (WebCore::FrameLoaderClientGdk::dispatchWillSendRequest):
782         (WebCore::FrameLoaderClientGdk::assignIdentifierToInitialRequest):
783         (WebCore::FrameLoaderClientGdk::postProgressStartedNotification):
784         (WebCore::FrameLoaderClientGdk::postProgressEstimateChangedNotification):
785         (WebCore::FrameLoaderClientGdk::postProgressFinishedNotification):
786         (WebCore::FrameLoaderClientGdk::frameLoaderDestroyed):
787         (WebCore::FrameLoaderClientGdk::dispatchDidReceiveResponse):
788         (WebCore::FrameLoaderClientGdk::dispatchDecidePolicyForMIMEType):
789         (WebCore::FrameLoaderClientGdk::dispatchDecidePolicyForNewWindowAction):
790         (WebCore::FrameLoaderClientGdk::dispatchDecidePolicyForNavigationAction):
791         (WebCore::FrameLoaderClientGdk::createPlugin):
792         (WebCore::FrameLoaderClientGdk::createFrame):
793         (WebCore::FrameLoaderClientGdk::redirectDataToPlugin):
794         (WebCore::FrameLoaderClientGdk::createJavaAppletWidget):
795         (WebCore::FrameLoaderClientGdk::objectContentType):
796         (WebCore::FrameLoaderClientGdk::overrideMediaType):
797         (WebCore::FrameLoaderClientGdk::windowObjectCleared):
798         (WebCore::FrameLoaderClientGdk::setMainFrameDocumentReady):
799         (WebCore::FrameLoaderClientGdk::hasWebView):
800         (WebCore::FrameLoaderClientGdk::hasFrameView):
801         (WebCore::FrameLoaderClientGdk::dispatchDidFinishLoad):
802         (WebCore::FrameLoaderClientGdk::frameLoadCompleted):
803         (WebCore::FrameLoaderClientGdk::privateBrowsingEnabled):
804         (WebCore::FrameLoaderClientGdk::makeDocumentView):
805         (WebCore::FrameLoaderClientGdk::makeRepresentation):
806         (WebCore::FrameLoaderClientGdk::forceLayout):
807         (WebCore::FrameLoaderClientGdk::forceLayoutForNonHTML):
808         (WebCore::FrameLoaderClientGdk::setCopiesOnScroll):
809         (WebCore::FrameLoaderClientGdk::detachedFromParent1):
810         (WebCore::FrameLoaderClientGdk::detachedFromParent2):
811         (WebCore::FrameLoaderClientGdk::detachedFromParent3):
812         (WebCore::FrameLoaderClientGdk::detachedFromParent4):
813         (WebCore::FrameLoaderClientGdk::loadedFromPageCache):
814         (WebCore::FrameLoaderClientGdk::dispatchDidHandleOnloadEvents):
815         (WebCore::FrameLoaderClientGdk::dispatchDidReceiveServerRedirectForProvisionalLoad):
816         (WebCore::FrameLoaderClientGdk::dispatchDidCancelClientRedirect):
817         (WebCore::FrameLoaderClientGdk::dispatchWillPerformClientRedirect):
818         (WebCore::FrameLoaderClientGdk::dispatchDidChangeLocationWithinPage):
819         (WebCore::FrameLoaderClientGdk::dispatchWillClose):
820         (WebCore::FrameLoaderClientGdk::dispatchDidReceiveIcon):
821         (WebCore::FrameLoaderClientGdk::dispatchDidStartProvisionalLoad):
822         (WebCore::FrameLoaderClientGdk::dispatchDidReceiveTitle):
823         (WebCore::FrameLoaderClientGdk::dispatchDidCommitLoad):
824         (WebCore::FrameLoaderClientGdk::dispatchDidFinishDocumentLoad):
825         (WebCore::FrameLoaderClientGdk::dispatchDidFirstLayout):
826         (WebCore::FrameLoaderClientGdk::dispatchShow):
827         (WebCore::FrameLoaderClientGdk::cancelPolicyCheck):
828         (WebCore::FrameLoaderClientGdk::dispatchDidLoadMainResource):
829         (WebCore::FrameLoaderClientGdk::revertToProvisionalState):
830         (WebCore::FrameLoaderClientGdk::clearUnarchivingState):
831         (WebCore::FrameLoaderClientGdk::willChangeTitle):
832         (WebCore::FrameLoaderClientGdk::didChangeTitle):
833         (WebCore::FrameLoaderClientGdk::finishedLoading):
834         (WebCore::FrameLoaderClientGdk::finalSetupForReplace):
835         (WebCore::FrameLoaderClientGdk::setDefersLoading):
836         (WebCore::FrameLoaderClientGdk::isArchiveLoadPending):
837         (WebCore::FrameLoaderClientGdk::cancelPendingArchiveLoad):
838         (WebCore::FrameLoaderClientGdk::clearArchivedResources):
839         (WebCore::FrameLoaderClientGdk::canHandleRequest):
840         (WebCore::FrameLoaderClientGdk::canShowMIMEType):
841         (WebCore::FrameLoaderClientGdk::representationExistsForURLScheme):
842         (WebCore::FrameLoaderClientGdk::generatedMIMETypeForURLScheme):
843         (WebCore::FrameLoaderClientGdk::restoreScrollPositionAndViewState):
844         (WebCore::FrameLoaderClientGdk::provisionalLoadStarted):
845         (WebCore::FrameLoaderClientGdk::didFinishLoad):
846         (WebCore::FrameLoaderClientGdk::prepareForDataSourceReplacement):
847         (WebCore::FrameLoaderClientGdk::setTitle):
848         (WebCore::FrameLoaderClientGdk::setDocumentViewFromPageCache):
849         (WebCore::FrameLoaderClientGdk::dispatchDidReceiveContentLength):
850         (WebCore::FrameLoaderClientGdk::dispatchDidFinishLoading):
851         (WebCore::FrameLoaderClientGdk::dispatchDidFailLoading):
852         (WebCore::FrameLoaderClientGdk::dispatchDidLoadResourceFromMemoryCache):
853         (WebCore::FrameLoaderClientGdk::dispatchDidFailProvisionalLoad):
854         (WebCore::FrameLoaderClientGdk::dispatchDidFailLoad):
855         (WebCore::FrameLoaderClientGdk::download):
856         (WebCore::FrameLoaderClientGdk::cancelledError):
857         (WebCore::FrameLoaderClientGdk::cannotShowURLError):
858         (WebCore::FrameLoaderClientGdk::interruptForPolicyChangeError):
859         (WebCore::FrameLoaderClientGdk::cannotShowMIMETypeError):
860         (WebCore::FrameLoaderClientGdk::fileDoesNotExistError):
861         (WebCore::FrameLoaderClientGdk::shouldFallBack):
862         (WebCore::FrameLoaderClientGdk::willUseArchive):
863         (WebCore::FrameLoaderClientGdk::saveScrollPositionAndViewStateToItem):
864         (WebCore::FrameLoaderClientGdk::saveDocumentViewToPageCache):
865         (WebCore::FrameLoaderClientGdk::canCachePage):
866         (WebCore::FrameLoaderClientGdk::dispatchCreatePage):
867         (WebCore::FrameLoaderClientGdk::dispatchUnableToImplementPolicy):
868         (WebCore::FrameLoaderClientGdk::setMainDocumentError):
869         (WebCore::FrameLoaderClientGdk::startDownload):
870         (WebCore::FrameLoaderClientGdk::updateGlobalHistoryForStandardLoad):
871         (WebCore::FrameLoaderClientGdk::updateGlobalHistoryForReload):
872         (WebCore::FrameLoaderClientGdk::shouldGoToHistoryItem):
873         * loader/gdk/FrameLoaderClientGdk.h: Added.
874         (WebCore::FrameLoaderClientGdk::~FrameLoaderClientGdk):
875         (WebCore::FrameLoaderClientGdk::setFrame):
876
877 2007-02-07  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>
878
879         Reviewed by Maciej.
880
881         Linux/gdk fixes related to fonts.
882
883         * platform/gdk/FontDataGdk.cpp:
884         (WebCore::FontData::platformInit): remove a work-around for older cairo versions
885         since Ubuntu 6.10 ships with cairo that is new enough
886         * platform/gdk/FontGdk.cpp:
887         (WebCore::Font::drawGlyphs):
888         * platform/gdk/FontPlatformDataGdk.cpp: Remove unused variables.
889         (WebCore::FontPlatformData::FontPlatformData):
890
891 2007-02-07  Alexey Proskuryakov  <ap@webkit.org>
892
893         Reviewed by Darin.
894
895         http://bugs.webkit.org/show_bug.cgi?id=12582
896         REGRESSION: Unclosed <title> makes the window display garbage or empty title
897
898         Automatic testing is not possible, and manual testing probably doesn't make sense.
899
900         * loader/DocumentLoader.cpp:
901         (WebCore::canonicalizedTitle): Bail out early if the passed in string is all whitespace.
902
903 2007-02-06  Anders Carlsson  <acarlsson@apple.com>
904
905         Reviewed by John Sullivan.
906
907         <rdar://problem/4977952>
908         REGRESSION: Yahoo Messenger IM is totally blank
909         
910         * loader/FrameLoader.cpp:
911         (WebCore::FrameLoader::checkContentPolicy):
912         Don't ask the policy delegate for content that has valid substitute data.
913         
914         (WebCore::FrameLoader::checkNavigationPolicy):
915         If the loader has substitute data but doesn't have an unreachable URL, let the policy
916         delegate decide what to do.
917
918 2007-02-07  Geoffrey Garen  <ggaren@apple.com>
919
920         Reviewed by Darin Adler.
921
922         Restoring some of the functionality I removed in r19445. It's insufficient for
923         each page to cancel keepAlive only for its child frames, because a frame
924         can be removed from the page before we get a chance to cancel its keepAlive.
925         So, the page destructor has to cancel keepAlive for all frames. This is safe
926         because we prohibit closing a WebView while JavaScript is executing.
927
928         * page/Frame.cpp:
929         (WebCore::keepAliveSet):
930         (WebCore::Frame::keepAlive):
931         (WebCore::Frame::cancelAllKeepAlive):
932         (WebCore::Frame::lifeSupportTimerFired):
933         * page/Frame.h:
934         * page/Page.cpp:
935         (WebCore::Page::~Page):
936
937 2007-02-07  Alexey Proskuryakov  <ap@webkit.org>
938
939         Reviewed by Darin.
940
941         http://bugs.webkit.org/show_bug.cgi?id=12603
942         A crash when trying to use XPath functions normalize-space(), string-length() and number()
943
944         Test: fast/xpath/implicit-node-args.html
945
946         * xml/XPathFunctions.cpp:
947         (WebCore::XPath::FunNumber::doEvaluate): Implemented zero parameter case.
948         (WebCore::XPath::FunctionMapping::): Corrected descriptions of these functions, as they
949         do allow zero parameters.
950         (WebCore::XPath::createFunction): Combined the two failure cases to ensure that this
951         function never returns 0.
952
953 2007-02-07  Zack Rusin  <zrusin@trolltech.com>
954
955         Fix compilation
956
957         * page/qt/EventHandlerQt.cpp:
958         (WebCore::EventHandler::eventActivatedView):
959
960 2007-02-06  Alice Liu  <alice.liu@apple.com>
961
962         Reviewed by Maciej.
963
964         Added editing command functions for scrolling by page and moving the caret
965
966         * editing/Editor.cpp:
967         (WebCore::execMoveUpByPageAndModifyCaret):
968         (WebCore::execMoveDownByPageAndModifyCaret):
969         (WebCore::CommandEntry::):
970
971 2007-02-06  Justin Garcia  <justin.garcia@apple.com>
972
973         Reviewed by john
974
975         <rdar://problem/4922367>
976         WebView selectLine: followed by deleteBackward: deletes TABLE element of following line
977
978         * editing/AppendNodeCommand.cpp:
979         (WebCore::AppendNodeCommand::doApply): Don't ASSERT when manipulating
980         non-editable content that is embedded in editable content.  We'll do 
981         this kind of manipulation when removing redundant style spans after
982         pasting content that has non-editable pieces.
983         * editing/InsertNodeBeforeCommand.cpp:
984         (WebCore::InsertNodeBeforeCommand::doApply): Ditto.
985         * editing/htmlediting.cpp:
986         (WebCore::isContentEditable): Added, wrapper for Node::isContentEditable
987         (WebCore::rangeCompliantEquivalent): Although legal, 
988         [{table, select, etc.}, {0, numChildren}] don't refer to children of the element, 
989         but positions before and after the element.  So, rangeCompliantEquivalent is 
990         really responsible for converting illegal positions *and* legal positions 
991         that have a special meaning internally.
992         * editing/htmlediting.h:
993
994 2007-02-06  Anders Carlsson  <acarlsson@apple.com>
995
996         Reviewed by Brady.
997
998         * platform/String.cpp:
999         (WebCore::String::ascii):
1000         Fix dumping null Strings.
1001
1002 2007-02-06  Anders Carlsson  <acarlsson@apple.com>
1003
1004         Reviewed by Geoff.
1005
1006         Fix <rdar://problem/4979484>
1007         
1008         * css/CSSPrimitiveValue.cpp:
1009         (WebCore::isCSSTokenizerIdentifier):
1010         Do the range check before calling isalpha or isalnum.
1011
1012 2007-02-06  Geoffrey Garen  <ggaren@apple.com>
1013
1014         Reviewed by Darin Adler.
1015
1016         Fixed Frame/RenderObject/Node leak report seen while running SVG image tests.
1017         (We'll need this fix if we ever re-enable SVG image.)
1018         
1019         The extra reference belonged to the Frame keepAlive timer (so this was
1020         not a "real" leak, in the end). The Page destructor has code to cancel all 
1021         Frame keepAlive timers upon the destruction of the last Page, but an SVG 
1022         image puts a Page within a Page, making this condition impossible to meet.
1023         
1024         The fix here is to have each individual page cancel the keepAlive timers 
1025         belonging to its child frames.
1026         
1027         * page/Frame.cpp: Changed the FrameCounter to use WTF logging.
1028         (WebCore::): Nixed the lifeSupportSet, since it's no longer used.
1029         (WebCore::Frame::cancelKeepAlive): Renamed from "endLifeSupport" to match
1030         the name "keepAlive".
1031         * page/Page.cpp:
1032         (WebCore::Page::~Page): Made each page cancel its child keepAlive timers 
1033         and clear its mainFrame, since we may never reach the condition of having 0 Pages.
1034
1035 2007-02-06  Adam Roben  <aroben@apple.com>
1036
1037         Rubberstamped by Brady.
1038
1039         Revert the log channel constants to their old values for all you pretty
1040         people out there who were using the old ones. I also renamed
1041         LogResources to LogPlatformLeaks to be a bit more specific.
1042
1043         * platform/Logging.cpp:
1044         (WebCore::):
1045         * platform/Logging.h:
1046
1047 2007-02-05  Justin Garcia  <justin.garcia@apple.com>
1048
1049         Reviewed by john
1050
1051         <rdar://problem/4959067>
1052         Bullets get erased or moved down to another line
1053         <rdar://problem/4912529>
1054         Seed: Bulleted list in Note in Mail.app does not work with Japanese input mode
1055         
1056         Do not expand the selection to include fully selected 
1057         special elements when insering text over a selection.
1058
1059         * editing/CompositeEditCommand.cpp:
1060         (WebCore::CompositeEditCommand::deleteSelection): Pass
1061         expandForSpecialElements through to DeleteSelectionCommand's constructor.
1062         (WebCore::CompositeEditCommand::moveParagraphs): Use the 
1063         convenience function.
1064         * editing/CompositeEditCommand.h:
1065         * editing/DeleteSelectionCommand.h:
1066         * editing/InsertTextCommand.cpp:
1067         (WebCore::InsertTextCommand::input): Do not expand the selection
1068         to be deleted for special elements.
1069         * editing/ReplaceSelectionCommand.cpp:
1070         (WebCore::ReplaceSelectionCommand::doApply): Added a FIXME about 
1071         when we should expand the selection.
1072
1073 2007-02-06  Geoffrey Garen  <ggaren@apple.com>
1074
1075         Reviewed by Anders Carlsson.
1076         
1077         Disabled support for SVG image because it crashes all the time.
1078
1079         * loader/CachedImage.cpp:
1080         (WebCore::CachedImage::createImage):
1081
1082 2007-02-06  Mitz Pettel  <mitz@webkit.org>
1083
1084         Reviewed by Darin.
1085
1086         - fix http://bugs.webkit.org/show_bug.cgi?id=12518
1087           Betsson.com crashes browser
1088
1089         Test: fast/layers/generated-layer-scrollbar-crash.html
1090
1091         * rendering/RenderLayer.cpp:
1092         (WebCore::RenderLayer::createScrollbar): Changed element()->document() to
1093         document() to work with anonymous objects.
1094         (WebCore::RenderLayer::updateOverflowStatus): Ditto.
1095
1096 2007-02-06  Eric Seidel  <eric@webkit.org>
1097
1098         Reviewed by mitz.
1099
1100         WebKit ignores floating point values for stroke-miterlimit
1101         http://bugs.webkit.org/show_bug.cgi?id=12577
1102         
1103         Test: svg/W3C-SVG-1.1/painting-stroke-07-t.svg
1104
1105         * ksvg2/css/SVGCSSParser.cpp:
1106         (WebCore::CSSParser::parseSVGValue):
1107         * ksvg2/css/SVGCSSStyleSelector.cpp:
1108         (WebCore::CSSStyleSelector::applySVGProperty):
1109         * ksvg2/css/SVGRenderStyle.h:
1110         * ksvg2/css/SVGRenderStyleDefs.h:
1111         (WebCore::StyleStrokeData::operator!=):
1112
1113 2007-02-06  Adam Roben  <aroben@apple.com>
1114
1115         Reviewed by Ada and Oliver.
1116
1117         Adding a new LogResources channel for tracking platform resource usage.
1118
1119         * platform/Logging.cpp: Added new channel, cleaned up constants to be more readable.
1120         * platform/Logging.h: Declare new channel.
1121
1122 2007-02-06  Alexey Proskuryakov  <ap@webkit.org>
1123
1124         Reviewed by Geoff.
1125
1126         http://bugs.webkit.org/show_bug.cgi?id=12619
1127         Non-abbreviated XPaths don't work
1128
1129         Test: fast/xpath/ancestor-axis.html
1130
1131         * xml/XPathParser.cpp:
1132         (WebCore::XPath::Parser::lex): Fix axis name parsing to actually work.
1133         * xml/XPathStep.cpp:
1134         (WebCore::XPath::Step::nodeTestMatches): Fix "*" node test to actually work.
1135
1136 2007-02-06  Mark Rowe  <mrowe@apple.com>
1137
1138         Roll out incomplete support for font-stretch (r19350) at Dave Hyatt's request.
1139         See http://bugs.webkit.org/show_bug.cgi?id=12530#c9 for more info.
1140
1141         * css/CSSComputedStyleDeclaration.cpp:
1142         (WebCore::):
1143         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1144         * css/cssparser.cpp:
1145         (WebCore::CSSParser::parseValue):
1146         * css/cssstyleselector.cpp:
1147         (WebCore::CSSStyleSelector::applyDeclarations):
1148         (WebCore::CSSStyleSelector::applyProperty):
1149         * platform/FontCache.cpp:
1150         (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
1151         (WebCore::FontPlatformDataCacheKey::operator==):
1152         (WebCore::computeHash):
1153         (WebCore::FontPlatformDataCacheKeyTraits::deletedValue):
1154         (WebCore::FontPlatformDataCacheKeyTraits::emptyValue):
1155         (WebCore::FontCache::getCachedFontPlatformData):
1156         * platform/FontDescription.h:
1157         (WebCore::FontDescription::FontDescription):
1158         (WebCore::FontDescription::weight):
1159         (WebCore::FontDescription::setWeight):
1160         (WebCore::FontDescription::operator==):
1161         * platform/mac/FontCacheMac.mm:
1162         (WebCore::FontCache::createFontPlatformData):
1163         * platform/mac/WebFontCache.mm:
1164         (acceptableChoice):
1165         (betterChoice):
1166         (+[WebFontCache fontWithFamily:traits:size:]):
1167
1168 2007-02-05  Adele Peterson  <adele@apple.com>
1169
1170         Reviewed by Darin.
1171
1172         A few small updates to my bidi patch.
1173
1174         * rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::paintObject): Moved the declaration of the CharacterBuffer outside the if statement since we use its data outside that scope.
1175         * rendering/RenderListBox.cpp: (WebCore::RenderListBox::paintItemForeground): ditto.
1176         * rendering/bidi.cpp: (WebCore::RenderBlock::bidiReorderCharacters): Used a PassRefPtr for the BidiContext.
1177
1178 2007-02-05  Adele Peterson  <adele@apple.com>
1179
1180         Reviewed by Adam.
1181
1182         Fix for assertion failure in fast/events/objc-keyboard-event-creation.html
1183
1184         * html/HTMLInputElement.cpp:
1185         (WebCore::HTMLInputElement::selectionStart): Check that the selection offsets are not equal to -1 (which is means the selection has never been set) instead of checking for >= 0.
1186         (WebCore::HTMLInputElement::selectionEnd): ditto.
1187         (WebCore::HTMLInputElement::setValue): ditto.
1188         (WebCore::HTMLInputElement::selection): Return an empty selection if the input is not a text field or if no selection has ever been set in the text field.
1189         * html/HTMLTextAreaElement.cpp:
1190         (WebCore::HTMLTextAreaElement::selectionStart): Check that the selection offsets are not equal to -1.
1191         (WebCore::HTMLTextAreaElement::selectionEnd): ditto.
1192         (WebCore::HTMLTextAreaElement::setValue): ditto.
1193         (WebCore::HTMLTextAreaElement::selection): Return an empty selection if no selection has ever been set in the textarea.
1194
1195         * dom/Position.cpp: Added FIXMEs that we should catch the negative offset earlier.
1196         (WebCore::Position::previous):
1197         (WebCore::Position::next):
1198
1199 2007-02-05  Justin Garcia  <justin.garcia@apple.com>
1200
1201         Reviewed by harrison
1202
1203         <rdar://problem/4947387>
1204         REGRESSION Shift Command Left should only select to the beginning of the line
1205
1206         * editing/Editor.cpp:
1207         (WebCore::CommandEntry::): Never copy/paste code.
1208
1209 2007-02-05  Darin Adler  <darin@apple.com>
1210
1211         Reviewed by John Sullivan.
1212
1213         - fix http://bugs.webkit.org/show_bug.cgi?id=11535
1214           <rdar://problem/4946959> REGRESSION: onclick="this.select();" not working on new forms (11535)
1215
1216         Test: fast/forms/input-select-on-click.html
1217
1218         * page/EventHandler.h: Added m_mouseDownWasSingleClickInSelection boolean.
1219         Organized other booleans a bit more logically.
1220         * page/EventHandler.cpp:
1221         (WebCore::EventHandler::EventHandler): Rearrange order to match EventHandler.h, add
1222         m_mouseDownWasSingleClickInSelection initialization.
1223         (WebCore::EventHandler::handleMousePressEventSingleClick): Set m_mouseDownWasSingleClickInSelection
1224         to true in the appropriate special case.
1225         (WebCore::EventHandler::handleMousePressEvent): Set m_mouseDownWasSingleClickInSelection to false.
1226         (WebCore::EventHandler::handleMouseReleaseEvent): Change code to clear selection or set to caret to
1227         only fire if m_mouseDownWasSingleClickInSelection was true rather than firing for any
1228         m_mouseDownMayStartSelect case.
1229
1230 2007-02-05  George Staikos  <staikos@kde.org>
1231
1232         Reviewed by Maciej.
1233
1234         Send HTTP cookies.
1235
1236         * platform/network/qt/ResourceHandleManagerQt.cpp:
1237         (WebCore::RequestQt::RequestQt):
1238
1239 2007-02-05  Adele Peterson  <adele@apple.com>
1240
1241         Reviewed by Mitz and Anders.
1242
1243         Fix for http://bugs.webkit.org/show_bug.cgi?id=11811
1244         <rdar://problem/4947184> REGRESSION (r11783): Hebrew text in list boxes is reversed
1245
1246         http://bugs.webkit.org/show_bug.cgi?id=11812
1247         <rdar://problem/4960269> REGRESSION (Native file upload): Hebrew filenames are reversed
1248
1249         Tests: 
1250         fast/text/international/bidi-listbox.html
1251         fast/text/international/bidi-listbox-atsui.html
1252
1253         * rendering/RenderBlock.h: Added static bidiReorderCharacters that will run the bidi algorithm on a character buffer.
1254         * rendering/bidi.cpp:
1255         (WebCore::RenderBlock::bidiReorderCharacters): Added. Creates an anonymous RenderBlock and RenderText to feed into bidiReorderLines.
1256         (WebCore::RenderBlock::constructLine): Uses the new convenience methods on BidiRun.
1257         * rendering/bidi.h:
1258         (WebCore::BidiRun::reversed): Added convenience method.
1259         (WebCore::BidiRun::dirOverride): ditto.
1260
1261         * rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::paintObject): Creates a buffer and calls bidiReorderCharacters
1262           to get a correctly ordered character buffer for drawText.
1263         * rendering/RenderListBox.cpp: (WebCore::RenderListBox::paintItemForeground): ditto.
1264
1265 2007-02-05  Mitz Pettel  <mitz@webkit.org>
1266
1267         Reviewed by Darin.
1268
1269         - fix http://bugs.webkit.org/show_bug.cgi?id=12590
1270           REGRESSION: Text selection is weird in textareas in Trac wiki editing pages
1271
1272         Test: fast/repaint/selection-gap-overflow-scroll.html
1273
1274         * rendering/RenderBlock.cpp:
1275         (WebCore::RenderBlock::selectionGapRects): Adjust for overflow scroll.
1276
1277 2007-02-05  Mitz Pettel  <mitz@webkit.org>
1278
1279         Reviewed by Adele.
1280
1281         - fix http://bugs.webkit.org/show_bug.cgi?id=11916
1282           REGRESSION (SearchField): RTL search fields are mixed up
1283
1284         Test: fast/forms/search-rtl.html
1285
1286         * rendering/RenderTextControl.cpp:
1287         (WebCore::RenderTextControl::createInnerBlockStyle): Always make the inner
1288         block LTR so that the results button will be on the left and the cancel
1289         button will be on the right.
1290         (WebCore::RenderTextControl::createInnerTextStyle): Inherit the direction
1291         property directly from the control so that it won't be masked by the inner
1292         block's LTR override.
1293         (WebCore::RenderTextControl::nodeAtPoint): Removed code that swapped the
1294         results and cancel buttons for RTL.
1295         (WebCore::RenderTextControl::forwardEvent): Ditto.
1296         (WebCore::RenderTextControl::clientPaddingLeft): Ditto.
1297         (WebCore::RenderTextControl::clientPaddingRight): Ditto.
1298
1299 2007-02-05  Mitz Pettel  <mitz@webkit.org>
1300
1301         Reviewed by Adele.
1302
1303         - fix http://bugs.webkit.org/show_bug.cgi?id=12618
1304           REGRESSION (SearchField): Dragging across the text and releasing over the clear button clears the field
1305
1306         Test: fast/forms/search-cancel-button-mouseup.html
1307
1308         Made the cancel button capturing.
1309
1310         * html/HTMLTextFieldInnerElement.cpp:
1311         (WebCore::HTMLSearchFieldCancelButtonElement::HTMLSearchFieldCancelButtonElement):
1312         (WebCore::HTMLSearchFieldCancelButtonElement::defaultEventHandler):
1313         * html/HTMLTextFieldInnerElement.h:
1314
1315 2007-02-05  Mitz Pettel  <mitz@webkit.org>
1316
1317         Reviewed by Darin.
1318
1319         - fix http://bugs.webkit.org/show_bug.cgi?id=6626
1320           Arabic & Farsi rendered with no shaping (all glyphs separate, unreadable!)
1321
1322         No test possible since Mac OS X only ships with fonts that contain shaping
1323         information.
1324
1325         * icu/unicode/ushape.h: Added from
1326         http://www.opensource.apple.com/darwinsource/10.4.8.ppc/ICU-6.2.9/icuSources/common/unicode/
1327         * platform/FontData.h:
1328         (WebCore::FontData::shapesArabic): Added. Returns whether the font contains
1329         shaping information for Arabic or not.
1330         * platform/mac/FontDataMac.mm:
1331         (WebCore::FontData::platformInit):
1332         (WebCore::FontData::checkShapesArabic): Added. Checks whether the font contains
1333         a glyph metamorphosis table. The heuristic is that if a font contains Arabic glyphs
1334         and a metamorphosis table, then it includes shaping information for Arabic.
1335         * platform/mac/FontMac.mm:
1336         (WebCore::overrideLayoutOperation): Changed to use the same character buffer passed
1337         to ATSUI instead of the original character buffer and to give zero-width spaces zero
1338         width.
1339         (WebCore::isArabicLamWithAlefLigature): Added. Checks if the character is one
1340         of the Arabic presentation forms of Lam with Alef.
1341         (WebCore::shapeArabic): Added. This is a wrapper around the ICU Arabic shaping routine
1342         that replaces each space following a Lam with Alef ligature resulting from shaping
1343         with a zero-width space.
1344         (WebCore::ATSULayoutParameters::initialize): Changed to allocate the auxiliary buffer
1345         lazily for mirroring and Arabic shaping. Added a call to shapeArabic() when required.
1346
1347 2007-02-05  Eric Seidel  <eric@webkit.org>
1348
1349         No review, build fix only.
1350
1351         * ksvg2/svg/SVGStyleElement.cpp: add forgotten header.
1352
1353 2007-02-05  Eric Seidel  <eric@webkit.org>
1354
1355         Reviewed by bdash.
1356
1357         Fix style name testcase which I broke in my last commit.
1358
1359         * ksvg2/svg/SVGStyleElement.cpp:
1360         (WebCore::SVGStyleElement::xmlspace):
1361         (WebCore::SVGStyleElement::title): override Element::title()
1362         (WebCore::SVGStyleElement::parseMappedAttribute):
1363         * ksvg2/svg/SVGStyleElement.h:
1364
1365 2007-02-04  Eric Seidel  <eric@webkit.org>
1366
1367         Reviewed by darin.
1368
1369         Fix hand cursor on link hover for SVG
1370         Fix status text on link hover for SVG
1371         Fix tooltips on link hover for SVG
1372         Fix link dragging for SVG
1373         http://bugs.webkit.org/show_bug.cgi?id=12575
1374         
1375         Test: added manual-tests/svg-links.svg
1376
1377         * dom/Document.cpp:
1378         (WebCore::Document::prepareMouseEvent):
1379         * dom/Element.cpp:
1380         (WebCore::Element::title):
1381         * dom/Element.h:
1382         * html/HTMLElement.cpp:
1383         (WebCore::HTMLElement::setId):
1384         (WebCore::HTMLElement::title):
1385         (WebCore::HTMLElement::setTitle):
1386         (WebCore::HTMLElement::setLang):
1387         * html/HTMLElement.h:
1388         * ksvg2/svg/SVGAElement.cpp:
1389         (WebCore::SVGAElement::title):
1390         (WebCore::SVGAElement::parseMappedAttribute):
1391         (WebCore::SVGAElement::defaultEventHandler):
1392         * ksvg2/svg/SVGAElement.h:
1393         * ksvg2/svg/SVGTitleElement.cpp:
1394         * ksvg2/svg/SVGTitleElement.h:
1395         * manual-tests/svg-links.svg: Added.
1396         * rendering/HitTestResult.cpp:
1397         (WebCore::HitTestResult::title):
1398         (WebCore::HitTestResult::absoluteImageURL):
1399         (WebCore::HitTestResult::absoluteLinkURL):
1400         (WebCore::HitTestResult::isLiveLink):
1401         (WebCore::HitTestResult::titleDisplayString):
1402
1403 2007-02-04  Alexey Proskuryakov  <ap@webkit.org>
1404
1405         Reviewed by Darin.
1406
1407         http://bugs.webkit.org/show_bug.cgi?id=12602
1408         XPath functions string(), normalize-space() and string-length() don't work
1409         without arguments
1410
1411         Test: fast/xpath/implicit-node-args.html
1412
1413         * xml/XPathFunctions.cpp:
1414         (WebCore::XPath::FunString::doEvaluate):
1415         (WebCore::XPath::FunStringLength::doEvaluate):
1416         (WebCore::XPath::FunNormalizeSpace::doEvaluate):
1417         Don't try to pass RefPtr<Node> to the Value ctor.
1418
1419 2007-02-04  Alexey Proskuryakov  <ap@webkit.org>
1420
1421         Reviewed by Darin.
1422
1423         http://bugs.webkit.org/show_bug.cgi?id=8791
1424         XPath should support custom node resolvers
1425
1426         * bindings/js/JSCustomXPathNSResolver.cpp: Added.
1427         (WebCore::JSCustomXPathNSResolver::create):
1428         (WebCore::JSCustomXPathNSResolver::JSCustomXPathNSResolver):
1429         (WebCore::JSCustomXPathNSResolver::~JSCustomXPathNSResolver):
1430         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
1431         * bindings/js/JSCustomXPathNSResolver.h: Added.
1432         * bindings/objc/DOMCustomXPathNSResolver.h: Added.
1433         * bindings/objc/DOMCustomXPathNSResolver.mm: Added.
1434         (WebCore::DOMCustomXPathNSResolver::DOMCustomXPathNSResolver):
1435         (WebCore::DOMCustomXPathNSResolver::~DOMCustomXPathNSResolver):
1436         (WebCore::DOMCustomXPathNSResolver::lookupNamespaceURI):
1437         Wrappers for JS/ObjC objects that can be used as resolvers.
1438
1439         * bindings/scripts/CodeGeneratorJS.pm:
1440         * bindings/scripts/CodeGeneratorObjC.pm:
1441         Use the above wrappers to support custom resolvers.
1442
1443         * xml/XPathNSResolver.cpp:
1444         * xml/XPathNSResolver.h:
1445         Turned this class into an abstract one.
1446
1447         * xml/NativeXPathNSResolver.cpp: Added.
1448         (WebCore::NativeXPathNSResolver::NativeXPathNSResolver):
1449         (WebCore::NativeXPathNSResolver::~NativeXPathNSResolver):
1450         (WebCore::NativeXPathNSResolver::lookupNamespaceURI):
1451         * xml/NativeXPathNSResolver.h: Added.
1452         A XPathNSResolver subclass, doing what XPathNSResolver used to do.
1453
1454         * xml/XPathEvaluator.cpp:
1455         (WebCore::XPathEvaluator::createNSResolver): Create a NativeXPathNSResolver.
1456
1457         * WebCore.xcodeproj/project.pbxproj: Added new files.
1458
1459 2007-02-04  Oliver Hunt  <oliver@apple.com>
1460
1461         Reviewed by Adam.
1462
1463         Tidying up EventHandler, and moving more of
1464         EventHandlerMac.mm to EventHandler.cpp
1465
1466         Also added EventHandler::eventLoopHandleMouse[Dragged,Up]
1467         these are basically helper functions to allow correct event
1468         handling on MacOS.        
1469
1470         * page/EventHandler.cpp:
1471         (WebCore::EventHandler::handleMouseUp):
1472         (WebCore::EventHandler::dragSourceMovedTo):
1473         (WebCore::EventHandler::dragSourceEndedAt):
1474         (WebCore::EventHandler::dispatchDragSrcEvent):
1475            Moved from EventHandlerMac to EventHandler
1476
1477         * page/EventHandler.h:
1478         (WebCore::EventHandler::eventLoopHandleMouseUp):
1479         (WebCore::EventHandler::eventLoopHandleMouseDragged):
1480           Null implementations of two Mac helper functions
1481         * page/mac/EventHandlerMac.mm:
1482         (WebCore::EventHandler::eventLoopHandleMouseDragged):           
1483         (WebCore::EventHandler::handleDrag):
1484           Much tidying, reduced nesting, made less dependent on NS types   
1485         (WebCore::EventHandler::eventLoopHandleMouseDragged):
1486         (WebCore::EventHandler::eventLoopHandleMouseUp):  
1487           Helper functions to let us process events properly on MacOS
1488
1489         * page/mac/WebCoreFrameBridge.mm:
1490         (-[WebCoreFrameBridge dragSourceEndedAt:operation:]):
1491
1492 2007-02-04  George Staikos  <staikos@kde.org>
1493
1494         Reviewed by Zack.
1495
1496         Some Qt hacks and cleanups - makes rendering of forms much better on
1497         OS X
1498
1499         * platform/qt/PlatformKeyboardEventQt.cpp: Add Key_Return/Enter
1500         (WebCore::keyIdentifierForQtKeyCode):
1501         (WebCore::windowsKeyCodeForKeyEvent):
1502         * platform/qt/RenderThemeQt.cpp: Hacks and fix buttons
1503         (WebCore::RenderThemeQt::addIntrinsicMargins):
1504         (WebCore::RenderThemeQt::setCheckboxSize):
1505         (WebCore::RenderThemeQt::supportsFocus):
1506         (WebCore::RenderThemeQt::applyTheme):
1507
1508 2007-02-03  Maciej Stachowiak  <mjs@apple.com>
1509
1510         Rubber stamped by Adam.
1511
1512         - remove obsolete code that has an annoying space in the directory name
1513
1514         * WebCore.vcproj/Image Viewer/Image Viewer.cpp: Removed.
1515         * WebCore.vcproj/Image Viewer/Image Viewer.h: Removed.
1516         * WebCore.vcproj/Image Viewer/Image Viewer.rc: Removed.
1517         * WebCore.vcproj/Image Viewer/Image Viewer.reg: Removed.
1518         * WebCore.vcproj/Image Viewer/Image Viewer.vcproj: Removed.
1519         * WebCore.vcproj/Image Viewer/ImageDocument.cpp: Removed.
1520         * WebCore.vcproj/Image Viewer/ImageDocument.h: Removed.
1521         * WebCore.vcproj/Image Viewer/ImageMainFrame.cpp: Removed.
1522         * WebCore.vcproj/Image Viewer/ImageMainFrame.h: Removed.
1523         * WebCore.vcproj/Image Viewer/ImageView.cpp: Removed.
1524         * WebCore.vcproj/Image Viewer/ImageView.h: Removed.
1525         * WebCore.vcproj/Image Viewer/Resource.h: Removed.
1526         * WebCore.vcproj/Image Viewer/res/Image Viewer.ico: Removed.
1527         * WebCore.vcproj/Image Viewer/res/Image ViewerDoc.ico: Removed.
1528         * WebCore.vcproj/Image Viewer/res/ImageViewer.rc2: Removed.
1529         * WebCore.vcproj/Image Viewer/res/Toolbar.bmp: Removed.
1530         * WebCore.vcproj/Image Viewer/stdafx.cpp: Removed.
1531         * WebCore.vcproj/Image Viewer/stdafx.h: Removed.
1532
1533 2007-02-04  Mitz Pettel  <mitz@webkit.org>
1534
1535         Reviewed by Oliver.
1536
1537         - fix http://bugs.webkit.org/show_bug.cgi?id=12564
1538           REGRESSION: Uncaught AppKit exception when using the scrollwheel while Gmail is loading
1539
1540         * platform/mac/PlatformMouseEventMac.mm:
1541         (WebCore::eventNumberForEvent): Scroll wheel events don't have an event number.
1542
1543 2007-02-04  Nikolas Zimmermann  <zimmermann@kde.org>
1544
1545         Reviewed by Sam.
1546
1547         Add support for xml:space="preserve" for SVG text.
1548         It can be modeled by using white-space="pre" and replace \n by spaces.
1549
1550         Handle xml:space="default" correctly.
1551         Always remove tabs from SVG text - as demanded by spec.
1552
1553         Added test: svg/custom/text-whitespace-handling.svg
1554
1555         * css/svg.css:
1556         * ksvg2/svg/SVGTextContentElement.cpp:
1557         (WebCore::SVGTextContentElement::parseMappedAttribute):
1558         * rendering/RenderText.cpp:
1559         (WebCore::RenderText::setStyle):
1560         (WebCore::RenderText::setTextInternal):
1561         * rendering/bidi.cpp:
1562         (WebCore::shouldPreserveNewline):
1563         (WebCore::RenderBlock::skipWhitespace):
1564         (WebCore::RenderBlock::findNextLineBreak):
1565
1566 2007-02-03  Alexey Proskuryakov  <ap@webkit.org>
1567
1568         Reviewed by Darin.
1569
1570         http://bugs.webkit.org/show_bug.cgi?id=12560
1571         W3C XPath test Text_Nodes.svg fails
1572
1573         Covered by dom/svg/level3/xpath/Text_Nodes.svg
1574
1575         * xml/XPathStep.cpp:
1576         (WebCore::XPath::Step::nodeTestMatches): Only include the first text sibling in text() matches.
1577
1578 2007-02-03  Alexey Proskuryakov  <ap@webkit.org>
1579
1580         Reviewed by Darin.
1581
1582         http://bugs.webkit.org/show_bug.cgi?id=12485
1583         XPath id() function doesn't work as root in paths
1584
1585         Test: fast/xpath/id-path.html
1586
1587         * xml/XPathPath.cpp:
1588         (WebCore::XPath::Path::doEvaluate): Implemented.
1589         (WebCore::XPath::LocationPath::evaluate): A new overload that takes an initial NodeVector.
1590         (WebCore::XPath::LocationPath::doEvaluate): Moved most of the logic to the new evaluate().
1591
1592         * xml/XPathPath.h: Added a new evaluate() overload and a using declaration to keep the
1593         generic one visible.
1594
1595 2007-02-03  Alexey Proskuryakov  <ap@webkit.org>
1596
1597         Reviewed by Darin.
1598
1599         http://bugs.webkit.org/show_bug.cgi?id=12559
1600         REGRESSION: Crash in checkForHeadCharset() under GuardMalloc
1601
1602         No tests possible.
1603
1604         * loader/TextResourceDecoder.cpp:
1605         (WebCore::TextResourceDecoder::checkForHeadCharset): Fix end of buffer checks; sprinkle a number 
1606         of new ones over the function.
1607
1608 2007-02-03  David Kilzer  <ddkilzer@webkit.org>
1609
1610         Reviewed by NOBODY (no-svg build fix).
1611
1612         * page/EventHandler.cpp: Include FloatPoint.h.
1613
1614 2007-02-03  Alexey Proskuryakov  <ap@webkit.org>
1615
1616         Reviewed by Mitz.
1617
1618         http://bugs.webkit.org/show_bug.cgi?id=12549
1619         Wrong character encoding at www.ravmilim.co.il
1620
1621         Test: fast/encoding/meta-charset.html
1622
1623         * loader/TextResourceDecoder.cpp:
1624         (WebCore::TextResourceDecoder::checkForHeadCharset): Fix an off by one error.
1625
1626 2007-02-02  Maciej Stachowiak  <mjs@apple.com>
1627         
1628         Reviewed by Hyatt & Adele.
1629         
1630         - <rdar://problem/4896972> TV guide listings page doesn't finish loading (11674)
1631         
1632         Test case: fast/forms/disabled-select-change-index.html
1633         
1634         * html/HTMLOptionElement.cpp:
1635         (WebCore::HTMLOptionElement::setSelected): Allow changing selected state of a disabled
1636         option.
1637         
1638 2007-02-03  Nikolas Zimmermann  <zimmermann@kde.org>
1639
1640         Build fix, not reviewed.
1641
1642         Blind attempt to fix Qt build.
1643
1644         * WebCore.pro: Add RenderSVGGradientStop.cpp / RenderSVGHiddenContainer.cpp
1645
1646 2007-02-03  Nikolas Zimmermann  <zimmermann@kde.org>
1647
1648         Reviewed by Eric & Maciej.
1649
1650         Fix serveral <use> issues:
1651         - When events are dispatch to a referenced element, the actual event.target
1652           has to be set to the corresponding SVGElementInstance object
1653
1654         - Node::shadowAncestorNode() should _not_ return the shadowParentNode for SVG elements
1655           This is only needed for the HTML forms concept and breaks event dispatching for SVG shadow tree elements.
1656
1657         - Add SVGElementInstance as possible EventTarget in bindings/js/kjs_dom.cpp
1658           (Now event.target returns the actual SVGElementInstance object for a shadow tree element)
1659
1660         Fixes: http://bugs.webkit.org/show_bug.cgi?id=12502 (Reproducible crash when browsing SVG map.)
1661         Fixes: http://bugs.webkit.org/show_bug.cgi?id=12511 (<use> has event dispatching issues)
1662
1663         Added test: svg/custom/use-event-handler-on-use-element.svg
1664         Added test: svg/custom/use-event-handler-on-referenced-element.svg
1665         Added test: svg/custom/use-elementInstance-event-target.svg
1666         Added test: svg/custom/use-elementInstance-methods.svg
1667
1668         * bindings/js/kjs_dom.cpp:
1669         (KJS::toJS):
1670         * dom/EventTarget.cpp:
1671         (WebCore::EventTarget::toSVGElementInstance):
1672         * dom/EventTarget.h:
1673         * dom/EventTargetNode.cpp:
1674         (WebCore::EventTargetNode::handleLocalEvents):
1675         (WebCore::EventTargetNode::dispatchGenericEvent):
1676         (WebCore::EventTargetNode::dispatchEvent):
1677         * dom/EventTargetNode.h:
1678         * dom/Node.cpp:
1679         (WebCore::Node::shadowAncestorNode):
1680         * ksvg2/svg/SVGElement.cpp:
1681         (WebCore::shadowTreeParentElementForShadowTreeElement):
1682         (WebCore::SVGElement::dispatchEvent):
1683         * ksvg2/svg/SVGElement.h:
1684         * ksvg2/svg/SVGElementInstance.cpp:
1685         (WebCore::SVGElementInstance::toSVGElementInstance):
1686         * ksvg2/svg/SVGElementInstance.h:
1687         * ksvg2/svg/SVGUseElement.cpp:
1688         (WebCore::SVGUseElement::notifyAttributeChange):
1689         (WebCore::SVGUseElement::instanceForShadowTreeElement):
1690         * ksvg2/svg/SVGUseElement.h:
1691
1692 2007-02-02  Oliver Hunt  <oliver@apple.com>
1693
1694         Reviewed by Geoff.
1695
1696         Add guard around accessing [NSEvent eventNumber] to ensure
1697         we don't attempt to access it on on non-mouse related NSEvent.
1698
1699         * platform/mac/PlatformMouseEventMac.mm:
1700         (WebCore::eventNumberForEvent):
1701         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
1702
1703 2007-02-02  Adam Roben  <aroben@apple.com>
1704
1705         Reviewed by Anders.
1706
1707         Try to be a little less selfish about DocumentLoader.
1708
1709         Spotted while working on <rdar://problem/4957747>.
1710
1711         * page/ContextMenuController.cpp:
1712         (WebCore::ContextMenuController::contextMenuItemSelected):
1713             Everyone can open frames in new windows.
1714
1715 2007-02-02  Nikolas Zimmermann  <zimmermann@kde.org>
1716
1717         Reviewed by Eric.
1718
1719         Move xml:space/xml:lang from svgattrs.in to xmlattrs.in where they actually belong.
1720         Now they are actually recognized by SVGLangSpace::parseMappedAttribute.
1721         Patch implementing xml:space="preserve" coming soon, which acts as test for this stuff.
1722
1723         Always build XMLNames.cpp (not only for SVG) and replace all occourences of
1724         "http://www.w3.org/XML/1998/namespace" by "XMLNames::xmlNamespaceURI".
1725
1726         * DerivedSources.make:
1727         * dom/DOMImplementation.cpp:
1728         (WebCore::DOMImplementation::createDocument):
1729         * ksvg2/svg/SVGLangSpace.cpp:
1730         (WebCore::SVGLangSpace::SVGLangSpace):
1731         (WebCore::SVGLangSpace::parseMappedAttribute):
1732         * ksvg2/svg/SVGLangSpace.h:
1733         * ksvg2/svg/svgattrs.in:
1734         * page/Frame.cpp:
1735         (WebCore::Frame::Frame):
1736         * xml/XPathNSResolver.cpp:
1737         (WebCore::XPathNSResolver::lookupNamespaceURI):
1738         * xml/xmlattrs.in:
1739
1740 2007-02-02  Beth Dakin  <bdakin@apple.com>
1741
1742         Reviewed by Maciej.
1743
1744         Working on a layout test.
1745
1746         Fix for <rdar://problem/4966100> REGRESSION: Reproducible ASSERT 
1747         hit at Walgreens.com
1748
1749         * page/Frame.cpp:
1750         (WebCore::Frame::setView): If we are setting the view to 0 and 
1751         detaching the document, call unscheduleRealyout() on the old view 
1752         before setting it to 0.
1753
1754 2007-02-01  Geoffrey Garen  <ggaren@apple.com>
1755
1756         Reviewed by Maciej Stachowiak.
1757         
1758         Added support for selectively ignoring WebCore::Node leaks during layout
1759         tests, so that we can ignore known leaks in other components.
1760
1761         * WebCore.exp:
1762         * dom/Node.cpp:
1763         (WebCore::Node::isSupported): Moved isSupported up with the rest of the static functions.
1764
1765         (WebCore::): Added an ignoreSet, which collects WebCore::Nodes whose lifetime
1766         we want to ignore. We need to track which nodes to ignore rather than, say,
1767         just suspending the count, because node destruction depends on lots of
1768         different variables, so it would be nearly impossible to know when exactly 
1769         to suspend the count and when exactly to resume it.
1770
1771         (WebCore::NodeCounter::~NodeCounter): Changed to use WTFLog instead of fprintf.
1772
1773         (WebCore::Node::startIgnoringLeaks): Do the ignoring.
1774         (WebCore::Node::stopIgnoringLeaks): ditto
1775         (WebCore::Node::Node): ditto
1776         (WebCore::Node::~Node): ditto
1777
1778         * dom/Node.h: Moved isSupported up with the rest of the static functions.
1779
1780         * platform/mac/LoggingMac.mm:
1781         (WebCore::initializeWithUserDefault): Renamed from "initializeLoggingChannel"
1782         because the real goal here is to honor a user default -- WTFLoggingChannels
1783         need no run-time initialization. Also replaced "off by default, on if a 
1784         user default says so" behavior with "only override existing setting if a
1785         user default says so" behavior. It seemed like a bug that you would specify 
1786         a channel's on/off state in its definition, but this function would unconditionally
1787         blow that state away.
1788         (WebCore::InitializeLoggingChannelsIfNecessary):
1789
1790 2007-02-02  Eric Seidel  <eric@webkit.org>
1791
1792         Reviewed by mitz.
1793
1794         Fix gradient stop style resolution to be less of a hack, fixing style invalidation:
1795         http://bugs.webkit.org/show_bug.cgi?id=12193
1796         and fix stop-color and stop-opacity not to inherit:
1797         http://bugs.webkit.org/show_bug.cgi?id=12193
1798         
1799         Tests:
1800         * svg/custom/gradient-stops-style-change.svg: added
1801         * svg/W3C-SVG-1.1/pservers-grad-18-b.svg: updated
1802
1803         * WebCore.xcodeproj/project.pbxproj:
1804         * ksvg2/css/SVGCSSStyleSelector.cpp:
1805         (WebCore::CSSStyleSelector::applySVGProperty):
1806         * ksvg2/css/SVGRenderStyle.cpp:
1807         (WebCore::SVGRenderStyle::inheritedNotEqual):
1808         (WebCore::SVGRenderStyle::inheritFrom):
1809         * ksvg2/css/SVGRenderStyle.h:
1810         * ksvg2/svg/SVGDefsElement.cpp:
1811         (WebCore::SVGDefsElement::createRenderer):
1812         * ksvg2/svg/SVGGradientElement.cpp:
1813         (WebCore::SVGGradientElement::createRenderer):
1814         (WebCore::SVGGradientElement::buildStops):
1815         * ksvg2/svg/SVGGradientElement.h:
1816         (WebCore::SVGGradientElement::rendererIsNeeded):
1817         * ksvg2/svg/SVGStopElement.cpp:
1818         (WebCore::SVGStopElement::createRenderer):
1819         * ksvg2/svg/SVGStopElement.h:
1820         (WebCore::SVGStopElement::rendererIsNeeded):
1821         * rendering/RenderSVGGradientStop.cpp: Added.
1822         * rendering/RenderSVGGradientStop.h: Added.
1823         * rendering/RenderSVGHiddenContainer.cpp: Added.
1824         * rendering/RenderSVGHiddenContainer.h: Added.
1825         * rendering/RenderSVGContainer.cpp:
1826         * rendering/RenderSVGContainer.h:
1827
1828 2007-02-02  Zack Rusin  <zrusin@trolltech.com>
1829
1830         Reviewed by Lars
1831
1832         Fix scrolling-on-selection bug by correctly
1833         scrolling to the offset instead of trying to 
1834         ensure visibility with margins.
1835
1836         * platform/qt/ScrollViewQt.cpp:
1837         (WebCore::ScrollView::scrollPointRecursively):
1838
1839 2007-02-02  Zack Rusin  <zrusin@trolltech.com>
1840
1841         Reviewed by Lars
1842
1843         Fix drawing of dashed and colored lines. Pen
1844         has to be inherited for stroke to stay consistent.
1845
1846         * platform/graphics/qt/GraphicsContextQt.cpp:
1847         (WebCore::GraphicsContext::setAlpha):
1848         (WebCore::GraphicsContext::setPlatformStrokeColor):
1849         (WebCore::GraphicsContext::setPlatformStrokeStyle):
1850
1851 2007-02-01  Nicholas Shanks  <webkit@nickshanks.com>
1852
1853         Reviewed by Mark.
1854
1855         Add support for CSS2 font-stretch property.
1856
1857         * css/CSSComputedStyleDeclaration.cpp:
1858         (WebCore::):
1859         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1860         * css/cssparser.cpp:
1861         (WebCore::CSSParser::parseValue):
1862         * css/cssstyleselector.cpp:
1863         (WebCore::CSSStyleSelector::applyDeclarations):
1864         (WebCore::CSSStyleSelector::applyProperty):
1865         * platform/FontCache.cpp:
1866         (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
1867         (WebCore::FontPlatformDataCacheKey::operator==):
1868         (WebCore::computeHash):
1869         (WebCore::FontPlatformDataCacheKeyTraits::deletedValue):
1870         (WebCore::FontPlatformDataCacheKeyTraits::emptyValue):
1871         (WebCore::FontCache::getCachedFontPlatformData):
1872         * platform/FontDescription.h:
1873         (WebCore::):
1874         (WebCore::FontDescription::FontDescription):
1875         (WebCore::FontDescription::stretch):
1876         (WebCore::FontDescription::narrowerStretch):
1877         (WebCore::FontDescription::widerStretch):
1878         (WebCore::FontDescription::setStretch):
1879         (WebCore::FontDescription::operator==):
1880         * platform/mac/FontCacheMac.mm:
1881         (WebCore::FontCache::createFontPlatformData):
1882         * platform/mac/WebFontCache.mm:
1883         (acceptableChoice):
1884         (betterChoice):
1885         (+[WebFontCache fontWithFamily:traits:size:]):
1886
1887 2007-02-01  Timothy Hatcher  <timothy@apple.com>
1888
1889         Reviewed by Mark Rowe.
1890
1891         <rdar://problem/4969201> REGRESSION: Safari applies the wrong font to BODY element at http://www.apple.com/downloads/dashboard/
1892
1893         * platform/mac/WebFontCache.mm:
1894         (+[WebFontCache fontWithFamily:traits:size:]): Don't call [NSFont fontWithName:] with the desiredFamily on Tiger.
1895
1896 2007-02-01  Alexey Proskuryakov  <ap@webkit.org>
1897
1898         Reviewed by Darin.
1899
1900         http://bugs.webkit.org/show_bug.cgi?id=12506
1901         REGRESSION: Safari doesn't display hebrew text on a web page,
1902         displayed correctly on Tiger
1903
1904         * loader/TextResourceDecoder.cpp:
1905         (WebCore::TextResourceDecoder::checkForHeadCharset): Advance the pointer when necessary.
1906
1907 2007-02-01  George Staikos  <staikos@kde.org>
1908
1909         Reviewed by Zack and Lars.
1910
1911         Add a cookie interface for the Qt build.
1912
1913         * WebCore.pro:
1914         * platform/qt/CookieJarQt.cpp:
1915         (WebCore::setCookies):
1916         (WebCore::cookies):
1917         (WebCore::cookiesEnabled):
1918
1919 2007-02-01  Maciej Stachowiak  <mjs@apple.com>
1920
1921         Reviewed by Adele.
1922         
1923         - fixed <rdar://problem/4922764> ASSERTION: (!m_contentFunction) in PolicyCheck::call trying to visit feed URL (CNN, Apple, etc.)
1924
1925         * loader/FrameLoader.cpp:
1926         (WebCore::FrameLoader::stopPolicyCheck): Call new cancel method instead of call(false) on old check.
1927         (WebCore::PolicyCheck::cancel): call any callback function that is set with false or PolicyIgnore as
1928         appropriate.
1929         * loader/FrameLoader.h:
1930
1931 2007-02-01  Beth Dakin  <bdakin@apple.com>
1932
1933         Reviewed by Hyatt.
1934
1935         Fix for http://bugs.webkit.org/show_bug.cgi?id=10517 REGRESSION 
1936         (r12065-r12082): Navigation graphic wraps to the next line on 
1937         duart.com and <rdar://problem/4960505> REGRESSION: The Awesome 
1938         Windows Vista page has a layout error in the header table (10517)
1939
1940         The problem is that we never supported a quirk that other browsers 
1941         support where, under very specific circumstances, a table cell will 
1942         grow to fit an image inside of it. This is only a regression 
1943         because a bug was fixed were we were 1 pixel off in the calculation 
1944         of overflow in some cases.
1945
1946         * rendering/RenderBlock.cpp:
1947         (WebCore::shouldGrowTableCellForImage):
1948         (WebCore::RenderBlock::calcInlineMinMaxWidth):
1949
1950 2007-02-01  Zack Rusin  <zrusin@trolltech.com>
1951
1952         Reviewed by Lars
1953
1954         Implement native look for comboboxes
1955         and fix/implement popup menus.
1956
1957         * platform/PopupMenu.h:
1958         * platform/qt/PopupMenuQt.cpp:
1959         (WebCore::PopupMenu::PopupMenu):
1960         (WebCore::PopupMenu::~PopupMenu):
1961         (WebCore::PopupMenu::clear):
1962         (WebCore::PopupMenu::populate):
1963         (WebCore::PopupMenu::show):
1964         (WebCore::PopupMenu::hide):
1965         (WebCore::PopupMenu::updateFromElement):
1966         * platform/qt/RenderThemeQt.cpp:
1967         (WebCore::RenderThemeQt::adjustMenuListStyle):
1968         (WebCore::RenderThemeQt::paintButton):
1969         (WebCore::RenderThemeQt::paintTextField):
1970         (WebCore::RenderThemeQt::paintMenuList):
1971
1972 2007-02-01  Darin Adler  <darin@apple.com>
1973
1974         Reviewed by Maciej.
1975
1976         - fix <rdar://problem/4887428> REGRESSION: Implement slight delay for firing incremental onSearch event
1977
1978         * rendering/RenderTextControl.h:
1979         * rendering/RenderTextControl.cpp:
1980         (WebCore::RenderTextControl::RenderTextControl): Set up timer.
1981         (WebCore::RenderTextControl::subtreeHasChanged): Start timer here instead of immediately sending event.
1982         (WebCore::RenderTextControl::searchEventTimerFired): Added. Sends search event.
1983         (WebCore::RenderTextControl::stopSearchEventTimer): Added.
1984         (WebCore::RenderTextControl::startSearchEventTimer): Added. Sends search event right away if there is
1985         no text. If there is some text, sets the timer using the same delay rule as NSSearchField. If you keep
1986         typing, then the timer keeps getting reset 0.2 seconds into the future until you pause.
1987
1988         * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::onSearch): Tell the renderer to
1989         stop the timer, since we're sending a search event. This helps when a caller other than
1990         the timer decides to send an explicit search event.
1991
1992 2007-02-01  Maciej Stachowiak  <mjs@apple.com>
1993
1994         Fix by Darin, reviewed by Maciej.
1995
1996         - fix ~10% performance regression from encoding fix
1997
1998         * loader/TextResourceDecoder.cpp:
1999         (WebCore::TextResourceDecoder::checkForHeadCharset): Fix a logic
2000         error which made huge strings accidentally.
2001
2002 2007-02-01  Lars Knoll <lars@trolltech.com>
2003
2004         Fix the Qt build
2005
2006         * page/qt/EventHandlerQt.cpp:
2007
2008 2007-01-31  Darin Adler  <darin@apple.com>
2009
2010         Reviewed by Adam and Geoff.
2011
2012         - fix <rdar://problem/4786767> REGRESSION: <select> controls are not resized when zooming text
2013
2014         Test: fast/forms/select-width-font-change.html
2015
2016         * rendering/RenderMenuList.h: Cleaned up formatting a bit. Removed unneeded include of PopupMenu.h.
2017         Made a lot more things private, including the PopupMenuClient base class, all of the virtual
2018         functions from PopupMenuClient, and the setTextFromOption function. Added updateOptionsWidth.
2019
2020         * rendering/RenderMenuList.cpp:
2021         (WebCore::RenderMenuList::setStyle): Added code to call updateOptionsWidth when the font changes.
2022         (WebCore::RenderMenuList::updateOptionsWidth): Added. Factored code out of updateFromElement.
2023         Changed to do nothing when m_optionsWidth is already correct.
2024         (WebCore::RenderMenuList::updateFromElement): Moved code to recomputed options width to the new
2025         updateOptionsWidth function.
2026         (WebCore::RenderMenuList::text): Made const.
2027
2028 2007-01-31  Oliver Hunt  <oliver@apple.com>
2029
2030         Reviewed by Adam.
2031
2032         Migrate more drag and drop logic to WebCore, start preparing
2033         to move EventHandler::handleDrag from EventHandlerMac to EventHandler 
2034
2035         * WebCore.exp:   
2036           updating methods
2037                     
2038         * dom/Clipboard.cpp:
2039         * dom/Clipboard.h:
2040         (WebCore::Clipboard::Clipboard):
2041         (WebCore::Clipboard::setDragHasStarted):
2042         (WebCore::Clipboard::dragStarted): 
2043           Moving from ClipboardMac to Clipboard 
2044
2045         * dom/EventTargetNode.cpp:
2046         (WebCore::EventTargetNode::dispatchMouseEvent):
2047           PlatformMouseEvent no longer lies about button state, however 
2048           DOM Events don't allow NoButton, so we need to convert NoButton 
2049           to LeftButton when we create a DOM Event from PlatformMouseEvent
2050
2051         * page/DragClient.h:
2052           Tidying comment 
2053
2054         * page/DragController.cpp:
2055         (WebCore::createMouseEvent):
2056           Updated for new PlatformMouseEvent constructors
2057         (WebCore::DragController::mayStartDragAtEventLocation):
2058           Migrated from WebKit
2059
2060         * page/DragController.h:
2061           Added above function declarations
2062
2063         * page/EventHandler.cpp:
2064         (WebCore::EventHandler::dragState): 
2065         (WebCore::EventHandler::dragHysteresisExceeded):
2066         (WebCore::EventHandler::freeClipboard):
2067         (WebCore::EventHandler::shouldDragAutoNode):
2068           Moved from EventHandlerMac
2069         (WebCore::EventHandler::handleMouseMoveEvent):
2070         (WebCore::EventHandler::eventMayStartDrag):
2071         (WebCore::EventHandler::handleMousePressEvent):
2072           Use DragController     
2073
2074         * page/EventHandler.h:
2075           Added DragState struct definition to EventHandler
2076
2077         * page/mac/EventHandlerMac.mm:
2078         (WebCore::EventHandler::eventActivatedView):
2079         (WebCore::EventHandler::handleDrag):
2080         (WebCore::EventHandler::handleMouseUp):
2081         (WebCore::EventHandler::mouseDown):
2082           Update to use DragController and PlatformMouseEvent
2083
2084         * page/mac/WebCoreFrameBridge.h:
2085         * page/mac/WebCoreFrameBridge.mm:
2086         (-[WebCoreFrameBridge dragSourceMovedTo:]):
2087         (-[WebCoreFrameBridge dragSourceEndedAt:operation:]):
2088           Use DragController for state
2089
2090         * platform/PlatformMouseEvent.h:
2091         (WebCore::):
2092         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
2093         (WebCore::PlatformMouseEvent::eventType):
2094         (WebCore::PlatformMouseEvent::timestamp):
2095         (WebCore::PlatformMouseEvent::eventNumber):
2096         (WebCore::PlatformMouseEvent::setClickCount):
2097           Exposing necessary data for Drag logic
2098
2099         * platform/mac/ClipboardMac.h:
2100         * platform/mac/ClipboardMac.mm:
2101         (WebCore::ClipboardMac::ClipboardMac):
2102         (WebCore::ClipboardMac::setDragImage):
2103           Have moved a number of fields from ClipboardMac to Clipboard
2104           so need to use accessors in a few places now
2105
2106         * platform/mac/PlatformMouseEventMac.mm:
2107         (WebCore::mouseButtonForEvent):
2108         (WebCore::mouseEventForNSEvent):
2109         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
2110           Determine MouseEventType, and provide event time info
2111
2112 2007-01-31  Alexey Proskuryakov  <ap@webkit.org>
2113
2114         Reviewed by Darin.
2115
2116         http://bugs.webkit.org/show_bug.cgi?id=12506
2117         REGRESSION: Safari doesn't display hebrew text on a web page,
2118         displayed correctly on Tiger
2119
2120         * loader/TextResourceDecoder.cpp:
2121         (WebCore::TextResourceDecoder::checkForHeadCharset): Skip over 
2122         quoted attributes.
2123
2124 2007-01-31  David Carson  <dacarson@gmail.com>
2125
2126         Reviewed by Darin.
2127
2128         - fix http://bugs.webkit.org/show_bug.cgi?id=12510
2129         Initialize the variable m_totalLoops
2130         Is tested by LayoutTests/fast/css/MarqueeLayoutTest.html
2131
2132         * rendering/RenderLayer.cpp:
2133         (WebCore::Marquee::Marquee):
2134
2135 2007-01-31  Anders Carlsson  <acarlsson@apple.com>
2136
2137         Reviewed by Maciej.
2138
2139         <rdar://problem/4886776>
2140         REGRESSION: After opening a web archive, location shows the actual URL, not the webarchive file
2141
2142         * WebCore.exp:
2143         * loader/FrameLoader.cpp:
2144         (WebCore::FrameLoader::continueLoadWithData):
2145         * loader/FrameLoader.h:
2146         New function which continues a load but using a given buffer instead.
2147         
2148 2007-01-31  Adele Peterson  <adele@apple.com>
2149
2150         Reviewed by Adam.
2151
2152         Fix for http://bugs.webkit.org/show_bug.cgi?id=12516
2153         REGRESSION (r19313): All keyboard navigation has stopped working
2154
2155         For non-editable selections, handleKeyPress doesn't need to call _interceptEditingKeyEvent. 
2156
2157         * editing/Editor.cpp:
2158         (WebCore::selectionForEvent): Moved this to the top of the file.
2159         (WebCore::Editor::handleKeyPress): Do the equivalent of the _canEdit check that used to be in WebKit WebEditorClient::handleKeyPress.
2160
2161 2007-01-31  Geoffrey Garen  <ggaren@apple.com>
2162
2163         Reviewed by Darin Adler.
2164
2165         Added a Range counter to detect leaks. Tweaked the Node counter.
2166         
2167         Also fixed a TextIterator destructive modification bug that I noticed along the
2168         way. No test case for this bug because no clients have been bitten by it
2169         yet.
2170
2171         * dom/Node.cpp: Renamed NodeImplCounter to NodeCounter, changed counter
2172         to unsigned, fixed formatting to match style guidelines.
2173         (WebCore::NodeCounter::~NodeCounter):
2174         (WebCore::Node::Node):
2175         (WebCore::Node::~Node):
2176
2177         * dom/Range.cpp:
2178         (WebCore::RangeCounter::~RangeCounter): Added.
2179         (WebCore::Range::Range):
2180         (WebCore::Range::~Range):
2181         (WebCore::Range::ownerDocument): New accessor, used by TextIterator to avoid
2182         annoying NULL checks.
2183         * dom/Range.h:
2184
2185         * editing/TextIterator.cpp:
2186         (WebCore::TextIterator::subrange): 
2187         (1) Don't initialize result with entireRange --  doing so would create a 
2188         PassRefPtr that pointed to entireRange, so this function would destructively 
2189         modify the Range you passed it. Initialize it with a new Range instead.
2190         (2) Don't use a PassRefPtr as a local variable, because they have sneaky
2191         semantics. Use a RefPtr instead.
2192         (3) Don't call CharacterIterator::range() willy-nilly, since it does 
2193         non-trivial work. Use a local variable instead.
2194
2195 2007-01-31  Adele Peterson  <adele@apple.com>
2196
2197         Reviewed by Darin.
2198
2199         WebCore part of fix for <rdar://problem/4521461> REGRESSION: when keyPress event changes form focus, inserted key goes to wrong control
2200
2201         Test: fast/events/keypress-focus-change.html
2202
2203         * editing/Editor.cpp:
2204         (WebCore::selectionForEvent): Added.  This computes a selection that considers the case where an event handler 
2205          has moved the selection outside of a text control.  In that case, we use the target control's selection.
2206         (WebCore::Editor::insertText): This gets the selectionForEvent, checks that the selection is editable,
2207          and calls TypingCommand::insertText with the correct selection.
2208
2209         * editing/TypingCommand.h: Added a version of insertText that takes a selection.  The old version of insertText will call this, and pass
2210           in the frame's selection.
2211         * editing/TypingCommand.cpp: (WebCore::TypingCommand::insertText): Added. Uses the passed in selection to 
2212           set the starting and ending selections correctly so that the editing machinery will insert the text in the correct place.
2213
2214         * page/Page.h: Added convenience method to get selection from focused or main frame.
2215         * page/Page.cpp: (WebCore::Page::selection):
2216
2217         * html/HTMLInputElement.h: Added selection methods to get selection for text controls.
2218         * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::selection):
2219         * html/HTMLTextAreaElement.h:
2220         * html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::selection):
2221         * rendering/RenderTextControl.h:
2222         * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::selection):
2223
2224 2007-01-31  Darin Adler  <darin@apple.com>
2225
2226         - fix build
2227
2228         * ForwardingHeaders/wtf/ListHashSet.h: Added.
2229
2230 2007-01-31  Zack Rusin  <zrusin@trolltech.com>
2231
2232         Reviewed by Lars
2233
2234         Return the correct selection color.
2235
2236         * platform/qt/RenderThemeQt.cpp:
2237         (WebCore::RenderThemeQt::supportsFocusRing):
2238         (WebCore::RenderThemeQt::platformActiveSelectionBackgroundColor):
2239         (WebCore::RenderThemeQt::platformInactiveSelectionBackgroundColor):
2240         (WebCore::RenderThemeQt::platformActiveSelectionForegroundColor):
2241         (WebCore::RenderThemeQt::platformInactiveSelectionForegroundColor):
2242
2243 2007-01-31  Maciej Stachowiak  <mjs@apple.com>
2244
2245         Reviewed by Mark.
2246
2247         - fixed <rdar://problem/4751164> REGRESSION: Safari places text on incorrect button when returning to a page via back [10541]
2248         http://bugs.webkit.org/show_bug.cgi?id=10541
2249
2250         * dom/Document.cpp:
2251         (WebCore::Document::formElementsState):
2252         * dom/Document.h:
2253         
2254         I couldn't figure out the back/forward support in the tests enough
2255         to make an automated test, but this maual test reproduces the
2256         problem 100% without this patch:
2257         
2258         * manual-tests/back.html: Added.
2259         * manual-tests/form-control-madness.html: Added.
2260
2261 2007-01-31  David Kilzer  <ddkilzer@kilzer.net>
2262
2263         Reviewed by Mitz.
2264
2265         - fix http://bugs.webkit.org/show_bug.cgi?id=12490
2266           Clean up canPlaceOnLine logic in bidi.cpp
2267
2268         No test cases since there is no change in functionality.
2269
2270         * rendering/bidi.cpp:
2271         (WebCore::RenderBlock::findNextLineBreak): Simplify canFitOnLine expression.
2272
2273 2007-01-31  Zack Rusin  <zack@kde.org>
2274
2275         Adding comments explaining how the focus ring implementation
2276         works on the Qt platform and just move focus ring rendering
2277         related code to the same spot.
2278
2279         * platform/graphics/qt/GraphicsContextQt.cpp:
2280         (WebCore::setFocusRingColorChangeFunction):
2281         (WebCore::focusRingColor):
2282         (WebCore::GraphicsContext::drawFocusRing):
2283         * platform/qt/TemporaryLinkStubs.cpp:
2284
2285 2007-01-31  Zack Rusin  <zrusin@trolltech.com>
2286
2287         Reviewed by Lars
2288
2289         Properly propagate key events. 
2290
2291         * page/qt/FrameQt.cpp:
2292         * page/qt/FrameQt.h: Remove redundant method.
2293         * platform/qt/ScrollViewCanvasQt.cpp:
2294         (WebCore::ScrollViewCanvasQt::handleKeyEvent):
2295
2296 2007-01-31  George Staikos  <staikos@kde.org>
2297
2298         Reviewed by Zack and Lars.
2299
2300         Fix double delete on cancel as well as assertion with proxy.
2301
2302         * platform/network/qt/ResourceHandleManagerQt.cpp:
2303         (WebCore::WebCoreHttp::getConnection):
2304         (WebCore::WebCoreHttp::onRequestFinished):
2305         (WebCore::WebCoreHttp::cancel):
2306
2307 2007-01-31  Mark Rowe  <mrowe@apple.com>
2308
2309         Reviewed by Oliver.
2310
2311         * dom/Document.h: Change #if XSLT_SUPPORT to #ifdef XSLT_SUPPORT.
2312
2313 2007-01-31  Lars Knoll <lars@trolltech.com>
2314
2315         Fix the Qt build.
2316
2317         * platform/network/qt/ResourceHandleQt.cpp:
2318         (WebCore::ResourceHandle::setDefersLoading):
2319
2320 2007-01-31  Zack Rusin  <zack@kde.org>
2321
2322         Reviewed by Eric.
2323
2324         Implement SVGImage on the Qt platform.
2325
2326         * WebCore.pro:
2327         * loader/CachedImage.cpp:
2328         (WebCore::CachedImage::createImage):
2329         * platform/graphics/ImageBuffer.h:
2330         * platform/graphics/qt/ImageBufferQt.cpp:
2331         (WebCore::ImageBuffer::create):
2332         (WebCore::ImageBuffer::ImageBuffer):
2333         (WebCore::ImageBuffer::~ImageBuffer):
2334         (WebCore::ImageBuffer::context):
2335         (WebCore::ImageBuffer::pixmap):
2336         * platform/graphics/svg/SVGImage.cpp:
2337         (WebCore::SVGImage::nativeImageForCurrentFrame):
2338         (WebCore::SVGImage::setData):
2339
2340 2007-01-30  Maciej Stachowiak  <mjs@apple.com>
2341
2342         Reviewed by Brady.
2343
2344         - fixed <rdar://problem/4939366> REGRESSION: Assertion failure and crash when going back in history (12314)
2345
2346         * loader/FrameLoader.cpp:
2347         (WebCore::FrameLoader::createWindow): special case a frame name of "_blank"
2348         (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy): ditto
2349
2350 2007-01-30  Maciej Stachowiak  <mjs@apple.com>
2351
2352         Reviewed by Anders.
2353
2354         - fixed <rdar://problem/4963871> REGRESSION: Crash occurs at WebCore::Frame::loader() when attempting to open a saved archive file
2355
2356         * loader/DocumentLoader.cpp:
2357         (WebCore::DocumentLoader::request): Removed obsolete FIXME.
2358         (WebCore::DocumentLoader::initialRequest): Ditto.
2359         * loader/MainResourceLoader.cpp:
2360         (WebCore::MainResourceLoader::MainResourceLoader): Handle data loads from a timer, otherwise bad things happen.
2361         (WebCore::MainResourceLoader::handleDataLoadNow):
2362         (WebCore::MainResourceLoader::handleDataLoadSoon):
2363         (WebCore::MainResourceLoader::loadNow):
2364         (WebCore::MainResourceLoader::didCancel): cancel data load timer
2365         * loader/MainResourceLoader.h:
2366
2367 2007-01-30  Timothy Hatcher  <timothy@apple.com>
2368
2369         Reviewed by Darin.
2370
2371         <rdar://problem/4961953> Stop using NSString deprecated methods like initWithCString:
2372
2373         * WebCore.xcodeproj/project.pbxproj:
2374         * platform/graphics/svg/filters/cg/WKArithmeticFilter.m:
2375         (-[WKArithmeticFilter init]):
2376         * platform/graphics/svg/filters/cg/WKComponentMergeFilter.m:
2377         (-[WKComponentMergeFilter init]):
2378         * platform/graphics/svg/filters/cg/WKDiffuseLightingFilter.m:
2379         (-[WKDiffuseLightingFilter init]):
2380         * platform/graphics/svg/filters/cg/WKDiscreteTransferFilter.m:
2381         (-[WKDiscreteTransferFilter init]):
2382         * platform/graphics/svg/filters/cg/WKDisplacementMapFilter.m:
2383         (-[WKDisplacementMapFilter init]):
2384         * platform/graphics/svg/filters/cg/WKDistantLightFilter.m:
2385         (-[WKDistantLightFilter init]):
2386         * platform/graphics/svg/filters/cg/WKGammaTransferFilter.m:
2387         (-[WKGammaTransferFilter init]):
2388         * platform/graphics/svg/filters/cg/WKLinearTransferFilter.m:
2389         (-[WKLinearTransferFilter init]):
2390         * platform/graphics/svg/filters/cg/WKNormalMapFilter.m:
2391         (-[WKNormalMapFilter init]):
2392         * platform/graphics/svg/filters/cg/WKPointLightFilter.m:
2393         (-[WKPointLightFilter init]):
2394         * platform/graphics/svg/filters/cg/WKSpecularLightingFilter.m:
2395         (-[WKSpecularLightingFilter init]):
2396         * platform/graphics/svg/filters/cg/WKSpotLightFilter.m:
2397         (-[WKSpotLightFilter init]):
2398         * platform/graphics/svg/filters/cg/WKTableTransferFilter.m:
2399         (-[WKTableTransferFilter init]):
2400
2401 2007-01-30  David Hyatt  <hyatt@apple.com>
2402
2403         Fix for Radar bug #4679426, golden gate bridge Web site layout broken.
2404         
2405         This is a regression caused by the addition of :lang support.  This
2406         feature caused us to accept any pseudo-class/element with function
2407         arguments, even ones we couldn't handle.  The site used such a construct
2408         in conjunction with :not, which turned :not(something-crazy) into not(false).
2409         This ended up being "true", and so we started matching a rule we used to
2410         reject.
2411
2412         The fix is to now aggressively parse pseudo-elements and classes and to
2413         cause the rejection of an entire rule if any pseudoclass or element within
2414         any simple selector of that rule is unrecognized.
2415
2416         Reviewed by darin
2417
2418         fast/css/invalid-pseudo-classes.html
2419
2420         * css/CSSGrammar.y:
2421         * css/CSSSelector.cpp:
2422         (WebCore::CSSSelector::extractPseudoType):
2423         * css/CSSSelector.h:
2424         (WebCore::CSSSelector::):
2425         * css/cssstyleselector.cpp:
2426         (WebCore::CSSStyleSelector::checkOneSelector):
2427
2428 2007-01-30  Mitz Pettel  <mitz@webkit.org>
2429
2430         Reviewed by Darin.
2431
2432         - fix http://bugs.webkit.org/show_bug.cgi?id=12487
2433           REGRESSION: Repro crash when a second background image is animated
2434
2435         Test: fast/images/animated-background-image-crash.html
2436
2437         * rendering/RenderObject.cpp:
2438         (WebCore::RenderObject::arenaDelete): Deref() all background images and the
2439         border image.
2440
2441 2007-01-30  Darin Adler  <darin@apple.com>
2442
2443         Reviewed by Maciej.
2444
2445         * dom/EventTarget.h:
2446         * dom/EventTarget.cpp: (WebCore::EventTarget::toNode):
2447         Use EventTargetNode instead of Node. Removed unneeded includes.
2448         Make EventTarget's destructor protected to make it clear that you
2449         should never delete one.
2450
2451         * dom/EventTargetNode.h:
2452         (WebCore::EventTargetNode::toNode):
2453         Tweaked formatting. Updated for change to return value.
2454
2455         * platform/graphics/BitmapImage.h: Updated comment for clarity.
2456         Marked FrameData Noncopyable.
2457
2458         * platform/graphics/Image.h: Tweaked formatting.
2459
2460         * platform/graphics/ImageAnimationObserver.h:
2461         Make ImageAnimationObserver's destructor protected to make it clear that you
2462         should never delete one.
2463
2464 2007-01-30  Mitz Pettel  <mitz@webkit.org>
2465
2466         Reviewed by Darin (by way of Hyatt).
2467
2468         - fix http://bugs.webkit.org/show_bug.cgi?id=12373
2469           ASSERTION FAILURE: !child->needsLayout() on paypal.com
2470
2471         Test: fast/table/inline-form-assert.html
2472
2473         * rendering/RenderContainer.cpp:
2474         (WebCore::RenderContainer::layout): Changed the assertion to ignore inlines.
2475
2476 2007-01-30  Alexey Proskuryakov  <ap@webkit.org>
2477
2478         Reviewed by Darin.
2479
2480         http://bugs.webkit.org/show_bug.cgi?id=12486
2481         XPathNSResolver.lookupNamespaceURI should return null if no URI is found
2482
2483         * xml/XPathNSResolver.idl: added [ConvertNullStringTo=Null].
2484
2485 2007-01-30  Anders Carlsson  <acarlsson@apple.com>
2486
2487         Reviewed by Maciej.
2488
2489         Revert the parts of 19244 that removed deferring NSURLConnections, that was not a correct change.
2490         Remove ASSERTS from loader.cpp that aren't true anymore since the callbacks are invoked without a handle
2491         when loading a subresource from an archive.
2492
2493         * loader/MainResourceLoader.cpp:
2494         (WebCore::MainResourceLoader::loadNow):
2495         * loader/ResourceLoader.cpp:
2496         (WebCore::ResourceLoader::releaseResources):
2497         (WebCore::ResourceLoader::load):
2498         (WebCore::ResourceLoader::setDefersLoading):
2499         * loader/loader.cpp:
2500         (WebCore::Loader::didFail):
2501         (WebCore::Loader::didReceiveResponse):
2502         (WebCore::Loader::didReceiveData):
2503         * platform/network/ResourceHandle.cpp:
2504         (WebCore::ResourceHandle::ResourceHandle):
2505         (WebCore::ResourceHandle::create):
2506         * platform/network/ResourceHandle.h:
2507         * platform/network/ResourceHandleInternal.h:
2508         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
2509         * platform/network/mac/ResourceHandleMac.mm:
2510         (WebCore::ResourceHandle::start):
2511         (WebCore::ResourceHandle::setDefersLoading):
2512
2513 2007-01-30  Darin Adler  <darin@apple.com>
2514
2515         Reviewed by John.
2516
2517         - fix for <rdar://problem/4911504> REGRESSION: With a image selected, ctrl-clicking
2518           on page displays the wrong contextual menu items "Search in Google", "Search in Spotlight"
2519           and "Look up in Dictionary"
2520
2521         * platform/ContextMenu.cpp:
2522         (WebCore::selectionContainsPossibleWord): Added. Returns true if there are some
2523         non-whitespace characters in the selection.
2524         (WebCore::ContextMenu::populate): Don't add SearchSpotlightItem, SearchWebItem,
2525         or LookInDictionaryItem if selectionContainsPossibleWord returns false.
2526
2527 2007-01-30  Nikolas Zimmermann  <zimmermann@kde.org>
2528
2529         Reviewed by Oliver.
2530
2531         Respect stroke-width in absolute repaint rect calculations for SVG text.
2532         Added test: svg/custom/text-repaint-including-stroke.svg
2533
2534         * rendering/RenderSVGText.cpp:
2535         (WebCore::RenderSVGText::relativeBBox):
2536
2537 2007-01-30  Steve Falkenburg  <sfalken@apple.com>
2538
2539         Reviewed by Oliver.
2540
2541         Add missing includes.
2542
2543         * ksvg2/svg/SVGElementInstance.cpp:
2544
2545 2007-01-30  Alexey Proskuryakov  <ap@webkit.org>
2546
2547         Reviewed by Darin.
2548
2549         http://bugs.webkit.org/show_bug.cgi?id=12452
2550         XPath id() function is not supported
2551
2552         * xml/XPathFunctions.cpp:
2553         (WebCore::XPath::isWhitespace): A helper to detect XML whitespace.
2554
2555         (WebCore::XPath::FunId::isConstant):
2556         (WebCore::XPath::FunId::doEvaluate):
2557         (WebCore::XPath::FunctionMapping::):
2558         Implemented id().
2559
2560 2007-01-30  Zack Rusin  <zrusin@trolltech.com>
2561
2562         Reviewed by Sam.
2563
2564         Make the gradients work on the Qt platform.
2565
2566         * platform/graphics/svg/SVGPaintServerGradient.h:
2567         * platform/graphics/svg/SVGPaintServerLinearGradient.h:
2568         * platform/graphics/svg/SVGPaintServerRadialGradient.h:
2569         * platform/graphics/svg/qt/SVGPaintServerGradientQt.cpp:
2570         (WebCore::SVGPaintServerGradient::fillColorArray):
2571         (WebCore::SVGPaintServerGradient::setup):
2572         * platform/graphics/svg/qt/SVGPaintServerLinearGradientQt.cpp:
2573         (WebCore::SVGPaintServerLinearGradient::setupGradient):
2574         * platform/graphics/svg/qt/SVGPaintServerRadialGradientQt.cpp:
2575         (WebCore::SVGPaintServerRadialGradient::setupGradient):
2576
2577 2007-01-30  Nikolas Zimmermann  <zimmermann@kde.org>
2578
2579         Reviewed by Eric & Oliver. Leak related fixes reviewed by Mark.
2580
2581         Finally make the SVG <use> implementation use the proper "shadow tree" concept,
2582         which is also used by the HTML forms implementation. It's the first time in ksvg
2583         history that <use> is not implement as a crude hack, but proper & sane.
2584
2585         Implement deep expansion of use trees both for the instance & shadow tree.
2586         (<use> on a <symbol> containing a <g> containg a <use> element referencing a <rect>)
2587  
2588         The shadow tree is free of any symbol/use tags, but is properly expanded to the
2589         actual referenced content. The instance tree (SVGElementInstance objects) now exactly
2590         exposes the "expanded" shadow tree, as required by the specification. Previously
2591         we cloned referenced <use> elements, so our faked use shadow tree itself contained
2592         <use> elements. That lead to very nasty bugs - finally these dirty pieces are gone.
2593
2594         Checked twice that the updating logic works for all weird "deep expansions" cases. Example:
2595         <rect id="someRect"/> <g id="g"> <symbol> <use xlink:href="#someRect"/> </g> <use xlink:href="#g" id="use"/>
2596  
2597         If you walk through the instanceRoot using JavasScript, and explicitely modify some propertties of "someRect"
2598         -> all instances get updated correctly. For such simple cases it doesn't even involve recloning the shadow tree!
2599
2600         SVGElementInstance is now an EventTarget, as demanded by the specification - sending events to <use> instances
2601         will be implemented in a follow-up patch - as well as the "share event listeners with referenced target" logic.
2602
2603         Fixes all updating/stability issues with svg/carto.net/window.svg.
2604         Fixes: http://bugs.webkit.org/show_bug.cgi?id=6000 (<use> does not handle recursion safely)
2605
2606         Added test: svg/custom/use-on-use.svg (deep use referencing)
2607         Added test: svg/custom/use-on-g-containing-use.svg (nested deep use referencing)
2608         Added test: svg/custom/use-modify-target-container.svg (instanceRoot scripting, modifying <g> target)
2609         Added test: svg/custom/use-modify-target-symbol.svg (instanceRoot scripting, modfiying <symbol> target)
2610         Added test: svg/custom/use-modify-container-in-target.svg (modify <g> within referenced use target -> needs to update instances)
2611         Added test: svg/custom/use-recursion-1.svg (referencing container, whose children reference itself)
2612         Added test: svg/custom/use-recursion-2.svg (<use> self referencing)
2613         Added test: svg/custom/use-recursion-3.svg (<use> self rerencing, within <use> target)
2614         Added test: svg/custom/use-recursion-4.svg (cyclic referencing, within <use> target)
2615
2616         * bindings/scripts/CodeGeneratorJS.pm:
2617         * css/cssstyleselector.cpp:
2618         (WebCore::CSSStyleSelector::initForStyleResolve):
2619         (WebCore::CSSStyleSelector::adjustRenderStyle):
2620         * ksvg2/misc/SVGDocumentExtensions.cpp:
2621         (WebCore::SVGDocumentExtensions::removeTimeContainer):
2622         * ksvg2/svg/SVGElement.cpp:
2623         (WebCore::SVGElement::SVGElement):
2624         (WebCore::SVGElement::viewportElement):
2625         * ksvg2/svg/SVGElement.h:
2626         (WebCore::SVGElement::isShadowNode):
2627         (WebCore::SVGElement::shadowParentNode):
2628         (WebCore::SVGElement::setShadowParentNode):
2629         * ksvg2/svg/SVGElementInstance.cpp:
2630         (WebCore::SVGElementInstance::SVGElementInstance):
2631         (WebCore::SVGElementInstance::correspondingUseElement):
2632         (WebCore::SVGElementInstance::shadowTreeElement):
2633         (WebCore::SVGElementInstance::setShadowTreeElement):
2634         (WebCore::containsUseChildNode):
2635         (WebCore::SVGElementInstance::updateInstance):
2636         (WebCore::SVGElementInstance::addEventListener):
2637         (WebCore::SVGElementInstance::removeEventListener):
2638         (WebCore::SVGElementInstance::dispatchEvent):
2639         * ksvg2/svg/SVGElementInstance.h:
2640         (WebCore::SVGElementInstance::refEventTarget):
2641         (WebCore::SVGElementInstance::derefEventTarget):
2642         (WebCore::SVGElementInstance::hasOneRef):
2643         (WebCore::SVGElementInstance::refCount):
2644         (WebCore::SVGElementInstance::setParent):
2645         (WebCore::SVGElementInstance::parent):
2646         * ksvg2/svg/SVGElementInstance.idl:
2647         * ksvg2/svg/SVGGElement.cpp:
2648         (WebCore::SVGGElement::localMatrix):
2649         * ksvg2/svg/SVGGElement.h:
2650         * ksvg2/svg/SVGHiddenElement.h: Removed.
2651         * ksvg2/svg/SVGSVGElement.cpp:
2652         (WebCore::SVGSVGElement::~SVGSVGElement):
2653         * ksvg2/svg/SVGStyledElement.cpp:
2654         (WebCore::SVGStyledElement::updateElementInstance):
2655         * ksvg2/svg/SVGUseElement.cpp:
2656         (WebCore::SVGUseElement::removedFromDocument):
2657         (WebCore::SVGUseElement::notifyAttributeChange):
2658         (WebCore::dumpInstanceTree):
2659         (WebCore::SVGUseElement::buildPendingResource):
2660         (WebCore::SVGUseElement::attach):
2661         (WebCore::SVGUseElement::buildInstanceTree):
2662         (WebCore::SVGUseElement::handleDeepUseReferencing):
2663         (WebCore::SVGUseElement::buildShadowTree):
2664         (WebCore::SVGUseElement::expandUseElementsInShadowTree):
2665         (WebCore::SVGUseElement::attachShadowTree):
2666         (WebCore::SVGUseElement::associateInstancesWithShadowTreeElements):
2667         (WebCore::SVGUseElement::transferUseAttributesToReplacedElement):
2668         * ksvg2/svg/SVGUseElement.h:
2669
2670 2007-01-30  Maciej Stachowiak  <mjs@apple.com>
2671
2672         Reviewed by Eric.
2673
2674         <rdar://problem/4928646> REGRESSION: manual-tests/remove-input-file-onchange.html crashes
2675         
2676         * platform/FileChooser.h:
2677         (WebCore::FileChooser::disconnected): New method, so the RenderFileControl can tell when it's
2678         gotten disconected.
2679         * rendering/RenderFileUploadControl.cpp:
2680         (WebCore::RenderFileUploadControl::valueChanged): Avoid calling repainted() when onChange()
2681         handler destroyed us.
2682
2683 2007-01-30  Simon Hausmann  <hausmann@kde.org>
2684
2685         Reviewed by Zack.
2686
2687         Combine libJavaScriptCore into libWebKitQt.
2688         Build with ELF visibility if possible.
2689
2690         * WebCore.pro:
2691
2692 2007-01-30  Zack Rusin  <zack@kde.org>
2693
2694         The method has been removed from the header
2695         (make it compile)
2696
2697         * platform/network/qt/ResourceHandleQt.cpp:
2698
2699 2007-01-30  Zack Rusin  <zrusin@trolltech.com>
2700
2701         Reviewed by aroben
2702
2703         Compile fix. 
2704
2705         * loader/ResourceLoader.cpp:
2706         (WebCore::ResourceLoader::releaseResources):
2707         (WebCore::ResourceLoader::setDefersLoading):
2708
2709 2007-01-29  Zack Rusin  <zack@kde.org>
2710
2711         Reviewed by Lars
2712
2713         Propagate the allows-scrolling property on the frames
2714         correctly. If the frame has been constructed as non-
2715         scrolling, respect that and don't show scrollbars.
2716
2717         * platform/ScrollView.h:
2718         * platform/qt/ScrollViewQt.cpp:
2719         (WebCore::ScrollView::ScrollView):
2720         (WebCore::ScrollView::setHScrollbarMode):
2721         (WebCore::ScrollView::setVScrollbarMode):
2722         (WebCore::ScrollView::setAllowsScrolling):
2723
2724 2007-01-29  Geoffrey Garen  <ggaren@apple.com>
2725
2726         I am the chosen one! I have seen the faces of the final five! I will
2727         save the WebKit build!
2728         
2729         * loader/ResourceLoader.cpp:
2730         (WebCore::ResourceLoader::load):
2731
2732 2007-01-30  Graham Dennis  <graham.dennis@gmail.com>
2733
2734         Reviewed by Maciej.
2735
2736         Part of fix for http://bugs.webkit.org/show_bug.cgi?id=10725
2737         Image data in from RTFD clipboard data thrown away
2738         
2739         ResourceHandles no longer need to be able to defer loading as that is
2740         now handled by the ResourceLoader.
2741
2742         * loader/MainResourceLoader.cpp:
2743         (WebCore::MainResourceLoader::loadNow): updated to remove defersLoading argument.
2744         * loader/ResourceLoader.cpp:
2745         (WebCore::ResourceLoader::releaseResources): release the deferred request.
2746         (WebCore::ResourceLoader::load): defer creating the ResourceHandle instead of
2747         asking the ResourceHandle to defer loading.
2748         (WebCore::ResourceLoader::setDefersLoading): create the ResourceHandle if we have deferred creating it.
2749         * loader/ResourceLoader.h:
2750         * platform/network/ResourceHandle.cpp: ResourceHandle's don't need to know about deferLoading.
2751         (WebCore::ResourceHandle::ResourceHandle):
2752         (WebCore::ResourceHandle::create):
2753         * platform/network/ResourceHandle.h: ditto.
2754         * platform/network/ResourceHandleInternal.h: ditto.
2755         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
2756         * platform/network/mac/ResourceHandleMac.mm: ditto.
2757         (WebCore::ResourceHandle::start):
2758
2759 2007-01-29  Brady Eidson  <beidson@apple.com>
2760
2761         Reviewed by Alice
2762
2763         Lets use smart pointers, shall we?
2764
2765         * platform/network/ResourceHandleInternal.h:
2766
2767 2007-01-29  Justin Garcia  <justin.garcia@apple.com>
2768
2769         Reviewed by harrison
2770         
2771         <rdar://problem/4960137>
2772         ASSERTION FAILURE calling SelectionController::setBaseAndExtent (11833)
2773
2774         * editing/SelectionController.cpp:
2775         (WebCore::SelectionController::setSelection): Hand off the selection
2776         to the selectionController responsible for it, instead of asserting.
2777         A selection object can't be constructed with endpoints in different 
2778         documents, so this code is only necessary for one endpoint.
2779
2780 2007-01-29  Ada Chan  <adachan@apple.com>
2781
2782         Reviewed by Brady.
2783         
2784         Moved the update of the title of the current entry in the backforward list to WebCore.
2785
2786         * loader/FrameLoader.cpp:
2787         (WebCore::FrameLoader::didChangeTitle):
2788
2789 2007-01-29  Adele Peterson  <adele@apple.com>
2790
2791         Reviewed by Darin.
2792
2793         More preparation for event handling fixes.
2794
2795         * bridge/EditorClient.h: Removed EventTargetNode parameter from handleKeyPress since we can just get that from the event.
2796         * dom/EventTargetNode.cpp: (WebCore::EventTargetNode::defaultEventHandler): ditto.
2797         * page/EventHandler.cpp: (WebCore::EventHandler::defaultKeyboardEventHandler): ditto.
2798         * page/EventHandler.h: ditto.
2799         * platform/graphics/svg/SVGImageEmptyClients.h: (WebCore::SVGEmptyEditorClient::handleKeyPress): ditto.
2800
2801         * editing/Editor.h:
2802         * editing/Editor.cpp:
2803         (WebCore::Editor::handleKeyPress): Removed EventTargetNode parameter.
2804         (WebCore::Editor::execCommand): Made commandMap use AtomicStringImpls instead of Strings.
2805         (WebCore::Editor::insertText): Moved from the bridge.
2806
2807         * page/mac/WebCoreFrameBridge.h: Moved insertText method to Editor.
2808         * page/mac/WebCoreFrameBridge.mm:
2809
2810         * WebCore.exp: Updated exports.
2811
2812 2007-01-29  Anders Carlsson  <acarlsson@apple.com>
2813
2814         Reviewed by Geoff.
2815
2816         <rdar://problem/4960097>
2817         http://bugs.webkit.org/show_bug.cgi?id=12444
2818         Assertion failure in -[WebCoreFrameBridge installInFrame:]
2819         
2820         The problem was that the XML tokenizer didn't create elements with 
2821         createdByParser set to true.
2822         
2823         * dom/Document.cpp:
2824         (WebCore::Document::createElement):
2825         New method which takes a QName. This is used by both the XML tokenizer and createElementNS.
2826         
2827         (WebCore::Document::createElementNS):
2828         Call new createElement method.
2829         
2830         * dom/XMLTokenizer.h:        
2831         * dom/XMLTokenizer.cpp:
2832         (WebCore::XMLTokenizer::XMLTokenizer):
2833         (WebCore::XMLTokenizer::~XMLTokenizer):
2834         Use an OwnPtr for the pending callbacks object. Also, use String instead of StringImpl in the hash map.
2835         
2836         (WebCore::toString):
2837         (WebCore::XMLTokenizer::startElementNs):
2838         Call createElement.
2839         
2840 2007-01-29  Brady Eidson  <beidson@apple.com>
2841
2842         Reviewed by Oliver
2843
2844         http://bugs.webkit.org/show_bug.cgi?id=12465
2845         Only set the iconURL port for non-zero ports
2846
2847         * loader/FrameLoader.cpp:
2848         (WebCore::FrameLoader::iconURL):
2849
2850 2007-01-29  John Sullivan  <sullivan@apple.com>
2851
2852         * platform/network/mac/ResourceRequestMac.mm:
2853         Build fix -- removed #import of no-longer-extant WebDataProtocol.h (and also one of the
2854         two #imports for WebCoreSystemInterface.h, while I was at it)
2855
2856 2007-01-29  Anders Carlsson  <acarlsson@apple.com>
2857
2858         Reviewed by Oliver.
2859
2860         * page/DragController.cpp:
2861         (WebCore::DragController::dragEnteredOrUpdated):
2862         Only try a drag operation if the drag client explicitly specified that it is OK
2863
2864 2007-01-29  Oliver Hunt  <oliver@apple.com>
2865
2866         Reviewed by Adam.
2867
2868         Migrated more drag logic and state to WebCore
2869                                               
2870         * page/DragClient.h:       
2871
2872         * page/DragController.cpp:
2873         (WebCore::DragController::delegateDragSourceAction):
2874           New forwarding method for the UI delegate
2875         * page/DragController.h:
2876         (WebCore::DragController::dragOffset):
2877           Now store the drag offset -- the offset of the cursor relative to the drag image)
2878           in DragController
2879         * page/EventHandler.cpp:
2880         (WebCore::EventHandler::allowDHTMLDrag):
2881           Moved from WebFrameBridge
2882         * page/EventHandler.h:
2883         * page/mac/EventHandlerMac.mm:
2884         (WebCore::EventHandler::eventMayStartDrag):
2885         (WebCore::EventHandler::handleDrag):                  
2886           EventHandlerMac now uses EventHandler::allowDHTMLDrag rather than the 
2887           implementation in WebFrameBridge
2888         * page/mac/WebCoreFrameBridge.h:
2889           removed definition of allowDHTMLDrag from WebFrameBridge
2890         * platform/graphics/svg/SVGImageEmptyClients.h:
2891         (WebCore::SVGEmptyDragClient::dragSourceActionMaskForPoint):
2892           Updated empty DragClient
2893
2894 2007-01-29  Alexey Proskuryakov  <ap@webkit.org>
2895
2896         Reviewed by Darin.
2897
2898         http://bugs.webkit.org/show_bug.cgi?id=12359
2899         XPathEvaluator may return some nodes more than once in a result set
2900
2901         Test: fast/xpath/nodeset-duplicates.html
2902
2903         * xml/XPathPath.cpp:
2904         (WebCore::XPath::LocationPath::doEvaluate): Ensure uniqueness of elements
2905         in the node-set.
2906
2907         * xml/XPathPredicate.cpp:
2908         (WebCore::XPath::Union::doEvaluate): Fixed a uniqueness algorithm that was
2909         already present here. Added a FIXME about incorrect result ordering.
2910
2911 2007-01-29  Alexey Proskuryakov  <ap@webkit.org>
2912
2913         Reviewed by Darin.
2914
2915         http://bugs.webkit.org/show_bug.cgi?id=12340
2916         XPathEvaluator behavior does not match Firefox - name() and attribute nodes
2917
2918         * xml/XPathFunctions.cpp:
2919         (WebCore::XPath::FunName::doEvaluate): Do not try to append a prefix if it doesn't exist.
2920
2921 2007-01-29  Alexey Proskuryakov  <ap@webkit.org>
2922
2923         Reviewed by Darin.
2924
2925         http://bugs.webkit.org/show_bug.cgi?id=11815
2926         XPathEvaluator behavior does not match Firefox - substring() and empty element
2927
2928         Test: fast/xpath/empty-string-substring.html
2929
2930         * xml/XPathValue.cpp:
2931         (WebCore::XPath::Value::Value):
2932         * xml/XPathValue.h:
2933         Added a constructor taking const char*, so that string literals and arrays don't 
2934         get converted to boolean values.
2935
2936 2007-01-29  Zack Rusin  <zrusin@trolltech.com>
2937
2938         Cosmetic fixes - don't resize the widget in the constructor
2939         (it was a hack from the initial port) and fix the paint
2940         signature.
2941
2942         * platform/qt/ScrollViewCanvasQt.cpp:
2943         (WebCore::ScrollViewCanvasQt::ScrollViewCanvasQt):
2944         * platform/qt/WidgetQt.cpp:
2945         (WebCore::Widget::paint):
2946
2947 2007-01-29  Maciej Stachowiak  <mjs@apple.com>
2948
2949         - change from struct to class to make picky compilers happy
2950
2951         * loader/SubstituteData.h:
2952
2953 2007-01-30  Mark Rowe  <mrowe@apple.com>
2954
2955         Reviewed by Maciej.
2956
2957         http://bugs.webkit.org/show_bug.cgi?id=12458
2958         Bug 12458: Crash in W3C-SVG-1.1/animate-elem-09-t.svg running layout tests under guard malloc
2959
2960         * ksvg2/svg/SVGAnimationElement.cpp: 
2961         (WebCore::parseValues): ptr either points to a ';' or off the end of the buffer.  We're
2962         interested in what comes before the ';', so start there instead.
2963
2964 2007-01-29  Zack Rusin  <zrusin@trolltech.com>
2965
2966         Reviewed by Lars.
2967
2968         Take the scrollbars into considation when computing
2969         the contents size of the main frame.
2970
2971         * platform/qt/PlatformScrollBarQt.cpp:
2972         (WebCore::PlatformScrollbar::paint):
2973         * platform/qt/ScrollViewQt.cpp:
2974         (WebCore::ScrollView::visibleWidth):
2975         (WebCore::ScrollView::visibleHeight):
2976         (WebCore::ScrollView::visibleContentRect):
2977         * platform/qt/WidgetQt.cpp:
2978         (WebCore::Widget::invalidate):
2979         (WebCore::Widget::invalidateRect):
2980
2981 2007-01-29  Maciej Stachowiak  <mjs@apple.com>
2982
2983         - fix includes
2984
2985         * loader/SubstituteData.h:
2986
2987 2007-01-29  Maciej Stachowiak  <mjs@apple.com>
2988
2989         - added new file that I forgot in the last commit
2990
2991         * loader/SubstituteData.h: Added.
2992         (WebCore::SubstituteData::SubstituteData):
2993         (WebCore::SubstituteData::isValid):
2994         (WebCore::SubstituteData::content):
2995         (WebCore::SubstituteData::mimeType):
2996         (WebCore::SubstituteData::textEncoding):
2997         (WebCore::SubstituteData::failingURL):
2998
2999 2007-01-29  Maciej Stachowiak  <mjs@apple.com>
3000
3001         Reviewed by Mark.
3002
3003         - made data loading cross-platform
3004         - fixed <rdar://problem/4910106>
3005
3006         * WebCore.exp:
3007         * WebCore.xcodeproj/project.pbxproj:
3008         * loader/CachedResource.cpp:
3009         * loader/CachedResource.h:
3010         * loader/DocLoader.cpp:
3011         (WebCore::DocLoader::requestResource):
3012         * loader/DocumentLoader.cpp:
3013         (WebCore::DocumentLoader::DocumentLoader):
3014         (WebCore::DocumentLoader::setRequest):
3015         (WebCore::DocumentLoader::urlForHistory):
3016         (WebCore::DocumentLoader::unreachableURL):
3017         * loader/DocumentLoader.h:
3018         (WebCore::DocumentLoader::substituteData):
3019         * loader/FrameLoader.cpp:
3020         (WebCore::FrameLoader::load):
3021         (WebCore::FrameLoader::shouldReloadToHandleUnreachableURL):
3022         (WebCore::FrameLoader::reloadAllowingStaleData):
3023         (WebCore::FrameLoader::reload):
3024         (WebCore::FrameLoader::commitProvisionalLoad):
3025         (WebCore::FrameLoader::startLoadingMainResource):
3026         (WebCore::FrameLoader::startLoading):
3027         (WebCore::FrameLoader::checkNavigationPolicy):
3028         * loader/FrameLoader.h:
3029         * loader/FrameLoaderClient.h:
3030         * loader/MainResourceLoader.cpp:
3031         (WebCore::MainResourceLoader::willSendRequest):
3032         (WebCore::MainResourceLoader::continueAfterContentPolicy):
3033         (WebCore::MainResourceLoader::handleEmptyLoad):
3034         (WebCore::MainResourceLoader::handleDataLoad):
3035         (WebCore::MainResourceLoader::loadNow):
3036         (WebCore::MainResourceLoader::load):
3037         * loader/MainResourceLoader.h:
3038         * loader/mac/DocumentLoaderMac.mm:
3039         * loader/mac/WebDataProtocol.h: Removed.
3040         * loader/mac/WebDataProtocol.mm: Removed.
3041         * loader/qt/DocumentLoaderQt.cpp:
3042         * platform/graphics/svg/SVGImageEmptyClients.h:
3043         (WebCore::SVGEmptyFrameLoaderClient::createDocumentLoader):
3044
3045 2007-01-29  Zack Rusin  <zrusin@trolltech.com>
3046
3047         Order the build files alphabetically instead of
3048         the random mess we had before.
3049
3050         * WebCore.pro:
3051
3052 2007-01-29  Zack Rusin  <zack@kde.org>
3053
3054         Reviewed by Lars
3055
3056         Use the platform independent scrollbar code.
3057         Remove the redundant empty stubs and forward
3058         few missing platform scrollbar calls.
3059
3060         * WebCore.pro:
3061         * platform/qt/PlatformScrollBarQt.cpp:
3062         (WebCore::PlatformScrollbar::paint):
3063         (WebCore::PlatformScrollbar::setRect):
3064
3065 2007-01-29  Lars Knoll <lars@trolltech.com>
3066
3067         Reviewed by Zack
3068
3069         Fix the way we handle native widgets (QWidget) inside
3070         WebCore. Now WebCore::Widget owns the QWidget in all
3071         cases. This is the only way to get well defined semantics
3072         for all teh native widgets we have (currently ScrollView
3073         and ScrollBar, but plugins will follow).
3074
3075         This has the side effect that one cannot rely on a defined 
3076         lifetime of a QWebFrame when using the API. 
3077
3078         * platform/Widget.h:
3079         * platform/qt/PlatformScrollBarQt.cpp:
3080         (WebCore::PlatformScrollbar::PlatformScrollbar):
3081         * platform/qt/ScrollViewQt.cpp:
3082         (WebCore::ScrollView::addChild):
3083         (WebCore::ScrollView::removeChild):
3084         * platform/qt/WidgetQt.cpp:
3085         (WebCore::WidgetPrivate::WidgetPrivate):
3086         (WebCore::WidgetPrivate::~WidgetPrivate):
3087         (WebCore::Widget::qwidget):
3088
3089 2007-01-28  George Staikos  <staikos@kde.org>
3090
3091         Reviewed by Maciej.
3092
3093         Don't send data during a redirect -> causes assert failure.
3094
3095         * platform/network/qt/ResourceHandleManagerQt.cpp:
3096         (WebCore::ResourceHandleManager::receivedData):
3097
3098 2007-01-29  Mark Rowe  <mrowe@apple.com>
3099
3100         Reviewed by Brady.
3101
3102         http://bugs.webkit.org/show_bug.cgi?id=11085
3103         Bug 11085: REGRESSION: favicon.ico always looked for on port 80
3104
3105         * loader/FrameLoader.cpp:
3106         (WebCore::FrameLoader::iconURL): Copy the port over to the favicon URL.
3107
3108 2007-01-28  Adam Roben  <aroben@apple.com>
3109
3110         Reviewed by Adele.
3111
3112         Fix http://bugs.webkit.org/show_bug.cgi?id=12453
3113         REGRESSION(r19197): Tabbing into web page requires two key presses
3114
3115         All layout tests pass.
3116
3117         * page/FocusController.cpp:
3118         (WebCore::FocusController::advanceFocus): If there's no focused frame,
3119         actually go ahead and find a focusable node instead of just focusing
3120         the main frame and quitting. This behavior was a holdover from a
3121         previous desired tabbing behavior with respect to frames.
3122
3123 2007-01-28  David Kilzer  <ddkilzer@webkit.org>
3124
3125         Reviewed by Darin and David Hyatt.
3126
3127         - fix http://bugs.webkit.org/show_bug.cgi?id=12423
3128           Mixing white-space:pre text with non white-space:pre text does not wrap properly
3129
3130         Test: fast/block/basic/white-space-pre-wraps.html
3131
3132         * rendering/bidi.cpp:
3133         (WebCore::RenderBlock::findNextLineBreak): Wrap a non-wrapping text run if it
3134         appears on a line with previous text runs that do wrap.
3135
3136 2007-01-28  Mitz Pettel  <mitz@webkit.org>
3137
3138         Reviewed by Darin.
3139
3140         - fix http://bugs.webkit.org/show_bug.cgi?id=8360
3141           Repro crash when onscroll handler deletes the scrolled object
3142
3143         Test: fast/layers/removed-by-scroll-handler.html
3144
3145         * page/FrameView.cpp:
3146         (WebCore::FrameViewPrivate::FrameViewPrivate): Added a m_enqueueEvents count.
3147         (WebCore::FrameView::layout): Raise the enqueue count before starting layout and
3148         until after enqueued events are dispatched.
3149         (WebCore::FrameView::scheduleEvent): Made this function dispatch the event
3150         immediately unless the enqueue count is positive.
3151         * rendering/RenderLayer.cpp:
3152         (WebCore::RenderLayer::scrollToOffset): Schedule the scroll event through the
3153         FrameView.
3154         (WebCore::RenderLayer::scrollRectToVisible):
3155         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
3156         (WebCore::Marquee::start):
3157
3158 2007-01-28  Charles Ying  <charles_ying@yahoo.com>
3159
3160         Reviewed by eseidel.  Landed by eseidel.
3161
3162         Fix http://bugs.webkit.org/show_bug.cgi?id=12429
3163             animateTransform rotate, with cx/cy is broken
3164             
3165         SVGTransform now contains a float point to store the rotation center, needed
3166             to track rotation center for interpolation by animateTransform.
3167             
3168         SVGTransform now has an additional constructor:
3169             SVGTransform(type) to make empty base value transforms that match their
3170             distanced values.
3171             
3172         Removed m_colorDistance and m_transformDistance from their respective classes
3173             as they are now computed at update time.
3174
3175         Fix a case where animateTransform did not parse transform values correctly
3176             according to BNF in W3C spec:
3177
3178         Test case in:
3179         * manual-tests/animation/animateTransform-toanimation.svg: Added.
3180
3181         Fix a case where animateTransform only specified a to animation only.
3182
3183         Test case in:
3184         * manual-tests/animation/animateTransform-parser.svg: Added.
3185
3186         * ksvg2/svg/SVGAnimateColorElement.cpp:
3187         (WebCore::SVGAnimateColorElement::updateAnimationBaseValueFromElement):
3188         (WebCore::SVGAnimateColorElement::updateAnimatedValue):
3189         (WebCore::SVGAnimateColorElement::calculateFromAndToValues):
3190         * ksvg2/svg/SVGAnimateColorElement.h:
3191         * ksvg2/svg/SVGAnimateTransformElement.cpp:
3192         (WebCore::SVGAnimateTransformElement::updateAnimatedValue):
3193         (WebCore::SVGAnimateTransformElement::updateAnimationBaseValueFromElement):
3194         (WebCore::SVGAnimateTransformElement::calculateFromAndToValues):
3195         (WebCore::SVGAnimateTransformElement::parseTransformValue):
3196         * ksvg2/svg/SVGAnimateTransformElement.h:
3197         * ksvg2/svg/SVGTransform.cpp:
3198         (SVGTransform::SVGTransform):
3199         (SVGTransform::angle):
3200         (SVGTransform::rotationCenter):
3201         (SVGTransform::setTranslate):
3202         (SVGTransform::setScale):
3203         (SVGTransform::setRotate):
3204         (SVGTransform::setSkewX):
3205         (SVGTransform::setSkewY):
3206         * ksvg2/svg/SVGTransform.h:
3207         * ksvg2/svg/SVGTransformDistance.cpp:
3208         (WebCore::SVGTransformDistance::SVGTransformDistance):
3209         (WebCore::SVGTransformDistance::scaledDistance):
3210         (WebCore::SVGTransformDistance::addSVGTransforms):
3211         (WebCore::SVGTransformDistance::addSVGTransform):
3212         (WebCore::SVGTransformDistance::addToSVGTransform):
3213         (WebCore::SVGTransformDistance::distance):
3214         * ksvg2/svg/SVGTransformDistance.h:
3215         * manual-tests/animation/animateTransform-parser.svg: Added.
3216         * manual-tests/animation/animateTransform-toanimation.svg: Added.
3217
3218 2007-01-27  Adam Roben  <aroben@apple.com>
3219
3220         Reviewed by Ada.
3221
3222         Fix <rdar://problem/4957184> REGRESSION: After creating a new mail
3223         message, the caret is automatically in message body
3224
3225         -[WebHTMLView _updateActiveState] was calling
3226         FocusController::focusedOrMainFrame, which had the surprising
3227         side-effect of setting the focused frame if there was none. The fix
3228         was to remove this side-effect.
3229
3230         No tests possible, as this bug involves focus outside the WebView,
3231         which we have no support for in DRT.
3232
3233         Change inspired by Dave Harrison.
3234
3235         * page/FocusController.cpp:
3236         (WebCore::FocusController::focusedOrMainFrame): Removed this method's
3237         non-obvious side-effect of setting the focused frame.
3238         * WebCore.xcodeproj/project.pbxproj: Version wars.
3239
3240 2007-01-27  Don Gibson  <dgibson77@gmail.com>
3241
3242         Reviewed by Maciej.
3243
3244         http://bugs.webkit.org/show_bug.cgi?id=11880: Improve some egregious
3245         Windows form control drawing issues:
3246         Provide Classic mode fallbacks for the button/textfield drawing
3247         routines.
3248         Provide some basic drawing of menulists (still relatively broken).
3249         Some cleanup.
3250
3251         * platform/win/TemporaryLinkStubs.cpp:
3252         (WebCore::RenderThemeWin::systemFont):
3253         * rendering/RenderThemeWin.cpp:
3254         (WebCore::m_menuListTheme):
3255         (WebCore::RenderThemeWin::close):
3256         (WebCore::RenderThemeWin::determineClassicState):
3257         (WebCore::RenderThemeWin::getThemeData):
3258         (WebCore::RenderThemeWin::paintButton):
3259         (WebCore::RenderThemeWin::paintTextField):
3260         (WebCore::RenderThemeWin::paintMenuList):
3261         (WebCore::RenderThemeWin::paintMenuListButton):
3262         * rendering/RenderThemeWin.h:
3263         (WebCore::ThemeData::m_classicState):
3264         (WebCore::RenderThemeWin::setRadioSize):
3265         (WebCore::RenderThemeWin::paintTextArea):
3266
3267 2007-01-27  David Kilzer  <ddkilzer@webkit.org>
3268
3269         Reviewed by Adam.
3270
3271         - fix http://bugs.webkit.org/show_bug.cgi?id=12260
3272           Windows platform build is not maintained
3273
3274         * loader/win/FrameLoaderWin.cpp:
3275         * platform/network/win/ResourceHandleWin.cpp:
3276         * platform/win/TemporaryLinkStubs.cpp:
3277         (WebCore::contextMenuItemTagOpenLinkInNewWindow):
3278         (WebCore::contextMenuItemTagDownloadLinkToDisk):
3279         (WebCore::contextMenuItemTagCopyLinkToClipboard):
3280         (WebCore::contextMenuItemTagOpenImageInNewWindow):
3281         (WebCore::contextMenuItemTagDownloadImageToDisk):
3282         (WebCore::contextMenuItemTagCopyImageToClipboard):
3283         (WebCore::contextMenuItemTagOpenFrameInNewWindow):
3284         (WebCore::contextMenuItemTagCopy):
3285         (WebCore::contextMenuItemTagGoBack):
3286         (WebCore::contextMenuItemTagGoForward):
3287         (WebCore::contextMenuItemTagStop):
3288         (WebCore::contextMenuItemTagReload):
3289         (WebCore::contextMenuItemTagCut):
3290         (WebCore::contextMenuItemTagPaste):
3291         (WebCore::contextMenuItemTagNoGuessesFound):
3292         (WebCore::contextMenuItemTagIgnoreSpelling):
3293         (WebCore::contextMenuItemTagLearnSpelling):
3294         (WebCore::contextMenuItemTagSearchWeb):
3295         (WebCore::contextMenuItemTagLookUpInDictionary):
3296         (WebCore::contextMenuItemTagOpenLink):
3297         (WebCore::contextMenuItemTagIgnoreGrammar):
3298         (WebCore::contextMenuItemTagSpellingMenu):
3299         (WebCore::contextMenuItemTagShowSpellingPanel):
3300         (WebCore::contextMenuItemTagCheckSpelling):
3301         (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
3302         (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
3303         (WebCore::contextMenuItemTagFontMenu):
3304         (WebCore::contextMenuItemTagBold):
3305         (WebCore::contextMenuItemTagItalic):
3306         (WebCore::contextMenuItemTagUnderline):
3307         (WebCore::contextMenuItemTagOutline):
3308         (WebCore::contextMenuItemTagWritingDirectionMenu):
3309         (WebCore::contextMenuItemTagDefaultDirection):
3310         (WebCore::contextMenuItemTagLeftToRight):
3311         (WebCore::contextMenuItemTagRightToLeft):
3312         (WebCore::DocumentLoader::unreachableURL):
3313         (WebCore::FrameLoader::redirectDataToPlugin):
3314         (WebCore::FrameLoader::partClearedInBegin):
3315         (WebCore::FrameLoader::createPlugin):
3316
3317 2007-01-27  Sam Weinig  <sam@webkit.org>
3318
3319         Reviewed by Mitz.
3320
3321         - Patch for http://bugs.webkit.org/show_bug.cgi?id=11957
3322           REGRESSION: Unordered List Bullets too big and changing from size
3323
3324         * rendering/RenderListMarker.cpp:
3325         (WebCore::RenderListMarker::paint): Explicitly set the stroke size to 1.0f.
3326
3327 2007-01-27  Lars Knoll <lars@trolltech.com>
3328
3329         Fix the Qt build and disable the usage
3330         of QScrollbars for PlatformScrollBar for 
3331         now as it causes crashes in the layout tests.
3332
3333         * WebCore.pro:
3334         * ksvg2/svg/SVGTransformDistance.cpp:
3335         * page/qt/FrameQt.cpp:
3336         (WebCore::FrameQt::FrameQt):
3337         (WebCore::FrameQt::bindingRootObject):
3338         (WebCore::FrameQt::createRootObject):
3339         * page/qt/FrameQt.h:
3340         * platform/qt/PlatformScrollBarQt.cpp:
3341         (WebCore::PlatformScrollbar::PlatformScrollbar):
3342         * platform/qt/ScrollViewQt.cpp:
3343         (WebCore::ScrollView::addChild):
3344
3345 2007-01-27  David Kilzer  <ddkilzer@kilzer.net>
3346
3347         Reviewed by NOBODY (buildbot build fix).
3348
3349         * ksvg2/svg/ColorDistance.cpp:
3350         (WebCore::ColorDistance::scaledDistance): Added static cast of arguments to int.
3351
3352 2007-01-27  Rob Buis  <buis@kde.org>
3353
3354         Reviewed by NOBODY (typo in method name fix).
3355
3356         * ksvg2/svg/SVGSVGElement.cpp:
3357         (WebCore::SVGSVGElement::addSVGWindowEventListener):
3358         (WebCore::SVGSVGElement::parseMappedAttribute):
3359         * ksvg2/svg/SVGSVGElement.h:
3360
3361 2007-01-27  Eric Seidel  <eric@webkit.org>
3362
3363         Reviewed by olliej.
3364
3365         Fix support for SVG's <set> element.
3366
3367         Manual test added.
3368
3369         * ksvg2/svg/SVGSetElement.cpp:
3370         (WebCore::SVGSetElement::updateAnimatedValue):
3371         (WebCore::SVGSetElement::calculateFromAndToValues):
3372         * ksvg2/svg/SVGSetElement.h:
3373         * manual-tests/animation/set-to.svg: Added.
3374
3375 2007-01-27  Alexey Proskuryakov  <ap@webkit.org>
3376
3377         Release build fix.
3378
3379         * loader/TextResourceDecoder.cpp:
3380         (WebCore::TextResourceDecoder::checkForHeadCharset):
3381
3382 2007-01-27  Alexey Proskuryakov  <ap@webkit.org>
3383
3384         Reviewed by Darin.
3385
3386         http://bugs.webkit.org/show_bug.cgi?id=12389
3387         Chinese decoding error at hk.antispam.yahoo.com
3388
3389         Test: fast/encoding/noscript-in-head.html
3390
3391         * loader/TextResourceDecoder.cpp:
3392         (WebCore::TextResourceDecoder::checkForHeadCharset): We were already allowing 
3393         NOSCRIPT tags in head, let's actually skip over their content.
3394
3395 2007-01-26  Geoffrey Garen  <ggaren@apple.com>
3396
3397         Reviewed by Maciej Stachowiak.
3398         
3399         Fixed <rdar://problem/4608404> WebScriptObject's _executionContext lack 
3400         of ownership policy causes crashes (e.g., in Dashcode)
3401
3402         Added RootObject ref-counting goodness.
3403
3404         * page/mac/FrameMac.h:
3405         * page/mac/FrameMac.mm:
3406         (WebCore::FrameMac::cleanupPluginObjects): Invalidate our RootObjects 
3407         instead of detroying them. Track _bindingRootObject separately from the
3408         rest of our RootObjects, since it has its own variable.
3409
3410         * page/mac/WebCoreFrameBridge.mm:
3411         (createRootObject): Use the Frame's new, more encapsulated function to
3412         create a RootObject.
3413
3414         * bindings/objc/WebScriptObject.mm: Nixed rootObject setters, since they
3415         were unused and they complicated reference-counting.
3416
3417 2007-01-26  David Kilzer  <ddkilzer@webkit.org>
3418
3419         Reviewed by Eric.
3420
3421         Release build fix.
3422
3423         * ksvg2/svg/SVGAnimationElement.cpp:
3424         (WebCore::SVGAnimationElement::calculateValueIndexAndPercentagePast): Added static cast
3425         to unsigned when calculating flooredValueIndex.
3426
3427 2007-01-26  Darin Adler  <darin@apple.com>
3428
3429         - checked in slightly newer revision of the patch below
3430
3431         * css/CSSComputedStyleDeclaration.cpp:
3432         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3433         Grouped all the unimplemented values at the bottom. Fixed the ifdef for
3434         CSS_PROP__WEBKIT_DASHBOARD_REGION so that it compiles on all platforms.
3435
3436         * css/cssparser.cpp: (WebCore::CSSParser::parseValue): Removed default
3437         case and added type so that the compiler warns about missing properties.
3438         * css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::applyProperty): Ditto.
3439
3440 2007-01-26  Darin Adler  <darin@apple.com>
3441
3442         Reviewed by Beth.
3443
3444         - fix http://bugs.webkit.org/show_bug.cgi?id=12412
3445           "unimplemented propertyID: 46" seen at dojotoolkit.org
3446
3447         Covered by fast/css/computed-style.html
3448
3449         * css/CSSPropertyNames.in: Sorted the file into two separate sections, one
3450         for properties without the -webkit- prefix and another for properties with.
3451
3452         * css/makeprop: Generate a CSSPropertyID enum instead of a set of #defines.
3453         Removed unused CSS_PROP_MIN and CSS_PROP_MAX. Renamed CSS_PROP_TOTAL to
3454         numCSSProperties and changed it to a const int instead of #define.
3455         Added a declaration of getPropertyName in the header. Changed the return
3456         type of getPropertyName to const char* and the parameter type to CSSPropertyID.
3457
3458         * css/CSSComputedStyleDeclaration.cpp: Sort the lists of properties in
3459         an easier to maintain order -- properties without a WebKit prefix first.
3460         (WebCore::valueForLength): Changed return value to PassRefPtr.
3461         (WebCore::valueForMaxLength): Ditto.
3462         (WebCore::valueForBorderStyle): Ditto.
3463         (WebCore::valueForTextAlign): Ditto.
3464         (WebCore::valueForAppearance): Added.
3465         (WebCore::valueForMarginCollapse): Added.
3466         (WebCore::valueForShadow): Changed return value to PassRefPtr.
3467         (WebCore::getPositionOffsetValue): Ditto.
3468         (WebCore::currentColorOrValidColor): Ditto.
3469         (WebCore::CSSComputedStyleDeclaration::cssText): Added cast since
3470         getPropertyName now takes an enum value.
3471         (WebCore::primitiveValueFromLength): Changed return value to PassRefPtr.
3472         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3473         Added cast to CSSPropertyID so that gcc will detect missing enums in the
3474         switch statement. Simplified the background-size and border-spacing
3475         implementations so they don't have local variables. Added lots of cases
3476         to the switch statement for unimplemented properties. Implemented the
3477         outline-width, box-sizing, -webkit-appearance, -webkit-rtl-ordering,
3478         -webkit-user-drag, and -webkit-user-select properties.
3479         (WebCore::CSSComputedStyleDeclaration::item): Added cast since
3480         getPropertyName now takes an enum value.
3481
3482         * css/CSSMutableStyleDeclaration.cpp: Removed declaration of getPropertyName.
3483         (WebCore::CSSMutableStyleDeclaration::item): Added cast since
3484         getPropertyName now takes an enum value.
3485
3486         * css/CSSProperty.cpp: Removed declaration of getPropertyName.
3487         (WebCore::CSSProperty::cssText): Added cast since
3488         getPropertyName now takes an enum value and returns a const char*.
3489
3490         * css/CSSStyleDeclaration.cpp: Removed declaration of getPropertyName.
3491         (WebCore::CSSStyleDeclaration::getPropertyShorthand): Added cast since
3492         getPropertyName now takes an enum value and returns a const char*.
3493
3494 2007-01-26  Alice Liu  <alice.liu@apple.com>
3495
3496         Reviewed by Brady.
3497
3498         Fixed <rdar://problem/4838076> CrashTracer: 10 crashes in Mail at com.apple.WebCore: WTF::HashMap<WebCore::String
3499
3500         * loader/DocLoader.cpp:
3501         (WebCore::DocLoader::requestResource):
3502         Added nil check around resource from cache.
3503
3504 2007-01-26  Adam Roben  <aroben@apple.com>
3505
3506         Reviewed by Oliver.
3507
3508         Build fix.
3509
3510         * ksvg2/svg/SVGAnimationElement.cpp:
3511         (WebCore::SVGAnimationElement::calculateValueIndexAndPercentagePast):
3512         Keep index variables as unsigned until we need to convert to float.
3513
3514 2007-01-26  Alice Liu  <alice.liu@apple.com>
3515
3516         Reviewed by Ada.
3517
3518         Fixed <rdar://problem/4919097> REGRESSION: Ctrl-Y fails to yank (11076)
3519
3520         * editing/Editor.cpp:
3521         (WebCore::Editor::deleteWithDirection):
3522         If there's no selection, locally create a range that is to the end of the granularity unit and pass that to deleteRange(). 
3523
3524 2007-01-26  Sam Weinig  <sam@webkit.org>
3525
3526         Reviewed by Maciej.
3527
3528         Qt build fix.
3529
3530         * page/qt/EventHandlerQt.cpp:
3531
3532 2007-01-26  Dex Deacon  <occupant4@gmail.com>
3533
3534         Reviewed by Hyatt.
3535
3536         Fix so that we only relayout frameset children on calls to layout.
3537
3538         * page/FrameView.cpp:
3539         (WebCore::FrameView::layout):
3540
3541 2007-01-26  Oliver Hunt  <oliver@apple.com>
3542
3543         Build Fix
3544
3545         * ksvg2/svg/ColorDistance.cpp:
3546         * ksvg2/svg/SVGAnimationElement.cpp:
3547         (WebCore::SVGAnimationElement::handleTimerEvent):
3548
3549 2007-01-26  Eric Seidel  <eric@webkit.org>
3550
3551         Reviewed by olliej.
3552
3553         Add support for calcMode, keyTimes and (nearly) keySplines.
3554         http://bugs.webkit.org/show_bug.cgi?id=12350
3555         Re-architect much of the animation system to remove huge sections of code.
3556         Added new ColorDistance, SVGTransformDistance to simplify animateColor, animateTransform calculations.
3557         I also added basic <animateMotion> support since it was so easy w/ the new architecture.
3558         
3559         Adding manual animation tests until bug 12074 is fixed.
3560
3561         * WebCore.xcodeproj/project.pbxproj:
3562         * ksvg2/misc/SVGTimer.cpp:
3563         (WebCore::SVGTimer::applyAnimations):
3564         * ksvg2/svg/ColorDistance.cpp: Added.
3565         (WebCore::ColorDistance::ColorDistance):
3566         (WebCore::clampColorValue):
3567         (WebCore::ColorDistance::scaledDistance):
3568         (WebCore::ColorDistance::addColorsAndClamp):
3569         (WebCore::ColorDistance::addToColorAndClamp):
3570         (WebCore::ColorDistance::isZero):
3571         (WebCore::ColorDistance::distance):
3572         * ksvg2/svg/ColorDistance.h: Added.
3573         * ksvg2/svg/SVGAnimateColorElement.cpp:
3574         (WebCore::SVGAnimateColorElement::SVGAnimateColorElement):
3575         (WebCore::SVGAnimateColorElement::updateAnimationBaseValueFromElement):
3576         (WebCore::SVGAnimateColorElement::applyAnimatedValueToElement):
3577         (WebCore::SVGAnimateColorElement::updateAnimatedValue):
3578         (WebCore::SVGAnimateColorElement::calculateFromAndToValues):
3579         * ksvg2/svg/SVGAnimateColorElement.h:
3580         (WebCore::SVGAnimateColorElement::contextElement):
3581         * ksvg2/svg/SVGAnimateElement.h:
3582         (WebCore::SVGAnimateElement::updateAnimatedValue):
3583         (WebCore::SVGAnimateElement::calculateFromAndToValues):
3584         * ksvg2/svg/SVGAnimateMotionElement.cpp:
3585         (WebCore::SVGAnimateMotionElement::hasValidTarget):
3586         (WebCore::SVGAnimateMotionElement::updateAnimatedValue):
3587         (WebCore::parsePoint):
3588         (WebCore::SVGAnimateMotionElement::calculateFromAndToValues):
3589         (WebCore::SVGAnimateMotionElement::updateAnimationBaseValueFromElement):
3590         (WebCore::SVGAnimateMotionElement::applyAnimatedValueToElement):
3591         * ksvg2/svg/SVGAnimateMotionElement.h:
3592         * ksvg2/svg/SVGAnimateTransformElemen