100abec56c65ab815e2331ae0278b555c7406c05
[WebKit-https.git] / WebCore / ChangeLog
1 2006-08-21  Brady Eidson  <beidson@apple.com>
2
3         Reviewed by Maciej
4
5         <rdar://4690949> - New IconDB: Need to prune unretained icons on startup
6
7         Added a flag to track whether or not the initial pruning has taken place on startup
8         If that flag is not set, IconURL retain counts will be tracked in a temporary db table
9         in addition to the in-memory hash.  Then when the timer fires after initial retains
10         are complete, we prune those icons not in the retain table, prune dangling PageURL
11         references, delete the temporary table, and set the flag - and carry on as normal
12
13         * loader/icon/IconDatabase.cpp:
14         (WebCore::IconDatabase::IconDatabase): initialize the flag
15         (WebCore::IconDatabase::open): changed the schema of the temporary table
16         (WebCore::IconDatabase::retainIconURL): store the icon retain to the temp table if starting up
17         (WebCore::IconDatabase::releaseIconURL): ditto
18         (WebCore::IconDatabase::pruneUnretainedIconsOnStartup): remove all icons *not* in the retain table, then
19           wipe all the PageURLs who no longer point to a valid IconURL
20         * loader/icon/IconDatabase.h:
21
22 2006-08-21  Alexey Proskuryakov  <ap@nypop.com>
23
24         Reviewed by Eric.
25
26         http://bugzilla.opendarwin.org/show_bug.cgi?id=10419
27         XSLTProcessor transformToFragment fails because of an XML declaration
28
29         Test: fast/xsl/transformToFragment-XML-declaration.html
30
31         * xml/XSLTProcessor.cpp:
32         (WebCore::XSLTProcessor::transformToString): Always inhibit XML declaration printout.
33
34 2006-08-21  David Harrison  <harrison@apple.com>
35
36         Reviewed by Justin.
37
38         <rdar://problem/4471481> Represent misspellings in AXAttributedStringForTextMarkerRange
39
40         Added support for the NSAccessibilityMisspelledTextAttribute.
41         
42         Test cases added: None.  Manual AX testing is way too awkward, and automated testing
43         is not possible.  See following bug...
44             <rdar://problem/4256882> Need automated testing support for accessibility APIs
45
46         * bridge/mac/WebCoreAXObject.mm:
47         Lots of trivial formatting in many methods.
48         
49         (-[WebCoreAXObject accessibilityAttributeValue:]):
50         Fixed AXStartTextMarker and AXEndTextMarker to use startOfDocument and endOfDocument, instead of
51         of positionForCoordinates. I had seen erroneous endOfDocument results while testing the spelling
52         attribute.
53
54         (WebCore::AXAttributeStringSetSpelling): 
55         New. Adds the NSAccessibilityMisspelledTextAttribute for misspelled words.
56
57         (-[WebCoreAXObject AXAttributedStringAppendText:]):
58         Added call to AXAttributeStringSetSpelling.
59         
60         * editing/visible_units.cpp:
61         (WebCore::startOfDocument):
62         (WebCore::endOfDocument):
63         Added for AXStartTextMarker/AXEndTextMarker fix, these forms of the familiar functions take a Node*,
64         so a previously existing VisiblePosition is not required.
65         
66         * editing/visible_units.h:
67         Declare new forms of startOfDocument and endOfDocument.
68
69 2006-08-21  Nikolas Zimmermann  <zimmermann@kde.org>
70
71         Reviewed by Eric.
72
73         Fixes parts of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
74         WebKit should have Qt platform support
75
76         * platform/qt/TemporaryLinkStubs.cpp: Added.
77         (JavaAppletWidget::JavaAppletWidget):
78         (Font::selectionRectForComplexText):
79         (Font::offsetForPositionForComplexText):
80         (WebCore::refreshPlugins):
81         (WebCore::focusRingColor):
82         (Image::drawTiled):
83         (WebCore::TextField::selectAll):
84         (WebCore::TextField::addSearchResult):
85         (WebCore::TextField::selectionStart):
86         (WebCore::TextField::hasSelectedText):
87         (WebCore::TextField::selectedText):
88         (WebCore::TextField::setAutoSaveName):
89         (WebCore::TextField::checksDescendantsForFocus):
90         (WebCore::TextField::setSelection):
91         (WebCore::TextField::setMaxResults):
92         (WebCore::TextField::edited):
93         (WebCore::TextField::focusPolicy):
94         (WebCore::TextField::TextField):
95         (WebCore::TextField::~TextField):
96         (WebCore::TextField::setFont):
97         (WebCore::TextField::setAlignment):
98         (WebCore::TextField::setWritingDirection):
99         (WebCore::TextField::maxLength):
100         (WebCore::TextField::setMaxLength):
101         (WebCore::TextField::text):
102         (WebCore::TextField::setText):
103         (WebCore::TextField::cursorPosition):
104         (WebCore::TextField::setCursorPosition):
105         (WebCore::TextField::setEdited):
106         (WebCore::TextField::setReadOnly):
107         (WebCore::TextField::setPlaceholderString):
108         (WebCore::TextField::setColors):
109         (WebCore::TextField::sizeForCharacterWidth):
110         (WebCore::TextField::baselinePosition):
111         (WebCore::TextField::setLiveSearch):
112         (WebCore::Slider::Slider):
113         (WebCore::Slider::sizeHint):
114         (WebCore::Slider::~Slider):
115         (WebCore::Slider::setValue):
116         (WebCore::Slider::setMaxValue):
117         (WebCore::Slider::setMinValue):
118         (WebCore::Slider::setFont):
119         (WebCore::Slider::value):
120         (WebCore::Slider::focusPolicy):
121         (WebCore::ScrollBar::ScrollBar):
122         (WebCore::ScrollBar::setSteps):
123         (WebCore::ScrollBar::scroll):
124         (WebCore::ScrollBar::setValue):
125         (WebCore::ScrollBar::setKnobProportion):
126         (WebCore::PlatformScrollBar::PlatformScrollBar):
127         (WebCore::PlatformScrollBar::~PlatformScrollBar):
128         (WebCore::PlatformScrollBar::width):
129         (WebCore::PlatformScrollBar::height):
130         (WebCore::PlatformScrollBar::setEnabled):
131         (WebCore::PlatformScrollBar::paint):
132         (WebCore::PlatformScrollBar::setScrollBarValue):
133         (WebCore::PlatformScrollBar::setKnobProportion):
134         (WebCore::PlatformScrollBar::setRect):
135         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
136         (WebCore::CheckCacheObjectStatus):
137         (WebCore::CheckIfReloading):
138         (WebCore::ServeSynchronousRequest):
139         (WebCore::historyContains):
140         (WebCore::submitButtonDefaultLabel):
141         (WebCore::inputElementAltText):
142         (WebCore::resetButtonDefaultLabel):
143         (WebCore::defaultLanguage):
144         (WebCore::findNextSentenceFromIndex):
145         (WebCore::findSentenceBoundary):
146         (WebCore::findNextWordFromIndex):
147         (WebCore::findWordBoundary):
148         (Frame::setNeedsReapplyStyles):
149         (WebCore::screenDepthPerComponent):
150         (WebCore::screenIsMonochrome):
151         (WebCore::searchableIndexIntroduction):
152         (WebCore::setFocusRingColorChangeFunction):
153         (FrameView::updateBorder):
154         (loadResourceIntoArray):
155         (PlugInInfoStore::createPluginInfoForPluginAtIndex):
156         (PlugInInfoStore::pluginCount):
157         (WebCore::PlugInInfoStore::supportsMIMEType):
158         (FileButton::FileButton):
159         (FileButton::click):
160         (FileButton::sizeForCharacterWidth):
161         (FileButton::focusPolicy):
162         (FileButton::frameGeometry):
163         (FileButton::setFilename):
164         (FileButton::baselinePosition):
165         (FileButton::setFrameGeometry):
166         (FileButton::setDisabled):
167         (WebCore::supportedKeySizes):
168         (WebCore::signedPublicKeyAndChallengeString):
169
170 2006-08-21  Nikolas Zimmermann  <zimmermann@kde.org>
171
172         Reviewed by Maciej.
173
174         Fixes parts of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
175         WebKit should have Qt platform support
176
177         * platform/qt/CursorQt.cpp: Added.
178         (WebCore::Cursor::Cursor):
179         (WebCore::Cursor::~Cursor):
180         (WebCore::Cursor::operator=):
181         (WebCore::Cursors::Cursors::self):
182         (WebCore::moveCursor):
183         (WebCore::crossCursor):
184         (WebCore::handCursor):
185         (WebCore::iBeamCursor):
186         (WebCore::waitCursor):
187         (WebCore::helpCursor):
188         (WebCore::eastResizeCursor):
189         (WebCore::northResizeCursor):
190         (WebCore::northEastResizeCursor):
191         (WebCore::northWestResizeCursor):
192         (WebCore::southResizeCursor):
193         (WebCore::southEastResizeCursor):
194         (WebCore::southWestResizeCursor):
195         (WebCore::westResizeCursor):
196         (WebCore::northSouthResizeCursor):
197         (WebCore::eastWestResizeCursor):
198         (WebCore::northEastSouthWestResizeCursor):
199         (WebCore::northWestSouthEastResizeCursor):
200         (WebCore::columnResizeCursor):
201         (WebCore::rowResizeCursor):
202         * platform/qt/RenderThemeQt.cpp: Added.
203         (WebCore::RenderThemeQt::RenderThemeQt):
204         (WebCore::RenderThemeQt::supportsHover):
205         (WebCore::RenderThemeQt::paintCheckbox):
206         (WebCore::RenderThemeQt::paintRadio):
207         (WebCore::theme):
208         (WebCore::RenderThemeQt::isControlStyled):
209         (WebCore::RenderThemeQt::controlSupportsTints):
210         (WebCore::RenderThemeQt::systemFont):
211         (WebCore::RenderThemeQt::createPopupMenu):
212         (WebCore::RenderThemeQt::addIntrinsicMargins):
213         (WebCore::RenderThemeQt::stylePainterAndWidgetForPaintInfo):
214         (WebCore::RenderThemeQt::setCheckboxSize):
215         (WebCore::RenderThemeQt::setRadioSize):
216         (WebCore::RenderThemeQt::supportsFocus):
217         (WebCore::RenderThemeQt::applyTheme):
218         (WebCore::RenderThemeQt::adjustButtonStyle):
219         (WebCore::RenderThemeQt::paintButton):
220         (WebCore::RenderThemeQt::adjustTextFieldStyle):
221         (WebCore::RenderThemeQt::paintTextField):
222
223 2006-08-21  Nikolas Zimmermann  <zimmermann@kde.org>
224
225         Reviewed by Maciej.
226
227         Fixes parts of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
228         WebKit should have Qt platform support
229
230         * platform/qt/SharedTimerQt.cpp: Added.
231         (WebCore:setSharedTimerFiredFunction):
232         (WebCore::setSharedTimerFireTime):
233         (WebCore::stopSharedTimer):
234         * platform/qt/SharedTimerQt.h: Added.
235         (WebCore::SharedTimerQt::SharedTimerQt):
236         (WebCore::SharedTimerQt::~SharedTimerQt):
237         (WebCore::SharedTimerQt::inst):
238         (WebCore::SharedTimerQt::fire):
239         * platform/qt/SystemTimeQt.cpp: Added.
240         (WebCore::currentTime):
241
242 2006-08-21  Brady Eidson  <beidson@apple.com>
243
244         Reviewed by John
245
246         -Defers writing to the database via a timer and handles starting the timer
247          intelligently
248
249         * loader/icon/IconDatabase.cpp:
250         (WebCore::IconDatabase::IconDatabase):
251         (WebCore::IconDatabase::open): Don't start the update timer by default
252         (WebCore::IconDatabase::close): Call syncDatabase()
253         (WebCore::IconDatabase::setPrivateBrowsingEnabled): Call syncDatabase()
254         (WebCore::IconDatabase::setIconURLForPageURL): Setup the cached url, but defer the DB call
255         (WebCore::IconDatabase::setIconURLForPageURLInDatabase): Actually commit the url to the DB
256         (WebCore::IconDatabase::pruneUnretainedIconsOnStartup):
257         (WebCore::IconDatabase::updateDatabase): The updateTimer calls this, which just calls syncDatabase()
258         (WebCore::IconDatabase::syncDatabase): Add and remove pending pageURLs and iconURLs, and stop the updateTimer
259         * loader/icon/IconDatabase.h:
260
261 2006-08-21  Alexey Proskuryakov  <ap@nypop.com>
262
263         Reviewed by Eric.
264
265         - http://bugzilla.opendarwin.org/show_bug.cgi?id=10429
266           XSLTProcessor.transformToFragment crashes if the owner document is empty
267
268         Test: fast/js/xslt-fragment-in-empty-doc.html
269
270         * dom/XMLTokenizer.cpp:
271         (WebCore::XMLTokenizer::XMLTokenizer): Don't iterate over the element stack if it's empty.
272
273 2006-08-21  Brady Eidson  <beidson@apple.com>
274
275         Reviewed by Anders
276
277         -Added timer-based, deferred deletion of database records - PageURLs and Icons handled seperately
278          In the near future, we'll also have timer-based deferred *addition* of database records
279         -Keep retain/release counts in a hash instead of a DB table
280         -Keep only one hash record for the SiteIcons
281         -Renamed some methods for clarity
282
283         * bridge/mac/WebCoreIconDatabaseBridge.h: Renamed method for clarity
284         * bridge/mac/WebCoreIconDatabaseBridge.mm: Ditto
285         (-[WebCoreIconDatabaseBridge _hasEntryForIconURL:]): Ditto
286         * loader/icon/IconDatabase.cpp:
287         (WebCore::IconDatabase::IconDatabase):
288         (WebCore::IconDatabase::open): Added new timer setup
289         (WebCore::IconDatabase::iconForPageURL): Only work with one hash of the SiteIcons
290         (WebCore::IconDatabase::retainIconForPageURL): Keep count in a hash
291         (WebCore::IconDatabase::releaseIconForPageURL): Keep count in a hash, use deferred deletion
292         (WebCore::IconDatabase::retainIconURL): Added
293         (WebCore::IconDatabase::releaseIconURL): Added
294         (WebCore::IconDatabase::forgetPageURL):  Added
295         (WebCore::IconDatabase::isIconURLRetained): New and improved simplicity
296         (WebCore::IconDatabase::setIconDataForIconURL): Cleanup
297         (WebCore::IconDatabase::setIconURLForPageURL):
298         (WebCore::IconDatabase::pruneUnretainedIconsOnStartup): Renamed
299         (WebCore::IconDatabase::pruneIconsPendingDeletion): Added
300         (WebCore::IconDatabase::hasEntryForIconURL): Renamed for clarity
301         * loader/icon/IconDatabase.h: Added multiple stuffs
302
303 2006-08-21  Brady Eidson  <beidson@apple.com>
304
305         Reviewed by Maciej's rubberstamp
306
307         Removed stale file references from the Xcode.proj
308
309         * WebCore.xcodeproj/project.pbxproj:
310
311 2006-08-20  Nikolas Zimmermann  <zimmermann@kde.org>
312
313         Reviewed by Maciej. Landed by rwlbuis.
314
315         Fixes parts of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10463
316         WebKit should have Qt platform support
317
318         Removing HelperQt.h usage by creating appropriate operators
319         constructor in some of the platform classes, as suggested by Darin.
320
321         * CMakeLists.txt:
322         * platform/DeprecatedString.h:
323         * platform/Font.h:
324         * platform/PlatformString.h:
325         * platform/qt/ComboBoxQt.cpp:
326         (WebCore::PlatformComboBox::appendItem):
327         (WebCore::PlatformComboBox::appendGroupLabel):
328         (WebCore::PlatformComboBox::setFont):
329         * platform/qt/LineEditQt.cpp:
330         (WebCore::PlatformLineEdit::setFont):
331         (WebCore::PlatformLineEdit::setText):
332         (WebCore::PlatformLineEdit::text):
333         (WebCore::PlatformLineEdit::selectedText):
334         * platform/qt/ListBoxQt.cpp:
335         (WebCore::ListBox::setFont):
336         (WebCore::ListBox::appendItem):
337         * platform/qt/PlatformKeyboardEventQt.cpp:
338         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
339         * platform/qt/ScrollViewQt.cpp:
340         * platform/qt/StringQt.cpp: Added.
341         (WebCore::String::String):
342         (WebCore::String::operator QString):
343         (WebCore::DeprecatedString::operator QString):
344         * platform/qt/TextEditQt.cpp:
345         * platform/qt/WidgetQt.cpp:
346         (WebCore::Widget::setFont):
347
348 2006-08-18  Steve Falkenburg  <sfalken@apple.com>
349
350         Rubber stamped by adele.
351         
352         Fix call to WebFormDelegate's textFieldDidBeginEditing.
353
354         * rendering/RenderTextControl.cpp:
355         (WebCore::RenderTextControl::subtreeHasChanged):
356
357 2006-08-19  Nikolas Zimmermann  <zimmermann@kde.org>
358
359         Reviewed by Eric. Landed by rwlbuis.
360
361         Next chunk of the implementation for:
362         http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
363
364         WebKit should have Qt platform support
365
366         * platform/qt/KeyboardCodes.h: Added.
367         * platform/qt/PlatformKeyboardEventQt.cpp: Added.
368         (WebCore::keyIdentifierForQtKeyCode):
369         (WebCore::windowsKeyCodeForKeyEvent):
370         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
371         * platform/qt/PlatformMouseEventQt.cpp: Added.
372         (WebCore::):
373         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
374
375 2006-08-19  Nikolas Zimmermann  <zimmermann@kde.org>
376
377         Reviewed by Eric. Landed by rwlbuis.
378
379         Next chunk of the implementation for:
380         http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
381
382         WebKit should have Qt platform support
383
384         * platform/qt/AffineTransformQt.cpp: Added.
385         (WebCore::AffineTransform::AffineTransform):
386         (WebCore::AffineTransform::setMatrix):
387         (WebCore::AffineTransform::map):
388         (WebCore::AffineTransform::mapRect):
389         (WebCore::AffineTransform::isIdentity):
390         (WebCore::AffineTransform::m11):
391         (WebCore::AffineTransform::m12):
392         (WebCore::AffineTransform::m21):
393         (WebCore::AffineTransform::m22):
394         (WebCore::AffineTransform::dx):
395         (WebCore::AffineTransform::dy):
396         (WebCore::AffineTransform::reset):
397         (WebCore::AffineTransform::scale):
398         (WebCore::AffineTransform::rotate):
399         (WebCore::AffineTransform::translate):
400         (WebCore::AffineTransform::shear):
401         (WebCore::AffineTransform::det):
402         (WebCore::AffineTransform::invert):
403         (WebCore::AffineTransform::operator QMatrix):
404         (WebCore::AffineTransform::operator==):
405         (WebCore::AffineTransform::operator*=):
406         (WebCore::AffineTransform::operator*):
407         * platform/qt/BrowserExtensionQt.cpp: Added.
408         (WebCore::BrowserExtensionQt::BrowserExtensionQt):
409         (WebCore::BrowserExtensionQt::canRunModal):
410         (WebCore::BrowserExtensionQt::createNewWindow):
411         (WebCore::BrowserExtensionQt::canRunModalNow):
412         (WebCore::BrowserExtensionQt::runModal):
413         (WebCore::BrowserExtensionQt::goBackOrForward):
414         (WebCore::BrowserExtensionQt::historyURL):
415         (WebCore::BrowserExtensionQt::setTypedIconURL):
416         (WebCore::BrowserExtensionQt::setIconURL):
417         (WebCore::BrowserExtensionQt::getHistoryLength):
418         * platform/qt/BrowserExtensionQt.h: Added.
419         * platform/qt/CookieJarQt.cpp: Added.
420         (WebCore::setCookies):
421         (WebCore::cookies):
422         (WebCore::cookiesEnabled):
423         * platform/qt/PageQt.cpp: Added.
424         (WebCore::rootWindowForFrame):
425         (WebCore::Page::windowRect):
426         (WebCore::Page::setWindowRect):
427         * platform/qt/PathQt.cpp: Added.
428         (WebCore::Path::Path):
429         (WebCore::Path::~Path):
430         (WebCore::Path::operator=):
431         (WebCore::Path::contains):
432         (WebCore::Path::translate):
433         (WebCore::Path::boundingRect):
434         (WebCore::Path::moveTo):
435         (WebCore::Path::addLineTo):
436         (WebCore::Path::addQuadCurveTo):
437         (WebCore::Path::addBezierCurveTo):
438         (WebCore::Path::addArcTo):
439         (WebCore::Path::closeSubpath):
440         (WebCore::Path::addArc):
441         (WebCore::Path::addRect):
442         (WebCore::Path::addEllipse):
443         (WebCore::Path::clear):
444         * platform/qt/ScreenQt.cpp: Added.
445         (WebCore::screenRect):
446         (WebCore::screenDepth):
447         (WebCore::usableScreenRect):
448
449
450 2006-08-19  Nikolas Zimmermann  <zimmermann@kde.org>
451
452         Reviewed by Eric. Landed by rwlbuis.
453
454         First chunk of the implementation for:
455         http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
456
457         WebKit should have Qt platform support
458
459         * platform/qt/ComboBoxQt.cpp: Added.
460         (WebCore::PlatformComboBox::PlatformComboBox):
461         (WebCore::PlatformComboBox::~PlatformComboBox):
462         (WebCore::PlatformComboBox::setParentWidget):
463         (WebCore::PlatformComboBox::clear):
464         (WebCore::PlatformComboBox::appendItem):
465         (WebCore::PlatformComboBox::appendGroupLabel):
466         (WebCore::PlatformComboBox::appendSeparator):
467         (WebCore::PlatformComboBox::setCurrentItem):
468         (WebCore::PlatformComboBox::sizeHint):
469         (WebCore::PlatformComboBox::frameGeometry):
470         (WebCore::PlatformComboBox::setFrameGeometry):
471         (WebCore::PlatformComboBox::baselinePosition):
472         (WebCore::PlatformComboBox::setFont):
473         (WebCore::PlatformComboBox::focusPolicy):
474         (WebCore::PlatformComboBox::itemSelected):
475         (WebCore::PlatformComboBox::setWritingDirection):
476         (WebCore::PlatformComboBox::populate):
477         (WebCore::PlatformComboBox::populateMenu):
478         * platform/qt/LineEditQt.cpp: Added.
479         (WebCore::PlatformLineEdit::PlatformLineEdit):
480         (WebCore::PlatformLineEdit::~PlatformLineEdit):
481         (WebCore::PlatformLineEdit::setParentWidget):
482         (WebCore::PlatformLineEdit::setColors):
483         (WebCore::PlatformLineEdit::setAlignment):
484         (WebCore::PlatformLineEdit::setCursorPosition):
485         (WebCore::PlatformLineEdit::cursorPosition):
486         (WebCore::PlatformLineEdit::setEdited):
487         (WebCore::PlatformLineEdit::edited):
488         (WebCore::PlatformLineEdit::setFont):
489         (WebCore::PlatformLineEdit::setMaxLength):
490         (WebCore::PlatformLineEdit::maxLength):
491         (WebCore::PlatformLineEdit::setReadOnly):
492         (WebCore::PlatformLineEdit::isReadOnly):
493         (WebCore::PlatformLineEdit::setText):
494         (WebCore::PlatformLineEdit::text):
495         (WebCore::PlatformLineEdit::setWritingDirection):
496         (WebCore::PlatformLineEdit::selectAll):
497         (WebCore::PlatformLineEdit::hasSelectedText):
498         (WebCore::PlatformLineEdit::selectionStart):
499         (WebCore::PlatformLineEdit::selectedText):
500         (WebCore::PlatformLineEdit::setSelection):
501         (WebCore::PlatformLineEdit::sizeForCharacterWidth):
502         (WebCore::PlatformLineEdit::baselinePosition):
503         (WebCore::PlatformLineEdit::focusPolicy):
504         (WebCore::PlatformLineEdit::checksDescendantsForFocus):
505         (WebCore::PlatformLineEdit::setLiveSearch):
506         (WebCore::PlatformLineEdit::setAutoSaveName):
507         (WebCore::PlatformLineEdit::setMaxResults):
508         (WebCore::PlatformLineEdit::setPlaceholderString):
509         (WebCore::PlatformLineEdit::addSearchResult):
510         * platform/qt/ListBoxQt.cpp: Added.
511         (WebCore::ListBox::ListBox):
512         (WebCore::ListBox::~ListBox):
513         (WebCore::ListBox::setParentWidget):
514         (WebCore::ListBox::sizeForNumberOfLines):
515         (WebCore::ListBox::setSelectionMode):
516         (WebCore::ListBox::clear):
517         (WebCore::ListBox::doneAppendingItems):
518         (WebCore::ListBox::setSelected):
519         (WebCore::ListBox::isSelected):
520         (WebCore::ListBox::setEnabled):
521         (WebCore::ListBox::isEnabled):
522         (WebCore::ListBox::setWritingDirection):
523         (WebCore::ListBox::focusPolicy):
524         (WebCore::ListBox::checksDescendantsForFocus):
525         (WebCore::ListBox::clearCachedTextRenderers):
526         (WebCore::ListBox::setFont):
527         (WebCore::ListBox::appendItem):
528         * platform/qt/ScrollViewQt.cpp: Added.
529         (WebCore::ScrollView::ScrollView):
530         (WebCore::ScrollView::~ScrollView):
531         (WebCore::ScrollView::setParentWidget):
532         (WebCore::ScrollView::updateContents):
533         (WebCore::ScrollView::visibleWidth):
534         (WebCore::ScrollView::visibleHeight):
535         (WebCore::ScrollView::visibleContentRect):
536         (WebCore::ScrollView::setContentsPos):
537         (WebCore::ScrollView::resizeContents):
538         (WebCore::ScrollView::contentsX):
539         (WebCore::ScrollView::contentsY):
540         (WebCore::ScrollView::contentsWidth):
541         (WebCore::ScrollView::contentsHeight):
542         (WebCore::ScrollView::viewportToContents):
543         (WebCore::ScrollView::contentsToViewport):
544         (WebCore::ScrollView::scrollOffset):
545         (WebCore::ScrollView::scrollBy):
546         (WebCore::ScrollView::hScrollBarMode):
547         (WebCore::ScrollView::vScrollBarMode):
548         (WebCore::ScrollView::suppressScrollBars):
549         (WebCore::ScrollView::setHScrollBarMode):
550         (WebCore::ScrollView::setVScrollBarMode):
551         (WebCore::ScrollView::setScrollBarsMode):
552         (WebCore::ScrollView::setStaticBackground):
553         (WebCore::ScrollView::addChild):
554         (WebCore::ScrollView::removeChild):
555         (WebCore::ScrollView::scrollPointRecursively):
556         (WebCore::ScrollView::inWindow):
557         * platform/qt/TextEditQt.cpp: Added.
558         (WebCore::PlatformTextEdit::PlatformTextEdit):
559         (WebCore::PlatformTextEdit::~PlatformTextEdit):
560         (WebCore::PlatformTextEdit::setParentWidget):
561         (WebCore::PlatformTextEdit::setColors):
562         (WebCore::PlatformTextEdit::setAlignment):
563         (WebCore::PlatformTextEdit::setLineHeight):
564         (WebCore::PlatformTextEdit::setCursorPosition):
565         (WebCore::PlatformTextEdit::getCursorPosition):
566         (WebCore::PlatformTextEdit::setFont):
567         (WebCore::PlatformTextEdit::setReadOnly):
568         (WebCore::PlatformTextEdit::isReadOnly):
569         (WebCore::PlatformTextEdit::setDisabled):
570         (WebCore::PlatformTextEdit::isDisabled):
571         (WebCore::PlatformTextEdit::hasSelectedText):
572         (WebCore::PlatformTextEdit::setText):
573         (WebCore::PlatformTextEdit::text):
574         (WebCore::PlatformTextEdit::textWithHardLineBreaks):
575         (WebCore::PlatformTextEdit::focusPolicy):
576         (WebCore::PlatformTextEdit::setWordWrap):
577         (WebCore::PlatformTextEdit::wordWrap):
578         (WebCore::PlatformTextEdit::setScrollBarModes):
579         (WebCore::PlatformTextEdit::setWritingDirection):
580         (WebCore::PlatformTextEdit::selectionStart):
581         (WebCore::PlatformTextEdit::selectionEnd):
582         (WebCore::PlatformTextEdit::setSelectionStart):
583         (WebCore::PlatformTextEdit::setSelectionEnd):
584         (WebCore::PlatformTextEdit::selectAll):
585         (WebCore::PlatformTextEdit::setSelectionRange):
586         (WebCore::PlatformTextEdit::sizeWithColumnsAndRows):
587         (WebCore::PlatformTextEdit::checksDescendantsForFocus):
588         * platform/qt/WidgetQt.cpp: Added.
589         (WebCore::WidgetPrivate::WidgetPrivate):
590         (WebCore::WidgetPrivate::~WidgetPrivate):
591         (WebCore::Widget::Widget):
592         (WebCore::Widget::~Widget):
593         (WebCore::Widget::setClient):
594         (WebCore::Widget::client):
595         (WebCore::Widget::frameGeometry):
596         (WebCore::Widget::hasFocus):
597         (WebCore::Widget::setFocus):
598         (WebCore::Widget::clearFocus):
599         (WebCore::Widget::font):
600         (WebCore::Widget::setFont):
601         (WebCore::Widget::setCursor):
602         (WebCore::Widget::show):
603         (WebCore::Widget::hide):
604         (WebCore::Widget::setQWidget):
605         (WebCore::Widget::qwidget):
606         (WebCore::Widget::setParentWidget):
607         (WebCore::Widget::parentWidget):
608         (WebCore::Widget::setFrameGeometry):
609         (WebCore::Widget::mapFromGlobal):
610         (WebCore::Widget::scaleFactor):
611         (WebCore::Widget::lockDrawingFocus):
612         (WebCore::Widget::unlockDrawingFocus):
613         (WebCore::Widget::paint):
614         (WebCore::Widget::enableFlushDrawing):
615         (WebCore::Widget::isEnabled):
616         (WebCore::Widget::setIsSelected):
617         (WebCore::Widget::disableFlushDrawing):
618         (WebCore::Widget::setEnabled):
619         (WebCore::Widget::focusPolicy):
620
621 2006-08-19  Nikolas Zimmermann  <zimmermann@kde.org>
622
623         Reviewed by Eric. Landed by rwlbuis.
624
625         First chunk of the implementation for:
626         http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
627
628         WebKit should have Qt platform support
629
630         * platform/qt/ColorQt.cpp: Added.
631         (WebCore::Color::Color):
632         (WebCore::Color::operator QColor):
633         * platform/qt/FloatPointQt.cpp: Added.
634         (WebCore::FloatPoint::FloatPoint):
635         (WebCore::FloatPoint::operator QPointF):
636         * platform/qt/FloatRectQt.cpp: Added.
637         (WebCore::FloatRect::FloatRect):
638         (WebCore::FloatRect::operator QRectF):
639         * platform/qt/IntPointQt.cpp: Added.
640         (WebCore::IntPoint::IntPoint):
641         (WebCore::IntPoint::operator QPoint):
642         * platform/qt/IntRectQt.cpp: Added.
643         (WebCore::IntRect::IntRect):
644         (WebCore::IntRect::operator QRect):
645         * platform/qt/IntSizeQt.cpp: Added.
646         (WebCore::IntSize::IntSize):
647         (WebCore::IntSize::operator QSize):
648
649  2006-08-18  Nikolas Zimmermann  <zimmermann@kde.org>
650  
651          Reviewed by Eric. Landed by rwlbuis.
652  
653          Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10470
654          The Qt platform needs a KCanvas device.
655  
656          * kcanvas/device/qt/KCanvasClipperQt.cpp: Added.
657          (WebCore::KCanvasClipperQt::applyClip):
658          * kcanvas/device/qt/KCanvasClipperQt.h: Added.
659          (WebCore::KCanvasClipperQt::KCanvasClipperQt):
660          * kcanvas/device/qt/KCanvasPathQt.cpp: Added.
661          (WebCore::KCanvasPathQt::KCanvasPathQt):
662          (WebCore::KCanvasPathQt::~KCanvasPathQt):
663          (WebCore::KCanvasPathQt::isEmpty):
664          (WebCore::KCanvasPathQt::moveTo):
665          (WebCore::KCanvasPathQt::lineTo):
666          (WebCore::KCanvasPathQt::curveTo):
667          (WebCore::KCanvasPathQt::closeSubpath):
668          (WebCore::KCanvasPathQt::boundingBox):
669          (WebCore::KCanvasPathQt::strokeBoundingBox):
670          (WebCore::KCanvasPathQt::strokeContainsPoint):
671          (WebCore::KCanvasPathQt::containsPoint):
672          * kcanvas/device/qt/KCanvasPathQt.h: Added.
673          (WebCore::KCanvasPathQt::qtPath):
674          * kcanvas/device/qt/KRenderingDeviceQt.cpp: Added.
675          (WebCore::KRenderingDeviceContextQt::KRenderingDeviceContextQt):
676          (WebCore::KRenderingDeviceContextQt::~KRenderingDeviceContextQt):
677          (WebCore::KRenderingDeviceContextQt::concatCTM):
678          (WebCore::KRenderingDeviceContextQt::ctm):
679          (WebCore::KRenderingDeviceContextQt::mapFromVisual):
680          (WebCore::KRenderingDeviceContextQt::mapToVisual):
681          (WebCore::KRenderingDeviceContextQt::clearPath):
682          (WebCore::KRenderingDeviceContextQt::addPath):
683          (WebCore::KRenderingDeviceContextQt::createGraphicsContext):
684          (WebCore::KRenderingDeviceContextQt::painter):
685          (WebCore::KRenderingDeviceContextQt::pathBBox):
686          (WebCore::KRenderingDeviceContextQt::setFillRule):
687          (WebCore::KRenderingDeviceContextQt::fillPath):
688          (WebCore::KRenderingDeviceContextQt::strokePath):
689          (WebCore::KRenderingDeviceQt::KRenderingDeviceQt):
690          (WebCore::KRenderingDeviceQt::~KRenderingDeviceQt):
691          (WebCore::KRenderingDeviceQt::popContext):
692          (WebCore::KRenderingDeviceQt::pushContext):
693          (WebCore::KRenderingDeviceQt::qtContext):
694          (WebCore::KRenderingDeviceQt::contextForImage):
695          (WebCore::KRenderingDeviceQt::stringForPath):
696          (WebCore::KRenderingDeviceQt::createResource):
697          (WebCore::KRenderingDeviceQt::createPaintServer):
698          (WebCore::KRenderingDeviceQt::createFilterEffect):
699
700 2006-08-17  Nikolas Zimmermann  <zimmermann@kde.org>
701
702         Reviewed by Eric. Landed by rwlbuis.
703
704         Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10466
705         WebKit should have Qt platform support.
706
707         * platform/Color.h:
708         * platform/Cursor.h:
709         (WebCore::Cursor::Cursor):
710         * platform/FloatPoint.h:
711         * platform/FloatRect.h:
712         * platform/GlyphBuffer.h:
713         (WebCore::GlyphBuffer::glyphAt):
714         (WebCore::GlyphBuffer::advanceAt):
715         (WebCore::GlyphBuffer::add):
716         * platform/GraphicsContext.h:
717         * platform/ImageSource.h:
718         * platform/IntPoint.h:
719         * platform/IntRect.h:
720         * platform/IntSize.h:
721         * platform/ListBox.h:
722         * platform/Path.h:
723         * platform/PlatformKeyboardEvent.h:
724         * platform/PlatformMouseEvent.h:
725         * platform/ResourceLoader.h:
726         * platform/ResourceLoaderClient.h:
727         * platform/ResourceLoaderInternal.h:
728         (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
729         * platform/ScrollView.h:
730         * platform/Widget.h:
731
732 2006-08-17  Nikolas Zimmermann  <zimmermann@kde.org>
733
734         Reviewed by Eric. Landed by rwlbuis.
735
736         Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10465
737         General WebKit Linux build fixes.
738
739         * kcanvas/KCanvasFilters.cpp:
740         (WebCore::operator<<):
741         * kcanvas/RenderSVGImage.cpp:
742         * ksvg2/css/SVGCSSStyleSelector.cpp:
743         * ksvg2/svg/SVGAnimateColorElement.cpp:
744         * ksvg2/svg/SVGMaskElement.cpp:
745         * ksvg2/svg/SVGPatternElement.cpp:
746         * page/Frame.h:
747         * rendering/RenderStyle.h:
748         (WebCore::RenderStyle::deleteBindingURIs):
749         * xml/DOMParser.cpp:
750
751 2006-08-17  Nikolas Zimmermann  <zimmermann@kde.org>
752
753         Reviewed by Eric. Landed by rwlbuis.
754
755         Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10464
756         Offer a cmake build system for Qt platform.
757
758         * CMakeLists.txt: Added.
759
760 2006-08-17  David Harrison  <harrison@apple.com>
761
762         Reviewed by John Sullivan.
763
764         <rdar://problem/4671069> REGRESSION: Popup buttons in web pages aren't exposed as AXPopupButtons
765
766         Accessorized RenderMenuList objects.
767         
768         * bridge/mac/WebCoreAXObject.mm:
769         (-[WebCoreAXObject mouseButtonListener]):
770         Trivial formatting.
771         
772         (-[WebCoreAXObject actionElement]):
773         Return the HTMLSelectElement.
774         
775         (-[WebCoreAXObject firstChild]):
776         (-[WebCoreAXObject lastChild]):
777         (-[WebCoreAXObject previousSibling]):
778         (-[WebCoreAXObject nextSibling]):
779         (-[WebCoreAXObject parentObject]):
780         (-[WebCoreAXObject parentObjectUnignored]):
781         (-[WebCoreAXObject isAttachment]):
782         (-[WebCoreAXObject attachmentView]):
783         Trivial formatting.
784
785         (-[WebCoreAXObject role]):
786         Return NSAccessibilityPopUpButtonRole.
787
788         (-[WebCoreAXObject subrole]):
789         Trivial formatting.
790         
791         (-[WebCoreAXObject roleDescription]):
792         Return NSAccessibilityPopUpButtonRole.
793         
794         (-[WebCoreAXObject textUnderElement]):
795         Trivial formatting.
796
797         (-[WebCoreAXObject value]):
798         Return the RenderMenuList::text().
799         
800         (-[WebCoreAXObject position]):
801          Trivial formatting.
802
803         (-[WebCoreAXObject accessibilityIsIgnored]):
804         - Ignore popup menu items because AppKit does.
805         - Remove redundant check for buttonTag (earlier isControl() check suffices).
806         
807         (-[WebCoreAXObject accessibilityAttributeNames]):
808         (-[WebCoreAXObject accessibilityActionNames]):
809         (-[WebCoreAXObject accessibilityAttributeValue:]):
810         Trivial formatting.
811         
812         (-[WebCoreAXObject doAXTextMarkerRangeForUnorderedTextMarkers:]):
813         Removed old debugging code that is no longer needed.
814         Trivial formatting.
815         
816         (-[WebCoreAXObject doAXSentenceTextMarkerRangeForTextMarker:]):
817         (-[WebCoreAXObject doAXParagraphTextMarkerRangeForTextMarker:]):
818         (-[WebCoreAXObject removeAXObjectID]):
819         Trivial formatting.
820         
821         * html/HTMLSelectElement.cpp:
822         (WebCore::HTMLSelectElement::accessKeyAction):
823         Call click() instead of focus().
824         
825         * rendering/RenderMenuList.cpp:
826         (WebCore::RenderMenuList::text):
827         Added for easy access to popup's current text.
828         
829         * rendering/RenderMenuList.h:
830         (WebCore::RenderMenuList::isMenuList):
831         * rendering/RenderObject.h:
832         (WebCore::RenderObject::isMenuList):
833         Added so popups can be identified.
834
835 2006-08-17  David Harrison  <harrison@apple.com>
836
837         Reviewed by Maciej.
838
839         <rdar://problem/4527201> REGRESSION: AXTextMarkerRangeForUnorderedTextMarkers returns out of order range
840
841         Test cases added: None.  Manual AX testing is way too awkward, and automated testing
842         is not possible.  See following bug...
843             <rdar://problem/4256882> Need automated testing support for accessibility APIs
844
845         * bridge/mac/AXObjectCacheMac.mm:
846         (WebCore::AXObjectCache::visiblePositionForTextMarker):
847         Validate the marker by comparing the node and offset to those of the resulting VisiblePosition.
848
849 2006-08-17  Nikolas Zimmermann  <zimmermann@kde.org>
850
851         Reviewed by Anders.
852
853         Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10447
854         AffineTransform should be multi-platform compatible
855
856         * platform/AffineTransform.h:
857         * platform/cg/AffineTransformCG.cpp:
858         (WebCore::AffineTransform::m11):
859         (WebCore::AffineTransform::m12):
860         (WebCore::AffineTransform::m21):
861         (WebCore::AffineTransform::m22):
862         (WebCore::AffineTransform::dx):
863         (WebCore::AffineTransform::dy):
864
865 2006-08-16  David Hyatt  <hyatt@apple.com>
866
867         Fix an issue with CSS2 system fonts where they did not respect text
868         zoom.  This was most visible with the new control fonts used for form
869         controls (they stopped swapping between small/mini/regular as you zoomed).
870
871         Reviewed by beth
872
873         * css/cssstyleselector.cpp:
874         (WebCore::CSSStyleSelector::applyProperty):
875
876 2006-08-15  Justin Garcia  <justin.garcia@apple.com>
877
878         Reviewed by thatcher
879         
880         First part of fix for:
881         <rdar://problem/4384589>
882         Mail hung on paste text
883         
884         Fixes:
885         <http://bugzilla.opendarwin.org/show_bug.cgi?id=8592>
886         Extra line left after deleting whitespace:pre text
887         <rdar://problem/4128080> Paste as HTML does not yield equivalent style
888         <rdar://problem/4046469> Box styles on first element aren't copied/pasted
889         Copy/paste of arstechnica.com
890         
891         Here's how we avoid adding redundant style information on paste: insert 
892         the fragment and do a test rendering, save away style information for 
893         every node in the fragment, remove all style information from the fragment, 
894         remove the fragment, insert it into the appropriate place in the document, 
895         then restore only those styles gathered during the test insertion that aren't
896         redundant.  Restoring the styles in this way results in an ApplyStyleCommand 
897         and a layout for nearly every inserted node.  
898         Instead we want to insert the fragment into the document without removing the 
899         style information, then mark style nodes and inline style declarations for 
900         removal if they are redundant, and sweep to remove them.  This means that we 
901         can't rely on ReplacementFragment::wasBlock anymore, because blocks will now 
902         have style spans around them.  This patch removes the use of wasBlock in 
903         ReplaceSelectionCommand.
904         
905         * editing/CompositeEditCommand.cpp:
906         (WebCore::CompositeEditCommand::moveParagraphs): Added code
907         to remove the line placeholder left after a move from preserveNewline text.
908         * editing/DeleteSelectionCommand.cpp:
909         (WebCore::DeleteSelectionCommand::doApply): Don't add a placeholder if 
910         we're deleting a paragraph in preserveNewline text.
911         * editing/JSEditor.cpp: Pass true to prevent nesting.
912         * editing/ReplaceSelectionCommand.cpp: Removed wasBlock and friends.
913         (WebCore::ReplacementFragment::ReplacementFragment): Ditto.
914         (WebCore::ReplacementFragment::saveRenderingInfo): Ditto.
915         (WebCore::RenderingInfo::RenderingInfo): Ditto.
916         (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand):
917         (WebCore::ReplaceSelectionCommand::shouldMergeStart): Combined the to/from
918         merging rules into one method.
919         (WebCore::ReplaceSelectionCommand::shouldMergeEnd):
920         (WebCore::ReplaceSelectionCommand::shouldMerge):
921         (WebCore::ReplaceSelectionCommand::doApply): 
922         Don't do nesting prevention when pasting into an empty paragraph, this
923         fixes 4046469, the common cause of paste fidelity bugs, but needs
924         to be tweaked a little because this can lead to margin/border build-up
925         on repeated copy/pastes.
926         Don't track startPos in addition to insertionPos.  It was never used.
927         Fixed a bug where a fragment starting with an interchange newline would
928         cause content to be put outside of an editable region when pasting at the 
929         very end of it.
930         Adjust insertionPos before insertion (not during) and do not consult wasBlock
931         to decide whether or not to do so.
932         Changed the way we do the start merge: insert the fragment, then stich 
933         paragraphs together, in the same way that we do the end merge.  This 
934         doesn't require wasBlock and fixes bugs.
935         Replaced some uses of insertionPos with endOfInsertedContent.
936         Fixed a bug in the expansion of the last incoming br (a "collapsed" br
937         is one where !isStartOfParagraph([br,0])).
938         Removed the special case code that did the end merge for the preserveNewline 
939         case, since this patch fixes the moveParagraph bug in the preserveNewline case.
940         Removed some unused variables.
941         (WebCore::ReplaceSelectionCommand::shouldRemoveEndBR): An endBR that was 
942         holding a line open should always be displaced by inserted content, unless 
943         the inserted content ends with a br.
944         (WebCore::ReplaceSelectionCommand::updateNodesInserted):
945         * editing/ReplaceSelectionCommand.h:
946         (WebCore::RenderingInfo::style):
947         * editing/markup.cpp:
948         (WebCore::createMarkup): Only add mail blockquotes and list/table/pre when
949         annotate is true (when we're creating markup for the pasteboard).
950
951 2006-08-16  John Sullivan  <sullivan@apple.com>
952
953         Reviewed by Brady Eidson
954         
955         - fixed <rdar://problem/4637156> underlines appearing in white selection text
956
957         * rendering/InlineFlowBox.cpp:
958         (WebCore::InlineFlowBox::paintDecorations):
959         bail out if phase is PaintPhaseSelection and forceWhiteText is true
960
961 2006-08-16  Brady Eidson  <beidson@apple.com>
962
963         Reviewed by John
964
965         Updated the DB version number and added a helpful comment explaining its meaning
966
967         * loader/icon/IconDatabase.cpp:
968
969 2006-08-16  Brady Eidson  <beidson@apple.com>
970
971         Reviewed by Maciej
972
973         Major refactoring of new iconDB:
974         -Instead of private browsing being handled by in-memory tables, it's now handled
975          by a separate in-memory database with the same table names.  This allows us to 
976          re-use the same SQL on either the main or private-browsing database
977         -So it follows, I broke out much of the SQL queries into seperate methods suffixed with
978          "Query" that take a database as the method's argument so the same language can run on
979          both private and main tables
980         -Now that we have two DBs, moved the retain/release count to the m_mainDB
981         -While I was at it, updated the schema to combine the Icon and IconResource table - cuts 
982          down on some high-usage, low value queries which were too expensive
983         -Ditched the _url -> url convention for escaping urls for SQL.  Now its url and escapedURL
984         -Pruned tons of unused methods from previous revisions
985
986      * bridge/mac/WebCoreIconDatabaseBridge.h: Removed isIconExpiredForPageURL as it was never used 
987         * bridge/mac/WebCoreIconDatabaseBridge.mm: Ditto
988         * loader/icon/IconDatabase.cpp:
989         (WebCore::IconDatabase::IconDatabase): Updated initializer list
990         (WebCore::IconDatabase::open): Sets up both databases
991         (WebCore::IconDatabase::close): Closes both databases
992         (WebCore::IconDatabase::isEmpty): Queries both databases for at least 1 record
993         (WebCore::IconDatabase::isValidDatabase): Reflect the updated schema
994         (WebCore::IconDatabase::clearDatabaseTables): Ditto - and takes DB as a parameter
995         (WebCore::IconDatabase::createDatabaseTables): Ditto
996         (WebCore::IconDatabase::imageDataForIconURL): style cleanup, and using a query-function
997         (WebCore::IconDatabase::setPrivateBrowsingEnabled): Resets private DB instead of private tables
998         (WebCore::IconDatabase::isIconExpiredForIconURL): Uses a query-function on each DB
999         (WebCore::IconDatabase::iconURLForPageURL): Uses a query-function on each DB
1000         (WebCore::IconDatabase::retainIconForPageURL): Retain count DB changes 
1001         (WebCore::IconDatabase::releaseIconForPageURL): Ditto
1002         (WebCore::IconDatabase::isIconURLRetained): Determine if it's time to prune a released icon yet
1003         (WebCore::IconDatabase::forgetIconForIconURLFromDatabase): Alot simpler
1004         (WebCore::IconDatabase::setIconDataForIconURL): Style cleanup
1005         (WebCore::IconDatabase::setHaveNoIconForIconURL): Ditto
1006         (WebCore::IconDatabase::setIconURLForPageURL): Ditto - and using a query-function
1007         (WebCore::IconDatabase::establishIconIDForIconURL): Style cleanup
1008         (WebCore::IconDatabase::pruneUnreferencedIcons): DB name change
1009         (WebCore::IconDatabase::pruneUnretainedIcons): Ditto
1010         (WebCore::IconDatabase::hasIconForIconURL): Simpler, using a query-function
1011         (WebCore::IconDatabase::~IconDatabase):
1012         (WebCore::pageURLTableIsEmptyQuery): Self-explanatory SQL query
1013         (WebCore::imageDataForIconURLQuery): Self-explanatory SQL query
1014         (WebCore::timeStampForIconURLQuery): Self-explanatory SQL query
1015         (WebCore::iconURLForPageURLQuery): Self-explanatory SQL query
1016         (WebCore::forgetPageURLQuery): Self-explanatory SQL query
1017         (WebCore::setIconIDForPageURLQuery): Self-explanatory SQL query
1018         (WebCore::getIconIDForIconURLQuery): Self-explanatory SQL query
1019         (WebCore::addIconForIconURLQuery): Self-explanatory SQL query
1020         (WebCore::hasIconForIconURLQuery): Self-explanatory SQL query
1021      * loader/icon/IconDatabase.h: Some new/changed methods, pruned methods, and new comments
1022         (WebCore::IconDatabase::isOpen):  Changed our meaning of "isOpen" to reflect the 2 databases
1023
1024 2006-08-15  Jonas Witt <jonas.witt@gmail.com>
1025
1026         Reviewed by Darin.
1027
1028         - added ObjC wrappers for the KeyboardEvent and WheelEvent initializers
1029           http://bugzilla.opendarwin.org/show_bug.cgi?id=9736
1030
1031         * bindings/objc/DOMEvents.mm:
1032         (-[DOMKeyboardEvent initKeyboardEvent::::::::::]):
1033         * bindings/objc/DOMEventsNonstandard.mm:
1034         (-[DOMWheelEvent initWheelEvent:::::::::::]):
1035         * bindings/objc/DOMPrivate.h:
1036
1037         - added an initializer for the WheelEvent
1038
1039         * dom/WheelEvent.cpp:
1040         (WebCore::WheelEvent::initWheelEvent):
1041         * dom/WheelEvent.h:
1042
1043 2006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
1044
1045         Reviewed by Tim H.
1046
1047         Build fix:  DWARF and -gfull are incompatible with symbol separation.
1048
1049         * WebCore.xcodeproj/project.pbxproj:
1050
1051 2006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
1052
1053         Reviewed by Tim H.
1054
1055         http://bugzilla.opendarwin.org/show_bug.cgi?id=10394
1056         Bug 10394: WebKit Release and Production configurations should enable dead code stripping
1057
1058         * WebCore.xcodeproj/project.pbxproj:
1059
1060 2006-08-15  Geoffrey Garen  <ggaren@apple.com>
1061
1062         Reviewed by Darin.
1063         
1064         - This patch reworks a previous fix for <rdar://problem/3524912> repro 
1065         crash in KHTMLParser::parseToken, due to parser's current element being 
1066         destroyed (www.gnnetcom.dk), along with subsequent adjustments to fix
1067         leaks.
1068         
1069         The previous solutions caused a ~2% performance regression on iBench HTML,
1070         due to RefPtr churn. The optimizations here gain back that ~2% plus ~1% more,
1071         for a total win of ~3% vs current TOT.
1072         
1073         We can merge this fix to the branch to fix <rdar://problem/4661982> 
1074         (crash in KHTMLParser::popBlock).
1075         
1076         The solution here is:
1077         (1) Don't let the parser ref document nodes -- that causes leaks.
1078         (2) Handle ref/deref manually, to avoid RefPtr churn. Specifically, when 
1079         moving a node between stacks or to/from 'current', rather than deref'ing
1080         and then ref'ing again, simply move the node, along with its refcount, to
1081         its new location, and overwrite its old location.
1082  
1083         * WebCore.xcodeproj/project.pbxproj:
1084         * html/HTMLParser.cpp:
1085         (WebCore::HTMLStackElem::HTMLStackElem):
1086         (WebCore::HTMLStackElem::derefNode):
1087         (WebCore::HTMLParser::HTMLParser):
1088         (WebCore::HTMLParser::setCurrent):
1089         (WebCore::HTMLParser::insertNode):
1090         (WebCore::HTMLParser::popNestedHeaderTag):
1091         (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
1092         (WebCore::HTMLParser::reopenResidualStyleTags):
1093         (WebCore::HTMLParser::pushBlock):
1094         (WebCore::HTMLParser::popBlock):
1095         (WebCore::HTMLParser::popOneBlockCommon):
1096         (WebCore::HTMLParser::popOneBlock):
1097         (WebCore::HTMLParser::moveOneBlockToStack):
1098         * html/HTMLParser.h:
1099
1100 2006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
1101
1102         Reviewed by Tim H.
1103
1104         http://bugzilla.opendarwin.org/show_bug.cgi?id=10384
1105         Bug 10384: Switch to DWARF for Release configuration
1106
1107         * WebCore.xcodeproj/project.pbxproj:
1108
1109 2006-08-15  Mark Rowe  <opendarwin.org@bdash.net.nz>
1110
1111         Reviewed by Hyatt.
1112         Tweaked and landed by Darin.
1113
1114         http://bugzilla.opendarwin.org/show_bug.cgi?id=10399
1115         Bug 10399: RenderTextArea is unused
1116
1117         * WebCore.vcproj/WebCore/WebCore.vcproj:
1118         * WebCore.xcodeproj/project.pbxproj:
1119         * WebCoreSources.bkl:
1120         Removed RenderTextArea source files.
1121
1122         * html/HTMLTextAreaElement.cpp: Removed include of RenderTextArea.h.
1123         * html/HTMLTextAreaElement.h: Removed forward declaration of RenderTextArea.
1124
1125         * platform/mac/WidgetMac.mm: (WebCore::Widget::paint): Updated a comment.
1126
1127         * platform/TextBox.h: Removed.
1128         * platform/mac/TextBoxMac.mm: Removed.
1129         * platform/mac/WebCoreTextArea.h: Removed.
1130         * platform/mac/WebCoreTextArea.mm: Removed.
1131         * rendering/RenderTextArea.cpp: Removed.
1132         * rendering/RenderTextArea.h: Removed.
1133
1134 2006-08-15  Brady Eidson  <beidson@apple.com>
1135
1136         Reviewed by THE OTHER Maciej...
1137
1138         Two small fixes -
1139         1) Renamed retain/release methods to add PageUrl in - we're being consistent and clear in the WebCore API
1140         2) Fixed a bug where a null SiteIcon reference would be added into the pageURLToSiteIcon map causing a
1141         null dereference later
1142
1143         * bridge/mac/WebCoreIconDatabaseBridge.mm:
1144         (-[WebCoreIconDatabaseBridge retainIconForURL:]):  Changed IconDatabase method name
1145         (-[WebCoreIconDatabaseBridge releaseIconForURL:]):  ditto
1146         * loader/icon/IconDatabase.cpp:
1147         (WebCore::IconDatabase::retainIconForPageURL):  Name change
1148         (WebCore::IconDatabase::releaseIconForPageURL):  ditto
1149         (WebCore::IconDatabase::setIconURLForPageURL):  Added the null site-icon check when changing a PageURL's iconURL
1150         * loader/icon/IconDatabase.h:  Some renames
1151
1152 2006-08-14  Eric Seidel  <eric@eseidel.com>
1153
1154         Reviewed by mjs.
1155
1156         <mask>, <marker>, <pattern> inside <defs> do not work
1157         http://bugzilla.opendarwin.org/show_bug.cgi?id=6548
1158
1159         * ksvg2/svg/SVGDefsElement.cpp:
1160         (WebCore::SVGDefsElement::SVGDefsElement): moved to .cpp file
1161         (WebCore::SVGDefsElement::isValid): moved to .cpp file
1162         (WebCore::SVGDefsElement::rendererIsNeeded): Added.
1163         (WebCore::SVGDefsElement::createRenderer): Added.
1164         * ksvg2/svg/SVGDefsElement.h:
1165         * ksvg2/svg/SVGGElement.cpp:
1166         (WebCore::SVGGElement::SVGGElement): adjusted spacing
1167         (WebCore::SVGGElement::parseMappedAttribute): adjusted spacing
1168         (WebCore::SVGDummyElement::SVGDummyElement): adjusted spacing
1169
1170 2006-08-14  Eric Seidel  <eric@eseidel.com>
1171
1172         Reviewed by darin and mjs.
1173         
1174         Add better SVGLoad event support.
1175         http://bugzilla.opendarwin.org/show_bug.cgi?id=6010
1176         There will still need to be additional support added for <link> and <script> elements.
1177         Not all of the error -> loaded -> error transition cases work yet.
1178
1179         * dom/EventTargetNode.cpp:
1180         (WebCore::EventTargetNode::dispatchGenericEvent):
1181         * html/HTMLImageLoader.cpp:
1182         (WebCore::HTMLImageLoader::dispatchLoadEvent):
1183         * html/HTMLImageLoader.h:
1184         (WebCore::HTMLImageLoader::haveFiredLoadEvent):
1185         (WebCore::HTMLImageLoader::setHaveFiredLoadEvent):
1186         * ksvg2/misc/SVGImageLoader.cpp:
1187         (WebCore::SVGImageLoader::SVGImageLoader):
1188         (WebCore::SVGImageLoader::dispatchLoadEvent):
1189         * ksvg2/misc/SVGImageLoader.h:
1190         * ksvg2/svg/SVGAElement.cpp:
1191         (WebCore::SVGAElement::parseMappedAttribute):
1192         * ksvg2/svg/SVGAnimatedBoolean.h:
1193         * ksvg2/svg/SVGElement.cpp:
1194         (WebCore::SVGElement::SVGElement):
1195         (WebCore::SVGElement::parseMappedAttribute):
1196         (WebCore::SVGElement::haveLoadedRequiredResources):
1197         (WebCore::SVGElement::sendSVGLoadEventIfPossible):
1198         (WebCore::SVGElement::closeRenderer):
1199         * ksvg2/svg/SVGElement.h:
1200         (WebCore::SVGElement::rendererIsNeeded):
1201         (WebCore::svg_dynamic_cast):
1202         * ksvg2/svg/SVGExternalResourcesRequired.h:
1203         * ksvg2/svg/SVGImageElement.cpp:
1204         (SVGImageElement::SVGImageElement):
1205         (SVGImageElement::haveLoadedRequiredResources):
1206         * ksvg2/svg/SVGImageElement.h:
1207         * ksvg2/svg/SVGSVGElement.cpp:
1208         (WebCore::SVGSVGElement::parseMappedAttribute):
1209         * ksvg2/svg/SVGScriptElement.cpp:
1210         (WebCore::SVGScriptElement::SVGScriptElement):
1211         (WebCore::SVGScriptElement::parseMappedAttribute):
1212         (WebCore::SVGScriptElement::executeScript):
1213         * xml/xmlhttprequest.cpp:
1214         (WebCore::XMLHttpRequest::callReadyStateChangeListener): use new Event() instead of createEvent
1215
1216 2006-08-14  Anders Carlsson  <acarlsson@apple.com>
1217
1218         Reviewed by Maciej.
1219
1220         http://bugzilla.opendarwin.org/show_bug.cgi?id=10393
1221         Autogenerate NodeIterator and TreeWalker.
1222         
1223         * DerivedSources.make:
1224         * WebCore.xcodeproj/project.pbxproj:
1225         Add new files.
1226         
1227         * bindings/js/JSNodeIteratorCustom.cpp: Added.
1228         (WebCore::JSNodeIterator::mark):
1229         * bindings/js/JSTreeWalkerCustom.cpp: Added.
1230         (WebCore::JSTreeWalker::mark):
1231         
1232         * bindings/js/kjs_traversal.cpp:
1233         * bindings/js/kjs_traversal.h:
1234         Remove implementations of DOMNodeIterator and DOMTreeWalker.
1235
1236         * bindings/scripts/CodeGeneratorJS.pm:
1237         Add "CustomMarkFunction" attribute for classes where mark() needs to be overridden.
1238         
1239         * bindings/objc/DOM.mm:
1240         (-[DOMNodeIterator detach]):
1241         * dom/NodeIterator.cpp:
1242         (WebCore::NodeIterator::detach):
1243         * dom/NodeIterator.h:
1244         Get rid of exception in detach, it isn't used at all and this function can't throw an exception according to the spec.
1245         * dom/NodeIterator.idl: Added.
1246         * dom/TreeWalker.idl: Added.
1247
1248 2006-08-14  Brady Eidson  <beidson@apple.com>
1249
1250         Reviewed by John
1251
1252         The changes are plentiful, but small, mostly to improve performance
1253         1) Add a bool flag to SiteIcon to stop it from querying the database over and over
1254         2) Added a pageURL->iconURL hashmap to cache database results, as an optimization
1255         3) Fix a bug in setIconURLForPageURL code where the pageURL would still point to an old icon
1256         4) Added isIconURLRetained() to optimize the retain count check
1257         5) Prune old, unused code
1258
1259         * loader/icon/IconDatabase.cpp:
1260         (WebCore::IconDatabase::imageDataForIconID): Removed unused code
1261         (WebCore::IconDatabase::imageDataForIconURL): Removed unused code
1262         (WebCore::IconDatabase::imageDataForPageURL): Removed unused code
1263         (WebCore::IconDatabase::isIconExpiredForIconURL): Removed LOG msg
1264         (WebCore::IconDatabase::isIconExpiredForPageURL): Removed LOG msg
1265         (WebCore::IconDatabase::iconURLForPageURL): Added a hashmap cache to avoid common queries
1266         (WebCore::IconDatabase::releaseIconForURL): Changed to is isRetained() instead of retainCount()
1267         (WebCore::IconDatabase::isIconURLRetained): Added - we don't care about the actual retain count
1268           for an icon so much as whether or not it is retained
1269         (WebCore::IconDatabase::setIconURLForPageURL): If the new and old iconURLs are the same, skip the
1270           SQLite code
1271         * loader/icon/IconDatabase.h:  Added new methods/variables
1272         * loader/icon/SiteIcon.cpp:
1273         (SiteIcon::SiteIcon): Added a flag so it only queries the database for icon data once
1274         (SiteIcon::getImage): Ditto
1275
1276 2006-08-14  David Hyatt  <hyatt@apple.com>
1277
1278         Fix for bug 10385, add more support for crappy pseudo-XML-in-HTML.
1279
1280         Reviewed by ggaren
1281
1282         Added fast/parser/bad-xml-slash.html
1283
1284         * html/HTMLTokenizer.cpp:
1285         (WebCore::HTMLTokenizer::parseTag):
1286
1287 2006-08-14  Darin Adler  <darin@apple.com>
1288
1289         Reviewed by John Sullivan.
1290
1291         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10204
1292           REGRESSION: title tag parsing problem breaks Travelocity and Google Analytics pages
1293
1294         Test: fast/parser/title-error-test.html
1295
1296         * html/HTMLParser.cpp: (WebCore::HTMLParser::handleError): Fixed an error
1297         handling case that was skipping until a </style> tag in code that was shared
1298         between both <title> and <style>. Also rearranged the code a tiny bit.
1299
1300 2006-08-14  Darin Adler  <darin@apple.com>
1301
1302         Reviewed by Hyatt.
1303
1304         - fixed some storage leaks
1305           (part of http://bugzilla.opendarwin.org/show_bug.cgi?id=10259)
1306
1307         * platform/mac/ResourceLoaderMac.mm: (WebCore::ResourceLoader::start):
1308         Rearrange code so that "delete this" is called any time the function returns
1309         false -- ownership was inconsistent before.
1310
1311         * rendering/RenderContainer.cpp: (WebCore::RenderContainer::removeChildNode):
1312         Call deleteLineBoxWrapper even when documentBeingDestroyed() is true, because
1313         some of what it does has to be done during destruction. A little awkward since
1314         I preserved the order of operations. Perhaps we could structure this better later.
1315
1316 2006-08-14  David Harrison  <harrison@apple.com>
1317
1318         Reviewed by John Sullivan and Geoff Garen.
1319
1320         <rdar://problem/3854950> AX Seed: Blackboard Learning Systems - frame names need to be put in AXDescription AXAttribute
1321
1322         Test cases added: None.  Manual AX testing is way too awkward, and automated testing
1323         is not possible.  See following bug...
1324             <rdar://problem/4256882> Need automated testing support for accessibility APIs
1325
1326         * bridge/mac/WebCoreAXObject.mm:
1327         (-[WebCoreAXObject accessibilityDescription]):
1328         For a web area, return the name of the owning frame or iframe.
1329         
1330         (-[WebCoreAXObject accessibilityAttributeNames]):
1331         Advertize NSAccessibilityDescriptionAttribute.
1332         
1333         (-[WebCoreAXObject rendererForView:]):
1334         Clean up some old naming.
1335
1336 2006-08-11  Anders Carlsson  <acarlsson@apple.com>
1337
1338         Reviewed by Darin.
1339
1340         http://bugzilla.opendarwin.org/show_bug.cgi?id=10353
1341         XMLSerializer and DOMParser should have real implementations
1342         
1343         Make real implementation files for DOMParser and XMLSerializer and wrap them
1344         using our bindings generation.
1345         
1346         * DerivedSources.make:
1347         * WebCore.xcodeproj/project.pbxproj:
1348         * bindings/js/JSDOMParser.cpp: Removed.
1349         * bindings/js/JSDOMParser.h: Removed.
1350         * bindings/js/JSXMLSerializer.cpp: Removed.
1351         * bindings/js/JSXMLSerializer.h: Removed.
1352         * bindings/js/kjs_window.cpp:
1353         (KJS::Window::getValueProperty):
1354         * bindings/js/kjs_window.h:
1355         (KJS::Window::):
1356         * page/DOMWindow.idl:
1357         * xml/DOMParser.cpp: Added.
1358         (WebCore::DOMParser::parseFromString):
1359         * xml/DOMParser.h: Added.
1360         * xml/DOMParser.idl: Added.
1361         * xml/XMLSerializer.cpp: Added.
1362         (WebCore::XMLSerializer::serializeToString):
1363         * xml/XMLSerializer.h: Added.
1364         * xml/XMLSerializer.idl: Added.
1365
1366 2006-08-14  Maciej Stachowiak  <mjs@apple.com>
1367
1368         Reviewed by Brady.
1369
1370         - removed WebKit-level dependencies from WebFormDataStream. Use WebCore version of system interface
1371
1372         * WebCore.exp: export new functions
1373         * platform/mac/WebCoreSystemInterface.h: Added CFReadStream related functions
1374         * platform/mac/WebCoreSystemInterface.mm: ditto
1375
1376 2006-08-13  Maks Orlovich  <maksim@kde.org>
1377
1378         Reviewed (and tweaked a little) by Maciej.
1379         
1380         - shrank the size of JSObject by 8 bytes and made the corresponding reduction to the cell size, resulting
1381         in a 1.2% speed improvement on JS iBench (and probably overall memory savings).
1382
1383         The WebCore part of this is to expect only FunctionImp to have a scope, not all JSObjects.
1384         
1385         * bindings/js/kjs_events.cpp:
1386         (KJS::JSLazyEventListener::parseCode):
1387
1388 2006-08-12  Eric Seidel  <eric@eseidel.com>
1389
1390         Reviewed by hyatt and mjs.
1391
1392         Fix two missing null checks causing layout test crashes.
1393
1394         * css/cssstyleselector.cpp:
1395         (WebCore::CSSStyleSelector::adjustRenderStyle): check e for null (null for pseudo styles)
1396         * kcanvas/RenderSVGContainer.cpp:
1397         (WebCore::RenderSVGContainer::requiresLayer): check parent()->element() for null
1398
1399
1400 2006-08-11  Eric Seidel  <eric@eseidel.com>
1401
1402         Reviewed by andersca.
1403
1404         The outermost <svg> element needs to clip itself
1405         http://bugzilla.opendarwin.org/show_bug.cgi?id=5358
1406
1407         * css/cssstyleselector.cpp:
1408         (WebCore::CSSStyleSelector::adjustRenderStyle): adjust for SVG overflow rules
1409         * kcanvas/RenderSVGContainer.cpp:
1410         (WebCore::RenderSVGContainer::requiresLayer): only require layers for absolute/relative positioning of outermost SVG
1411         (WebCore::RenderSVGContainer::paint):
1412         * kcanvas/device/KRenderingDevice.h:
1413         * kcanvas/device/quartz/KRenderingDeviceQuartz.h: remove dead methods
1414         * kcanvas/device/quartz/KRenderingDeviceQuartz.mm: remove dead methods
1415         (WebCore::KRenderingDeviceContextQuartz::KRenderingDeviceContextQuartz):
1416         * ksvg2/svg/SVGPaint.cpp: spacing changes
1417         (WebCore::SVGPaint::SVGPaint): spacing cleanup
1418         * ksvg2/svg/SVGSVGElement.cpp:
1419         (WebCore::SVGSVGElement::parseMappedAttribute): spacing cleanup
1420         * platform/GraphicsContext.h: Added concatCTM
1421         * platform/cg/GraphicsContextCG.cpp:
1422         (WebCore::GraphicsContext::concatCTM): Added.
1423
1424 2006-08-11  Brady Eidson  <beidson@apple.com>
1425
1426         Reviewed by Maciej
1427
1428         Renamed a method/parameter for clarity and consistency, as well as some style
1429         cleanups and removing some ridiculously verbose log messages.
1430         Also added an _isEmpty method to the database and bridge for WebKit's use.
1431         Finally, added a central way for both WebKit and WebCore to get the icon database filename
1432
1433         * bridge/mac/WebCoreIconDatabaseBridge.h:  Added _isEmpty and defaultDatabaseFilename
1434         * bridge/mac/WebCoreIconDatabaseBridge.mm:  Removed an unnecessary semicolon off most of these methods
1435         (-[WebCoreIconDatabaseBridge openSharedDatabaseWithPath:]):
1436         (-[WebCoreIconDatabaseBridge closeSharedDatabase]):
1437         (-[WebCoreIconDatabaseBridge isOpen]):
1438         (-[WebCoreIconDatabaseBridge _isEmpty]):  Added
1439         (-[WebCoreIconDatabaseBridge setPrivateBrowsingEnabled:]):
1440         (-[WebCoreIconDatabaseBridge privateBrowsingEnabled]):
1441         (-[WebCoreIconDatabaseBridge iconForPageURL:withSize:]):
1442         (-[WebCoreIconDatabaseBridge iconURLForPageURL:]):
1443         (-[WebCoreIconDatabaseBridge defaultIconWithSize:]):
1444         (-[WebCoreIconDatabaseBridge retainIconForURL:]):
1445         (-[WebCoreIconDatabaseBridge releaseIconForURL:]):
1446         (-[WebCoreIconDatabaseBridge _setIconData:forIconURL:]):
1447         (-[WebCoreIconDatabaseBridge _setHaveNoIconForIconURL:]):
1448         (-[WebCoreIconDatabaseBridge _setIconURL:forPageURL:]):
1449         (-[WebCoreIconDatabaseBridge _hasIconForIconURL:]):
1450         (-[WebCoreIconDatabaseBridge defaultDatabaseFilename]):  Added
1451
1452         * loader/icon/IconDatabase.cpp:
1453         (WebCore::IconDatabase::defaultDatabaseFilename):  Added
1454         (WebCore::IconDatabase::open):  
1455         (WebCore::IconDatabase::isEmpty):  Added
1456         (WebCore::IconDatabase::retainIconForURL):  Removed log message
1457         (WebCore::IconDatabase::releaseIconForURL):  Removed log message
1458         * loader/icon/IconDatabase.h: 
1459
1460 2006-08-11  David Hyatt  <hyatt@apple.com>
1461
1462         Eliminate RenderImageButton.
1463
1464         Reviewed by darin
1465
1466         * WebCore.xcodeproj/project.pbxproj:
1467         * bridge/mac/WebCoreAXObject.mm:
1468         (-[WebCoreAXObject isImageButton]):
1469         * html/HTMLInputElement.cpp:
1470         (WebCore::HTMLInputElement::createRenderer):
1471         * rendering/RenderImage.h:
1472         (WebCore::RenderImage::isImage):
1473
1474 2006-08-11  Adele Peterson  <adele@apple.com>
1475
1476         Reviewed by Brady.
1477
1478         - Fix for <rdar://problem/4656274> 
1479         REGRESSION: option elements are selected when added regardless of "selected" property
1480
1481         Test: fast/forms/option-constructor-selected.html
1482
1483         * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::setOption):
1484         When adding an option element, check that the option element is selected before calling setSelectedIndex.
1485
1486 2006-08-11  David Hyatt  <hyatt@apple.com>
1487
1488         Fix for bug 10349, make sure to call setChanged when an anchor changes
1489         from not being a link to being a link (and vice versa).
1490
1491         Test is in fast/dynamic/link-href-change.html
1492
1493         Reviewed by darin
1494
1495         * html/HTMLAnchorElement.cpp:
1496         (WebCore::HTMLAnchorElement::HTMLAnchorElement):
1497         (WebCore::HTMLAnchorElement::parseMappedAttribute):
1498         * html/HTMLAnchorElement.h:
1499         * html/HTMLAreaElement.cpp:
1500         (WebCore::HTMLAreaElement::parseMappedAttribute):
1501
1502 2006-08-09  Rob Buis  <buis@kde.org>
1503
1504         Reviewed by Darin.
1505
1506         Revert an over-optimization step that messed up the HashSet lookup.
1507
1508         * dom/DOMImplementation.cpp:
1509
1510 2006-08-12  Oliver  <ojh16@student.canterbury.ac.nz>
1511
1512         Rubber stamped by tim
1513
1514         Removed commented out code
1515
1516         * kcanvas/RenderSVGImage.cpp:
1517         (WebCore::RenderSVGImage::paint):
1518
1519 2006-08-12  Oliver  <ojh16@student.canterbury.ac.nz>
1520
1521         Reviewed by geoff
1522
1523         Fixed regression in SVG image layout
1524         (see bug #10346)
1525
1526         * kcanvas/RenderSVGImage.cpp:
1527         (WebCore::RenderSVGImage::paint):
1528
1529 2006-08-10  Anders Carlsson  <acarlsson@apple.com>
1530
1531         Rubber-stamped by Maciej.
1532
1533         Move xpath to xml.
1534         
1535         * DerivedSources.make:
1536         * WebCore.vcproj/WebCore/WebCore.vcproj:
1537         * WebCore.xcodeproj/project.pbxproj:
1538         * xpath/XPathEvaluator.cpp: Removed.
1539         * xpath/XPathEvaluator.h: Removed.
1540         * xpath/XPathEvaluator.idl: Removed.
1541         * xpath/XPathExpression.cpp: Removed.
1542         * xpath/XPathExpression.h: Removed.
1543         * xpath/XPathExpression.idl: Removed.
1544         * xpath/XPathNSResolver.cpp: Removed.
1545         * xpath/XPathNSResolver.h: Removed.
1546         * xpath/XPathNSResolver.idl: Removed.
1547         * xpath/XPathNamespace.cpp: Removed.
1548         * xpath/XPathNamespace.h: Removed.
1549         * xpath/XPathResult.cpp: Removed.
1550         * xpath/XPathResult.h: Removed.
1551         * xpath/XPathResult.idl: Removed.
1552         * xpath/impl/XPathExpressionNode.cpp: Removed.
1553         * xpath/impl/XPathExpressionNode.h: Removed.
1554         * xpath/impl/XPathFunctions.cpp: Removed.
1555         * xpath/impl/XPathFunctions.h: Removed.
1556         * xpath/impl/XPathGrammar.y: Removed.
1557         * xpath/impl/XPathParser.cpp: Removed.
1558         * xpath/impl/XPathParser.h: Removed.
1559         * xpath/impl/XPathPath.cpp: Removed.
1560         * xpath/impl/XPathPath.h: Removed.
1561         * xpath/impl/XPathPredicate.cpp: Removed.
1562         * xpath/impl/XPathPredicate.h: Removed.
1563         * xpath/impl/XPathStep.cpp: Removed.
1564         * xpath/impl/XPathStep.h: Removed.
1565         * xpath/impl/XPathUtil.cpp: Removed.
1566         * xpath/impl/XPathUtil.h: Removed.
1567         * xpath/impl/XPathValue.cpp: Removed.
1568         * xpath/impl/XPathValue.h: Removed.
1569         * xpath/impl/XPathVariableReference.cpp: Removed.
1570         * xpath/impl/XPathVariableReference.h: Removed.
1571
1572 2006-08-10  David Harrison  <harrison@apple.com>
1573
1574         Reviewed by John Sullivan.
1575
1576         <rdar://problem/4600112> REGRESSION: VO no longer able to review text within an edit field on web pages
1577
1578         Test cases added: None.  Manual AX testing is way too awkward, and automated testing
1579         is not possible.  See following bug...
1580             <rdar://problem/4256882> Need automated testing support for accessibility APIs
1581
1582         * bridge/mac/WebCoreAXObject.mm:
1583         (-[WebCoreAXObject value]):
1584         Add handling for text input fields.
1585
1586 2006-08-09  Graham Dennis  <graham.dennis@gmail.com>
1587
1588         Reviewed by Darin.
1589
1590         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10247
1591         REGRESSION: Unable to build webkit without SVG/XPATH
1592
1593         * bindings/js/kjs_binding.cpp:
1594         (KJS::setDOMException):
1595         * bindings/js/kjs_dom.cpp:
1596         (KJS::toJS):
1597         * bindings/js/kjs_html.cpp:
1598         (KJS::HTMLElementFunction::callAsFunction):
1599         * bindings/js/kjs_proxy.cpp:
1600         * bindings/js/kjs_proxy.h:
1601         * bindings/objc/DOMInternal.h:
1602         * bindings/objc/DOMInternal.mm:
1603         (raiseDOMException):
1604         * bindings/objc/DOMXPath.mm:
1605         * bindings/objc/DOMXPathInternal.h:
1606         * bindings/scripts/CodeGeneratorJS.pm:
1607         * bridge/mac/WebCoreFrameBridge.mm:
1608         (+[WebCoreFrameBridge supportedNonImageMIMETypes]):
1609         * css/CSSGrammar.y:
1610         * css/CSSStyleDeclaration.cpp:
1611         (WebCore::propertyID):
1612         * css/cssparser.cpp:
1613         (WebCore::CSSParser::parseValue):
1614         * css/cssparser.h:
1615         * css/cssstyleselector.cpp:
1616         (WebCore::CSSStyleSelector::loadDefaultStyle):
1617         (WebCore::CSSStyleSelector::applyProperty):
1618         * css/cssstyleselector.h:
1619         * dom/Document.cpp:
1620         (WebCore::Document::Document):
1621         (WebCore::Document::~Document):
1622         (WebCore::Document::createElementNS):
1623         (WebCore::Document::implicitClose):
1624         (WebCore::Document::recalcStyleSelector):
1625         (WebCore::Document::createEvent):
1626         * dom/Document.h:
1627         * dom/Document.idl:
1628         * dom/Node.cpp:
1629         (WebCore::Node::createRendererIfNeeded):
1630         * dom/Node.h:
1631         * dom/XMLTokenizer.cpp:
1632         (WebCore::XMLTokenizer::endElementNs):
1633         (WebCore::XMLTokenizer::insertErrorMessageBlock):
1634         * html/HTMLEmbedElement.cpp:
1635         * html/HTMLEmbedElement.h:
1636         * html/HTMLObjectElement.cpp:
1637         * html/HTMLObjectElement.h:
1638         * kcanvas/KCanvasCreator.cpp:
1639         * kcanvas/KCanvasCreator.h:
1640         * kcanvas/KCanvasFilters.cpp:
1641         * kcanvas/KCanvasFilters.h:
1642         * kcanvas/KCanvasImage.h:
1643         * kcanvas/KCanvasMatrix.cpp:
1644         * kcanvas/KCanvasMatrix.h:
1645         * kcanvas/KCanvasPath.cpp:
1646         * kcanvas/KCanvasPath.h:
1647         * kcanvas/KCanvasResourceListener.h:
1648         * kcanvas/KCanvasResources.cpp:
1649         * kcanvas/KCanvasResources.h:
1650         * kcanvas/KCanvasTreeDebug.cpp:
1651         * kcanvas/RenderForeignObject.cpp:
1652         * kcanvas/RenderForeignObject.h:
1653         * kcanvas/RenderPath.cpp:
1654         * kcanvas/RenderPath.h:
1655         * kcanvas/RenderSVGContainer.cpp:
1656         * kcanvas/RenderSVGContainer.h:
1657         * kcanvas/RenderSVGImage.cpp:
1658         * kcanvas/RenderSVGImage.h:
1659         * kcanvas/RenderSVGText.cpp:
1660         * kcanvas/RenderSVGText.h:
1661         * kcanvas/device/KRenderingDevice.cpp:
1662         * kcanvas/device/KRenderingDevice.h:
1663         * kcanvas/device/KRenderingFillPainter.cpp:
1664         * kcanvas/device/KRenderingFillPainter.h:
1665         * kcanvas/device/KRenderingPaintServer.h:
1666         * kcanvas/device/KRenderingPaintServerGradient.cpp:
1667         * kcanvas/device/KRenderingPaintServerGradient.h:
1668         * kcanvas/device/KRenderingPaintServerPattern.cpp:
1669         * kcanvas/device/KRenderingPaintServerPattern.h:
1670         * kcanvas/device/KRenderingPaintServerSolid.cpp:
1671         * kcanvas/device/KRenderingPaintServerSolid.h:
1672         * kcanvas/device/KRenderingStrokePainter.cpp:
1673         * kcanvas/device/KRenderingStrokePainter.h:
1674         * kcanvas/device/quartz/KCanvasFilterQuartz.h:
1675         * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
1676         * kcanvas/device/quartz/KCanvasItemQuartz.mm:
1677         * kcanvas/device/quartz/KCanvasMaskerQuartz.mm:
1678         * kcanvas/device/quartz/KCanvasPathQuartz.mm:
1679         * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
1680         * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
1681         * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
1682         * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
1683         * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
1684         * kcanvas/device/quartz/QuartzSupport.h:
1685         * kcanvas/device/quartz/QuartzSupport.mm:
1686         * ksvg2/bindings/js/JSSVGElementWrapperFactory.cpp:
1687         * ksvg2/bindings/js/JSSVGElementWrapperFactory.h:
1688         * ksvg2/css/SVGCSSParser.cpp:
1689         * ksvg2/css/SVGCSSStyleSelector.cpp:
1690         * ksvg2/css/SVGRenderStyle.cpp:
1691         * ksvg2/css/SVGRenderStyle.h:
1692         * ksvg2/css/SVGRenderStyleDefs.cpp:
1693         * ksvg2/css/SVGRenderStyleDefs.h:
1694         * ksvg2/ecma/GlobalObject.cpp:
1695         * ksvg2/ecma/GlobalObject.h:
1696         * ksvg2/events/JSSVGLazyEventListener.cpp:
1697         * ksvg2/events/JSSVGLazyEventListener.h:
1698         * ksvg2/events/SVGZoomEvent.cpp:
1699         * ksvg2/events/SVGZoomEvent.h:
1700         * ksvg2/ksvg.h:
1701         * ksvg2/misc/KCanvasRenderingStyle.cpp:
1702         * ksvg2/misc/KCanvasRenderingStyle.h:
1703         * ksvg2/misc/KSVGTimeScheduler.cpp:
1704         * ksvg2/misc/KSVGTimeScheduler.h:
1705         * ksvg2/misc/SVGDocumentExtensions.cpp:
1706         * ksvg2/misc/SVGDocumentExtensions.h:
1707         * ksvg2/misc/SVGImageLoader.cpp:
1708         * ksvg2/misc/SVGImageLoader.h:
1709         * ksvg2/svg/DOMList.h:
1710         * ksvg2/svg/SVGAElement.cpp:
1711         * ksvg2/svg/SVGAElement.h:
1712         * ksvg2/svg/SVGAngle.cpp:
1713         * ksvg2/svg/SVGAngle.h:
1714         * ksvg2/svg/SVGAnimateColorElement.cpp:
1715         * ksvg2/svg/SVGAnimateColorElement.h:
1716         * ksvg2/svg/SVGAnimateElement.cpp:
1717         * ksvg2/svg/SVGAnimateElement.h:
1718         * ksvg2/svg/SVGAnimateTransformElement.cpp:
1719         * ksvg2/svg/SVGAnimateTransformElement.h:
1720         * ksvg2/svg/SVGAnimatedAngle.cpp:
1721         * ksvg2/svg/SVGAnimatedAngle.h:
1722         * ksvg2/svg/SVGAnimatedBoolean.cpp:
1723         * ksvg2/svg/SVGAnimatedBoolean.h:
1724         * ksvg2/svg/SVGAnimatedColor.cpp:
1725         * ksvg2/svg/SVGAnimatedColor.h:
1726         * ksvg2/svg/SVGAnimatedEnumeration.cpp:
1727         * ksvg2/svg/SVGAnimatedEnumeration.h:
1728         * ksvg2/svg/SVGAnimatedInteger.cpp:
1729         * ksvg2/svg/SVGAnimatedInteger.h:
1730         * ksvg2/svg/SVGAnimatedLength.cpp:
1731         * ksvg2/svg/SVGAnimatedLength.h:
1732         * ksvg2/svg/SVGAnimatedLengthList.cpp:
1733         * ksvg2/svg/SVGAnimatedLengthList.h:
1734         * ksvg2/svg/SVGAnimatedNumber.cpp:
1735         * ksvg2/svg/SVGAnimatedNumber.h:
1736         * ksvg2/svg/SVGAnimatedNumberList.cpp:
1737         * ksvg2/svg/SVGAnimatedNumberList.h:
1738         * ksvg2/svg/SVGAnimatedPathData.cpp:
1739         * ksvg2/svg/SVGAnimatedPathData.h:
1740         * ksvg2/svg/SVGAnimatedPoints.cpp:
1741         * ksvg2/svg/SVGAnimatedPoints.h:
1742         * ksvg2/svg/SVGAnimatedPreserveAspectRatio.cpp:
1743         * ksvg2/svg/SVGAnimatedPreserveAspectRatio.h:
1744         * ksvg2/svg/SVGAnimatedRect.cpp:
1745         * ksvg2/svg/SVGAnimatedRect.h:
1746         * ksvg2/svg/SVGAnimatedString.cpp:
1747         * ksvg2/svg/SVGAnimatedString.h:
1748         * ksvg2/svg/SVGAnimatedTemplate.h:
1749         * ksvg2/svg/SVGAnimatedTransformList.cpp:
1750         * ksvg2/svg/SVGAnimatedTransformList.h:
1751         * ksvg2/svg/SVGAnimationElement.cpp:
1752         * ksvg2/svg/SVGAnimationElement.h:
1753         * ksvg2/svg/SVGCircleElement.cpp:
1754         * ksvg2/svg/SVGCircleElement.h:
1755         * ksvg2/svg/SVGClipPathElement.cpp:
1756         * ksvg2/svg/SVGClipPathElement.h:
1757         * ksvg2/svg/SVGColor.cpp:
1758         * ksvg2/svg/SVGColor.h:
1759         * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
1760         * ksvg2/svg/SVGComponentTransferFunctionElement.h:
1761         * ksvg2/svg/SVGCursorElement.cpp:
1762         * ksvg2/svg/SVGCursorElement.h:
1763         * ksvg2/svg/SVGDOMImplementation.cpp:
1764         * ksvg2/svg/SVGDOMImplementation.h:
1765         * ksvg2/svg/SVGDefsElement.cpp:
1766         * ksvg2/svg/SVGDefsElement.h:
1767         * ksvg2/svg/SVGDescElement.cpp:
1768         * ksvg2/svg/SVGDescElement.h:
1769         * ksvg2/svg/SVGDocument.cpp:
1770         * ksvg2/svg/SVGDocument.h:
1771         * ksvg2/svg/SVGElement.cpp:
1772         * ksvg2/svg/SVGElement.h:
1773         * ksvg2/svg/SVGElementInstance.cpp:
1774         * ksvg2/svg/SVGElementInstance.h:
1775         * ksvg2/svg/SVGElementInstanceList.cpp:
1776         * ksvg2/svg/SVGElementInstanceList.h:
1777         * ksvg2/svg/SVGEllipseElement.cpp:
1778         * ksvg2/svg/SVGEllipseElement.h:
1779         * ksvg2/svg/SVGExternalResourcesRequired.cpp:
1780         * ksvg2/svg/SVGExternalResourcesRequired.h:
1781         * ksvg2/svg/SVGFEBlendElement.cpp:
1782         * ksvg2/svg/SVGFEBlendElement.h:
1783         * ksvg2/svg/SVGFEColorMatrixElement.cpp:
1784         * ksvg2/svg/SVGFEColorMatrixElement.h:
1785         * ksvg2/svg/SVGFEComponentTransferElement.cpp:
1786         * ksvg2/svg/SVGFEComponentTransferElement.h:
1787         * ksvg2/svg/SVGFECompositeElement.cpp:
1788         * ksvg2/svg/SVGFECompositeElement.h:
1789         * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
1790         * ksvg2/svg/SVGFEDiffuseLightingElement.h:
1791         * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
1792         * ksvg2/svg/SVGFEDisplacementMapElement.h:
1793         * ksvg2/svg/SVGFEDistantLightElement.cpp:
1794         * ksvg2/svg/SVGFEDistantLightElement.h:
1795         * ksvg2/svg/SVGFEFloodElement.cpp:
1796         * ksvg2/svg/SVGFEFloodElement.h:
1797         * ksvg2/svg/SVGFEFuncAElement.cpp:
1798         * ksvg2/svg/SVGFEFuncAElement.h:
1799         * ksvg2/svg/SVGFEFuncBElement.cpp:
1800         * ksvg2/svg/SVGFEFuncBElement.h:
1801         * ksvg2/svg/SVGFEFuncGElement.cpp:
1802         * ksvg2/svg/SVGFEFuncGElement.h:
1803         * ksvg2/svg/SVGFEFuncRElement.cpp:
1804         * ksvg2/svg/SVGFEFuncRElement.h:
1805         * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
1806         * ksvg2/svg/SVGFEGaussianBlurElement.h:
1807         * ksvg2/svg/SVGFEImageElement.cpp:
1808         * ksvg2/svg/SVGFEImageElement.h:
1809         * ksvg2/svg/SVGFELightElement.cpp:
1810         * ksvg2/svg/SVGFELightElement.h:
1811         * ksvg2/svg/SVGFEMergeElement.cpp:
1812         * ksvg2/svg/SVGFEMergeElement.h:
1813         * ksvg2/svg/SVGFEMergeNodeElement.cpp:
1814         * ksvg2/svg/SVGFEMergeNodeElement.h:
1815         * ksvg2/svg/SVGFEOffsetElement.cpp:
1816         * ksvg2/svg/SVGFEOffsetElement.h:
1817         * ksvg2/svg/SVGFEPointLightElement.cpp:
1818         * ksvg2/svg/SVGFEPointLightElement.h:
1819         * ksvg2/svg/SVGFESpecularLightingElement.cpp:
1820         * ksvg2/svg/SVGFESpecularLightingElement.h:
1821         * ksvg2/svg/SVGFESpotLightElement.cpp:
1822         * ksvg2/svg/SVGFESpotLightElement.h:
1823         * ksvg2/svg/SVGFETileElement.cpp:
1824         * ksvg2/svg/SVGFETileElement.h:
1825         * ksvg2/svg/SVGFETurbulenceElement.cpp:
1826         * ksvg2/svg/SVGFETurbulenceElement.h:
1827         * ksvg2/svg/SVGFilterElement.cpp:
1828         * ksvg2/svg/SVGFilterElement.h:
1829         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp:
1830         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h:
1831         * ksvg2/svg/SVGFitToViewBox.cpp:
1832         * ksvg2/svg/SVGFitToViewBox.h:
1833         * ksvg2/svg/SVGForeignObjectElement.cpp:
1834         * ksvg2/svg/SVGForeignObjectElement.h:
1835         * ksvg2/svg/SVGGElement.cpp:
1836         * ksvg2/svg/SVGGElement.h:
1837         * ksvg2/svg/SVGGradientElement.cpp:
1838         * ksvg2/svg/SVGGradientElement.h:
1839         * ksvg2/svg/SVGHelper.cpp:
1840         * ksvg2/svg/SVGHelper.h:
1841         * ksvg2/svg/SVGImageElement.cpp:
1842         * ksvg2/svg/SVGImageElement.h:
1843         * ksvg2/svg/SVGLangSpace.cpp:
1844         * ksvg2/svg/SVGLangSpace.h:
1845         * ksvg2/svg/SVGLength.cpp:
1846         * ksvg2/svg/SVGLength.h:
1847         * ksvg2/svg/SVGLengthList.cpp:
1848         * ksvg2/svg/SVGLengthList.h:
1849         * ksvg2/svg/SVGLineElement.cpp:
1850         * ksvg2/svg/SVGLineElement.h:
1851         * ksvg2/svg/SVGLinearGradientElement.cpp:
1852         * ksvg2/svg/SVGLinearGradientElement.h:
1853         * ksvg2/svg/SVGList.h:
1854         * ksvg2/svg/SVGLocatable.cpp:
1855         * ksvg2/svg/SVGLocatable.h:
1856         * ksvg2/svg/SVGMarkerElement.cpp:
1857         * ksvg2/svg/SVGMarkerElement.h:
1858         * ksvg2/svg/SVGMaskElement.cpp:
1859         * ksvg2/svg/SVGMaskElement.h:
1860         * ksvg2/svg/SVGMatrix.cpp:
1861         * ksvg2/svg/SVGMatrix.h:
1862         * ksvg2/svg/SVGNumber.cpp:
1863         * ksvg2/svg/SVGNumber.h:
1864         * ksvg2/svg/SVGNumberList.cpp:
1865         * ksvg2/svg/SVGNumberList.h:
1866         * ksvg2/svg/SVGPaint.cpp:
1867         * ksvg2/svg/SVGPaint.h:
1868         * ksvg2/svg/SVGPathElement.cpp:
1869         * ksvg2/svg/SVGPathElement.h:
1870         * ksvg2/svg/SVGPathSeg.cpp:
1871         * ksvg2/svg/SVGPathSeg.h:
1872         * ksvg2/svg/SVGPathSegArc.cpp:
1873         * ksvg2/svg/SVGPathSegArc.h:
1874         * ksvg2/svg/SVGPathSegClosePath.cpp:
1875         * ksvg2/svg/SVGPathSegClosePath.h:
1876         * ksvg2/svg/SVGPathSegCurvetoCubic.cpp:
1877         * ksvg2/svg/SVGPathSegCurvetoCubic.h:
1878         * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.cpp:
1879         * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.h:
1880         * ksvg2/svg/SVGPathSegCurvetoQuadratic.cpp:
1881         * ksvg2/svg/SVGPathSegCurvetoQuadratic.h:
1882         * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.cpp:
1883         * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.h:
1884         * ksvg2/svg/SVGPathSegLineto.cpp:
1885         * ksvg2/svg/SVGPathSegLineto.h:
1886         * ksvg2/svg/SVGPathSegLinetoHorizontal.cpp:
1887         * ksvg2/svg/SVGPathSegLinetoHorizontal.h:
1888         * ksvg2/svg/SVGPathSegLinetoVertical.cpp:
1889         * ksvg2/svg/SVGPathSegLinetoVertical.h:
1890         * ksvg2/svg/SVGPathSegList.cpp:
1891         * ksvg2/svg/SVGPathSegList.h:
1892         * ksvg2/svg/SVGPathSegMoveto.cpp:
1893         * ksvg2/svg/SVGPathSegMoveto.h:
1894         * ksvg2/svg/SVGPatternElement.cpp:
1895         * ksvg2/svg/SVGPatternElement.h:
1896         * ksvg2/svg/SVGPoint.cpp:
1897         * ksvg2/svg/SVGPoint.h:
1898         * ksvg2/svg/SVGPointList.cpp:
1899         * ksvg2/svg/SVGPointList.h:
1900         * ksvg2/svg/SVGPolyElement.cpp:
1901         * ksvg2/svg/SVGPolyElement.h:
1902         * ksvg2/svg/SVGPolygonElement.cpp:
1903         * ksvg2/svg/SVGPolygonElement.h:
1904         * ksvg2/svg/SVGPolylineElement.cpp:
1905         * ksvg2/svg/SVGPolylineElement.h:
1906         * ksvg2/svg/SVGPreserveAspectRatio.cpp:
1907         * ksvg2/svg/SVGPreserveAspectRatio.h:
1908         * ksvg2/svg/SVGRadialGradientElement.cpp:
1909         * ksvg2/svg/SVGRadialGradientElement.h:
1910         * ksvg2/svg/SVGRect.cpp:
1911         * ksvg2/svg/SVGRect.h:
1912         * ksvg2/svg/SVGRectElement.cpp:
1913         * ksvg2/svg/SVGRectElement.h:
1914         * ksvg2/svg/SVGSVGElement.cpp:
1915         * ksvg2/svg/SVGSVGElement.h:
1916         * ksvg2/svg/SVGScriptElement.cpp:
1917         * ksvg2/svg/SVGScriptElement.h:
1918         * ksvg2/svg/SVGSetElement.cpp:
1919         * ksvg2/svg/SVGSetElement.h:
1920         * ksvg2/svg/SVGStopElement.cpp:
1921         * ksvg2/svg/SVGStopElement.h:
1922         * ksvg2/svg/SVGStringList.cpp:
1923         * ksvg2/svg/SVGStringList.h:
1924         * ksvg2/svg/SVGStylable.cpp:
1925         * ksvg2/svg/SVGStylable.h:
1926         * ksvg2/svg/SVGStyleElement.cpp:
1927         * ksvg2/svg/SVGStyleElement.h:
1928         * ksvg2/svg/SVGStyledElement.cpp:
1929         * ksvg2/svg/SVGStyledElement.h:
1930         * ksvg2/svg/SVGStyledLocatableElement.cpp:
1931         * ksvg2/svg/SVGStyledLocatableElement.h:
1932         * ksvg2/svg/SVGStyledTransformableElement.cpp:
1933         * ksvg2/svg/SVGStyledTransformableElement.h:
1934         * ksvg2/svg/SVGSwitchElement.cpp:
1935         * ksvg2/svg/SVGSwitchElement.h:
1936         * ksvg2/svg/SVGSymbolElement.cpp:
1937         * ksvg2/svg/SVGSymbolElement.h:
1938         * ksvg2/svg/SVGTRefElement.cpp:
1939         * ksvg2/svg/SVGTRefElement.h:
1940         * ksvg2/svg/SVGTSpanElement.cpp:
1941         * ksvg2/svg/SVGTSpanElement.h:
1942         * ksvg2/svg/SVGTests.cpp:
1943         * ksvg2/svg/SVGTests.h:
1944         * ksvg2/svg/SVGTextContentElement.cpp:
1945         * ksvg2/svg/SVGTextContentElement.h:
1946         * ksvg2/svg/SVGTextElement.cpp:
1947         * ksvg2/svg/SVGTextElement.h:
1948         * ksvg2/svg/SVGTextPositioningElement.cpp:
1949         * ksvg2/svg/SVGTextPositioningElement.h:
1950         * ksvg2/svg/SVGTitleElement.cpp:
1951         * ksvg2/svg/SVGTitleElement.h:
1952         * ksvg2/svg/SVGTransform.cpp:
1953         * ksvg2/svg/SVGTransform.h:
1954         * ksvg2/svg/SVGTransformList.cpp:
1955         * ksvg2/svg/SVGTransformList.h:
1956         * ksvg2/svg/SVGTransformable.cpp:
1957         * ksvg2/svg/SVGTransformable.h:
1958         * ksvg2/svg/SVGURIReference.cpp:
1959         * ksvg2/svg/SVGURIReference.h:
1960         * ksvg2/svg/SVGUseElement.cpp:
1961         * ksvg2/svg/SVGUseElement.h:
1962         * ksvg2/svg/SVGViewElement.cpp:
1963         * ksvg2/svg/SVGViewElement.h:
1964         * ksvg2/svg/SVGZoomAndPan.cpp:
1965         * ksvg2/svg/SVGZoomAndPan.h:
1966         * ksvg2/svg/svgpathparser.cpp:
1967         * ksvg2/svg/svgpathparser.h:
1968         * page/DOMWindow.idl:
1969         * page/Frame.cpp:
1970         (WebCore::Frame::Frame):
1971         (WebCore::Frame::begin):
1972         (WebCore::Frame::pauseTimeouts):
1973         (WebCore::Frame::resumeTimeouts):
1974         * platform/GraphicsContext.h:
1975         * platform/cg/GraphicsContextCG.cpp:
1976         * rendering/RenderLayer.cpp:
1977         (WebCore::RenderLayer::isTransparent):
1978         * rendering/RenderObject.cpp:
1979         (WebCore::RenderObject::containingBlock):
1980         * rendering/RenderObject.h:
1981         * rendering/RenderStyle.cpp:
1982         (WebCore::RenderStyle::RenderStyle):
1983         (WebCore::RenderStyle::inheritFrom):
1984         (WebCore::RenderStyle::operator==):
1985         (WebCore::RenderStyle::inheritedNotEqual):
1986         (WebCore::RenderStyle::diff):
1987         * rendering/RenderStyle.h:
1988         * rendering/RenderTreeAsText.cpp:
1989         (WebCore::write):
1990         (WebCore::externalRepresentation):
1991         * xpath/XPathEvaluator.cpp:
1992         * xpath/XPathEvaluator.h:
1993         * xpath/XPathExpression.cpp:
1994         * xpath/XPathExpression.h:
1995         * xpath/XPathNSResolver.cpp:
1996         * xpath/XPathNSResolver.h:
1997         * xpath/XPathNamespace.cpp:
1998         * xpath/XPathNamespace.h:
1999         * xpath/XPathResult.cpp:
2000         * xpath/XPathResult.h:
2001         * xpath/impl/XPathExpressionNode.cpp:
2002         * xpath/impl/XPathExpressionNode.h:
2003         * xpath/impl/XPathFunctions.cpp:
2004         * xpath/impl/XPathFunctions.h:
2005         * xpath/impl/XPathGrammar.y:
2006         * xpath/impl/XPathParser.cpp:
2007         * xpath/impl/XPathParser.h:
2008         * xpath/impl/XPathPath.cpp:
2009         * xpath/impl/XPathPath.h:
2010         * xpath/impl/XPathPredicate.cpp:
2011         * xpath/impl/XPathPredicate.h:
2012         * xpath/impl/XPathStep.cpp:
2013         * xpath/impl/XPathStep.h:
2014         * xpath/impl/XPathUtil.cpp:
2015         * xpath/impl/XPathUtil.h:
2016         * xpath/impl/XPathValue.cpp:
2017         * xpath/impl/XPathValue.h:
2018         * xpath/impl/XPathVariableReference.cpp:
2019         * xpath/impl/XPathVariableReference.h:
2020
2021         Change all #if SVG_SUPPORT to #ifdef SVG_SUPPORT and
2022         #if XPATH_SUPPORT to #ifdef XPATH_SUPPORT
2023         (except for one #if !SVG_SUPPORT to a #ifndef SVG_SUPPORT
2024         in RenderTreeAsText.cpp)
2025
2026 2006-08-08  Rob Buis  <buis@kde.org>
2027
2028         Reviewed by Darin.
2029
2030         http://bugzilla.opendarwin.org/show_bug.cgi?id=10230
2031         SVGDOMImplementation should die (and be rolled into DOMImplementation)
2032
2033         Delete SVGDOMImplementation and references to it. The
2034         svg specific functionality is now in DOMImplementation.
2035
2036         * WebCore.xcodeproj/project.pbxproj:
2037         * dom/DOMImplementation.cpp:
2038         (WebCore::svgFeatureSet):
2039         (WebCore::DOMImplementation::hasFeature):
2040         (WebCore::DOMImplementation::createDocument):
2041         (WebCore::DOMImplementation::createSVGDocument):
2042         * dom/DOMImplementation.h:
2043         * ksvg2/bindings/idl/svg/SVGDOMImplementation.idl: Removed.
2044         * ksvg2/misc/KSVGTimeScheduler.cpp:
2045         * ksvg2/svg/SVGColor.cpp:
2046         * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
2047         * ksvg2/svg/SVGDocument.cpp:
2048         (WebCore::SVGDocument::SVGDocument):
2049         * ksvg2/svg/SVGDocument.h:
2050         * ksvg2/svg/SVGElement.cpp:
2051         (WebCore::SVGElement::isSupported):
2052         * ksvg2/svg/SVGFEBlendElement.cpp:
2053         * ksvg2/svg/SVGFEColorMatrixElement.cpp:
2054         * ksvg2/svg/SVGFEComponentTransferElement.cpp:
2055         * ksvg2/svg/SVGFECompositeElement.cpp:
2056         * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
2057         * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
2058         * ksvg2/svg/SVGFEFloodElement.cpp:
2059         * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
2060         * ksvg2/svg/SVGFELightElement.cpp:
2061         * ksvg2/svg/SVGFEMergeElement.cpp:
2062         * ksvg2/svg/SVGFEOffsetElement.cpp:
2063         * ksvg2/svg/SVGFESpecularLightingElement.cpp:
2064         * ksvg2/svg/SVGFETileElement.cpp:
2065         * ksvg2/svg/SVGFETurbulenceElement.cpp:
2066         * ksvg2/svg/SVGGradientElement.cpp:
2067         * ksvg2/svg/SVGPatternElement.cpp:
2068         * ksvg2/svg/SVGPolyElement.cpp:
2069         * ksvg2/svg/SVGStopElement.cpp:
2070         * ksvg2/svg/SVGStyledElement.cpp:
2071         * ksvg2/svg/SVGStyledTransformableElement.cpp:
2072         * ksvg2/svg/SVGTests.cpp:
2073         (WebCore::SVGTests::isValid):
2074         * ksvg2/svg/SVGTransformable.cpp:
2075         * page/Frame.cpp:
2076         (WebCore::Frame::begin):
2077
2078 2006-08-07  Brady Eidson  <beidson@apple.com>
2079
2080         Reviewed by Anders and John
2081
2082         Icons can now refresh when new data is sent from WebKit, both on disk and in memory
2083
2084         * bridge/mac/WebCoreIconDatabaseBridge.h:
2085         * bridge/mac/WebCoreIconDatabaseBridge.mm:
2086         (WebCore::IconDatabase::loadIconFromURL):  Allows WebCore/Kit to kick off a load
2087         outside of any greater context
2088         (-[WebCoreIconDatabaseBridge isIconExpiredForIconURL:]):
2089         (-[WebCoreIconDatabaseBridge isIconExpiredForPageURL:]): Allows WebKit
2090         to get whether or not an icon has expired
2091
2092         * loader/icon/IconDatabase.cpp:
2093         (WebCore::IconDatabase::recreateDatabase): Changed database schema slightly
2094         (WebCore::IconDatabase::createPrivateTables): Changed database schema slightly
2095         (WebCore::IconDatabase::iconForPageURL): 
2096         (WebCore::IconDatabase::isIconExpiredForIconURL): Get if an icon has expired
2097         (WebCore::IconDatabase::isIconExpiredForPageURL): Get if an icon has expired
2098         (WebCore::IconDatabase::setIconDataForIconURL): Force a refresh of the in memory
2099         image when new icon data is loaded
2100         (WebCore::IconDatabase::setIconURLForPageURL): added a check for null iconID
2101
2102         * loader/icon/IconDatabase.h: added/changed some methods
2103         * loader/icon/SiteIcon.cpp:
2104         (SiteIcon::getImage): simplified/removed debugging code
2105         (SiteIcon::manuallySetImageData): allow the image data to be changed when new icon
2106         data is loaded
2107
2108 2006-08-05  Darin Adler  <darin@apple.com>
2109
2110         Reviewed by Eric Seidel.
2111
2112         - fix a storage leak
2113
2114         * rendering/RenderView.cpp: (WebCore::RenderView::setSelection):
2115         Delete the values if we are going to exit without using the maps.
2116         Otherwise all the values leak.
2117
2118 2006-08-05  Darin Adler  <darin@apple.com>
2119
2120         Reviewed by Hyatt.
2121
2122         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10213
2123           REGRESSION: Crash in WebCore::RenderLayer::isTransparent involving <iframe> and <select>
2124
2125         Test: fast/frames/iframe-option-crash.xhtml
2126
2127         * rendering/RenderView.cpp: (WebCore::RenderView::paintBoxDecorations):
2128         Check for a nil renderer.
2129
2130 2006-08-04  David Hyatt  <hyatt@apple.com>
2131
2132         Fix for Radar bug #4644045, regression where dragging selection no longer
2133         works for floats contained inside layers.  I added an optimization to
2134         refine dirty rect checking for layers, and it incorrectly excluded floats
2135         from the paint bounds since PaintPhaseSelection was not considered when
2136         analyzing the floatRect().
2137
2138         Reviewed by beth
2139
2140         * rendering/RenderBlock.cpp:
2141         (WebCore::RenderBlock::paint):
2142
2143 2006-08-04  David Hyatt  <hyatt@apple.com>
2144
2145         Fix remove() so that it is equivalent to calling removeChild on the
2146         parent.  This involved moving three operations that remove did.
2147
2148         (1) Move the accessibility object cache removal into the destroy methods,
2149         since this really should just happen when a render object is going away.
2150
2151         (2) removeFromObjectLists shifted into removeChild, which means it will
2152         now be called more often (this is a correct change).  Note that there is
2153         also now a new guard on removeFromObjectLists so that it won't do any
2154         work unless the document is not being destroyed.
2155
2156         (3) The big one.  deleteLineBoxWrapper was not getting called to clean up
2157         the line box tree.  This moved right into RenderContainer's removeChildNode so
2158         that it is now done even in the lowest level RenderContainer removal primitive.
2159
2160         Reviewed by beth
2161
2162         * rendering/RenderContainer.cpp:
2163         (WebCore::RenderContainer::removeChildNode):
2164         (WebCore::RenderContainer::removeChild):
2165         * rendering/RenderObject.cpp:
2166         (WebCore::RenderObject::removeFromObjectLists):
2167         (WebCore::RenderObject::destroy):
2168         * rendering/RenderObject.h:
2169         (WebCore::RenderObject::remove):
2170         * rendering/RenderWidget.cpp:
2171         (WebCore::RenderWidget::destroy):
2172
2173 2006-08-04  David Hyatt  <hyatt@apple.com>
2174
2175         Back out the fix for list marker crashes.  The actual bug here is that
2176         there is a confusing mismatch between remove() and removeChild() in the
2177         render tree.  remove() does a little bit of extra work that removeChild
2178         should be doing instead (so that remove() can just be a shorthand for
2179         removeChild).
2180
2181         This conservative fix does not solve the remove/removeChild mismatch
2182         but instead just changes the list marker updating code to use remove
2183         instead.
2184
2185         Reviewed by beth
2186
2187         Test Case: fast/lists/dynamic-marker-crash.html
2188
2189         * rendering/ListMarkerBox.cpp:
2190         * rendering/ListMarkerBox.h:
2191         * rendering/RenderListItem.cpp:
2192         (WebCore::RenderListItem::updateMarkerLocation):
2193
2194 2006-08-04  Sam Weinig  <sam.weinig@gmail.com>
2195
2196         Reviewed by Darin.
2197
2198         - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10192
2199           Make WebCore (and friends) compile with -Wshorten-64-to-32
2200
2201           * Adds -Wshorten-64-to-32 flag to Xcode project.
2202           * Adds 'f' to float literals where expecting a float.
2203           * Use cosf() instead of cos() when assigning to a float.
2204
2205         * WebCore.xcodeproj/project.pbxproj:
2206         * kcanvas/device/quartz/filters/WKDiffuseLightingFilter.m:
2207         (+[WKDiffuseLightingFilter initialize]):
2208         * kcanvas/device/quartz/filters/WKDiscreteTransferFilter.m:
2209         (-[WKDiscreteTransferFilter outputImage]):
2210         * kcanvas/device/quartz/filters/WKDisplacementMapFilter.m:
2211         (+[WKDisplacementMapFilter initialize]):
2212         * kcanvas/device/quartz/filters/WKSpecularLightingFilter.m:
2213         (+[WKSpecularLightingFilter initialize]):
2214         * kcanvas/device/quartz/filters/WKSpotLightFilter.m:
2215         (-[WKSpotLightFilter outputImage]):
2216         * kcanvas/device/quartz/filters/WKTableTransferFilter.m:
2217         (-[WKTableTransferFilter outputImage]):
2218
2219 2006-08-03  David Hyatt  <hyatt@apple.com>
2220
2221         Fix for bug 10229, don't bother trying to clear when no floats are
2222         present.  I suspect there's still a bug in the math that follows, but
2223         this fix is safer in that it just does the obvious thing (and doesn't
2224         compute any clearance if no floats are even around).
2225
2226         Reviewed by maciej
2227
2228         * ChangeLog:
2229         * rendering/RenderBlock.cpp:
2230         (WebCore::RenderBlock::getClearDelta):
2231
2232 2006-08-03  Justin Garcia  <justin.garcia@apple.com>
2233
2234         Reviewed by harrison
2235         
2236         <rdar://problem/4641033/4515463/4052426/4046570/4053718/4053724/4060115/4062858>
2237         Copy/Paste fidelity was bad.
2238
2239         * editing/ApplyStyleCommand.cpp:
2240         (WebCore::ApplyStyleCommand::applyInlineStyle):
2241         * editing/markup.cpp:
2242         (WebCore::startMarkup): We were not adding non-inheritable styles
2243         to the markup for an element unless they were in the elements inline
2244         style declaration.
2245
2246 2006-08-03  Sam Weinig  <sam.weinig@gmail.com>
2247
2248         Reviewed by Darin.
2249
2250         - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10176
2251           Make WebCore compile with -Wundef
2252
2253           * Adds -Wundef flag to Xcode project
2254           * Converts #ifs to #ifdef and #ifndefs where needed.
2255           * Replaces #ifdef WIN32 with #if PLATFORM(WIN_OS) or PLATFORM(WIN)
2256             (and in one instance in config.h with #if !COMPILER(MSVC))
2257           * Added #define YYMAXDEPTH 10000 in XPathGrammar.y and CSSGrammar.y
2258             to fix a warning from within Bison.
2259           * Cleaned up style a little in surrounding code.
2260
2261         * WebCore.xcodeproj/project.pbxproj:
2262         * bridge/mac/WebCoreAXObject.mm:
2263         (-[WebCoreAXObject doAXTextMarkerRangeForUnorderedTextMarkers:]):
2264         * config.h:
2265         * css/CSSGrammar.y:
2266         * css/MediaFeatureNames.cpp:
2267         * css/MediaFeatureNames.h:
2268         * css/cssparser.cpp:
2269         * dom/ContainerNode.cpp:
2270         (WebCore::ContainerNode::setActive):
2271         * dom/Element.cpp:
2272         (WebCore::Element::attach):
2273         * dom/Element.h:
2274         * dom/EventNames.cpp:
2275         * dom/EventNames.h:
2276         * dom/NamedAttrMap.h:
2277         * dom/Position.cpp:
2278         * dom/QualifiedName.cpp:
2279         * dom/QualifiedName.h:
2280         * dom/Range.h:
2281         * dom/XMLTokenizer.cpp:
2282         (WebCore::XMLTokenizer::error):
2283         * html/HTMLTokenizer.cpp:
2284         (WebCore::HTMLTokenizer::scriptHandler):
2285         (WebCore::HTMLTokenizer::scriptExecution):
2286         (WebCore::HTMLTokenizer::parseTag):
2287         (WebCore::HTMLTokenizer::continueProcessing):
2288         (WebCore::HTMLTokenizer::write):
2289         (WebCore::HTMLTokenizer::timerFired):
2290         (WebCore::HTMLTokenizer::notifyFinished):
2291         * kcanvas/device/quartz/KCanvasFilterQuartz.h:
2292         * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
2293         * ksvg2/css/SVGRenderStyle.h:
2294         * ksvg2/css/SVGRenderStyleDefs.h:
2295         * ksvg2/scripts/make_names.pl:
2296         * loader/CachedResource.h:
2297         * loader/LoaderFunctions.h:
2298         * loader/loader.h:
2299         * page/Frame.cpp:
2300         * page/FrameTree.cpp:
2301         * page/FrameView.cpp:
2302         (WebCore::FrameView::clear):
2303         (WebCore::FrameView::layout):
2304         (WebCore::FrameView::layoutTimerFired):
2305         (WebCore::FrameView::scheduleRelayout):
2306         (WebCore::FrameView::unscheduleRelayout):
2307         * platform/AtomicString.cpp:
2308         * platform/AtomicString.h:
2309         * platform/Cursor.h:
2310         * platform/DeprecatedArray.h:
2311         * platform/DeprecatedString.cpp:
2312         (WebCore::allocateHandle):
2313         (WebCore::initializeHandleNodeBlock):
2314         (WebCore::freeHandle):
2315         * platform/FloatPoint.h:
2316         * platform/FloatRect.h:
2317         * platform/FloatSize.h:
2318         * platform/GraphicsContext.h:
2319         * platform/Image.h:
2320         * platform/IntPoint.h:
2321         * platform/IntRect.h:
2322         (WebCore::IntRect::inflateX):
2323         (WebCore::IntRect::inflateY):
2324         * platform/IntSize.h:
2325         * platform/PlatformKeyboardEvent.h:
2326         * platform/PlatformMouseEvent.h:
2327         * platform/PlatformString.h:
2328         * platform/ResourceLoader.h:
2329         * platform/ResourceLoaderInternal.h:
2330         (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
2331         * platform/ScrollView.h:
2332         * platform/StaticConstructors.h:
2333         * platform/StreamingTextDecoderICU.cpp:
2334         (WebCore::StreamingTextDecoderICU::convert):
2335         * platform/StringImpl.h:
2336         * platform/Widget.h:
2337         * platform/mac/BlockExceptions.mm:
2338         * platform/mac/ColorMac.mm:
2339         (+[WebCoreControlTintObserver WebCore]):
2340         * platform/mac/FloatPointMac.mm:
2341         * platform/mac/FloatRectMac.mm:
2342         * platform/mac/FloatSizeMac.mm:
2343         * platform/mac/FontMac.mm:
2344         * platform/mac/GraphicsContextMac.mm:
2345         (WebCore::GraphicsContext::drawFocusRing):
2346         * platform/mac/IntPointMac.mm:
2347         * platform/mac/IntRectMac.mm:
2348         * platform/mac/IntSizeMac.mm:
2349         * platform/mac/WebCoreSystemInterface.h:
2350         * rendering/RenderBlock.h:
2351         * rendering/RenderTableCell.h:
2352         * rendering/bidi.cpp:
2353         (WebCore::appendRun):
2354         (WebCore::RenderBlock::layoutInlineChildren):
2355         * xml/XSLTProcessor.cpp:
2356         (WebCore::parseErrorFunc):
2357         * xpath/impl/XPathGrammar.y:
2358
2359 2006-08-03  Adam Roben  <aroben@apple.com>
2360
2361         Reviewed by Maciej and Beth.
2362
2363         Fix use-after-dispose heap corruption bug.
2364
2365         * rendering/ListMarkerBox.cpp:
2366         (WebCore::ListMarkerBox::destroy): Only call removeChild if we're not
2367         destroying the document
2368
2369 2006-08-03  Adam Roben  <aroben@apple.com>
2370
2371         Reviewed by Anders.
2372
2373         - Fixed Windows build.
2374
2375         * platform/Color.cpp:
2376         (WebCore::makeRGBAFromHSLA): Whitespace change
2377         * platform/win/TemporaryLinkStubs.cpp: Add new method stubs
2378         (PlatformScrollBar::PlatformScrollBar):
2379         (PlatformScrollBar::~PlatformScrollBar):
2380         (PlatformScrollBar::width):
2381         (PlatformScrollBar::height):
2382         (PlatformScrollBar::setEnabled):
2383         (PlatformScrollBar::paint):
2384         (PlatformScrollBar::setScrollBarValue):
2385         (PlatformScrollBar::setKnobProportion):
2386         (PlatformScrollBar::setRect):
2387         (ScrollBar::ScrollBar):
2388         (ScrollBar::scroll):
2389         (ScrollBar::setValue):
2390
2391 2006-08-02  Justin Garcia  <justin.garcia@apple.com>
2392
2393         Reviewed by mjs
2394         
2395         <http://bugzilla.opendarwin.org/show_bug.cgi?id=10225>
2396         GMail Editor: Change Hilite Color doesn't work
2397
2398         * editing/JSEditor.cpp: Added support for execCommand("HiliteColor", ...).
2399         It's what GMail uses to implement text hiliting.  It's just a synonym for BackColor.
2400         * editing/SelectionController.cpp:
2401         (WebCore::SelectionController::nodeWillBeRemoved): Moved a comment
2402         a more appropriate place.
2403
2404 2006-08-03  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2405
2406         Reviewed by Adele and Darin.
2407
2408         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10177
2409           REGRESSION: Successfully dragging text into a disabled field
2410
2411         Test: fast/forms/textfield-drag-into-disabled.html
2412
2413         * rendering/RenderTextControl.cpp:
2414         (WebCore::RenderTextControl::createDivStyle): Changed to set -webkit-user-modify
2415         to read-only on the inner div if the control is disabled.       
2416         (WebCore::RenderTextControl::updateFromElement): Ditto.
2417
2418 2006-08-03  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2419
2420         Reviewed by Darin.
2421
2422         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10198
2423           REGRESSION: WebKit r15750 crashes while loading anthem.com
2424
2425         Test: fast/overflow/generated-content-crash.html
2426
2427         * rendering/RenderLayer.cpp:
2428         (WebCore::RenderLayer::updateScrollInfoAfterLayout): Added a null check for
2429         the renderer's element. Generated content does not have an element and
2430         therefore does not need to maintain overflow status.
2431
2432 2006-08-03  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2433
2434         Reviewed by Anders.
2435
2436         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10202
2437           REGRESSION: Repro crash when loading an empty image document
2438
2439         Test: fast/tokenizer/image-empty-crash.html
2440
2441         * loader/ImageDocument.cpp:
2442         (WebCore::ImageTokenizer::stopParsing): Added null check for m_imageElement.
2443         (WebCore::ImageTokenizer::finish): Ditto.
2444
2445 2006-08-03  Darin Adler  <darin@apple.com>
2446
2447         Reviewed by Anders.
2448
2449         - clean up "flip"-related code a tiny bit
2450
2451         * platform/Screen.h: Removed redundant parameter names.
2452         * platform/mac/ScreenMac.mm:
2453         (WebCore::flipScreenRect): Changed to call flipScreenPoint so we only have one
2454         copy of the flipping code.
2455         (WebCore::flipScreenPoint): Fixed indentation.
2456
2457         * bridge/mac/WebCoreFrameBridge.mm: (globalPoint): Removed type casts and
2458         simplified a bit.
2459
2460         * platform/mac/PlatformMouseEventMac.mm: (WebCore::globalPositionForEvent):
2461         * platform/mac/WheelEventMac.mm: (WebCore::globalPositionForEvent):
2462         Removed unneeded local variable.
2463
2464 2006-08-02  David Hyatt  <hyatt@apple.com>
2465
2466         Abstract RenderLayer scrollbar creation and destruction so that there
2467         is a clean spot in which to drop in engine scrollbar stuff.
2468
2469         Reviewed by timo
2470
2471         * platform/ScrollBar.h:
2472         (WebCore::ScrollBar::hasPlatformScrollBars):
2473         * rendering/RenderLayer.cpp:
2474         (WebCore::RenderLayer::createScrollbar):
2475         (WebCore::RenderLayer::destroyScrollbar):
2476         (WebCore::RenderLayer::setHasHorizontalScrollbar):
2477         (WebCore::RenderLayer::setHasVerticalScrollbar):
2478         * rendering/RenderLayer.h:
2479
2480 2006-08-02  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2481
2482         Reviewed by Darin.
2483
2484         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=3438
2485           incorrect display of transparent 1x1 PNGs
2486
2487         Test: fast/replaced/image-solid-color-with-alpha.html
2488
2489         * platform/mac/ImageMac.mm:
2490         (WebCore::Image::checkForSolidColor): Changed to divide each color component
2491         by the alpha component. You need to do that since the bitmap context has
2492         premultiplied alpha but m_solidColor should be non-premultiplied.
2493
2494 2006-08-02  Adam Roben  <aroben@apple.com>
2495
2496         Reviewed by Brady.
2497
2498         - Remove redundant #include
2499
2500         * loader/loader.cpp:
2501
2502 2006-07-31  Sam Weinig  <sam.weinig@gmail.com>
2503
2504         Reviewed by Darin.
2505
2506         - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=9955
2507         Colors scaled from [0, 1] range to [0, 255] incorrectly
2508         
2509         Fixes scaling issue and fixes Color to follow style guidelines.
2510
2511         * css/cssstyleselector.cpp:
2512         (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
2513         * platform/Color.cpp:
2514         (WebCore::calcHue):
2515         (WebCore::makeRGBAFromHSLA):
2516         (WebCore::Color::Color):
2517         (WebCore::Color::name):
2518         (WebCore::Color::setNamedColor):
2519         (WebCore::Color::light):
2520         (WebCore::Color::dark):
2521         (WebCore::blend):
2522         * platform/Color.h:
2523         (WebCore::Color::Color):
2524         (WebCore::Color::isValid):
2525         (WebCore::Color::red):
2526         (WebCore::Color::green):
2527         (WebCore::Color::blue):
2528         (WebCore::Color::alpha):
2529         (WebCore::Color::rgb):
2530         (WebCore::Color::setRGB):
2531         (WebCore::operator==):
2532         (WebCore::operator!=):
2533         * rendering/RenderObject.cpp:
2534         (WebCore::RenderObject::drawBorder):
2535
2536 2006-07-31  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2537
2538         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10158
2539           REGRESSION: Selection highlight is dark and opaque when solid-color images are used
2540
2541         Reviewed by Darin.
2542
2543         Pixel test: fast/backgrounds/solid-color-context-restore.html
2544
2545         * platform/mac/ImageMac.mm:
2546         (WebCore::Image::draw): Added calls to preserve the graphics context
2547         around the painting of a solid color image.
2548         (WebCore::Image::drawTiled): Ditto.
2549
2550 2006-07-31  Maciej Stachowiak  <mjs@apple.com>
2551
2552         Rubber-stamped by Tim Hatcher.
2553
2554         - renamed TransferJob to ResourceLoader
2555
2556         * Projects/gdk/webcore-gdk.bkl:
2557         * WebCore.vcproj/WebCore/WebCore.vcproj:
2558         * WebCore.xcodeproj/project.pbxproj:
2559         * WebCoreSources.bkl:
2560         * bridge/mac/FrameMac.mm:
2561         * bridge/mac/WebCoreResourceLoaderImp.h:
2562         * bridge/mac/WebCoreResourceLoaderImp.mm:
2563         (-[WebCoreResourceLoaderImp redirectedToURL:]):
2564         (-[WebCoreResourceLoaderImp addData:]):
2565         (-[WebCoreResourceLoaderImp finishJobAndHandle:]):
2566         * bridge/win/FrameWin.cpp:
2567         * dom/XMLTokenizer.cpp:
2568         (WebCore::openFunc):
2569         * loader/Cache.cpp:
2570         * loader/LoaderFunctions.h:
2571         * loader/loader.cpp:
2572         (WebCore::Loader::servePendingRequests):
2573         (WebCore::Loader::receivedAllData):
2574         (WebCore::Loader::receivedResponse):
2575         (WebCore::Loader::receivedData):
2576         (WebCore::Loader::cancelRequests):
2577         (WebCore::Loader::jobForRequest):
2578         * loader/loader.h:
2579         * loader/mac/LoaderFunctionsMac.mm:
2580         (WebCore::ServeSynchronousRequest):
2581         * platform/ResourceLoader.cpp: Added.
2582         (WebCore::ResourceLoader::ResourceLoader):
2583         (WebCore::ResourceLoader::isErrorPage):
2584         (WebCore::ResourceLoader::error):
2585         (WebCore::ResourceLoader::setError):
2586         (WebCore::ResourceLoader::queryMetaData):
2587         (WebCore::ResourceLoader::addMetaData):
2588         (WebCore::ResourceLoader::kill):
2589         (WebCore::ResourceLoader::url):
2590         (WebCore::ResourceLoader::postData):
2591         (WebCore::ResourceLoader::method):
2592         (WebCore::ResourceLoader::client):
2593         * platform/ResourceLoader.h: Added.
2594         (WebCore::ResourceLoader::getInternal):
2595         * platform/ResourceLoaderClient.h: Added.
2596         (WebCore::ResourceLoaderClient::~ResourceLoaderClient):
2597         (WebCore::ResourceLoaderClient::receivedRedirect):
2598         (WebCore::ResourceLoaderClient::receivedResponse):
2599         (WebCore::ResourceLoaderClient::receivedData):
2600         (WebCore::ResourceLoaderClient::receivedAllData):
2601         * platform/ResourceLoaderInternal.h: Added.
2602         (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
2603         * platform/TransferJob.cpp: Removed.
2604         * platform/TransferJob.h: Removed.
2605         * platform/TransferJobClient.h: Removed.
2606         * platform/TransferJobInternal.h: Removed.
2607         * platform/gdk/FrameGdk.cpp:
2608         (WebCore::FrameGdk::openURL):
2609         (WebCore::FrameGdk::urlSelected):
2610         (WebCore::FrameGdk::receivedData):
2611         (WebCore::FrameGdk::receivedAllData):
2612         * platform/gdk/FrameGdk.h:
2613         * platform/gdk/ResourceLoaderCurl.cpp: Added.
2614         (WebCore::ResourceLoaderInternal::~ResourceLoaderInternal):
2615         (WebCore::ResourceLoader::~ResourceLoader):
2616         (WebCore::ResourceLoader::start):
2617         (WebCore::ResourceLoader::cancel):
2618         * platform/gdk/ResourceLoaderManager.cpp: Added.
2619         (WebCore::ResourceLoaderManager::ResourceLoaderManager):
2620         (WebCore::ResourceLoaderManager::get):
2621         (WebCore::ResourceLoaderManager::useSimpleTransfer):
2622         (WebCore::writeCallback):
2623         (WebCore::ResourceLoaderManager::downloadTimerCallback):
2624         (WebCore::ResourceLoaderManager::remove):
2625         (WebCore::ResourceLoaderManager::add):
2626         (WebCore::ResourceLoaderManager::cancel):
2627         * platform/gdk/ResourceLoaderManager.h: Added.
2628         * platform/gdk/TemporaryLinkStubs.cpp:
2629         (WebCore::ServeSynchronousRequest):
2630         (WebCore::ResourceLoader::assembleResponseHeaders):
2631         (WebCore::ResourceLoader::retrieveCharset):
2632         * platform/gdk/TransferJobCurl.cpp: Removed.
2633         * platform/gdk/TransferJobManager.cpp: Removed.
2634         * platform/gdk/TransferJobManager.h: Removed.
2635         * platform/mac/ResourceLoaderMac.mm: Added.
2636         (WebCore::ResourceLoaderInternal::~ResourceLoaderInternal):
2637         (WebCore::ResourceLoader::~ResourceLoader):
2638         (WebCore::ResourceLoader::start):
2639         (WebCore::ResourceLoader::assembleResponseHeaders):
2640         (WebCore::ResourceLoader::retrieveCharset):
2641         (WebCore::ResourceLoader::setLoader):
2642         (WebCore::ResourceLoader::receivedResponse):
2643         (WebCore::ResourceLoader::cancel):
2644         * platform/mac/TransferJobMac.mm: Removed.
2645         * platform/win/ResourceLoaderWin.cpp: Added.
2646         (WebCore::addToOutstandingJobs):
2647         (WebCore::lookupResourceLoader):
2648         (WebCore::ResourceLoaderWndProc):
2649         (WebCore::initializeOffScreenResourceLoaderWindow):
2650         (WebCore::ResourceLoaderInternal::~ResourceLoaderInternal):
2651         (WebCore::ResourceLoader::~ResourceLoader):
2652         (WebCore::ResourceLoader::start):
2653         (WebCore::ResourceLoader::fileLoadTimer):
2654         (WebCore::ResourceLoader::cancel):
2655         * platform/win/ResourceLoaderWin.h: Added.
2656         * platform/win/TemporaryLinkStubs.cpp:
2657         (WebCore::ServeSynchronousRequest):
2658         (WebCore::ResourceLoader::assembleResponseHeaders):
2659         (WebCore::ResourceLoader::retrieveCharset):
2660         * platform/win/TransferJobWin.cpp: Removed.
2661         * platform/win/TransferJobWin.h: Removed.
2662         * xml/XSLTProcessor.cpp:
2663         (WebCore::docLoaderFunc):
2664         * xml/xmlhttprequest.cpp:
2665         (WebCore::XMLHttpRequest::send):
2666         (WebCore::XMLHttpRequest::receivedAllData):
2667         (WebCore::XMLHttpRequest::receivedRedirect):
2668         (WebCore::XMLHttpRequest::receivedData):
2669         * xml/xmlhttprequest.h:
2670
2671 2006-07-31  Darin Adler  <darin@apple.com>
2672
2673         Reviewed by Hyatt.
2674
2675         - removed obsolete cell margin hack
2676
2677         * rendering/RenderBox.cpp: (WebCore::RenderBox::calcVerticalMargins):
2678         Set top and bottom margins to 0 for table cells instead of -16384.
2679         No effect on layout (including layout tests).
2680
2681         * css/CSSComputedStyleDeclaration.cpp:
2682         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2683         Added a few comments about differences between this class and the
2684         what the CSS specification says about computed style.
2685
2686 2006-07-31  Mark Rowe  <opendarwin.org@bdash.net.nz>
2687
2688         Reviewed by Maciej.
2689
2690         http://bugzilla.opendarwin.org/show_bug.cgi?id=9738
2691         Bug 9738: Unqualified :hover selector ignored in strict parsing mode
2692
2693         * css/cssstyleselector.cpp:
2694         (WebCore::CSSStyleSelector::checkSelector): Restrict the :hover and :active
2695         exclusion based on onlyHoverActive to quirks mode.
2696
2697 2006-07-31  David Hyatt  <hyatt@apple.com>
2698
2699         Fix for bug 10179, digg.com scrolls slowly.  Improve fixed positioning
2700         and fixed backgrounds so that a count of them is kept on the FrameView.
2701         This allows us to switch slow scrolling on and off as these objects come
2702         and go.
2703
2704         * css/cssstyleselector.cpp:
2705         (WebCore::CSSStyleSelector::adjustRenderStyle):
2706         (WebCore::CSSStyleSelector::applyProperty):
2707         * page/FrameView.cpp:
2708         (WebCore::FrameViewPrivate::reset):
2709         (WebCore::FrameView::layout):
2710         (WebCore::FrameView::useSlowRepaints):
2711         (WebCore::FrameView::setUseSlowRepaints):
2712         (WebCore::FrameView::addSlowRepaintObject):
2713         (WebCore::FrameView::removeSlowRepaintObject):
2714         * page/FrameView.h:
2715         * rendering/RenderBox.cpp:
2716         (WebCore::RenderBox::paintBackgroundExtended):
2717         * rendering/RenderObject.cpp:
2718         (WebCore::RenderObject::setStyle):
2719         * rendering/RenderView.cpp:
2720         (WebCore::RenderView::paintBoxDecorations):
2721
2722 2006-07-31  David Hyatt  <hyatt@apple.com>
2723
2724         Begin disentangling of scrollbar logic in preparation for engine-implemented
2725         scrollbars.  Split ScrollBar into two classes, an abstract base (still named
2726         ScrollBar) and a new PlatformScrollBar subclass.  This subclass is used only
2727         by platforms that want to continue to use a platform scrollbar (rather than
2728         the engine one).
2729
2730         Reviewed by darin
2731
2732         * WebCore.xcodeproj/project.pbxproj:
2733         * html/HTMLCanvasElement.h:
2734         * page/Frame.cpp:
2735         * platform/PlatformScrollBar.h: Added.
2736         (WebCore::PlatformScrollBar::isWidget):
2737         * platform/ScrollBar.h:
2738         (WebCore::ScrollBarClient::~ScrollBarClient):
2739         (WebCore::ScrollBar::~ScrollBar):
2740         (WebCore::ScrollBar::orientation):
2741         (WebCore::ScrollBar::value):
2742         (WebCore::ScrollBar::client):
2743         * platform/mac/PlatformScrollBarMac.mm: Added.
2744         (-[WebCoreScrollBar initWithPlatformScrollBar:]):
2745         (-[WebCoreScrollBar detachPlatformScrollBar]):
2746         (-[WebCoreScrollBar scroll:]):
2747         (-[WebCoreScrollBar widget]):
2748         (-[WebCoreScrollBar mouseDown:]):
2749         (WebCore::PlatformScrollBar::PlatformScrollBar):
2750         (WebCore::PlatformScrollBar::~PlatformScrollBar):
2751         (WebCore::PlatformScrollBar::setScrollBarValue):
2752         (WebCore::PlatformScrollBar::setKnobProportion):
2753         (WebCore::PlatformScrollBar::scrollbarHit):
2754         (WebCore::PlatformScrollBar::width):
2755         (WebCore::PlatformScrollBar::height):
2756         (WebCore::PlatformScrollBar::setRect):
2757         (WebCore::PlatformScrollBar::setEnabled):
2758         (WebCore::PlatformScrollBar::paint):
2759         * platform/mac/ScrollBarMac.mm: Removed.
2760         * platform/mac/WebCoreTextArea.mm:
2761         * rendering/RenderBlock.cpp:
2762         (WebCore::RenderBlock::isPointInScrollbar):
2763         * rendering/RenderFormElement.cpp:
2764         * rendering/RenderLayer.cpp:
2765         (WebCore::RenderLayer::horizontalScrollbarWidget):
2766         (WebCore::RenderLayer::verticalScrollbarWidget):
2767         (WebCore::RenderLayer::valueChanged):
2768         (WebCore::RenderLayer::setHasHorizontalScrollbar):
2769         (WebCore::RenderLayer::setHasVerticalScrollbar):
2770         (WebCore::RenderLayer::positionScrollbars):
2771         * rendering/RenderLayer.h:
2772         * rendering/RenderWidget.h:
2773
2774 2006-07-31  Adele Peterson  <adele@apple.com>
2775
2776         Reviewed by John and Anders.
2777
2778         - Fix for <rdar://problem/4380576> onChange does not get called when field changed by return key
2779
2780         Test: fast/forms/onchange-enter-submit.html
2781
2782         Blur (which will fire onChange appropriately) before submitting a form when pressing Enter.
2783         This matches the sequence of events fired in WinIE.
2784
2785         * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler):
2786         * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::defaultEventHandler):
2787
2788 2006-07-31  Geoffrey Garen  <ggaren@apple.com>
2789
2790         Reviewed by Kevin.
2791
2792         Moved string debug function outside of the WebCore namespace so that it's
2793         easier to call in the debugger. I will never doubt Darin again (x100).
2794
2795         * platform/String.cpp:
2796         (string):
2797
2798 2006-07-31  David Hyatt  <hyatt@apple.com>
2799
2800         Partial fix for 5453.  Improve overflow so that when it changes
2801         dynamically from scroll/auto to hidden that we properly hide the
2802         scrollbars.  Also refine the dirty dashboard region updating so that
2803         it only happens if the scrollbars genuinely come and go.
2804
2805         Also eliminate the extra repaint of the entire block.  This should not be
2806         necessary, since the scrollbars repaint themselves already and children
2807         will repaint already if they move.
2808
2809         Reviewed by darin
2810
2811         Adding test case from bug into fast/overflow/dynamic-hidden.html
2812
2813         * rendering/RenderLayer.cpp:
2814         (WebCore::RenderLayer::setHasHorizontalScrollbar):
2815         (WebCore::RenderLayer::setHasVerticalScrollbar):
2816         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
2817
2818 2006-07-31  Graham Dennis  <graham.dennis@gmail.com>
2819
2820         Reviewed by justin
2821         
2822         <http://bugzilla.opendarwin.org/show_bug.cgi?id=9507>
2823         Empty style spans created in applyInlineStyle
2824         
2825         Improves paste fidelity because some of these empty font/style spans had a non-zero
2826         size and were messing up the layout of pasted content:
2827         <rdar://problem/4515463>
2828         REGRESSION: Blot and Mail both do a very poor job of pasting the main www.apple.com page   
2829
2830         * editing/ApplyStyleCommand.cpp:
2831         (WebCore::ApplyStyleCommand::applyInlineStyle): Use the adjusted start node instead 
2832         of start.node().  Don't do any application if the endpoints are swapped.  Adjust
2833         endNode if the start node is a descendant of it, so that the pre-order traversal will
2834         terminate properly.
2835
2836 2006-07-31  Geoffrey Garen  <ggaren@apple.com>
2837
2838         Reviewed by Darin.
2839
2840         * platform/String.cpp:
2841         (WebCore::string): Added a debugging function to create a String from a
2842         const char*.
2843
2844 2006-07-31  Anders Carlsson  <acarlsson@apple.com>
2845
2846         * css/CSSPrimitiveValue.cpp:
2847         Fix windows build.
2848
2849 2006-07-31  Geoffrey Garen  <ggaren@apple.com>
2850
2851         Reinstating my last change. Everything builds now.
2852         
2853 2006-07-31  Geoffrey Garen  <ggaren@apple.com>
2854
2855         Backing out my last change because it causes a build failure in some
2856         configurations. This seems to be the cleanest way to get svn to cooperate.
2857
2858 2006-07-31  Geoffrey Garen  <ggaren@apple.com>
2859
2860         Reviewed by Maciej.
2861
2862         Moved files around to make WebCore's structure clearer
2863         and easier to explain.
2864
2865         DerivedSources/JS* -> bindings/js/DerivedSources/ (so JS* files
2866         show up when you search inside bindings/js/, but are marked, at
2867         the same time, as files that you should not edit manually)
2868
2869         WebCore+SVG/DOMList.h -> ksvg2/svg/ (only files inside ksvg2/svg/
2870         use DOMList.h)
2871
2872         icon -> loader/icon
2873
2874         I tested that everything still builds.
2875
2876 2006-07-30  Darin Adler  <darin@apple.com>
2877
2878         Reviewed by Tim Hatcher.
2879
2880         - some improvements for the benefit of the style pane of the inspector
2881
2882         * css/CSSComputedStyleDeclaration.cpp: Removed background-position
2883         and border-spacing from the list of properties that show up in
2884         computed style, because of background-position-x, background-position-y,
2885         -webkit-border-horizontal-spacing and -webkit-border-vertical-spacing.
2886         (WebCore::valueForLength): Added handling for undefinedLength, intrinsic,
2887         and min-intrinsic.
2888         (WebCore::primitiveValueFromLength): Removed code that would add a
2889         space to the string for no good reason.
2890         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added a
2891         special case for a line clamp of -1, which should come back as "none"
2892         rather than an actual "-1".
2893         (WebCore::CSSComputedStyleDeclaration::length): Return 0 if the
2894         declaration has no corresponding node or no renderer.
2895         (WebCore::CSSComputedStyleDeclaration::item): Check against length()
2896         so that the two stay consistent rather than using a constant.
2897
2898         * css/CSSPrimitiveValue.cpp:
2899         (WebCore::isCSSTokenizerIdentifier): Added.
2900         (WebCore::isCSSTokenizerURL): Added.
2901         (WebCore::quoteString): Added.
2902         (WebCore::quoteStringIfNeeded): Changed to quote strings in many more
2903         cases -- any cases where they would not parse in the CSS parser otherwise.
2904         The main case this affects is font names with spaces in them.
2905         (WebCore::quoteURLIfNeeded): Added.
2906         (WebCore::CSSPrimitiveValue::cssText): Use quoteURLIfNeeded in the case
2907         where we're making the text form of a URI.
2908
2909         * css/tokenizer.flex: Whitespace tweaks to line things up better.
2910
2911 2006-07-30  Eric Seidel  <eric@eseidel.com>
2912
2913         Reviewed by gramps!
2914
2915         Remove some unused SVG code.
2916
2917         * ksvg2/ecma/Ecma.cpp: Removed.
2918         * ksvg2/ecma/Ecma.h: Removed.
2919         * ksvg2/ecma/GlobalObject.cpp: remove a couple dead functions.
2920         * ksvg2/ecma/GlobalObject.h: add a comment about this dead code.
2921         * ksvg2/ecma/SVGLookup.h: Removed.
2922
2923 2006-07-29  Darin Adler  <darin@apple.com>
2924
2925         - Removed tabs from these source files that still had them.
2926           We don't use them; that way source files look fine in editors
2927           that have tabs set to 8 spaces or to 4 spaces.
2928         - Removed allow-tabs Subversion property from the files too.
2929
2930         * bindings/objc/WebScriptObject.h:
2931         * bindings/objc/WebScriptObject.mm:
2932         * platform/FontData.cpp:
2933
2934 2006-07-29  Sam Weinig  <sam.weinig@gmail.com>
2935
2936         Reviewed by Darin.
2937
2938         - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10080
2939           Adopt pedantic changes from the Unity project to improve 
2940           cross-compiler compatibility
2941
2942           Changes include:
2943           * Removing trailing semicolon from namespace braces.
2944           * Removing trailing comma from last enum declaration.
2945           * Updating to match style guidelines.
2946           * Adding missing newline to the end of the file.
2947           * Turning on gcc warning for missing newline at the end of a source file
2948             (GCC_WARN_ABOUT_MISSING_NEWLINE in Xcode, -Wnewline in gcc).
2949           * Alphabetical sorting of Xcode source list files.
2950           * Use abs() function from <math.h> instead of ABS() macro.
2951           * Use C-style comments instead of C++ comments in files that might
2952             be included by either C or C++ files.
2953           * Use -numeric_limits<double>::infinity() instead of -HUGE_VAL.
2954
2955         * WebCore+SVG/DOMList.h:
2956         * WebCore.xcodeproj/project.pbxproj:
2957         * WebCorePrefix.h:
2958         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
2959         * bindings/js/JSXSLTProcessor.h:
2960         * bindings/js/kjs_domnode.h:
2961         (KJS::DOMNode::):
2962         * bindings/objc/DOMCSS.h:
2963         (-[DOMCSSValue enum]):
2964         * bindings/objc/DOMCore.h:
2965         (-[DOMImplementation createDocument:::]):
2966         * bindings/objc/DOMEvents.h:
2967         (-[DOMOverflowEvent enum]):
2968         * bindings/objc/DOMRange.h:
2969         * bindings/objc/DOMTraversal.h:
2970         * bindings/objc/DOMXPath.h:
2971         (-[DOMXPathNSResolver lookupNamespaceURI:]):
2972         * bridge/mac/WebCoreFrameBridge.h:
2973         * bridge/mac/WebCoreKeyboardAccess.h:
2974         * css/makeprop:
2975         * css/makevalues:
2976         * dom/ChildNodeList.h:
2977         * dom/DocPtr.h:
2978         * dom/Document.h:
2979         (WebCore::Document::):
2980         * dom/DocumentMarker.h:
2981         (WebCore::DocumentMarker::):
2982         (WebCore::DocumentMarker::operator==):
2983         (WebCore::DocumentMarker::operator!=):
2984         * dom/EventTargetNode.h:
2985         * dom/KeyboardEvent.h:
2986         (WebCore::KeyboardEvent::):
2987         * dom/NameNodeList.h:
2988         (WebCore::NameNodeList::rootNodeChildrenChanged):
2989         * dom/QualifiedName.cpp:
2990         * editing/TypingCommand.h:
2991         (WebCore::TypingCommand::):
2992         * editing/UnlinkCommand.h:
2993         (WebCore::UnlinkCommand::editingAction):
2994         * html/FormDataList.h:
2995         (WebCore::FormDataListItem::FormDataListItem):
2996         (WebCore::FormDataList::appendData):
2997         * html/HTMLBlockquoteElement.h:
2998         * html/HTMLDivElement.h:
2999         * html/HTMLFormElement.h:
3000         * html/HTMLHRElement.h:
3001         * html/HTMLHeadingElement.h:
3002         * html/HTMLMarqueeElement.h:
3003         * html/HTMLParagraphElement.h:
3004         * html/HTMLPlugInElement.h:
3005         * html/HTMLPreElement.h:
3006         * html/HTMLTokenizer.h:
3007         (WebCore::HTMLTokenizer::State::):
3008         * icon/IconDatabase.cpp:
3009         * icon/SQLStatement.cpp:
3010         * kcanvas/KCanvasFilters.h:
3011         (WebCore::):
3012         (WebCore::KCanvasPoint3F::KCanvasPoint3F):
3013         (WebCore::KCanvasFilter::KCanvasFilter):
3014         (WebCore::KCanvasFilter::~KCanvasFilter):
3015         (WebCore::KCanvasFilterEffect::~KCanvasFilterEffect):
3016         (WebCore::KCComponentTransferFunction::KCComponentTransferFunction):
3017         (WebCore::KCanvasFEConvolveMatrix::KCanvasFEConvolveMatrix):
3018         (WebCore::KCLightSource::KCLightSource):
3019         (WebCore::KCDistantLightSource::KCDistantLightSource):
3020         (WebCore::KCPointLightSource::KCPointLightSource):
3021         (WebCore::KCSpotLightSource::KCSpotLightSource):
3022         (WebCore::KCanvasFEDiffuseLighting::KCanvasFEDiffuseLighting):
3023         (WebCore::KCanvasFEDisplacementMap::KCanvasFEDisplacementMap):
3024         (WebCore::KCanvasFEImage::KCanvasFEImage):
3025         (WebCore::KCanvasFESpecularLighting::KCanvasFESpecularLighting):
3026         * kcanvas/RenderSVGImage.h:
3027         * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
3028         * ksvg2/css/SVGRenderStyle.h:
3029         (WebCore::SVGRenderStyle::InheritedFlags::):
3030         (WebCore::SVGRenderStyle::NonInheritedFlags::):
3031         * ksvg2/css/SVGRenderStyleDefs.h:
3032         (WebCore::):
3033         * ksvg2/events/SVGZoomEvent.h:
3034         * ksvg2/ksvg.h:
3035         (WebCore::):
3036         * ksvg2/misc/KCanvasRenderingStyle.h:
3037         * ksvg2/misc/SVGImageLoader.h:
3038         * ksvg2/scripts/make_names.pl:
3039         * ksvg2/svg/SVGAElement.h:
3040         * ksvg2/svg/SVGAngle.h:
3041         * ksvg2/svg/SVGAnimateColorElement.h:
3042         * ksvg2/svg/SVGAnimateElement.h:
3043         * ksvg2/svg/SVGAnimateTransformElement.h:
3044         * ksvg2/svg/SVGAnimatedAngle.h:
3045         * ksvg2/svg/SVGAnimatedBoolean.h:
3046         * ksvg2/svg/SVGAnimatedColor.h:
3047         * ksvg2/svg/SVGAnimatedEnumeration.h:
3048         * ksvg2/svg/SVGAnimatedInteger.h:
3049         * ksvg2/svg/SVGAnimatedLength.h:
3050         * ksvg2/svg/SVGAnimatedLengthList.h:
3051         * ksvg2/svg/SVGAnimatedNumber.h:
3052         * ksvg2/svg/SVGAnimatedNumberList.h:
3053         * ksvg2/svg/SVGAnimatedPathData.h:
3054         * ksvg2/svg/SVGAnimatedPoints.h:
3055         * ksvg2/svg/SVGAnimatedPreserveAspectRatio.h:
3056         * ksvg2/svg/SVGAnimatedRect.h:
3057         * ksvg2/svg/SVGAnimatedString.h:
3058         * ksvg2/svg/SVGAnimatedTemplate.h:
3059         * ksvg2/svg/SVGAnimatedTransformList.h:
3060         * ksvg2/svg/SVGAnimationElement.cpp:
3061         (SVGAnimationElement::calculateCurrentValueItem):
3062         (SVGAnimationElement::calculateRelativeTimePercentage):
3063         * ksvg2/svg/SVGAnimationElement.h:
3064         (WebCore::):
3065         * ksvg2/svg/SVGCircleElement.h:
3066         * ksvg2/svg/SVGClipPathElement.h:
3067         * ksvg2/svg/SVGColor.h:
3068         * ksvg2/svg/SVGComponentTransferFunctionElement.h:
3069         * ksvg2/svg/SVGCursorElement.h:
3070         * ksvg2/svg/SVGDOMImplementation.h:
3071         * ksvg2/svg/SVGDefsElement.h:
3072         * ksvg2/svg/SVGDescElement.h:
3073         * ksvg2/svg/SVGDocument.h:
3074         * ksvg2/svg/SVGElement.h:
3075         (WebCore::SVGElement::rendererIsNeeded):
3076         (WebCore::svg_dynamic_cast):
3077         * ksvg2/svg/SVGElementInstance.h:
3078         * ksvg2/svg/SVGElementInstanceList.h:
3079         * ksvg2/svg/SVGEllipseElement.h:
3080         * ksvg2/svg/SVGExternalResourcesRequired.h:
3081         * ksvg2/svg/SVGFEBlendElement.h:
3082         * ksvg2/svg/SVGFEColorMatrixElement.h:
3083         * ksvg2/svg/SVGFEComponentTransferElement.h:
3084         * ksvg2/svg/SVGFECompositeElement.h:
3085         * ksvg2/svg/SVGFEDiffuseLightingElement.h:
3086         * ksvg2/svg/SVGFEDisplacementMapElement.h:
3087         * ksvg2/svg/SVGFEDistantLightElement.h:
3088         * ksvg2/svg/SVGFEFloodElement.h:
3089         * ksvg2/svg/SVGFEFuncAElement.h:
3090         * ksvg2/svg/SVGFEFuncBElement.h:
3091         * ksvg2/svg/SVGFEFuncGElement.h:
3092         * ksvg2/svg/SVGFEFuncRElement.h:
3093         * ksvg2/svg/SVGFEGaussianBlurElement.h:
3094         * ksvg2/svg/SVGFEImageElement.h:
3095         * ksvg2/svg/SVGFELightElement.h:
3096         * ksvg2/svg/SVGFEMergeElement.h:
3097         * ksvg2/svg/SVGFEMergeNodeElement.h:
3098         * ksvg2/svg/SVGFEOffsetElement.h:
3099         * ksvg2/svg/SVGFEPointLightElement.h:
3100         * ksvg2/svg/SVGFESpecularLightingElement.h:
3101         * ksvg2/svg/SVGFESpotLightElement.h:
3102         * ksvg2/svg/SVGFETileElement.h:
3103         * ksvg2/svg/SVGFETurbulenceElement.h:
3104         * ksvg2/svg/SVGFilterElement.h:
3105         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h:
3106         * ksvg2/svg/SVGFitToViewBox.h:
3107         * ksvg2/svg/SVGForeignObjectElement.cpp:
3108         * ksvg2/svg/SVGForeignObjectElement.h:
3109         * ksvg2/svg/SVGGElement.h:
3110         * ksvg2/svg/SVGGradientElement.h:
3111         * ksvg2/svg/SVGHelper.h:
3112         (WebCore::):
3113         * ksvg2/svg/SVGImageElement.h:
3114         * ksvg2/svg/SVGLangSpace.h:
3115         * ksvg2/svg/SVGLength.h:
3116         * ksvg2/svg/SVGLengthList.h:
3117         * ksvg2/svg/SVGLineElement.h:
3118         * ksvg2/svg/SVGLinearGradientElement.h:
3119         * ksvg2/svg/SVGList.h:
3120         * ksvg2/svg/SVGLocatable.h:
3121         * ksvg2/svg/SVGMarkerElement.h:
3122         * ksvg2/svg/SVGMaskElement.h:
3123         * ksvg2/svg/SVGMatrix.h:
3124         * ksvg2/svg/SVGNumber.h:
3125         * ksvg2/svg/SVGNumberList.h:
3126         * ksvg2/svg/SVGPaint.h:
3127         * ksvg2/svg/SVGPathElement.h:
3128         * ksvg2/svg/SVGPathSeg.h:
3129         * ksvg2/svg/SVGPathSegArc.h:
3130         * ksvg2/svg/SVGPathSegClosePath.h:
3131         * ksvg2/svg/SVGPathSegCurvetoCubic.h:
3132         * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.h:
3133         * ksvg2/svg/SVGPathSegCurvetoQuadratic.h:
3134         * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.h:
3135         * ksvg2/svg/SVGPathSegLineto.h:
3136         * ksvg2/svg/SVGPathSegLinetoHorizontal.h:
3137         * ksvg2/svg/SVGPathSegLinetoVertical.h:
3138         * ksvg2/svg/SVGPathSegList.h:
3139         * ksvg2/svg/SVGPathSegMoveto.h:
3140         * ksvg2/svg/SVGPatternElement.h:
3141         * ksvg2/svg/SVGPoint.h:
3142         * ksvg2/svg/SVGPointList.h:
3143         * ksvg2/svg/SVGPolyElement.h:
3144         * ksvg2/svg/SVGPolygonElement.h:
3145         * ksvg2/svg/SVGPolylineElement.h:
3146         * ksvg2/svg/SVGPreserveAspectRatio.h:
3147         * ksvg2/svg/SVGRadialGradientElement.h:
3148         * ksvg2/svg/SVGRect.h:
3149         * ksvg2/svg/SVGRectElement.h:
3150         * ksvg2/svg/SVGSVGElement.h:
3151         * ksvg2/svg/SVGScriptElement.h:
3152         * ksvg2/svg/SVGSetElement.h:
3153         * ksvg2/svg/SVGStopElement.h:
3154         * ksvg2/svg/SVGStringList.h:
3155         * ksvg2/svg/SVGStylable.h:
3156         * ksvg2/svg/SVGStyleElement.h:
3157         * ksvg2/svg/SVGStyledElement.h:
3158         (WebCore::SVGStyledElement::rendererIsNeeded):
3159         (WebCore::SVGStyledElement::canvasResource):
3160         * ksvg2/svg/SVGStyledLocatableElement.h:
3161         * ksvg2/svg/SVGStyledTransformableElement.h:
3162         * ksvg2/svg/SVGSwitchElement.h:
3163         * ksvg2/svg/SVGSymbolElement.h:
3164         * ksvg2/svg/SVGTRefElement.h:
3165         * ksvg2/svg/SVGTSpanElement.h:
3166         * ksvg2/svg/SVGTests.h:
3167         * ksvg2/svg/SVGTextContentElement.h:
3168         * ksvg2/svg/SVGTextElement.h:
3169         * ksvg2/svg/SVGTextPositioningElement.h:
3170         * ksvg2/svg/SVGTitleElement.h:
3171         * ksvg2/svg/SVGTransform.h:
3172         * ksvg2/svg/SVGTransformList.h:
3173         * ksvg2/svg/SVGTransformable.h:
3174         * ksvg2/svg/SVGURIReference.h:
3175         * ksvg2/svg/SVGUseElement.h:
3176         * ksvg2/svg/SVGViewElement.h:
3177         * ksvg2/svg/SVGZoomAndPan.h:
3178         * ksvg2/svg/svgpathparser.h:
3179         * page/Frame.h:
3180         (WebCore::):
3181         * platform/AffineTransform.h:
3182         * platform/FontCache.cpp:
3183         (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
3184         * platform/FontData.cpp:
3185         (WebCore::FontData::FontData):
3186         * platform/FontData.h:
3187         * platform/TextBox.h:
3188         (WebCore::TextBox::):
3189         * platform/Timer.cpp:
3190         (WebCore::TimerBase::heapPop):
3191         * platform/mac/FontCacheMac.mm:
3192         * platform/mac/GlyphMapMac.cpp:
3193         * platform/mac/WebFontCache.mm:
3194         (betterChoice):
3195         * rendering/DeprecatedRenderSelect.cpp:
3196         (WebCore::DeprecatedRenderSelect::setWidgetWritingDirection):
3197         * rendering/EllipsisBox.h:
3198         * rendering/RenderBR.h:
3199         (WebCore::RenderBR::renderName):
3200         (WebCore::RenderBR::width):
3201         * rendering/RenderBlock.h:
3202         (WebCore::):
3203         * rendering/RenderFlexibleBox.h:
3204         * rendering/RenderFlow.h:
3205         (WebCore::RenderFlow::RenderFlow):
3206         * rendering/RenderFrame.cpp:
3207         * rendering/bidi.h:
3208         * rendering/break_lines.cpp:
3209
3210 2006-07-29  Rob Buis  <buis@kde.org>
3211
3212         Reviewed by Geoff.
3213
3214         http://bugzilla.opendarwin.org/show_bug.cgi?id=10151
3215         ghostmap XHTML + SVG fails due to javascript undefined exception
3216
3217         Make sure document.URL works when called from a non-HTML document.
3218
3219         * bindings/js/kjs_html.cpp:
3220         (KJS::JSHTMLDocument::getValueProperty):
3221         * bindings/js/kjs_html.h:
3222         (KJS::JSHTMLDocument::):
3223         * dom/Document.idl:
3224
3225 2006-07-29  Mike Emmel  <mike.emmel@gmail.com>
3226
3227         Reviewed and tweaked by Darin.
3228
3229         - fixes for Linux build
3230           (still might not compile, since Darin tweaked but was unable to test).
3231
3232         * WebCoreSources.bkl: Added some new sources, removed some obsolete ones.
3233         * Projects/gdk/webcore-gdk.bkl: Added RenderPopupMenuGdk.cpp
3234
3235         * html/HTMLPlugInElement.h: Removed incorrect syntax with class name
3236         before ::.
3237
3238         * platform/gdk/FrameGdk.h:
3239         * platform/gdk/FrameGdk.cpp: Updated parameters of constructor. Moved a couple stubs
3240         out of this file.
3241         * platform/gdk/RenderPopupMenuGdk.h: Added.
3242         * platform/gdk/RenderPopupMenuGdk.cpp: Added. Just a file full of empty stubs.
3243         * platform/gdk/RenderThemeGdk.h:
3244         * platform/gdk/RenderThemeGdk.cpp: (WebCore::RenderThemeGdk::createPopupMenu): Added.
3245
3246         * platform/gdk/TemporaryLinkStubs.cpp: Add some new stubs.
3247
3248 2006-07-29  Mark Rowe  <opendarwin.org@bdash.net.nz>
3249
3250         Reviewed by Darin.
3251
3252         http://bugzilla.opendarwin.org/show_bug.cgi?id=10022
3253         Bug 10022: REGRESSION: Crash in WebCore::XMLTokenizer::characters
3254
3255         * dom/XMLTokenizer.cpp:
3256         (WebCore::XMLTokenizer::resumeParsing): If the write() call resulted in new callbacks being
3257         added, don't call through to end() just yet.
3258
3259 2006-07-29  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3260
3261         Reviewed by John Sullivan.
3262
3263         - manual test for http://bugzilla.opendarwin.org/show_bug.cgi?id=9984
3264           ASSERTION FAILURE: _private->mouseDownEvent != nil
3265           (WebKit/WebView/WebHTMLView.m:4863 -[WebHTMLView(WebInternal) _delegateDragSourceActionMask])
3266
3267         * manual-tests/subview-click-assertion.html: Added.
3268
3269 2006-07-29  Andrew Wellington  <proton@wiretapped.net>
3270
3271         Reviewed by Darin.
3272
3273         Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8587 / <rdar://problem/4631844>
3274         REGRESSION: {display:list-item} items outside an ol or ul element don't number correctly
3275
3276         * rendering/RenderListItem.cpp:
3277         (WebCore::enclosingList): If no real list element is found, use parent instead.
3278         (WebCore::previousListItem): Check list elements to see if they are list items -- the
3279         old code assumed that a list would never be a list item but this is entirely possible
3280         with CSS and especially with the new rule that means any DOM element could act as a list.
3281
3282 2006-07-29  Alexey Proskuryakov  <ap@nypop.com>
3283
3284         Reviewed by Darin.
3285
3286         Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10147
3287         REGRESSION: custom attribute values set via javascript are not persistent
3288
3289         Test: fast/dom/Element/setAttribute-case-insensitivity.html
3290
3291         * dom/Element.cpp:
3292         (WebCore::Element::setAttribute): Use the lowercased localName for retrieving the old value, too.
3293
3294 2006-07-28  Timothy Hatcher  <timothy@apple.com>
3295
3296         Suggested by Darin.
3297
3298         Moving the implementation of isContentEditable to the
3299         the WebPrivate category.
3300
3301         * bindings/objc/DOM.mm:
3302         (-[DOMNode isContentEditable]):
3303
3304 2006-07-28  Justin Garcia  <justin.garcia@apple.com>
3305
3306         Reviewed by levi
3307         
3308         First part of:
3309         <rdar://problem/4515463>
3310         REGRESSION: Blot and Mail both do a very poor job of pasting the main www.apple.com page
3311         
3312         Migrate to isBlock and enclosingBlock.
3313         Changed RendereringInfo::isBlock and ReplacementFragment::isBlock
3314         to wasBlock so that they don't conflict with isBlock and because
3315         it's more descriptive.
3316
3317         * editing/ReplaceSelectionCommand.cpp:
3318         (WebCore::ReplacementFragment::mergeStartNode):
3319         (WebCore::ReplacementFragment::wasBlock):
3320         (WebCore::ReplacementFragment::saveRenderingInfo):
3321         (WebCore::ReplacementFragment::renderedBlocks):
3322         (WebCore::RenderingInfo::RenderingInfo):
3323         (WebCore::ReplaceSelectionCommand::shouldMergeStart):
3324         (WebCore::ReplaceSelectionCommand::doApply):
3325         * editing/ReplaceSelectionCommand.h:
3326         (WebCore::RenderingInfo::wasBlock):
3327
3328 2006-07-27  Justin Garcia  <justin.garcia@apple.com>
3329
3330         Reviewed by levi
3331         
3332         More changes for:
3333         <rdar://problem/4242293>
3334         Poor paste fidelity of http://www.google.com/
3335
3336         * editing/markup.cpp:
3337         (WebCore::needInterchangeNewlineAfter): Added.
3338         (WebCore::createMarkup): 
3339         Only add an interchangeNewline if we're annotating for interchange.  Can't test 
3340         this until we expose createMarkup in non-annotate mode (I'd expose Range::toHTML).
3341         Remove the FIXME about prepending the interchangeNewline before creating the rest 
3342         of the markup.  Its correct to surround the interchangeNewline in ancestors of the
3343         adjusted startNode.
3344         Fixed the check to see if an interchangeNewline is needed (!inSameBlock).  This would
3345         add an interchangeNewline for a selection that started before a table.
3346         Removed the workaround for the bug where markup for a table was not included when 
3347         selecting the contents of a table, since this change fixes the general problem of 
3348         markup for ancestors of the startNode being left out.
3349         Don't leave out ancestors of the startNode as we leave their subtrees.  Execute the
3350         code to include them even if we closed ancestors in the ancestorsToClose list.
3351
3352 2006-07-28  Timothy Hatcher  <timothy@apple.com>
3353
3354         Reviewed by John.
3355
3356         Adding isContentEditable to DOMNode's private category. 
3357
3358         * bindings/objc/DOMPrivate.h:
3359
3360 2006-07-28  Alexey Proskuryakov  <ap@nypop.com>
3361
3362         Rolling out http://bugzilla.opendarwin.org/show_bug.cgi?id=6010 because of failing layout tests.
3363         Add better SVGLoad event support.
3364
3365         * dom/EventTargetNode.cpp:
3366         (WebCore::EventTargetNode::dispatchGenericEvent):
3367         * html/HTMLImageLoader.cpp:
3368         (WebCore::HTMLImageLoader::dispatchLoadEvent):
3369         * html/HTMLImageLoader.h:
3370         * ksvg2/misc/SVGImageLoader.cpp:
3371         (WebCore::SVGImageLoader::SVGImageLoader):
3372         * ksvg2/misc/SVGImageLoader.h:
3373         * ksvg2/svg/SVGAElement.cpp:
3374         (WebCore::SVGAElement::parseMappedAttribute):
3375         * ksvg2/svg/SVGAnimatedBoolean.h:
3376         * ksvg2/svg/SVGElement.cpp:
3377         (WebCore::SVGElement::SVGElement):
3378         (WebCore::SVGElement::parseMappedAttribute):
3379         * ksvg2/svg/SVGElement.h:
3380         (WebCore::SVGElement::adjustViewportClipping):
3381         (WebCore::SVGElement::closeRenderer):
3382         (WebCore::SVGElement::rendererIsNeeded):
3383         (WebCore::SVGElement::isClosed):
3384         (WebCore::svg_dynamic_cast):
3385         * ksvg2/svg/SVGExternalResourcesRequired.h:
3386         * ksvg2/svg/SVGImageElement.cpp:
3387         (SVGImageElement::SVGImageElement):
3388         * ksvg2/svg/SVGImageElement.h:
3389         * ksvg2/svg/SVGSVGElement.cpp:
3390         (WebCore::SVGSVGElement::parseMappedAttribute):
3391         * ksvg2/svg/SVGScriptElement.cpp:
3392         (SVGScriptElement::SVGScriptElement):
3393         (SVGScriptElement::parseMappedAttribute):
3394         (SVGScriptElement::executeScript):
3395         * xml/xmlhttprequest.cpp:
3396         (WebCore::XMLHttpRequest::callReadyStateChangeListener):
3397
3398 2006-07-28  Adele Peterson  <adele@apple.com>
3399
3400         Rolling out http://bugzilla.opendarwin.org/show_bug.cgi?id=9753 because of failing layout tests.
3401         SVG with width and height 100% leaves room for scrollbar on the right.
3402
3403         * kcanvas/RenderPath.cpp:
3404         * kcanvas/RenderPath.h:
3405         * kcanvas/RenderSVGContainer.cpp:
3406         (WebCore::RenderSVGContainer::layout):
3407         * ksvg2/svg/SVGCircleElement.cpp:
3408         * ksvg2/svg/SVGCircleElement.h:
3409         * ksvg2/svg/SVGEllipseElement.cpp:
3410         * ksvg2/svg/SVGEllipseElement.h:
3411         * ksvg2/svg/SVGLineElement.cpp:
3412         * ksvg2/svg/SVGLineElement.h:
3413         * ksvg2/svg/SVGRectElement.cpp:
3414         * ksvg2/svg/SVGRectElement.h:
3415         * ksvg2/svg/SVGStyledElement.h:
3416
3417 2006-07-27  Eric Seidel  <eric@eseidel.com>
3418
3419         Reviewed by darin.
3420         
3421         Add better SVGLoad event support.
3422         http://bugzilla.opendarwin.org/show_bug.cgi?id=6010
3423         There will still need to be additional support added for <link> and <script> elements.
3424         Not all of the error -> loaded -> error transition cases work yet.
3425
3426         * dom/EventTargetNode.cpp:
3427         (WebCore::EventTargetNode::dispatchGenericEvent):
3428         * html/HTMLImageLoader.cpp:
3429         (WebCore::HTMLImageLoader::dispatchLoadEvent):
3430         * html/HTMLImageLoader.h:
3431         (WebCore::HTMLImageLoader::haveFiredLoadEvent):
3432         (WebCore::HTMLImageLoader::setHaveFiredLoadEvent):
3433         * ksvg2/misc/SVGImageLoader.cpp:
3434         (WebCore::SVGImageLoader::SVGImageLoader):
3435         (WebCore::SVGImageLoader::dispatchLoadEvent):
3436         * ksvg2/misc/SVGImageLoader.h:
3437         * ksvg2/svg/SVGAElement.cpp:
3438         (WebCore::SVGAElement::parseMappedAttribute):
3439         * ksvg2/svg/SVGAnimatedBoolean.h:
3440         * ksvg2/svg/SVGElement.cpp:
3441         (WebCore::SVGElement::SVGElement):
3442         (WebCore::SVGElement::parseMappedAttribute):
3443         (WebCore::SVGElement::haveLoadedRequiredResources):
3444         (WebCore::SVGElement::sendSVGLoadEventIfPossible):
3445         (WebCore::SVGElement::closeRenderer):
3446         * ksvg2/svg/SVGElement.h:
3447         (WebCore::SVGElement::rendererIsNeeded):
3448         (WebCore::svg_dynamic_cast):
3449         * ksvg2/svg/SVGExternalResourcesRequired.h:
3450         * ksvg2/svg/SVGImageElement.cpp:
3451         (SVGImageElement::SVGImageElement):
3452         (SVGImageElement::haveLoadedRequiredResources):
3453         * ksvg2/svg/SVGImageElement.h:
3454         * ksvg2/svg/SVGSVGElement.cpp:
3455         (WebCore::SVGSVGElement::parseMappedAttribute):
3456         * ksvg2/svg/SVGScriptElement.cpp:
3457         (WebCore::SVGScriptElement::SVGScriptElement):
3458         (WebCore::SVGScriptElement::parseMappedAttribute):
3459         (WebCore::SVGScriptElement::executeScript):
3460         * xml/xmlhttprequest.cpp:
3461         (WebCore::XMLHttpRequest::callReadyStateChangeListener): use new Event() instead of createEvent
3462
3463 2006-07-27  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3464
3465         Reviewed by Anders.
3466
3467         - http://bugzilla.opendarwin.org/show_bug.cgi?id=10135
3468           Cleanup: remove useless parameters from RenderObject::position()
3469
3470         No test possible (no functionality change)
3471
3472         * rendering/RenderBox.cpp:
3473         (WebCore::RenderBox::position):
3474         * rendering/RenderBox.h:
3475         * rendering/RenderObject.h:
3476         (WebCore::RenderObject::position):
3477         * rendering/RenderTableRow.h:
3478         (WebCore::RenderTableRow::position):
3479         * rendering/RenderTableSection.h:
3480         (WebCore::RenderTableSection::position):
3481         * rendering/RenderText.cpp:
3482         (WebCore::RenderText::position):
3483         * rendering/RenderText.h:
3484         * rendering/bidi.cpp:
3485         (WebCore::RenderBlock::constructLine):
3486         (WebCore::RenderBlock::computeVerticalPositionsForLine):
3487
3488 2006-07-27  Rob Buis  <buis@kde.org>
3489
3490         Reviewed by Maciej.
3491
3492         http://bugzilla.opendarwin.org/show_bug.cgi?id=9753
3493         SVG with width and height 100% leaves room for scrollbar on the right.
3494
3495         Relayout children of svg containers, except svg shapes that do not depend on percentages.
3496
3497         * kcanvas/RenderPath.cpp: (WebCore::RenderPath::hasPercentageValues):
3498         * kcanvas/RenderPath.h:
3499         * kcanvas/RenderSVGContainer.cpp: (WebCore::RenderSVGContainer::layout):
3500         * ksvg2/svg/SVGCircleElement.cpp: (SVGCircleElement::hasPercentageValues):
3501         * ksvg2/svg/SVGCircleElement.h:
3502         * ksvg2/svg/SVGEllipseElement.cpp: (WebCore::SVGEllipseElement::hasPercentageValues):
3503         * ksvg2/svg/SVGEllipseElement.h:
3504         * ksvg2/svg/SVGLineElement.cpp: (SVGLineElement::hasPercentageValues):
3505         * ksvg2/svg/SVGLineElement.h:
3506         * ksvg2/svg/SVGRectElement.cpp: (WebCore::SVGRectElement::hasPercentageValues):
3507         * ksvg2/svg/SVGRectElement.h:
3508         * ksvg2/svg/SVGStyledElement.h: (WebCore::SVGStyledElement::hasPercentageValues):
3509
3510 2006-07-27  Justin Garcia  <justin.garcia@apple.com>
3511
3512         Reviewed by levi
3513         
3514         <rdar://problem/4242293>
3515         Poor paste fidelity of http://www.google.com/
3516
3517         * editing/ApplyStyleCommand.cpp:
3518         (WebCore::ApplyStyleCommand::applyInlineStyle):  Fixed crasher with nil-check.
3519         * editing/markup.cpp:
3520         (WebCore::startMarkup): Style information wasn't added to an element if it had
3521         attributes but no style attribute.
3522
3523 2006-07-27  Alexander Kellett  <lypanov@kde.org>
3524
3525         Reviewed by Darin.
3526
3527         - fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=9867
3528           REGRESSION: code that modifies form element in Firefox modifies form attribute in WebKit
3529
3530         * bindings/scripts/CodeGeneratorJS.pm: add new attribute - HasOverridingNameGetter
3531         * html/HTMLFormElement.idl:
3532
3533 2006-07-27  Rob Buis  <buis@kde.org>
3534
3535         Reviewed by Anders.
3536
3537         http://bugzilla.opendarwin.org/show_bug.cgi?id=8992
3538         Some HTML DOM attributes have incorrect types
3539
3540         Adjust idl and dom source code for HTMLImageElement and
3541         HTMLBaseFontElement to choose correct type for
3542         HTMLImageElement::border and HTMLBaseFontElement::size
3543         attributes.
3544
3545         * html/HTMLBaseFontElement.cpp:
3546         (WebCore::HTMLBaseFontElement::size):
3547         (WebCore::HTMLBaseFontElement::setSize):
3548         * html/HTMLBaseFontElement.h:
3549         * html/HTMLBaseFontElement.idl:
3550         * html/HTMLImageElement.cpp:
3551         (WebCore::HTMLImageElement::border):
3552         (WebCore::HTMLImageElement::setBorder):
3553         * html/HTMLImageElement.h:
3554         * html/HTMLImageElement.idl:
3555
3556 2006-07-27  Justin Garcia  <justin.garcia@apple.com>
3557
3558         Reviewed by levi
3559         
3560         <rdar://problem/4628409>
3561         Safari crashes in CompositeEditCommand::removeBlockPlaceholder entering text in a web page form
3562
3563         * editing/CompositeEditCommand.cpp:
3564         (WebCore::CompositeEditCommand::removeBlockPlaceholder): 
3565         A script on the page shrinks the textarea down to zero rows just
3566         before insertion.  That gives the shadow div a zero height, removing
3567         [div, 0] as a candidate for a VisiblePosition.  Then 
3568         InsertTextCommand::input() tries to create a VisiblePosition from 
3569         [div, 0] and fails.  A nil check is a quick fix.  Another might
3570         be to make positions where there is a caret selection candidates.
3571         Another might be to make any [div, 0] where div is a shadow div inside
3572         a form element a candidate.
3573
3574 2006-07-27  Graham Dennis  <graham.dennis@gmail.com>
3575
3576         Reviewed by Darin.
3577
3578         - fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=10094
3579           Japanese characters improperly rendering in TOT
3580           
3581         Test: fast/encoding/denormalised-voiced-japanese-chars.html
3582
3583         * platform/Font.cpp:
3584         (WebCore::WidthIterator::advance): pass currentCharacter to normalizeVoicingMarks
3585         (WebCore::WidthIterator::normalizeVoicingMarks): turn the currentCharacter variable
3586         into an argument as WidthIterator::advance doesn't update m_currentCharacter while
3587         looping
3588
3589 2006-07-27  Eric Seidel  <eric@eseidel.com>
3590
3591         Reviewed by ap.
3592
3593         Complex entities seem to fail on TOT
3594         http://bugzilla.opendarwin.org/show_bug.cgi?id=6390
3595         Use an alternative work-around to an XML Entity parsing bug.
3596
3597         * dom/XMLTokenizer.cpp:
3598         (WebCore::XMLTokenizer::write):
3599         (WebCore::hackAroundLibXMLEntityBug): added.
3600         (WebCore::startElementNsHandler):
3601         (WebCore::endElementNsHandler):
3602         (WebCore::charactersHandler):
3603         (WebCore::processingInstructionHandler):
3604         (WebCore::cdataBlockHandler):
3605         (WebCore::commentHandler):
3606         (WebCore::getEntityHandler):
3607
3608 2006-07-27  Rob Buis  <buis@kde.org>
3609
3610         Reviewed by Darin.
3611
3612         http://bugzilla.opendarwin.org/show_bug.cgi?id=9938
3613         Fix viewBox issues in Hixie's test
3614
3615         Do a more accurate and quicker job of parsing the viewBox
3616         attribute. Handle properly on negative width/height and
3617         invalid syntax in general.
3618
3619         * ksvg2/svg/SVGFitToViewBox.cpp:
3620         (SVGFitToViewBox::parseViewBox):
3621
3622 2006-07-27  Eric Seidel  <eric@eseidel.com>
3623
3624         Reviewed by ap.
3625
3626         Enables getSVGDocument() support for HTMLObjectElement and HTMLEmbedElement
3627         http://bugzilla.opendarwin.org/show_bug.cgi?id=9237
3628         This patch does not try to autogenerate anything, but enables the SVG functionality.
3629         Also fix HTMLObjectElement vspace and hspace to be numbers instead of strings to match IE & Firefox.
3630
3631         * bindings/js/kjs_dom.cpp:
3632         (KJS::toJS):
3633         * bindings/js/kjs_html.cpp:
3634         (KJS::JSHTMLElement::objectGetter):
3635         (KJS::HTMLElementFunction::callAsFunction):
3636         (KJS::JSHTMLElement::objectSetter):
3637         * bindings/js/kjs_html.h:
3638         (KJS::JSHTMLElement::):
3639         * dom/Document.h:
3640         (WebCore::Document::isSVGDocument):
3641         * html/HTMLEmbedElement.cpp:
3642         (WebCore::HTMLEmbedElement::contentDocument):
3643         (WebCore::HTMLEmbedElement::getSVGDocument):
3644         * html/HTMLEmbedElement.h:
3645         * html/HTMLObjectElement.cpp:
3646         (WebCore::HTMLObjectElement::HTMLObjectElement):
3647         (WebCore::HTMLObjectElement::getInstance):
3648         (WebCore::HTMLObjectElement::parseMappedAttribute):
3649         (WebCore::HTMLObjectElement::contentDocument):
3650         (WebCore::HTMLObjectElement::rendererIsNeeded):
3651         (WebCore::HTMLObjectElement::createRenderer):
3652         (WebCore::HTMLObjectElement::setCode):
3653         (WebCore::HTMLObjectElement::setArchive):
3654         (WebCore::HTMLObjectElement::setBorder):
3655         (WebCore::HTMLObjectElement::setCodeBase):
3656         (WebCore::HTMLObjectElement::setCodeType):
3657         (WebCore::HTMLObjectElement::setData):
3658         (WebCore::HTMLObjectElement::hspace):
3659         (WebCore::HTMLObjectElement::setHspace):
3660         (WebCore::HTMLObjectElement::setStandby):
3661         (WebCore::HTMLObjectElement::setType):
3662         (WebCore::HTMLObjectElement::setUseMap):
3663         (WebCore::HTMLObjectElement::vspace):
3664         (WebCore::HTMLObjectElement::setVspace):
3665         (WebCore::HTMLObjectElement::getSVGDocument):
3666         * html/HTMLObjectElement.h:
3667         * ksvg2/svg/SVGDocument.h:
3668         (WebCore::SVGDocument::isSVGDocument):
3669         * rendering/RenderWidget.h:
3670         (WebCore::RenderWidget::frameView):
3671
3672 2006-07-26  Alexey Proskuryakov  <ap@nypop.com>
3673
3674         Reviewed by Darin.
3675
3676         Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9901
3677         XSLTProcessor cannot parse text nodes for INPUT ELEMENTS in an XSLT stylesheet
3678
3679         Test: fast/js/xhtml-serialize.html
3680
3681         * editing/markup.cpp:
3682         (WebCore::endMarkup): If the element has child nodes, write a closing tag even if it 
3683         is not permitted in HTML, to make it valid XML.
3684
3685 2006-07-26  Alice Liu  <alice.liu@apple.com>
3686
3687         Reviewed by John Sullivan (and Kevin and Timo).
3688
3689         landing this patch for John et al.  
3690         Fixed <rdar://problem/4651380> REGRESSION (9A232->9A234): existing web clips don't render if you restart Dashboard
3691
3692         * page/FrameView.cpp:
3693         (WebCore::FrameView::layout):
3694         moved the call to didFirstLayout to above the check for needsLayout
3695         because we need to call didFirstLayout for every webview, not just
3696         ones we think need layout.  
3697
3698 2006-07-26  Justin Garcia  <justin.garcia@apple.com>
3699
3700         Reviewed by darin
3701         
3702         <rdar://problem/4652788>
3703         REGRESSION: Can't change size or style of any text in message body
3704
3705         * dom/Node.cpp:
3706         (WebCore::Node::isContentRichlyEditable): Mimic Node::isContentEditable.
3707         * html/HTMLElement.cpp:
3708         (WebCore::HTMLElement::isContentRichlyEditable): First check
3709         the frame for editability, then userModify, like what
3710         HTMLElement::isContentEditable() does.
3711         * html/HTMLElement.h:
3712
3713 2006-07-26  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3714
3715         Reviewed by ap.
3716
3717         - fix debug-only information() string for table cells
3718
3719         * rendering/RenderObject.cpp:
3720         (WebCore::RenderObject::information):
3721
3722 2006-07-25  David Harrison  <harrison@apple.com>
3723
3724         Reviewed by timo and Darin.
3725
3726         <rdar://problem/4618584> "Paste and Match Style" is not working in Mail (add SPI)
3727         
3728         * WebCore.xcodeproj/project.pbxproj:
3729         * bridge/mac/WebCoreFrameBridge.h:
3730         * bridge/mac/WebCoreFrameBridge.mm:
3731         (-[WebCoreFrameBridge replaceSelectionWithNode:selectReplacement:smartReplace:matchStyle:]):
3732         Add matchStyle parameter for use by WebKit.
3733
3734 2006-07-25  Justin Garcia  <justin.garcia@apple.com>
3735
3736         Reviewed by adele
3737         
3738         <rdar://problem/4649560>
3739         REGRESSION: Can't Select All when the body is contentEditable="true"
3740
3741         * editing/VisiblePosition.cpp:
3742         (WebCore::VisiblePosition::canonicalPosition): Allow descent from a non-editable html
3743         element into an editable body as a convenience.
3744
3745 2006-07-25  Justin Garcia  <justin.garcia@apple.com>
3746
3747         Reviewed by darin
3748         
3749         <rdar://problem/4468458> Incoming HTML message is editable <body contenteditable="true">
3750
3751         * dom/Document.cpp:
3752         (WebCore::Document::inDesignMode): Removed some spaces.
3753         * page/Frame.cpp:
3754         (WebCore::Frame::applyEditingStyleToElement): Just add CSS properties needed for editing.
3755         (WebCore::Frame::removeEditingStyleFromElement): Made this a no-op, we'll remove
3756         it eventually.
3757
3758 2006-07-25  David Kilzer  <ddkilzer@kilzer.net>
3759
3760         Reviewed by Darin.
3761
3762         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9717
3763           Replace IDL ConvertUndefinedToTrue parameter attribute with Optional attribute
3764
3765         No test added because there is no change in functionality.
3766
3767         * bindings/js/kjs_binding.cpp: Removed valueToBooleanTreatUndefinedAsTrue() method.
3768         * bindings/js/kjs_binding.h: Ditto.
3769         * bindings/scripts/CodeGeneratorJS.pm: Removed support for ConvertUndefinedToTrue parameter attribute.
3770         * dom/Element.h: Set default value to true for scrollIntoView() and scrollIntoViewIfNeeded() arguments.
3771         * dom/Element.idl: Replaced ConvertUndefinedToTrue attribute with Optional attribute.
3772           Fixed name of scrollIntoViewIfNeeded() argument to match implementation.
3773         * page/DOMWindow.idl: Replaced ConvertUndefinedToTrue attribute with Optional attribute.
3774
3775 2006-07-24  Dan Waylonis  <waylonis@google.com>
3776
3777         Reviewed and tweaked a bunch by Darin.
3778
3779         Test: plugins/bindings-test.html
3780
3781         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9902
3782           jsNull and NSNull not properly converted between JS and ObjC
3783
3784         * bindings/objc/WebScriptObject.mm:
3785         (+[WebScriptObject _convertValueToObjcValue:originExecutionContext:executionContext:]):
3786         Added case that converts jsNull to NSNull.
3787
3788 2006-07-24  Darin Adler  <darin@apple.com>
3789
3790         Reviewed by Adele and Justin.
3791
3792         - fix <rdar://problem/4613616> REGRESSION: some spaces typed in <textarea> are posted as non-breaking spaces (9630)
3793           http://bugzilla.opendarwin.org/show_bug.cgi?id=9630
3794         - also fixes http://bugzilla.opendarwin.org/show_bug.cgi?id=9939
3795           REGRESSION: Pasting text into native text area with newline at end does not preserve newline
3796         - removed some uses of DeprecatedPtrList in the markup code
3797
3798         Test: fast/forms/textarea-type-spaces.html
3799         Test: fast/forms/textarea-paste-newline.html
3800
3801         * bindings/objc/DOMHTML.mm: (-[DOMHTMLDocument createDocumentFragmentWithText:]):
3802         Updated call to pass a range -- in this case it is the range of the entire document,
3803         so this will not handle the whitespace properly.
3804
3805         * bridge/mac/WebCoreFrameBridge.h: Added range context parameter to the
3806         documentFragmentWithText: method, so we can handle whitespace properly.
3807         * bridge/mac/WebCoreFrameBridge.mm:
3808         (-[WebCoreFrameBridge nodesFromList:]): Changed from DeprecatedPtrList to Vector.
3809         (-[WebCoreFrameBridge markupStringFromNode:nodes:]): Ditto.
3810         (-[WebCoreFrameBridge markupStringFromRange:nodes:]): Ditto.
3811         (-[WebCoreFrameBridge documentFragmentWithText:inContext:]): Added range context
3812         parameter -- pass it on to createFragmentFromText.
3813         (-[WebCoreFrameBridge documentFragmentWithNodesAsParagraphs:]): Changed from
3814         DeprecatedPtrList to Vector.
3815         (-[WebCoreFrameBridge replaceSelectionWithText:selectReplacement:smartReplace:]):
3816         Pass the range of the current selection as context when creating the fragment.
3817
3818         * dom/Position.cpp: (WebCore::Position::inRenderedText): Replace range check with
3819         a call to the new containsCaretOffset function -- helps make the caret work right when
3820         it is past the end of the last line in a textarea.
3821
3822         * editing/CompositeEditCommand.cpp:
3823         (WebCore::CompositeEditCommand::rebalanceWhitespaceAt): Don't do anything if the
3824         style does not call for collapsing whitespace.
3825         (WebCore::CompositeEditCommand::rebalanceWhitespace): Call replaceWhitespaceAt
3826         to share code, including the new logic mentioned above.
3827
3828         * editing/InsertLineBreakCommand.cpp: (WebCore::InsertLineBreakCommand::doApply):
3829         Use a text node instead of a break element when inserting and the style is preserveNewline.
3830
3831         * editing/JSEditor.cpp: (WebCore::execRemoveFormat): Pass the selection range
3832         to createFragmentFromText.
3833
3834         * editing/RebalanceWhitespaceCommand.cpp: (WebCore::RebalanceWhitespaceCommand::doApply):
3835         Assert that we're in a style that collapses whitespace. It's the caller's responsibility
3836         not to call otherwise.
3837
3838         * editing/ReplaceSelectionCommand.h: Removed unused destructor, type, isSingleTextNode,
3839         isTreeFragment, m_type, and added a context parameter to inertFragmentForTestRendering.
3840         Also changed the constructor to take a selection rather than a pointer to the root
3841         editable element, replaced removeEndBRIfNeeded with shouldRemoveEndBR and removed an
3842         unused parameter from shouldMergeEnd.
3843         * editing/ReplaceSelectionCommand.cpp:
3844         (WebCore::ReplacementFragment::ReplacementFragment): Removed code to set up m_type.
3845         Compute root editable element from passed-in selection. Used the start of the selection
3846         as a base node for style purposes for the test rendering. Removed the special case
3847         "single text node" alternative to createFragmentFromText in the plain text case, since
3848         createFragmentFromText now handles that correctly.
3849         (WebCore::ReplacementFragment::insertFragmentForTestRendering): Copy the whitespace
3850         property from the source location when creating a temporary element for test rendering.
3851         (WebCore::ReplacementFragment::shouldMergeEnd): Removed unneeded boolean
3852         parameter fragmentHadInterchangeNewlineAtEnd, which is always false.
3853         (WebCore::ReplaceSelectionCommand::doApply): Update for ReplacementFragment changes,
3854         change code to not remove end BR when it can be re-used instead, don't call the
3855         paragraph separator insertion when the position is at the start of a paragraph already,
3856         removed redundant computation of identical "next" value, removed unneeded boolean
3857         parameter to shouldMergeEnd, add case for merging when all we need to do is to delete
3858         a newline character, removed unneeded code to set insertionPos after all code that uses
3859         it, and  use spaces instead of non-breaking spaces when doing smart paste if the
3860         context is one where we do not collapse white space.
3861         (WebCore::ReplaceSelectionCommand::shouldRemoveEndBR): Renamed and changed to return
3862         a boolean instead of doing the removal.
3863
3864         * editing/markup.h: Use Vector instead of DeprecatedPtrList. Change the
3865         createFragmentFromText function to take a range for context instead of a document.
3866         * editing/markup.cpp:
3867         (WebCore::markup): Use Vector instead of DeprecatedPtrList.
3868         (WebCore::createMarkup): Ditto.
3869         (WebCore::createParagraphContentsFromString): Remove unneeded document parameter
3870         and changed a couple places to use isEmpty instead of comparing with "".
3871         (WebCore::createFragmentFromText): Given the new context parameter, if the context
3872         is one that preserves newlines, then use "\n" instead of <br> elements.
3873         (WebCore::createFragmentFromNodes): Use Vector instead of DeprecatedPtrList.
3874
3875         * html/HTMLElement.cpp: (WebCore::HTMLElement::setInnerText): Do not use <br>
3876         elements if the context of this node is one where we preserve newlines.
3877
3878         * rendering/InlineTextBox.h:
3879         * rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::containsCaretOffset):
3880         Added. Implements the appropriate rule for determining if a caret position is
3881         in this line or not. Returns true for both one line and the next in cases where
3882         affinity must be considered to determine which line the caret is on.
3883
3884         * rendering/RenderText.h: Make atLineWrap no longer be a member function.
3885         * rendering/RenderText.cpp:
3886         (WebCore::atLineWrap): Remove special rule about preserveNewline and isLineBreak,
3887         which will no longer apply due to the new containsCaretOffset function logic.
3888         (WebCore::RenderText::caretRect): Use containsCaretOffset.
3889         (WebCore::RenderText::inlineBox): Ditto.
3890
3891         * rendering/RenderTextControl.cpp:
3892         (WebCore::RenderTextControl::updateFromElement): Make a placeholder <br> element
3893         after calling setInnerText so that the last newline in the string has the effect
3894         we expect outside the HTML world (an additional line).
3895         (WebCore::RenderTextControl::setSelectionRange): Set granularity of the selection
3896         too. The layout tests caught this problem, which needs a better solution long term.
3897         (WebCore::RenderTextControl::text): Call textContent with the parameter false
3898         so it will not include newlines for <br> elements. Now the only <br> element
3899         that will ever be in the shadow DOM tree is the one to prevent collapsing, and
3900         that one should not show up in the text value.
3901
3902         * rendering/bidi.cpp: (WebCore::RenderBlock::findNextLineBreak): Took a rule
3903         that specifically called out the pre whitespace mode and made it work for all
3904         the modes that preserve newlines. This makes sure we get a last line box for
3905         text after the last "\n" even in cases where there is no <br> afterward.
3906
3907         * editing/DeleteSelectionCommand.cpp:
3908         (WebCore::DeleteSelectionCommand::fixupWhitespace):
3909         * editing/InsertParagraphSeparatorCommand.cpp:
3910         (WebCore::InsertParagraphSeparatorCommand::doApply):
3911         Added assertions to make sure we don't do anything when we're not collapsing
3912         whitespace.
3913
3914         * html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::setDefaultValue):
3915         Changed to use Vector instead of DeprecatedPtrList.
3916
3917         * editing/HTMLInterchange.cpp: Removed obsolete comment.
3918
3919         * loader/Cache.h: Removed a stray include.
3920
3921 2006-07-24  Adele Peterson  <adele@apple.com>
3922
3923         Reviewed by Justin.
3924
3925         - Fix for <rdar://problem/4632132> Changing style of content with mixed editability fails
3926
3927         Test: * editing/style/apple-style-editable-mix.html
3928
3929         * dom/Node.cpp: (WebCore::Node::isContentRichlyEditable): Doesn't need to check the editable root.  It now just
3930           checks the user modify property of its own renderer, since that is inherited.
3931         * editing/ApplyStyleCommand.cpp: (WebCore::ApplyStyleCommand::applyInlineStyle): If the end position is in a table,
3932         Adjust the end node to the last descendant of the table, so we don't skip over any runs.
3933
3934 2006-07-24  Darin Adler  <darin@apple.com>
3935
3936         Reviewed by Hyatt.
3937
3938         - implement String::createCFString
3939
3940         * WebCore.xcodeproj/project.pbxproj: Added StringImplMac.mm and StringMac.mm.
3941
3942         * bindings/objc/DOMInternal.mm: Moved NSString conversion functions out of here.
3943
3944         * platform/mac/StringImplMac.mm: Added. Moved NSString conversion members here
3945         and added the CFStringRef ones.
3946         * platform/mac/StringMac.mm: Added. Ditto.
3947
3948 2006-07-24  David Hyatt  <hyatt@apple.com>
3949
3950         Two bug fixes.
3951
3952         (1) Make sure to mark positioned objects that depend on line position to
3953         mark themselves as needing layout when their line box placeholder gets
3954         repositioned.
3955
3956         * rendering/RenderBox.cpp:
3957         (WebCore::RenderBox::position):
3958        
3959         (2) Improve highlighting to factor the inflation into overflow so that
3960         invalidation and repainting will work properly.
3961
3962         * rendering/RootInlineBox.cpp:
3963         (WebCore::RootInlineBox::addHighlightOverflow):
3964         * rendering/RootInlineBox.h:
3965         * rendering/bidi.cpp:
3966         (WebCore::RenderBlock::layoutInlineChildren):
3967
3968 2006-07-24  Anders Carlsson  <acarlsson@apple.com>
3969
3970         Reviewed by Adele.
3971
3972         <rdar://problem/4641824> REGRESSION: Wikipedia widget fails to complete a search after pressing return key
3973         
3974         * html/HTMLInputElement.cpp:
3975         (WebCore::HTMLInputElement::defaultEventHandler):
3976         Don't eat enter events for search fields that have no enclosing form; they need to be passed to AppKit so
3977         that onsearch can be invoked.
3978         
3979         * manual-tests/onsearch-enter.html: Added.
3980
3981 2006-07-24  Dave MacLachlan  <dmaclach@mac.com>
3982
3983         Reviewed by Darin and Alexey.
3984         
3985         Fix for: <http://bugzilla.opendarwin.org/show_bug.cgi?id=8425> 
3986         and <http://bugzilla.opendarwin.org/show_bug.cgi?id=6947>
3987
3988         Test: svg/custom/non-opaque-filters.svg
3989
3990         * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
3991         (WebCore::KCanvasFilterQuartz::prepareFilter):
3992         We create an autorelease pool so we can control the deallocation of the
3993         CIContext that we're creating. The CIContext retains the CGContext that 
3994         you pass it internally so when the CIContext is released, the 
3995         CGContext is released as well.
3996         This is all fine and dandy unless you wrap the creation of the CIFilter
3997         with a pair of CGBegin/EndTransparencyLayer calls which swap the context
3998         out from underneath you. So if you start with context A, 
3999         CGBeginTransparencyLayer swaps it out and gives you B. You create a CIFilter
4000         with it and add a reference to B. CGEndTransparencyLayer swaps out B and
4001         gives you back A. Autorelease pool comes and cleans up the Filter, and calls
4002         release on A, but A never got the refcount in the first place. B did. BOOM!
4003         So we create a pool, then do a retain, then release the pool so that we 
4004         don't have to worry about the pool releasing it at a later time.
4005         See <rdar://problem/4647735> for reduction of CGEndTransparencyLayer case
4006
4007 2006-07-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>
4008
4009         Reviewed by Hyatt.
4010
4011         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9669
4012           Incomplete repaint when changing an inline's border
4013
4014         Test: fast/repaint/line-overflow.html
4015
4016         * rendering/RenderBlock.h:
4017         * rendering/bidi.cpp:
4018         (WebCore::RenderBlock::layoutInlineChildren): Added repaintTop and repaintBottom
4019         variables to track the vertical edges of the area that changed, accounting for
4020         lines that were deleted, inserted or moved. Removed unnecessary updating of
4021         m_overflowHeight.
4022         (WebCore::RenderBlock::determineStartPosition): Removed unnecessary updating of
4023         m_overflowHeight.
4024         (WebCore::RenderBlock::determineEndPosition):
4025         (WebCore::RenderBlock::matchedEndLine): Added repaintTop and repaintBottom
4026         arguments, which this method updates to account for deleted lines.
4027         (WebCore::RenderBlock::checkLinesForOverflow): Removed outdated FIXME.
4028
4029 2006-07-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>
4030
4031         Reviewed by Darin.
4032
4033         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10075
4034           REGRESSION: Reversed pop-up text in visually-ordered Hebrew pages
4035
4036         Test: fast/forms/select-visual-hebrew.html
4037
4038         * css/html4.css: Set "-webkit-rtl-ordering: logical" on select elements.
4039
4040 2006-07-24  Alexey Proskuryakov  <ap@nypop.com>
4041
4042         Reviewed by Darin.
4043
4044         Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10009
4045         REGRESSION: Schubert-IT PDF Plug-in not working for full page (works in frames)
4046
4047         * page/Frame.cpp:
4048         (WebCore::Frame::begin): Give PDF plugins a chance to handle frame content, before ImageDocument
4049         claims it.
4050
4051 2006-07-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>
4052
4053         Reviewed by Darin.
4054
4055         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10083
4056           REGRESSION (r15584): editing/selection/select-from-textfield-outwards failing
4057
4058         * rendering/RenderBlock.cpp:
4059         (WebCore::RenderBlock::positionForCoordinates): Added back change from the fix
4060         for bug 9312: For coordinates outside a replaced object, return the position
4061         just before (after) the element if the coordinates are above or to the left (below
4062         or to the right).
4063
4064 2006-07-23  Mark Rowe  <opendarwin.org@bdash.net.nz>
4065
4066         Reviewed by maciej.
4067
4068         Bug 9686: [Drosera] Need the ability to break into Drosera on Javascript exceptions
4069         http://bugzilla.opendarwin.org/show_bug.cgi?id=9686
4070
4071         WebCore portion of the fix.
4072
4073         * bridge/mac/WebCoreScriptDebugger.h:
4074         (-[WebScriptDebugger exceptionRaised:sourceId:line::]): Add delegate method.
4075         * bridge/mac/WebCoreScriptDebugger.mm:
4076         (WebCoreScriptDebuggerImp::exception): Call delegate method when an exception is raised.
4077
4078 2006-07-23  Alice Liu  <alice.liu@apple.com>
4079
4080         Reviewed by Adele.
4081         Actually Adele figured out how to fix the layout test failures.  Landing this patch for her.  Layout test failures exposed but not caused by  r15584 (my patch earlier today).
4082
4083         * editing/visible_units.cpp:
4084         (WebCore::previousLinePosition):
4085         When setting selection endpoints, don't traverse down into nodes where editing would ignore its contents. Use the parent node instead.  
4086         (WebCore::nextLinePosition):
4087         same as above
4088
4089 2006-07-23  David Harrison  <harrison@apple.com>
4090
4091         Reviewed by timo.
4092
4093         <rdar://problem/4646759> Mail crash editing To Do - WebCore::InsertTextCommand::prepareForTextInsertion
4094         
4095         * Test: editing/deleting/delete-mixed-editable-content-001.html
4096
4097         * editing/visible_units.cpp:
4098         (WebCore::startOfParagraph):
4099         Respect editable boundary the same way endOfParagraph does.
4100
4101 2006-07-23  Beth Dakin  <bdakin@apple.com>
4102
4103         Reviewed by Maciej. (Patch by me, Maciej, and Harrison.)
4104
4105         Fix for <rdar://problem/4529398> WebCore crashes when pasting rich 
4106         text - WebCore::InlineBox::root()
4107
4108         The initial rendering crash was due to a render object having a 
4109         stale reference to an inline box that had already been deleted and 
4110         then recreated in the exact same location in memory. (Crazy, I 
4111         know.) The situation seemed pretty specific to list markers 
4112         according to Hyatt according to Maciej, so that is what I patched 
4113         specifically. Fixing this crash unearthed a separate editing crash 
4114         where we were trying to insert a block into itself. I worked on 
4115         that with Maciej and Harrison, and Harrison came up with a fix.
4116
4117         * editing/CompositeEditCommand.cpp:
4118         (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): This is the fix for the editing crash. If paragraphStart is an atomic 
4119         node, insert the new block into the parent instead.
4120         * rendering/InlineBox.cpp:
4121         (WebCore::InlineBox::isChildOfParent): This function is for 
4122         posterity. It will help keep the linebox tree in check.
4123         * rendering/InlineBox.h:
4124         * rendering/InlineFlowBox.cpp:
4125         (WebCore::InlineFlowBox::addToLine): Added assert.
4126         (WebCore::InlineFlowBox::deleteLine): Added assert.
4127         * rendering/ListMarkerBox.cpp:
4128         (WebCore::ListMarkerBox::destroy): If this has a parent, call 
4129         removeChild on this.
4130         (WebCore::ListMarkerBox::operator delete):
4131         * rendering/ListMarkerBox.h:
4132
4133 2006-07-23  Alice Liu  <alice.liu@apple.com>
4134
4135         Reviewed by Darin.
4136
4137         fixed <rdar://problem/4617841> REGRESSION (NativeTextField): You can move keyboard focus to a field without getting insertion point
4138
4139         * rendering/RenderBlock.cpp:
4140         (WebCore::RenderBlock::positionForCoordinates):
4141         removed some unnecessary vertical position checks and added a fudge factor to be more forgiving for clicks near lines.
4142         * rendering/RenderTextControl.cpp:
4143         (WebCore::RenderTextControl::nodeAtPoint):
4144         added implementation
4145         * rendering/RenderTextControl.h:
4146         added function protocol
4147
4148 2006-07-23  Adele Peterson  <adele@apple.com>
4149
4150         Reviewed by Darin.
4151
4152         Updating fix from last checkin.
4153
4154         * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::layoutVerticalBox):
4155         Only tell the view about this flexbox if there isn't another flexbox already cached.
4156
4157 2006-07-23  Adele Peterson  <adele@apple.com>
4158
4159         Reviewed by Maciej.
4160
4161         - Fix for <rdar://problem/4644614> REGRESSION: Typing, pasting or dragging in new text areas causes unnecessary scrolling
4162
4163         * rendering/RenderBlock.cpp: (WebCore::RenderBlock::layoutBlock): Don't updateScrollInfoAfterLayout if an ancestor flexible box is just on
4164         its first layout.
4165         * rendering/RenderFlexibleBox.cpp:
4166         (WebCore::RenderFlexibleBox::layoutBlock): ditto.
4167         (WebCore::RenderFlexibleBox::layoutVerti