Reviewed by Eric.
[WebKit-https.git] / WebCore / ChangeLog
1 2006-09-03  Alexey Proskuryakov  <ap@nypop.com>
2
3         Reviewed by Eric.
4
5         http://bugzilla.opendarwin.org/show_bug.cgi?id=10697
6         REGRESSION (r16175): Errors in incremental decoding of UTF-8
7
8         Tests:
9         - http/tests/incremental/slow-utf8-html.pl
10         - fast/encoding/charset-invalid.html
11
12         * loader/Decoder.cpp:
13         (Decoder::Decoder): Ensure that we have a valid encoding. Get its name via TextEncoding, to match
14         the logic in setEncodingName().
15         (Decoder::setEncodingName): Only set m_encodingName if the encoding is valid. Rely on TextEncoding
16         constructor to lowercase it if necessary.
17         (Decoder::decode): Use setEncodingName() to apply encoding from BOM. Don't try to ensure the
18         validity of encoding - it is enforced by class constructor and setEncodingName().
19
20 2006-09-02  Sam Weinig  <sam.weinig@gmail.com>
21
22         Reviewed by Tim H.
23
24         - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10684
25           Auto-generate the Objective-C DOM CSS bindings
26
27           Auto-generates DOMCSSCharsetRule, DOMCSSFontFaceRule, DOMCSSImportRule,
28           DOMCSSMediaRule, DOMCSSPageRule, DOMCSSPrimitiveValue, DOMCSSRule,
29           DOMCSSRuleList, DOMCSSStyleDeclaration, DOMCSSStyleRule, DOMCSSStyleSheet,
30           DOMCSSUnknownRule, DOMCSSValue, DOMCSSValueList, DOMCounter, and DOMRect.
31
32           Splits DOMRGBColor into its own files.
33
34         * DerivedSources.make:
35         * WebCore.xcodeproj/project.pbxproj:
36         * bindings/objc/DOMCSS.h:
37         * bindings/objc/DOMCSS.mm:
38         (+[DOMCSSStyleSheet _CSSStyleSheetWith:]):
39         (+[DOMCSSPrimitiveValue _valueWith:]):
40         * bindings/objc/DOMCSSInternal.h:
41         * bindings/objc/DOMExtensions.h:
42         * bindings/objc/DOMInternal.h:
43         * bindings/objc/DOMRGBColor.h: Added.
44         * bindings/objc/DOMRGBColor.mm: Added.
45         (getWrapperForRGB):
46         (setWrapperForRGB):
47         (removeWrapperForRGB):
48         (-[DOMRGBColor dealloc]):
49         (-[DOMRGBColor finalize]):
50         (-[DOMRGBColor red]):
51         (-[DOMRGBColor green]):
52         (-[DOMRGBColor blue]):
53         (-[DOMRGBColor alpha]):
54         (-[DOMRGBColor color]):
55         (-[DOMRGBColor _initWithRGB:WebCore::]):
56         (+[DOMRGBColor _RGBColorWithRGB:WebCore::]):
57         * bindings/scripts/CodeGeneratorObjC.pm:
58         * css/CSSCharsetRule.idl: Added.
59         * css/CSSFontFaceRule.idl: Added.
60         * css/CSSImportRule.idl: Added.
61         * css/CSSMediaRule.idl: Added.
62         * css/CSSPageRule.idl: Added.
63         * css/CSSRule.idl:
64         * css/CSSStyleDeclaration.idl:
65         * css/CSSStyleRule.idl: Added.
66         * css/CSSStyleSheet.idl: Added.
67         * css/CSSUnknownRule.idl: Added.
68         * css/CSSValue.idl:
69         * css/MediaList.idl:
70         * css/RGBColor.idl: Added.
71         * css/Rect.idl:
72         * css/RectImpl.h:
73
74 2006-09-02  Graham Dennis  <graham.dennis@gmail.com>
75
76         Reviewed by Justin.
77         
78         http://bugzilla.opendarwin.org/show_bug.cgi?id=10579
79         AppleStyleCommand::applyBlockStyle crash
80
81         * editing/ApplyStyleCommand.cpp:
82         (WebCore::ApplyStyleCommand::applyBlockStyle): Prevent a crash by
83         making sure that the 'beyondEnd' node is after the start node.
84
85 2006-09-02  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>
86
87         Reviewed by Tim H.
88
89         Bug 10454: Unix bakefile fixes
90         http://bugzilla.opendarwin.org/show_bug.cgi?id=10454
91
92         * WebCoreSources.bkl:
93         * platform/gdk/RenderPopupMenuGdk.cpp:
94         (WebCore::RenderPopupMenuGdk::RenderPopupMenuGdk):
95         * platform/gdk/RenderPopupMenuGdk.h:
96         * platform/gdk/RenderThemeGdk.cpp:
97         (WebCore::RenderThemeGdk::createPopupMenu):
98         (WebCore::RenderThemeGdk::systemFont):
99         * platform/gdk/RenderThemeGdk.h:
100         * platform/gdk/TemporaryLinkStubs.cpp:
101         * webcore-base.bkl:
102
103 2006-09-02  Adele Peterson  <adele@apple.com>
104
105         Reviewed by Anders.
106
107         - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=10667
108           Password: Double-click should select-all to avoid exposing word boundaries
109
110         Test: fast/forms/password-doubleclick-selection.html
111
112         * editing/visible_units.cpp:
113         (WebCore::previousBoundary): When searching for boundaries in renderers that use the textSecurity property, 
114          convert characters in strings to alpha-numeric characters (in this case, all 'x's) so that every character
115          isn't treated as a punctuation boundary.
116         (WebCore::nextBoundary): ditto.
117         * editing/TextIterator.cpp: (WebCore::SimplifiedBackwardsTextIterator::handleTextNode): Updated to use the renderer's 
118           string instead of the node value.  This matches the base class implementation of handleTextNode.
119
120         Code cleanup.
121         * editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::doApply): 
122           Avoid unnecessary check for password field case if the smart replace condition is false.
123         * page/Frame.cpp: (WebCore::Frame::mayCopy): Removed duplicate code.  Calls isSelectionInPasswordField now.
124         * rendering/RenderText.cpp: (WebCore::RenderText::setText): Updated formatting.
125
126 2006-09-01  David Hyatt  <hyatt@apple.com>
127
128         Fix for 10682, refine the FOUC paint suppression logic so that it
129         is only triggered when FOUC would really have occurred.
130
131         Reviewed by aroben
132
133         * css/cssstyleselector.cpp:
134         (WebCore::CSSStyleSelector::styleForElement):
135         * dom/Document.cpp:
136         (WebCore::Document::Document):
137         (WebCore::Document::updateLayoutIgnorePendingStylesheets):
138         (WebCore::Document::updateStyleSelector):
139         * dom/Document.h:
140         (WebCore::Document::haveStylesheetsLoaded):
141         (WebCore::Document::):
142         (WebCore::Document::didLayoutWithPendingStylesheets):
143         * rendering/RenderBlock.cpp:
144         (WebCore::RenderBlock::paintChildren):
145         * rendering/RenderLayer.cpp:
146         (WebCore::RenderLayer::paintLayer):
147
148 2006-09-01  MorganL  <morlmor@yahoo.com>
149
150         Reviewed by Darin. Updated/landed by Adam.
151
152         Fixes http://bugzilla.opendarwin.org/show_bug.cgi?id=10553
153         Windows build fixes
154
155         * WebCore.vcproj/WebCore/WebCore.vcproj:
156         * WebCore.vcproj/WebCore/build-generated-files.sh:
157         * bridge/win/FrameWin.h:
158         * bridge/win/PageWin.cpp:
159         (WebCore::Page::Page):
160         * platform/win/FontWin.cpp:
161         * platform/win/TemporaryLinkStubs.cpp:
162         (FrameWin::registerCommandForUndo):
163         (FrameWin::canPaste):
164         (FrameWin::issuePasteAndMatchStyleCommand):
165         (WebCore::screenDepthPerComponent):
166         (WebCore::screenIsMonochrome):
167         (FrameWin::overrideMediaType):
168         (FrameWin::saveDocumentState):
169         (FrameWin::respondToChangedContents):
170         (FrameWin::handledOnloadEvents):
171         (FrameWin::createPlugin):
172         (FrameWin::objectContentType):
173         (Path::contains):
174         (TextField::TextField):
175         (RenderPopupMenuWin::hidePopup):
176         (RenderThemeWin::paintMenuList):
177         (RenderThemeWin::adjustMenuListStyle):
178         (CString::CString):
179         (CString::data):
180         * platform/win/WidgetWin.cpp:
181         * rendering/RenderPopupMenuWin.h:
182
183 2006-09-01  Brady Eidson  <beidson@apple.com>
184
185         Reviewed by Tim Omernick
186
187         Added an SQLDatabase logging channel.  Changed all SQLDatabase and SQLStatement errors to use this new channel.
188         Also, as a popular request from other contributers, added a log for all prepare(), step(), finalize(), and reset()s
189         Also, fixed a grammar error in my previous ChangeLog entry.
190
191         * bridge/mac/WebCorePageBridge.mm:
192         (initializeLoggingChannelsIfNecessary): Initialize the new channel
193         * loader/icon/SQLDatabase.cpp:
194         (WebCore::SQLDatabase::setBusyTimeout): Use SQLDatabase logging channel
195         (WebCore::SQLDatabase::setBusyHandler): ditto
196         (WebCore::SQLDatabase::clearAllTables): ditto
197         (WebCore::SQLDatabase::runVacuumCommand): ditto
198         * loader/icon/SQLStatement.cpp:
199         (WebCore::SQLStatement::prepare): Added a log
200         (WebCore::SQLStatement::step): ditto
201         (WebCore::SQLStatement::finalize): ditto
202         (WebCore::SQLStatement::reset): ditto
203         (WebCore::SQLStatement::getColumnBlob): Use SQLDatabase logging channel
204         (WebCore::SQLStatement::returnTextResults): ditto
205         (WebCore::SQLStatement::returnTextResults16): ditto
206         (WebCore::SQLStatement::returnIntResults): ditto
207         (WebCore::SQLStatement::returnInt64Results): ditto
208         (WebCore::SQLStatement::returnDoubleResults): ditto
209         * platform/Logging.cpp:
210         (WebCore::): Added new logging channel
211         * platform/Logging.h: ditto
212
213 2006-09-01  Adele Peterson  <adele@apple.com>
214
215         Reviewed by Tim Omernick.
216
217         - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6990
218         Switch to use new text field implementation for <input type="password">
219
220         * css/html4.css: Give input[password] the same style properties as normal text fields.
221         * html/HTMLInputElement.cpp: Removed checks for TextFieldAppearance.
222         (WebCore::HTMLInputElement::selectionStart):
223         (WebCore::HTMLInputElement::selectionEnd):
224         (WebCore::HTMLInputElement::setSelectionStart):
225         (WebCore::HTMLInputElement::setSelectionEnd):
226         (WebCore::HTMLInputElement::select):
227         (WebCore::HTMLInputElement::setSelectionRange):
228         (WebCore::HTMLInputElement::createRenderer):
229         * html/HTMLInputElement.h: (WebCore::HTMLInputElement::isNonWidgetTextField):
230
231 2006-09-01  Brady Eidson  <beidson@apple.com>
232
233         Reviewed by John (though Sarge reviewed a previous patch of mine in an attempt to review this one)
234
235         Added some constants for SQL Result Codes to SQLDatabase.h
236         This way, users of SQLDatabase can access all necessary SQLite functionality
237         without having access to sqlite3.h.
238         Also reordered some files in the xcodeproj and some #includes
239
240         * WebCore.xcodeproj/project.pbxproj:  Reordered some files 
241         * loader/icon/IconDataCache.cpp:
242         (WebCore::IconDataCache::writeToDatabase): Use our new result codes
243         * loader/icon/IconDatabase.cpp:
244         (WebCore::IconDatabase::sharedIconDatabase): Use our new result codes
245         (WebCore::IconDatabase::retainIconForPageURL): Use our new result codes
246         (WebCore::IconDatabase::pruneUnretainedIconsOnStartup): Use our new result codes
247         (WebCore::IconDatabase::addIconForIconURLQuery): Use our new result codes
248         (WebCore::IconDatabase::hasIconForIconURLQuery): Use our new result codes
249         * loader/icon/SQLDatabase.cpp:
250         (WebCore::SQLDatabase::lastError): Moved from header to eliminate dependency on sqlite3.h in header
251         (WebCore::SQLDatabase::lastErrorMsg): Ditto
252         * loader/icon/SQLDatabase.h: Removed #include <sqlite3.h>
253         * loader/icon/SQLStatement.cpp: Added #include <sqlite3.h>
254         * loader/icon/SQLStatement.h: Removed #include <sqlite3.h>
255
256 2006-09-01  David Hyatt  <hyatt@apple.com>
257
258         Fix for 10680, contrained flexbox is not shrinking flexible children
259         properly.  (Fixing in case it's hit by the file upload control.)
260
261         Reviewed by aroben
262
263         Adding 026.html to fast/flexbox.
264
265         * rendering/RenderFlexibleBox.cpp:
266         (WebCore::RenderFlexibleBox::allowedChildFlex):
267
268 2006-09-01  Nikolas Zimmermann  <zimmermann@kde.org>
269
270         Reviewed by eseidel.  Landed by eseidel.
271
272         Implement support for multiple parents in the SVG idls.
273
274         For class "FooBar" go through all parents recursively,
275         collect their attributes & functions & constants and
276         add them directly into the class "FooBar".
277
278         (Note: It is NOT enabled by default for now - still some things related to SVGAnimated* need to be solved first)
279
280         * bindings/scripts/CodeGenerator.pm:
281         * bindings/scripts/CodeGeneratorJS.pm:
282         * bindings/scripts/generate-bindings.pl:
283
284 2006-09-02  Nikolas Zimmermann  <zimmermann@kde.org>
285
286         Reviewed by hyatt.  Landed by eseidel.
287
288         Fix build on Linux.
289
290         * CMakeLists.txt: Add platform/CString.cpp.
291         * platform/qt/FrameQt.cpp: Correct repsondToChangedContents() signature
292         * platform/qt/FrameQt.h:: Correct respondToChangedContents() signature
293
294 2006-09-01  Darin Adler  <darin@apple.com>
295
296         Reviewed by Brady.
297
298         - a few small tweaks to the icon database bridge
299
300         * bridge/mac/WebCoreIconDatabaseBridge.h: Removed unnecessary declarations.
301         Renamed sharedBridgeInstance to sharedInstance.
302         * bridge/mac/WebCoreIconDatabaseBridge.mm: Put functions inside WebCore namespace.
303         (WebCore::IconDatabase::loadIconFromURL): Updated for sharedInstance namespace.
304
305 2006-09-01  Timothy Hatcher  <timothy@apple.com>
306
307         Reviewed by Darin.
308
309         <rdar://problem/4651318> REGRESSION: can't drag library items to widget in Dashcode
310         <rdar://problem/4701626> REGRESSION: Unit Converter widget doesn't work convert data in its fields
311
312         jsNull should not be returned as NSNull because existing applications do not
313         expect that return value. Return as nil for backwards compatibility.
314
315         * bindings/objc/WebScriptObject.mm:
316         (+[WebScriptObject _convertValueToObjcValue:originExecutionContext:executionContext:]):
317
318 2006-09-01  Alexey Proskuryakov  <ap@nypop.com>
319
320         Release build fix.
321
322         * loader/Decoder.cpp:
323         (Decoder::Decoder): Use String::latin1().
324
325 2006-09-01  Alexey Proskuryakov  <ap@nypop.com>
326
327         Reviewed by Eric.
328
329         - http://bugzilla.opendarwin.org/show_bug.cgi?id=5620
330         Should only honor encoding from <meta> in HTML
331
332         - http://bugzilla.opendarwin.org/show_bug.cgi?id=9783
333         An XML declaration without an explicit encoding incorrectly triggers
334         UTF-8 encoding in an HTML document
335
336         - http://bugzilla.opendarwin.org/show_bug.cgi?id=10155
337         CSS2: @charset is not supported
338         
339         * loader/Decoder.cpp:
340         (Decoder::Decoder): Decoder now knows what kind of content it is decoding.
341         Also, the browser default encoding can now be passed directly to the constructor,
342         to streamline the logic.
343         (Decoder::decode): Add support for @charset, differentiate between HTML and XML.
344         (Decoder::setEncodingName): Style cleanup.
345         (Decoder::encodingName): Ditto.
346         (Decoder::flush): Ditto.
347         * loader/Decoder.h:
348         (WebCore::Decoder::):
349
350         * bridge/mac/WebCoreEncodings.mm: Pass a content type of text/html to Decoder.
351
352         * loader/CachedCSSStyleSheet.cpp:
353         (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet):
354         (WebCore::CachedCSSStyleSheet::setCharset):
355         (WebCore::CachedCSSStyleSheet::data):
356         * loader/CachedCSSStyleSheet.h:
357         Use Decoder instead of TextEncoding::toUnicode() to enable @charset support.
358
359         * loader/CachedXBLDocument.cpp:
360         (WebCore::CachedXBLDocument::CachedXBLDocument): Pass a content type.
361         * loader/CachedXSLStyleSheet.cpp:
362         (WebCore::CachedXSLStyleSheet::CachedXSLStyleSheet): Ditto.
363         (WebCore::CachedXSLStyleSheet::data): Flush the decoder to be safe.
364
365         * page/Frame.cpp:
366         (WebCore::Frame::write): Pass a content type and a default encoding to 
367         the Decoder.
368         * xml/XSLTProcessor.cpp:
369         (WebCore::XSLTProcessor::createDocumentFromSource): Pass the output document
370         MIME type.
371         * xml/xmlhttprequest.cpp:
372         (WebCore::XMLHttpRequest::receivedData): Ditto.
373
374 2006-09-01  Adele Peterson  <adele@apple.com>
375
376         Reviewed by John.
377
378         - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=10580
379           Password: New secure text field allows non-Roman text entry
380
381         * bridge/mac/FrameMac.mm:
382         (WebCore::FrameMac::setSecureKeyboardEntry): Enable and disable Roman keyboards when switching in and out of this mode.
383         (WebCore::FrameMac::isSecureKeyboardEntry): Changed secureKeyboardEntry to isSecureKeyboardEntry.
384         * bridge/mac/FrameMac.h: ditto.
385         * page/Frame.cpp: (WebCore::Frame::setIsActive): ditto.
386         * page/Frame.h: (WebCore::Frame::isSecureKeyboardEntry): ditto.
387
388 2006-09-01  Adele Peterson  <adele@apple.com>
389
390         Reviewed by John.
391
392         - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=10665
393           Password: Disable smartReplace for new password fields
394
395         * editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::doApply):
396           Don't smart replace when the selection being replaced is in a password field.
397
398 2006-08-31  Sam Weinig  <sam.weinig@gmail.com>
399
400         Reviewed by Tim H.
401
402         - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10669
403           Auto-generate the remaining Objective-C HTML DOM bindings
404           
405           Auto-generates DOMHTMLAnchorElement, DOMHTMLAreaElement,
406           DOMHTMLBaseFontElement, DOMHTMLFontElement, DOMHTMLFrameElement,
407           DOMHTMLFrameSetElement, DOMHTMLHRElement, DOMHTMLIFrameElement,
408           DOMHTMLImageElement, DOMHTMLMapElement, DOMHTMLModElement,
409           DOMHTMLObjectElement, DOMHTMLParamElement, DOMHTMLScriptElement,
410           DOMHTMLTableCaptionElement, DOMHTMLTableCellElement,
411           DOMHTMLTableColElement, DOMHTMLTableElement, DOMHTMLTableRowElement,
412           and DOMHTMLTableSectionElement.  
413
414           Splits DOMHTMLAppletElement and DOMHTMLOptionElement into their own 
415           files.
416
417         * DerivedSources.make:
418         * WebCore.xcodeproj/project.pbxproj:
419         * bindings/objc/DOM.mm:
420         * bindings/objc/DOMExtensions.h:
421         * bindings/objc/DOMHTML.h:
422         * bindings/objc/DOMHTML.mm:
423         (-[DOMHTMLAnchorElement absoluteLinkURL]):
424         (-[DOMHTMLImageElement altDisplayString]):
425         (-[DOMHTMLImageElement absoluteImageURL]):
426         (-[DOMHTMLImageElement WebCore::]):
427         (-[DOMHTMLObjectElement absoluteImageURL]):
428         (-[DOMHTMLObjectElement WebCore::]):
429         (+[DOMHTMLTableCaptionElement _tableCaptionElementWith:]):
430         (-[DOMHTMLTableCaptionElement _tableCaptionElement]):
431         (+[DOMHTMLTableSectionElement _tableSectionElementWith:]):
432         (-[DOMHTMLTableSectionElement _tableSectionElement]):
433         (+[DOMHTMLTableElement _tableElementWith:]):
434         (-[DOMHTMLTableElement _tableElement]):
435         (+[DOMHTMLTableCellElement _tableCellElementWith:]):
436         (-[DOMHTMLTableCellElement _tableCellElement]):
437         * bindings/objc/DOMHTMLAppletElement.h: Added.
438         * bindings/objc/DOMHTMLAppletElement.mm: Added.
439         (-[DOMHTMLAppletElement WebCore::]):
440         (-[DOMHTMLAppletElement align]):
441         (-[DOMHTMLAppletElement setAlign:]):
442         (-[DOMHTMLAppletElement alt]):
443         (-[DOMHTMLAppletElement setAlt:]):
444         (-[DOMHTMLAppletElement archive]):
445         (-[DOMHTMLAppletElement setArchive:]):
446         (-[DOMHTMLAppletElement code]):
447         (-[DOMHTMLAppletElement setCode:]):
448         (-[DOMHTMLAppletElement codeBase]):
449         (-[DOMHTMLAppletElement setCodeBase:]):
450         (-[DOMHTMLAppletElement height]):
451         (-[DOMHTMLAppletElement setHeight:]):
452         (-[DOMHTMLAppletElement hspace]):
453         (-[DOMHTMLAppletElement setHspace:]):
454         (-[DOMHTMLAppletElement name]):
455         (-[DOMHTMLAppletElement setName:]):
456         (-[DOMHTMLAppletElement object]):
457         (-[DOMHTMLAppletElement setObject:]):
458         (-[DOMHTMLAppletElement vspace]):
459         (-[DOMHTMLAppletElement setVspace:]):
460         (-[DOMHTMLAppletElement width]):
461         (-[DOMHTMLAppletElement setWidth:]):
462         * bindings/objc/DOMHTMLInternal.h:
463         * bindings/objc/DOMHTMLOptionElement.h: Added.
464         * bindings/objc/DOMHTMLOptionElement.mm: Added.
465         (-[DOMHTMLOptionElement WebCore::]):
466         (-[DOMHTMLOptionElement form]):
467         (-[DOMHTMLOptionElement defaultSelected]):
468         (-[DOMHTMLOptionElement setDefaultSelected:]):
469         (-[DOMHTMLOptionElement text]):
470         (-[DOMHTMLOptionElement index]):
471         (-[DOMHTMLOptionElement disabled]):
472         (-[DOMHTMLOptionElement setDisabled:]):
473         (-[DOMHTMLOptionElement label]):
474         (-[DOMHTMLOptionElement setLabel:]):
475         (-[DOMHTMLOptionElement selected]):
476         (-[DOMHTMLOptionElement setSelected:]):
477         (-[DOMHTMLOptionElement value]):
478         (-[DOMHTMLOptionElement setValue:]):
479         * bindings/objc/DOMPrivate.h:
480         * bindings/scripts/CodeGeneratorObjC.pm:
481
482 2006-08-31  Alice Liu  <alice.liu@apple.com>
483
484         Reviewed by Darin.
485
486         Fixed <rdar://problem/4463870> Switch to use new text field implementation for <isindex>
487
488         * bindings/objc/DOMHTML.mm:
489         (-[DOMHTMLInputElement _isTextField]):
490         moved isindex from the list of nonTextInputTypes to the list of textInputTypes
491         * css/html4.css:
492         added isindex to certain rules that applied to input fields
493         * html/HTMLInputElement.cpp:
494         (WebCore::HTMLInputElement::canHaveSelection):
495         (WebCore::HTMLInputElement::selectionStart):
496         (WebCore::HTMLInputElement::selectionEnd):
497         (WebCore::HTMLInputElement::setSelectionStart):
498         (WebCore::HTMLInputElement::setSelectionEnd):
499         (WebCore::HTMLInputElement::select):
500         (WebCore::HTMLInputElement::setSelectionRange):
501         (WebCore::HTMLInputElement::createRenderer):
502         for the 8 methods above, moved the case for isindex to the same case as text
503         * html/HTMLInputElement.h:
504         (WebCore::HTMLInputElement::isNonWidgetTextField):
505         added isindex to this test
506         * html/HTMLIsIndexElement.idl:
507         HTMLIsIndexElement inherits from HTMLInputElement
508         * rendering/RenderLineEdit.cpp:
509         (WebCore::RenderLineEdit::RenderLineEdit):
510         removed the case for isindex since we changed the renderer type from a RenderLineEdit
511         to a RenderTextControl in WebCore::HTMLInputElement::createRenderer()
512
513 2006-08-31  David Harrison  <harrison@apple.com>
514
515         Reviewed by Adele.
516
517         <rdar://problem/4708119> REGRESSION: Cannot observe an AXTextField element directly
518
519         ... and most of
520         <rdar://problem/4708022> REGRESSION: TextRange-based attributes are missing from text fields
521         <rdar://problem/4709515> REGRESSION: Expose text areas
522
523         Remaining work for those two bugs in new bugs:
524
525         <rdar://problem/4712101> Support NSAccessibilityVisibleCharacterRangeAttribute for AXTextField and AXTextArea elements
526         <rdar://problem/4712111> Support NSAccessibilityInsertionPointLineNumberAttribute for AXTextArea elements
527         <rdar://problem/4712125> Support setting NSAccessibilitySelectedTextAttribute for AXTextField and AXTextArea elements
528
529         * bridge/AXObjectCache.h:
530         (WebCore::AXObjectCache::postNotificationToElement):
531         * bridge/mac/AXObjectCacheMac.mm:
532         (WebCore::AXObjectCache::postNotification):
533         (WebCore::AXObjectCache::postNotificationToElement):
534         Removed postNotificationToTopWebArea.
535         postNotification now posts to input element or top web area, as appropriate.
536         postNotificationToElement posts to the specified element itself.
537         
538         * bridge/mac/FrameMac.h:
539         * bridge/mac/FrameMac.mm:
540         (WebCore::FrameMac::respondToChangedContents):
541         Take a selection.  Pass the starting position's renderer to postNotification so that postNotification can post to the appropriate input element, if any.
542         
543         * bridge/mac/WebCoreAXObject.h:
544         * bridge/mac/WebCoreAXObject.mm:
545         (-[WebCoreAXObject isWebArea]):
546         (-[WebCoreAXObject isAnchor]):
547         (-[WebCoreAXObject isTextRange]):
548         New convenience methods.
549         
550         (-[WebCoreAXObject role]):
551         (-[WebCoreAXObject roleDescription])        
552         (-[WebCoreAXObject value]):
553         (-[WebCoreAXObject accessibilityDescription]):
554         Support AXTextField and AXTextArea.
555
556         (-[WebCoreAXObject accessibilityShouldUseUniqueId]):
557         Register AXTextField and AXTextArea elements so notifications to them can be observed.
558         
559         (-[WebCoreAXObject accessibilityIsIgnored]):
560         Use new convenience method isWebArea.
561
562         (-[WebCoreAXObject accessibilityAttributeNames]):
563         Simplify the array creation.
564         Add text range support.
565        
566         (-[WebCoreAXObject accessibilityAttributeValue:]):
567         Add text range support.
568        
569         (-[WebCoreAXObject canSetFocusAttribute]):
570         (-[WebCoreAXObject canSetValueAttribute]):
571         (-[WebCoreAXObject canSetTextRangeAttributes]):
572         New convenience methods.
573         
574         (-[WebCoreAXObject accessibilityIsAttributeSettable:]):
575         (-[WebCoreAXObject accessibilitySetValue:forAttribute:]):
576         Add text range support.
577
578         (-[WebCoreAXObject observableObject]):
579         New to locate text field or text area to notify.
580         
581         * dom/Document.cpp:
582         (WebCore::Document::updateSelection):
583         Post AXSelectedTextChanged notification with new selection's start node.
584         postNotification will send it to the input element, if there is one, or the top WebArea.
585         
586         (WebCore::Document::implicitClose):
587         Use postNotificationToElement now that it acts like the old postNotification.
588         
589         * page/Frame.h:
590         * page/Frame.cpp:
591         (WebCore::Frame::appliedEditing):
592         (WebCore::Frame::unappliedEditing):
593         (WebCore::Frame::reappliedEditing):
594         Pass the selection of interest to respondToChangedContents.
595         
596         * page/FrameView.cpp:
597         (WebCore::FrameView::layout):
598         Use postNotificationToElement now that it acts like the old postNotification.
599
600 2006-08-31  Adele Peterson  <adele@apple.com>
601
602         Reviewed by Darin.
603
604         WebCore part of fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=10666
605         Password: Disallow Spelling, Font, Speech, and Writing Direction context menu
606
607         * bridge/mac/WebCoreFrameBridge.h:
608         * bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge isSelectionInPasswordField]): Added.
609         * page/Frame.cpp: (WebCore::Frame::isSelectionInPasswordField): Added.
610         * page/Frame.h:
611
612 2006-08-31  Anders Carlsson  <acarlsson@apple.com>
613
614         Reviewed by Tim O, Hyatt.
615
616         * WebCore.xcodeproj/project.pbxproj:
617         Add KURLCFNet.cpp
618         
619         * platform/KURL.h:
620         Get rid of include, add KURL constructor that takes a CFURLRef.
621         
622         * platform/PlatformString.h:
623         * platform/StringImpl.h:
624         Get rid of include.
625         
626         * platform/cf/KURLCFNet.cpp:
627         (WebCore::KURL::KURL):
628         Add constructor.
629         
630         * platform/cf/ResourceLoaderCFNet.cpp:
631         Fix includes.
632         
633         * platform/cf/StringCF.cpp:
634         (WebCore::String::createCFString):
635         Move this here from PlatformString.h
636         
637         * platform/cf/StringImplCF.cpp:
638         (WebCore::StringImpl::createCFString):
639         Fix cast.
640         
641         * platform/mac/KURLMac.mm:
642         Move createCFURL() to KURLCFNet.cpp
643
644 2006-08-31 Dave Hyatt <hyatt@apple.com>
645
646         Make ScrollBar.cpp suitable for compiling on Windows by removing the #import.
647
648         Reviewed by adam
649
650         * platform/ScrollBar.cpp:
651
652 2006-08-31  Brady Eidson  <beidson@apple.com>
653
654         Reviewed by John
655
656         Cleaned up my last patch after further considerations
657
658         * loader/icon/IconDatabase.cpp:
659         (WebCore::IconDatabase::pruneUnretainedIconsOnStartup): Uses the new checkForDanglingPageURLs to check
660           for and fix danglers.  Does so in all builds (changed from debug only in my last patch)
661         (WebCore::IconDatabase::syncDatabase): Uses the new checkForDanglingPageURLs to check for danglers
662         (WebCore::IconDatabase::checkForDanglingPageURLs): This checks and, if asked via an arg, prunes the dangling pageURLs
663         * loader/icon/IconDatabase.h:
664
665 2006-08-31  Anders Carlsson  <acarlsson@apple.com>
666
667         Reviewed by Maciej.
668
669         Add CString. CString is a simple, null-terminated byte buffer that supports data
670         sharing. Its main use is to be a better const char*.
671         
672         Also add latin1 and utf8 methods to String which returns CStrings.
673         
674         * platform/CString.cpp: Added.
675         (WebCore::CString::CString):
676         (WebCore::CString::init):
677         (WebCore::CString::data):
678         (WebCore::CString::length):
679         (WebCore::CString::deprecatedCString):
680         * platform/CString.h: Added.
681         (WebCore::CStringBuffer::CStringBuffer):
682         (WebCore::CStringBuffer::data):
683         (WebCore::CStringBuffer::length):
684         (WebCore::CString::CString):
685         (WebCore::CString::operator const char*):
686         (WebCore::CString::isNull):
687         * platform/PlatformString.h:
688         * platform/String.cpp:
689         (WebCore::String::latin1):
690         (WebCore::String::utf8):
691
692 2006-08-31  Brady Eidson  <beidson@apple.com>
693
694         Reviewed by Hyatt
695
696         Previously mentioned ASSERT was hit right away by folks, as we first need to bring their old icon.db into consistency
697         Changed the ASSERT to a LOG_ERROR and added a method for debug builds to bring a DB back together.
698
699         * loader/icon/IconDatabase.cpp:
700         (WebCore::IconDatabase::pruneUnretainedIconsOnStartup): Check for the danglers and prune them out
701         (WebCore::IconDatabase::syncDatabase): Check for the danglers and log the error
702         (WebCore::IconDatabase::pruneDanglingPageURLs): Prune the danglers
703         * loader/icon/IconDatabase.h:
704
705 2006-08-31  Brady Eidson  <beidson@apple.com>
706
707         Reviewed by Hyatt
708
709         Fixed an error where an Icon's IconID could change without the change being reflected in the PageURL table,
710         causing icons to be pruned before their time and pages to lose their icons.  This is because I misunderstood
711         how SQLite handles the "ON CONFLICT REPLACE" condition, which is to delete the row and re-insert instead of 
712         perform an update.  Also added an assertion to make sure this doesn't happen again.
713
714         * loader/icon/IconDataCache.cpp:
715         (WebCore::IconDataCache::writeToDatabase): Instead of one INSERT relying on SQLites conflict handling, broke
716           this into an UPDATE attempt followed by the initial INSERT
717         * loader/icon/IconDatabase.cpp:
718         (WebCore::IconDatabase::createDatabaseTables): Slight tweak to the database schema to prevent this from happening
719           in the future.  Note this change will not cause incompatibility with the current schema, therefore I didn't update
720           the official database version number
721         (WebCore::IconDatabase::syncDatabase): Added an ASSERT to look for this condition in the future
722         * loader/icon/SQLDatabase.cpp:
723         (WebCore::SQLDatabase::lastChanges): Added this SQLite accessor to see if an UPDATE command actually changed a row
724         * loader/icon/SQLDatabase.h: Ditto
725
726 2006-08-31  Sam Weinig  <sam.weinig@gmail.com>
727
728         Reviewed by Tim H.
729
730         - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10653
731           Auto-generate another 20 Objective-C DOM HTML bindings
732
733           Auto-generates DOMHTMLBRElement, DOMHTMLButtonElement, DOMHTMLDListElement, 
734           DOMHTMLDirectoryElement, DOMHTMLDivElement, DOMHTMLFieldSetElement, 
735           DOMHTMLHeadingElement, DOMHTMLInputElement, DOMHTMLLIElement, DOMHTMLLabelElement,
736           DOMHTMLLegendElement, DOMHTMLMenuElement, DOMHTMLOListElement, DOMHTMLOptGroupElement,
737           DOMHTMLParagraphElement, DOMHTMLPreElement, DOMHTMLQuoteElement, DOMHTMLSelectElement,
738           DOMHTMLTextAreaElement, and DOMHTMLUListElement.
739
740         * DerivedSources.make:
741         * WebCore.xcodeproj/project.pbxproj:
742         * bindings/objc/DOM.mm:
743         * bindings/objc/DOMExtensions.h:
744         * bindings/objc/DOMHTML.h:
745         * bindings/objc/DOMHTML.mm:
746         (-[DOMHTMLInputElement altDisplayString]):
747         (-[DOMHTMLInputElement absoluteImageURL]):
748         (-[DOMHTMLInputElement WebCore::]):
749         (-[DOMHTMLInputElement _rectOnScreen]):
750         (-[DOMHTMLInputElement _replaceCharactersInRange:withString:selectingFromIndex:]):
751         (-[DOMHTMLInputElement _selectedRange]):
752         (-[DOMHTMLInputElement _setAutofilled:]):
753         * bindings/objc/DOMHTMLInternal.h:
754         * bindings/objc/DOMPrivate.h:
755         * bindings/scripts/CodeGeneratorObjC.pm:
756
757 2006-08-31  Adele Peterson  <adele@apple.com>
758
759         Reviewed by John Sullivan.
760
761         Removing use of SPI in favor of Carbon API to enable and disable secure event input.
762
763         * WebCore.exp: Removed wkSecureEventInput and wkSetSecureEventInput.
764         * platform/mac/WebCoreSystemInterface.h: ditto.
765         * platform/mac/WebCoreSystemInterface.mm: ditto.
766
767         * bridge/mac/FrameMac.mm:
768         (WebCore::FrameMac::setSecureKeyboardEntry): Uses EnableSecureEventInput and DisableSecureEventInput.
769         (WebCore::FrameMac::secureKeyboardEntry): Uses IsSecureEventInputEnabled.
770
771 2006-08-30  Brady Eidson  <beidson@apple.com>
772
773         Reviewed by "common sense" (and Maciej)
774
775         Fixed two logging typos
776
777         * loader/icon/IconDatabase.cpp:
778         (WebCore::IconDatabase::syncDatabase):
779
780 2006-08-30  Adele Peterson  <adele@apple.com>
781
782         Adding missing nil check for focus node.
783
784         * page/Frame.cpp: (WebCore::Frame::setIsActive):
785
786 2006-08-30  Adele Peterson  <adele@apple.com>
787
788         Reviewed by Hyatt.
789
790         WebCore part of fix for  http://bugzilla.opendarwin.org/show_bug.cgi?id=10575
791         Enable secure input mode for new password fields
792
793         * WebCore.exp: Added wkSetSecureEventInput and wkSecureEventInput.
794         * platform/mac/WebCoreSystemInterface.h: ditto.
795         * platform/mac/WebCoreSystemInterface.mm: ditto.
796
797         * page/Frame.cpp: (WebCore::Frame::setIsActive): Enables and disables secure keyboard entry based on whether the frame becomes active.
798         * bridge/mac/FrameMac.h:
799         * bridge/mac/FrameMac.mm:
800         (WebCore::FrameMac::setSecureKeyboardEntry): Added. Calls wkSetSecureEventInput.
801         (WebCore::FrameMac::secureKeyboardEntry): Added. Calls wkSecureEventInput.
802         * html/HTMLInputElement.cpp:
803         (WebCore::HTMLInputElement::dispatchFocusEvent): For password fields, enable secure keyboard entry.
804         (WebCore::HTMLInputElement::dispatchBlurEvent): For password fields, disable secure keyboard entry.
805         * page/Frame.h:
806         (WebCore::Frame::setSecureKeyboardEntry):
807         (WebCore::Frame::secureKeyboardEntry):
808
809 2006-08-30  Darin Adler  <darin@apple.com>
810
811         Reviewed by Tim Hatcher.
812
813         - eliminated the need for UsesPassRefPtr in IDL files
814         - got rid of the category mechanism for ObjC generated DOM headers
815           (after discussions with Tim H where we decided it's not needed)
816         - simplified use of macro inside ObjC generated code
817
818         * ForwardingHeaders/wtf/GetPtr.h: Added.
819
820         * bindings/scripts/CodeGeneratorObjC.pm: Removed code to handle
821         categories. Eliminated use of DOM_cast since that's for the protection
822         of human programmers -- the script won't make mistakes that it needs
823         to catch. Changed macro to always be named IMPL instead of incorporating
824         the class name. Use WTF::getPtr to extract the pointer, and removed the
825         code that uses .get() to extract the pointer in the PassRefPtr case.
826
827         * dom/Attr.idl: Removed all uses of UsesPassRefPtr and ObjCCatagory.
828         * dom/DOMImplementation.idl: Ditto.
829         * dom/Document.idl: Ditto.
830         * dom/Element.idl: Ditto.
831         * dom/NamedNodeMap.idl: Ditto.
832         * html/HTMLDocument.idl: Ditto.
833         * html/HTMLElement.idl: Ditto.
834         * html/HTMLFormElement.idl: Ditto.
835         * html/HTMLMapElement.idl: Ditto.
836         * html/HTMLSelectElement.idl: Ditto.
837         * html/HTMLTableElement.idl: Ditto.
838         * html/HTMLTableRowElement.idl: Ditto.
839         * html/HTMLTableSectionElement.idl: Ditto.
840
841 2006-08-30  Brady Eidson  <beidson@apple.com>
842
843         Reviewed by John
844
845         <rdar://problem/4707718> - Instead of faking the user out with an in-memory icon database if their 
846         ~/Library/Safari/Icons is unwritable, we'll actually fail to open the icon database and the app will
847         run as if it was disabled via a preference.
848         Also took the opportunity to change some ASSERTS() to reasonable behavior
849
850         * bridge/mac/WebCoreIconDatabaseBridge.mm:
851         (-[WebCoreIconDatabaseBridge openSharedDatabaseWithPath:]): NSLog on failure so the user has a chance to figure 
852           out there's a problem.
853         (-[WebCoreIconDatabaseBridge closeSharedDatabase]):
854         (-[WebCoreIconDatabaseBridge iconForPageURL:withSize:]): From here on, just replaced ASSERTS() with reasonable behavior
855         (-[WebCoreIconDatabaseBridge iconURLForPageURL:]):
856         (-[WebCoreIconDatabaseBridge defaultIconWithSize:]):
857         (-[WebCoreIconDatabaseBridge retainIconForURL:]):
858         (-[WebCoreIconDatabaseBridge releaseIconForURL:]):
859         (-[WebCoreIconDatabaseBridge _setIconData:forIconURL:]):
860         (-[WebCoreIconDatabaseBridge _setHaveNoIconForIconURL:]):
861         (-[WebCoreIconDatabaseBridge _setIconURL:forPageURL:]):
862         (-[WebCoreIconDatabaseBridge _hasEntryForIconURL:]):
863         * loader/icon/IconDatabase.cpp:
864         (WebCore::IconDatabase::open): If we fail to open, return false 
865         (WebCore::IconDatabase::~IconDatabase): cleanup better
866         * loader/icon/IconDatabase.h:
867
868 2006-08-30  David Harrison  <harrison@apple.com>
869
870         Reviewed by John Sullivan.
871
872         <rdar://problem/4708007> REGRESSION: text field inside a webpage no longer has settable AXValueAttribute
873         <rdar://problem/4707479> REGRESSION: controls inside a webpage no longer have settable AXFocusedAttribute
874
875         * bridge/mac/WebCoreAXObject.mm:
876         (-[WebCoreAXObject canSetFocusAttribute]):
877         (-[WebCoreAXObject canSetValueAttribute]):
878         New utility methods.  Text fields and buttons are focusable.
879         Text fields can have their value set. We need not make
880         popupbutton value settable because AppKit does not.
881         
882         (-[WebCoreAXObject accessibilityIsAttributeSettable:]):
883         Call new utility methods.
884         
885         (-[WebCoreAXObject accessibilitySetValue:forAttribute:]):
886         Set focus for text field or button.
887         Set value for text field.
888         
889 2006-08-30  David Hyatt  <hyatt@apple.com>
890
891         Fix for bugs 9000 and 10606.  Add code to suppress painting when
892         a FOUC situation would otherwise occur.  There will still typically be
893         a flash to white, but at least the wrong content won't show.
894
895         Reviewed by darin
896
897         * dom/Document.cpp:
898         (WebCore::Document::Document):
899         (WebCore::Document::updateLayoutIgnorePendingStylesheets):
900         (WebCore::Document::preferredStylesheetSet):
901         (WebCore::Document::selectedStylesheetSet):
902         (WebCore::Document::setSelectedStylesheetSet):
903         (WebCore::Document::stylesheetLoaded):
904         (WebCore::Document::updateStyleSelector):
905         * dom/Document.h:
906         (WebCore::Document::haveStylesheetsLoaded):
907         * rendering/RenderBlock.cpp:
908         (WebCore::RenderBlock::paintChildren):
909         * rendering/RenderLayer.cpp:
910         (WebCore::RenderLayer::paintLayer):
911         (WebCore::isSubframe):
912         (WebCore::RenderLayer::hitTest):
913         * rendering/RenderView.cpp:
914         (WebCore::RenderView::repaintViewRectangle):
915
916 2006-08-31  Nikolas Zimmermann  <zimmermann@kde.org>
917  
918          Reviewed by Eric. Landed by rwlbuis.
919  
920          Apply Rob's fixes in RenderPathQt too -> unbreak build.
921  
922          * kcanvas/RenderPath.h: Some style cleanups.
923          * kcanvas/device/qt/RenderPathQt.cpp:
924          (WebCore::RenderPathQt::strokeContains):
925          * kcanvas/device/qt/RenderPathQt.h:
926
927 2006-08-30  Sam Weinig  <sam.weinig@gmail.com>
928         Reviewed by Tim H.
929
930         - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10640
931           Auto-generate 10 more Objective-C DOM HTML bindings
932
933           Auto-generates DOMHTMLBaseElement, DOMHTMLBodyElement, DOMHTMLHeadElement,
934           DOMHTMLHtmlElement, DOMHTMLIsIndexElement, DOMHTMLLinkElement,
935           DOMHTMLMetaElement, DOMHTMLStyleElement and DOMHTMLTitleElement.
936
937           Splits DOMHTMLDocument into it's own files.
938
939         * DerivedSources.make:
940         * WebCore.xcodeproj/project.pbxproj:
941         * bindings/objc/DOM.mm:
942         * bindings/objc/DOMExtensions.h:
943         * bindings/objc/DOMHTML.h:
944         * bindings/objc/DOMHTML.mm:
945         * bindings/objc/DOMHTMLDocument.h: Added.
946         * bindings/objc/DOMHTMLDocument.mm: Added.
947         (-[DOMHTMLDocument WebCore::]):
948         (-[DOMHTMLDocument title]):
949         (-[DOMHTMLDocument setTitle:]):
950         (-[DOMHTMLDocument referrer]):
951         (-[DOMHTMLDocument domain]):
952         (-[DOMHTMLDocument URL]):
953         (-[DOMHTMLDocument body]):
954         (-[DOMHTMLDocument setBody:]):
955         (-[DOMHTMLDocument images]):
956         (-[DOMHTMLDocument applets]):
957         (-[DOMHTMLDocument links]):
958         (-[DOMHTMLDocument forms]):
959         (-[DOMHTMLDocument anchors]):
960         (-[DOMHTMLDocument cookie]):
961         (-[DOMHTMLDocument setCookie:]):
962         (-[DOMHTMLDocument open]):
963         (-[DOMHTMLDocument close]):
964         (-[DOMHTMLDocument write:]):
965         (-[DOMHTMLDocument writeln:]):
966         (-[DOMHTMLDocument getElementById:]):
967         (-[DOMHTMLDocument getElementsByName:]):
968         (-[DOMHTMLDocument createDocumentFragmentWithMarkupString:baseURL:]):
969         (-[DOMHTMLDocument createDocumentFragmentWithText:]):
970         * bindings/objc/DOMHTMLInternal.h:
971         * bindings/scripts/CodeGeneratorObjC.pm:
972         * html/HTMLDocument.idl:
973
974 2006-08-30  Nikolas Zimmermann  <zimmermann@kde.org>
975
976         Reviewed by eseidel.
977
978         Use QColor <-> Color conversion operator, instead of faking it.
979
980         * platform/qt/FontQt.cpp:
981         (WebCore::Font::drawGlyphs):
982         * platform/qt/GraphicsContextQt.cpp:
983         (WebCore::GraphicsContext::fillRect):
984
985 2006-08-30  Rob Buis  <buis@kde.org>
986
987         Reviewed by Eric.
988
989         http://bugzilla.opendarwin.org/show_bug.cgi?id=10586
990         pointer-events has issues when things are not stroked/filled
991
992         Add a param to fillContains/strokeContains to indicate
993         whether we still want hit testing when there is no fill/stroke.
994
995         * kcanvas/RenderPath.cpp:
996         (WebCore::RenderPath::fillContains):
997         (WebCore::RenderPath::nodeAtPoint):
998         * kcanvas/RenderPath.h:
999         * kcanvas/device/quartz/KCanvasItemQuartz.h:
1000         * kcanvas/device/quartz/KCanvasItemQuartz.mm:
1001         (WebCore::KCanvasItemQuartz::strokeContains):
1002
1003 2006-08-29  Justin Garcia  <justin.garcia@apple.com>
1004
1005         Reviewed by harrison
1006         
1007         <rdar://problem/4700297>
1008         REGRESSION: After replacing a misspelled word in a sentence, the selection extends to end of current line
1009
1010         * editing/ReplaceSelectionCommand.cpp:
1011         (WebCore::ReplaceSelectionCommand::doApply): Rebalance whitespace
1012         around insertionPos before insertion because the content might 
1013         cause a collapse, e.g. inserting <div>foo</div> at hello^ world.
1014         * editing/htmlediting.cpp:
1015         (WebCore::rebalanceWhitespaceInTextNode): Rebalance with all nbsps
1016         for simplicity, we can produce sequences of regular spaces and
1017         nbsps on serialization (10636).
1018
1019 2006-08-30  Nikolas Zimmermann  <zimmermann@kde.org>
1020
1021         Reviewed by eseidel.
1022
1023         The old solution was slow & does not work correctly.
1024         Move the QString -> DeprecatedString conversion into
1025         DeprectedString.cpp, to be able to access allocateHandle().
1026
1027         * platform/DeprecatedString.cpp:
1028         (WebCore::DeprecatedString::DeprecatedString):
1029         * platform/qt/StringQt.cpp:
1030
1031 2006-08-30  Nikolas Zimmermann  <zimmermann@kde.org>
1032
1033         Reviewed/landed by Adam.
1034
1035         Implement containsCharacters() / determinePitch() functions.
1036
1037         * platform/qt/FontDataQt.cpp:
1038         (WebCore::FontData::containsCharacters):
1039         (WebCore::FontData::determinePitch):
1040
1041 2006-08-30  Brady Eidson  <beidson@apple.com>
1042
1043         Reviewed by Darin's rubberstamp
1044
1045         We apparently have a fancy delateAllValues() helper for HashMap/Sets - I'll use that instead
1046
1047         * WebCore.xcodeproj/project.pbxproj:
1048         * loader/icon/IconDatabase.cpp:
1049         (WebCore::IconDatabase::removeAllIcons):
1050
1051 2006-08-29  waylonis  <waylonis@google.com>
1052
1053         Reviewed, tweaked by ggaren.
1054         
1055         - Changed to use ExecState on current context rather than global.
1056           Part of the fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=10114
1057         * bindings/objc/WebScriptObject.mm:
1058         (+[WebScriptObject throwException:]):
1059         (-[WebScriptObject setException:]):
1060
1061 2006-08-30  Adele Peterson  <adele@apple.com>
1062
1063         Reviewed by Darin.
1064
1065         - WebCore part of fix for:
1066         http://bugzilla.opendarwin.org/show_bug.cgi?id=10576
1067         Disallow copy from new password fields
1068
1069         * page/Frame.cpp: (WebCore::Frame::mayCopy): Added. Checks to see if the selection is within a password field.
1070         * page/Frame.h: Added mayCopy.
1071
1072         * bridge/mac/FrameMac.h:
1073         * bridge/mac/FrameMac.mm:
1074         (WebCore::FrameMac::handleMouseMoveEvent): Checks mayCopy before starting a drag.
1075         (WebCore::FrameMac::mayDHTMLCut): Renamed to match the bridge method.  This also checks mayCopy now.
1076         (WebCore::FrameMac::mayDHTMLCopy): ditto.
1077         (WebCore::FrameMac::tryDHTMLCut): ditto.
1078         (WebCore::FrameMac::tryDHTMLCopy): ditto.
1079         (WebCore::FrameMac::mayDHTMLPaste): Renamed to match the bridge function.
1080         (WebCore::FrameMac::tryDHTMLPaste): ditto.
1081         * bridge/mac/WebCoreFrameBridge.h:
1082         * bridge/mac/WebCoreFrameBridge.mm:
1083         (-[WebCoreFrameBridge mayCopy]): Calls the renamed method on frame.
1084         (-[WebCoreFrameBridge mayDHTMLCut]): ditto.
1085         (-[WebCoreFrameBridge mayDHTMLCopy]): ditto.
1086         (-[WebCoreFrameBridge mayDHTMLPaste]): ditto.
1087         (-[WebCoreFrameBridge tryDHTMLCut]): ditto.
1088         (-[WebCoreFrameBridge tryDHTMLCopy]): ditto.
1089         (-[WebCoreFrameBridge tryDHTMLPaste]): ditto.
1090
1091         * css/html4.css: Added !important to the -webkit-text-security property for password fields.
1092
1093 2006-08-30  Nikolas Zimmermann  <zimmermann@kde.org>
1094
1095         Reviewed by Tim H.
1096
1097         Commit KDE related tweaks, to be able to
1098         differentiate between a Qt-only or a KDE build.
1099
1100         * CMakeLists.txt: Move global variables up to trunk/CMakeLists.txt.
1101                           Also rename USE_WEBKIT_SVG_SUPPORT to WEBKIT_USE_SVG_SUPPORT.
1102
1103 2006-08-30  Timothy Hatcher  <timothy@apple.com>
1104
1105         Rubber-stamped by Brady.
1106
1107         Fix for the generated headers to make the build work
1108         during "installhdrs" builds. Also export DOM headers
1109         using the #import <WebCore/DOM*.h> syntax.
1110
1111         * WebCore.xcodeproj/project.pbxproj:
1112         * bindings/scripts/CodeGeneratorObjC.pm:
1113
1114 2006-08-29  Brady Eidson  <beidson@apple.com>
1115
1116         Reviewed by Kevin Decker (Sarge)
1117
1118         <rdar://problem/4678414> - New IconDB needs to delete icons when asked
1119         <rdar://problem/4707718> - If user's Icon directory is unwritable, Safari will crash at startup
1120
1121         * bridge/mac/WebCoreIconDatabaseBridge.h:
1122         * bridge/mac/WebCoreIconDatabaseBridge.mm:
1123         (-[WebCoreIconDatabaseBridge removeAllIcons]):  Added
1124         * loader/icon/IconDatabase.cpp:
1125         (WebCore::IconDatabase::open): If DB file is not writeable, create an in-memory DB for this session
1126         (WebCore::IconDatabase::close): Use new deleteAllPreparedStatements()
1127         (WebCore::IconDatabase::removeAllIcons): Actually implemented
1128         (WebCore::IconDatabase::deleteAllPreparedStatements): Added for convinience/consistency
1129         (WebCore::IconDatabase::setPrivateBrowsingEnabled): Use new SQLDatabase::clearAllTables()
1130         * loader/icon/IconDatabase.h:
1131         * loader/icon/SQLDatabase.cpp:
1132         (WebCore::SQLDatabase::clearAllTables): Moved this from IconDatabase as it actually belongs here
1133         (WebCore::SQLDatabase::vacuum): Added
1134         * loader/icon/SQLDatabase.h:
1135         (WebCore::SQLDatabase::path): changed name from getPath()
1136
1137 2006-08-29  Brady Eidson  <beidson@apple.com>
1138
1139         Reviewed by Alice
1140
1141         Added a truth value to setIconURLForPageURL so WebKit can avoid sending a notification
1142         This is a win on the iBench
1143
1144         * bridge/mac/WebCoreIconDatabaseBridge.h:
1145         * bridge/mac/WebCoreIconDatabaseBridge.mm:
1146         (-[WebCoreIconDatabaseBridge _setIconURL:forPageURL:]):
1147         * loader/icon/IconDatabase.cpp:
1148         (WebCore::IconDatabase::setIconURLForPageURL):
1149         * loader/icon/IconDatabase.h:
1150
1151 2006-08-29  Alice Liu  <alice.liu@apple.com>
1152
1153         Reviewed by Brady.
1154
1155         Fixed <rdar://problem/4702021> REGRESSION: WebClip and Weather widgets shift downward vertically on screen after I drag them out from dashboard configure bar
1156
1157         * platform/mac/ScreenMac.mm:
1158         (WebCore::flipScreenRect):
1159         reverted the one line in this method back to what it was before r15765.  This changed caused window.screenY to be incorrect.  
1160
1161 2006-08-29  Darin Adler  <darin@apple.com>
1162
1163         Reviewed by Hyatt.
1164
1165         - fix <rdar://problem/4701494> REGRESSION: Scrollbar on EPSN widget doesn't scroll (also affects Widgets widget, web inspector)
1166
1167         The bug was that we would return "none" for computed style properties when they were
1168         exactly "-1px".
1169
1170         Test: fast/css/computed-style-negative-top.html
1171
1172         * css/CSSComputedStyleDeclaration.cpp:
1173         (WebCore::valueForLength): Moved special case for "undefined length" out of here.
1174         (WebCore::valueForMaxLength): Moved it into here.
1175         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Use valueForMaxLength
1176         only for max-height and max-width.
1177
1178 2006-08-29  Nikolas Zimmermann  <zimmermann@kde.org>
1179
1180         Reviewed by eseidel.
1181
1182         Add path-related SVG JavaScript bindings to generation.
1183
1184         * CMakeLists.txt:
1185
1186 2006-08-29  Eric Seidel  <eric@eseidel.com>
1187
1188         Reviewed by kevin.
1189
1190         Re-enable path-related SVG JavaScript bindings.
1191         http://bugzilla.opendarwin.org/show_bug.cgi?id=10623
1192         Split all SVGPathSeg*.idl files into Abs and Rel pieces.
1193         Move all SVGPath*.idl files into ksvg2/svg
1194
1195         * DerivedSources.make:
1196         * WebCore.xcodeproj/project.pbxproj:
1197         * bindings/scripts/CodeGeneratorJS.pm: Special case Abs and Rel header includes
1198         * ksvg2/bindings/idl/svg/SVGAnimatedNumber.idl: Removed.
1199         * ksvg2/bindings/idl/svg/SVGPathElement.idl: Removed.
1200         * ksvg2/bindings/idl/svg/SVGPathSeg.idl: Removed.
1201         * ksvg2/bindings/idl/svg/SVGPathSegArc.idl: Removed.
1202         * ksvg2/bindings/idl/svg/SVGPathSegClosePath.idl: Removed.
1203         * ksvg2/bindings/idl/svg/SVGPathSegCurvetoCubic.idl: Removed.
1204         * ksvg2/bindings/idl/svg/SVGPathSegCurvetoCubicSmooth.idl: Removed.
1205         * ksvg2/bindings/idl/svg/SVGPathSegCurvetoQuadratic.idl: Removed.
1206         * ksvg2/bindings/idl/svg/SVGPathSegCurvetoQuadraticSmooth.idl: Removed.
1207         * ksvg2/bindings/idl/svg/SVGPathSegLineto.idl: Removed.
1208         * ksvg2/bindings/idl/svg/SVGPathSegLinetoHorizontal.idl: Removed.
1209         * ksvg2/bindings/idl/svg/SVGPathSegLinetoVertical.idl: Removed.
1210         * ksvg2/bindings/idl/svg/SVGPathSegList.idl: Removed.
1211         * ksvg2/bindings/idl/svg/SVGPathSegMoveto.idl: Removed.
1212         * ksvg2/ksvg.h: move SVGPathSegment enum
1213         * ksvg2/svg/SVGPathElement.cpp: move SVGPathSegment enum
1214         (WebCore::SVGPathElement::toPathData):
1215         * ksvg2/svg/SVGPathSeg.cpp:
1216         (WebCore::SVGPathSeg::SVGPathSeg):
1217         * ksvg2/svg/SVGPathSeg.h:
1218         (WebCore::SVGPathSeg::):
1219         * ksvg2/svg/SVGPathSegArcAbs.idl: Added.
1220         * ksvg2/svg/SVGPathSegArcRel.idl: Added.
1221         * ksvg2/svg/SVGPathSegCurvetoCubicAbs.idl: Added.
1222         * ksvg2/svg/SVGPathSegCurvetoCubicRel.idl: Added.
1223         * ksvg2/svg/SVGPathSegCurvetoCubicSmoothAbs.idl: Added.
1224         * ksvg2/svg/SVGPathSegCurvetoCubicSmoothRel.idl: Added.
1225         * ksvg2/svg/SVGPathSegCurvetoQuadraticAbs.idl: Added.
1226         * ksvg2/svg/SVGPathSegCurvetoQuadraticRel.idl: Added.
1227         * ksvg2/svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl: Added.
1228         * ksvg2/svg/SVGPathSegCurvetoQuadraticSmoothRel.idl: Added.
1229         * ksvg2/svg/SVGPathSegLinetoAbs.idl: Added.
1230         * ksvg2/svg/SVGPathSegLinetoHorizontalAbs.idl: Added.
1231         * ksvg2/svg/SVGPathSegLinetoHorizontalRel.idl: Added.
1232         * ksvg2/svg/SVGPathSegLinetoRel.idl: Added.
1233         * ksvg2/svg/SVGPathSegLinetoVerticalAbs.idl: Added.
1234         * ksvg2/svg/SVGPathSegLinetoVerticalRel.idl: Added.
1235         * ksvg2/svg/SVGPathSegMovetoAbs.idl: Added.
1236         * ksvg2/svg/SVGPathSegMovetoRel.idl: Added.
1237
1238 2006-08-28  Nikolas Zimmermann  <zimmermann@kde.org>
1239
1240         Reviewed by Eric, landed by Anders.
1241
1242         Fixes one chunk of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10604
1243
1244         Finish Unity merging. Remove libcurl usage, in favour of KIO.
1245         This makes the regression testing fly! IO processing is way faster now.
1246
1247         * CMakeLists.txt:
1248         * platform/ResourceLoaderInternal.h:
1249         (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
1250         * platform/qt/FrameQt.cpp:
1251         (WebCore::FrameQt::openURL):
1252         (WebCore::FrameQt::submitForm):
1253         (WebCore::FrameQt::urlSelected):
1254         (WebCore::FrameQt::createEmptyDocument):
1255         (WebCore::FrameQt::receivedData):
1256         (WebCore::FrameQt::receivedAllData):
1257         * platform/qt/FrameQt.h:
1258         * platform/qt/ResourceLoaderCurl.cpp: Removed.
1259         * platform/qt/ResourceLoaderManager.cpp:
1260         (WebCore::ResourceLoaderManager::ResourceLoaderManager):
1261         (WebCore::ResourceLoaderManager::~ResourceLoaderManager):
1262         (WebCore::ResourceLoaderManager::self):
1263         (WebCore::ResourceLoaderManager::slotData):
1264         (WebCore::ResourceLoaderManager::slotMimetype):
1265         (WebCore::ResourceLoaderManager::slotResult):
1266         (WebCore::ResourceLoaderManager::remove):
1267         (WebCore::ResourceLoaderManager::add):
1268         * platform/qt/ResourceLoaderManager.h:
1269         * platform/qt/ResourceLoaderQt.cpp: Added.
1270         (WebCore::ResourceLoaderInternal::~ResourceLoaderInternal):
1271         (WebCore::ResourceLoader::~ResourceLoader):
1272         (WebCore::ResourceLoader::start):
1273         (WebCore::ResourceLoader::cancel):
1274         (WebCore::ResourceLoader::assembleResponseHeaders):
1275         (WebCore::ResourceLoader::retrieveCharset):
1276         (WebCore::ResourceLoader::receivedResponse):
1277
1278 2006-08-29  Timothy Hatcher  <timothy@apple.com>
1279
1280         Reviewed by Eric.
1281
1282         Bug 10632: Objective-C DOM should use the @property syntax for DOM attributes
1283         http://bugzilla.opendarwin.org/show_bug.cgi?id=10632
1284
1285         Generate @property when MACOSX_DEPLOYMENT_TARGET is >= 10.5.
1286         This is backwards compatible with the getter/setter methods.
1287         Generate setter arguments with a "new" prefix to avoid the property
1288         name conflict warning. Also removes some whitespace and the comments
1289         that we added to the headers. This makes the headers look like what we ship now.
1290
1291         * bindings/objc/DOMCSS.mm:
1292         (-[DOMDocument getComputedStyle::]): renamed a local variable to avoid the property name conflict.
1293         (-[DOMDocument getMatchedCSSRules::]): ditto.
1294         * bindings/scripts/CodeGeneratorObjC.pm: generate @property in the headers.
1295
1296 2006-08-30  Nikolas Zimmermann  <zimmermann@kde.org>
1297
1298         Reviewed and landed by Anders.
1299
1300         Fix time calculation, by using a correct calculation. Calling time()
1301         returns a number of seconds, aka. an integer. Fix it by using gettimeofday().
1302         Patch originally proposed by Ronan Meneu <rmeneu@origyn.fr>
1303
1304         * platform/qt/SystemTimeQt.cpp:
1305         (WebCore::currentTime):
1306
1307 2006-08-29  Sam Weinig  <sam.weinig@gmail.com>
1308
1309         Reviewed by Tim H.
1310
1311         - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10628
1312           Auto-generate the remaining Objective-C DOM bindings
1313
1314           Auto-generates DOMHTMLCollection, DOMHTMLElement, DOMHTMLFormElement,
1315           and DOMHTMLOptionsCollection, and lays groundwork for the rest of the 
1316           HTML DOM bindings by adding/fixing the appropriate IDL's and updating
1317           the CodeGeneratorObjC.pm build script.
1318
1319         * DerivedSources.make:
1320         * WebCore.xcodeproj/project.pbxproj:
1321         * bindings/objc/DOM.mm:
1322         * bindings/objc/DOMExtensions.h:
1323         * bindings/objc/DOMHTML.h:
1324         * bindings/objc/DOMHTML.mm:
1325         * bindings/objc/DOMHTMLInternal.h:
1326         * bindings/scripts/CodeGeneratorObjC.pm:
1327         * html/HTMLAnchorElement.idl:
1328         * html/HTMLAreaElement.idl:
1329         * html/HTMLBaseFontElement.idl:
1330         * html/HTMLBodyElement.idl:
1331         * html/HTMLButtonElement.idl:
1332         * html/HTMLCollection.idl: Added.
1333         * html/HTMLDocument.idl:
1334         * html/HTMLElement.idl:
1335         * html/HTMLFormElement.idl:
1336         * html/HTMLFrameElement.idl: Added.
1337         * html/HTMLFrameSetElement.idl: Added.
1338         * html/HTMLIFrameElement.idl: Added.
1339         * html/HTMLImageElement.idl:
1340         * html/HTMLInputElement.idl:
1341         * html/HTMLLabelElement.idl:
1342         * html/HTMLLegendElement.idl:
1343         * html/HTMLLinkElement.idl:
1344         * html/HTMLMapElement.idl:
1345         * html/HTMLObjectElement.idl: Added.
1346         * html/HTMLOptionsCollection.idl:
1347         * html/HTMLPreElement.idl:
1348         * html/HTMLSelectElement.idl: Added.
1349         * html/HTMLStyleElement.idl:
1350         * html/HTMLTableCaptionElement.idl: Added.
1351         * html/HTMLTableCellElement.idl: Added.
1352         * html/HTMLTableColElement.idl: Added.
1353         * html/HTMLTableElement.idl: Added.
1354         * html/HTMLTableRowElement.idl: Added.
1355         * html/HTMLTableSectionElement.idl: Added.
1356         * html/HTMLTextAreaElement.idl:
1357
1358 2006-08-29  Nikolas Zimmermann  <zimmermann@kde.org>
1359
1360         Reviewed and landed by ap.
1361
1362         Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10629.
1363         Drawing convex polygons is broken in the Qt platform.
1364
1365         * platform/qt/GraphicsContextQt.cpp:
1366         (WebCore::GraphicsContext::drawConvexPolygon):
1367
1368 2006-08-29  Nikolas Zimmermann  <zimmermann@kde.org>
1369
1370         Reviewed by Eric.
1371
1372         Implementing font hashing properly, fixes weird crashes in HashMap.
1373
1374         * platform/qt/FontPlatformData.h:
1375         * platform/qt/FontPlatformDataQt.cpp:
1376         (WebCore::FontPlatformData::FontPlatformData):
1377         (WebCore::FontPlatformData::hash):
1378
1379 2006-08-29  Nikolas Zimmermann  <zimmermann@kde.org>
1380
1381         Reviewed by ggaren.
1382
1383         Fix scrollbars to reappear after the first layouting.
1384
1385         * platform/qt/ScrollViewQt.cpp:
1386         (WebCore::ScrollView::suppressScrollBars):
1387
1388 2006-08-29  Anders Carlsson  <acarlsson@apple.com>
1389
1390         Reviewed by Darin and Geoff.
1391
1392         Move the CF String functions to separate files in platform/cf.
1393         Also, move the files in platform/cfnet to platform/cf.
1394
1395         * WebCore.xcodeproj/project.pbxproj:
1396         * platform/PlatformString.h:
1397         * platform/StringImpl.h:
1398         * platform/cf/StringCF.cpp: Added.
1399         (WebCore::String::String):
1400         * platform/cf/StringImplCF.cpp: Added.
1401         (WebCore::StringImpl::createCFString):
1402         * platform/cfnet/KURLCFNet.cpp: Removed.
1403         * platform/cfnet/ResourceLoaderCFNet.cpp: Removed.
1404         * platform/mac/StringImplMac.mm:
1405         * platform/mac/StringMac.mm:
1406
1407 2006-08-29  Geoffrey Garen  <ggaren@apple.com>
1408
1409         Rolling out a change I included by accident in my last commit.
1410         
1411         * bridge/mac/FrameMac.mm:
1412         (WebCore::FrameMac::passMouseDownEventToWidget):
1413         * platform/mac/SharedTimerMac.cpp:
1414         (WebCore::setSharedTimerFireTime):
1415
1416 2006-08-28  Geoffrey Garen  <ggaren@apple.com>
1417
1418         Reviewed by Maciej.
1419         
1420         Added support for experimental CFNetwork-based loader (not turned on yet).
1421         
1422         While I was there, I did the following platform cleanup:
1423         - Windows now uses USE(WININET) instead of PLATFORM(WIN_OS), to match the
1424           USE(CFNETWORK) idiom.
1425         - Removed some #includes of windows.h in platform-independent headers.
1426         - Changed #ifdef __APPLE__ to PLATFORM(MAC)
1427         - Fixed some build bustage, including case-sensitive filesystem bustage.
1428
1429         * loader/loader.cpp:
1430         (WebCore::Loader::receivedAllData):
1431         * platform/Cursor.h:
1432         * platform/KURL.h:
1433         * platform/ResourceLoader.h:
1434         * platform/ResourceLoaderClient.h:
1435         * platform/ResourceLoaderInternal.h:
1436         (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
1437         * platform/cfnet/KURLCFNet.cpp: Added.
1438         (WebCore::KURL::createCFURL):
1439         * platform/cfnet/ResourceLoaderCFNet.cpp: Added.
1440         (WebCore::willSendRequest):
1441         (WebCore::didReceiveChallenge):
1442         (WebCore::didCancelChallenge):
1443         (WebCore::didReceiveResponse):
1444         (WebCore::didReceiveData):
1445         (WebCore::didFinishLoading):
1446         (WebCore::didFail):
1447         (WebCore::willCacheResponse):
1448         (WebCore::addHeadersFromString):
1449         (WebCore::ResourceLoaderInternal::~ResourceLoaderInternal):
1450         (WebCore::ResourceLoader::~ResourceLoader):
1451         (WebCore::arrayFromFormData):
1452         (WebCore::emptyPerform):
1453         (WebCore::runLoaderThread):
1454         (WebCore::ResourceLoader::start):
1455         (WebCore::ResourceLoader::cancel):
1456         * platform/win/CursorWin.cpp:
1457
1458 2006-08-28  Justin Garcia  <justin.garcia@apple.com>
1459
1460         Reviewed by harrison
1461         
1462         <rdar://problem/4700341>
1463         REGRESSION: In new mail message, caret isn't placed at end of line after redoing typing
1464
1465         * editing/ReplaceSelectionCommand.cpp:
1466         (WebCore::ReplaceSelectionCommand::doApply): Added a FIXME.
1467         * page/Frame.cpp:
1468         (WebCore::Frame::reappliedEditing): Restore the endingSelection(), not the startingSelection().
1469
1470 2006-08-28  Tim Omernick  <timo@apple.com>
1471
1472         Reviewed by John Sullivan.
1473
1474         Part of <rdar://problem/4481553> NetscapeMoviePlugIn example code scripting doesn't work in Firefox (4319)
1475         <http://bugzilla.opendarwin.org/show_bug.cgi?id=4319>: NetscapeMoviePlugIn example code scripting doesn't work
1476         in Firefox
1477
1478         No test cases added, since this is essentially a leak fix.
1479
1480         A brief history of NPP_GetValue(), NPObjects, and reference counting.
1481
1482         Earlier versions of WebKit incorrectly interpreted the NPRuntime reference counting rules.  We failed to take
1483         into account the fact that plug-ins are required to retain NPObjects before returning them.  This creates several
1484         classes of interesting plug-ins:
1485
1486         1) Plug-ins tested in WebKit and other browsers.  These plug-ins may have WebKit-specific workarounds to not retain
1487            the returned NPObject, thus avoiding the memory leak in WebKit.
1488
1489         2) Plug-ins tested only in other browsers.  These plug-ins must already retain their NPObjects, since other browsers
1490            implemented the NPRuntime retain/release rules correctly.  These plug-ins likely work in WebKit, but probably leak
1491            NPObjects since WebKit adds its own retain in addition to the plug-in's retain.
1492
1493         3) Plug-ins tested only in WebKit, that fail to retain their NPObjects before returning them.
1494            Such plug-ins are guaranteed to crash in other browsers due to the missing expected retain.  These plug-ins
1495            work in older WebKits because WebKit did not expect the plug-in to retain the NPObject.  Now that our retain
1496            rules match other browsers, these plug-ins may crash due to the difference in retain/release behavior.  We could
1497            potentially detect that situation and correct it here, but I consider it a bug that the plug-in did not follow the
1498            documented NPRuntime reference counting rules.  Furthermore, it is extremely unlikely that someone would develop
1499            a Netscape plug-in and test it *only* in WebKit.  The entire purpose of creating a Netscape plugin is so that it
1500            works in all browsers!
1501
1502         4) Plug-ins tested only in WebKit, that properly retain their NPObjects before returning them.
1503            These plug-ins probably work in other browsers, and leak their NPObjects in older WebKits because of WebKit's
1504            extra retain.  A developer of this type of plug-in is probably unaware of the NPObject leak.  A more savvy developer
1505            would create a plug-in that fits into category #1.
1506         
1507         I am changing our NPP_GetValue() behavior to match Firefox and other browsers -- the plug-in is now expected to retain the
1508         returned NPObject, and the browser is expected to release it when done.  This means that plug-ins in category #3 need to be
1509         changed so that they don't crash in Safari.  However, such plug-ins already crash in every other browser, so I do not feel that
1510         this needs to be handled specifically by WebKit.
1511
1512         * bridge/mac/FrameMac.mm:
1513         Changed -pluginScriptableObject to -createPluginScriptableObject to make clearer the contract that the method must return a
1514         retained NPObject.  Also changed it to return an actual NPObject* instead of a void*.  There is only one caller of this method,
1515         and only one implementor.  Using void* here is a needless abstraction.  It's an NPObject*!  Admit it!
1516         (WebCore::getInstanceForView):
1517         Release the NPObject after creating the bindings instance.  This is the actual bug fix.
1518
1519 2006-08-28  Alice Liu  <alice.liu@apple.com>
1520
1521         Reviewed by Geoff.
1522
1523         Fixed <rdar://problem/4548537> Document.domain and other attributes are blank for an iframe created with document.write
1524
1525         * dom/Document.cpp:
1526         (WebCore::Document::open):
1527         set the document's url to the parent's url and re-located the code that does this to occur before calling the frame's didExplicitOpen()
1528         * page/Frame.cpp:
1529         (WebCore::Frame::didExplicitOpen):
1530         set the frame's url to the document's url
1531
1532 2006-08-28  Brady Eidson  <beidson@apple.com>
1533
1534         Reviewed by Adele and Adam
1535
1536         Added an optimization to return early if there's no replacements to be made
1537
1538         * platform/StringImpl.cpp:
1539         (WebCore::StringImpl::replace):
1540
1541 2006-08-28  Nikolas Zimmermann  <zimmermann@kde.org>
1542
1543         Reviewed and landed by ap.
1544
1545         Fixes one chunk of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10604
1546         Provide stub implementation of RenderPopupMenuQt.
1547
1548         * CMakeLists.txt:
1549         * platform/qt/RenderPopupMenuQt.cpp: Added.
1550         (WebCore::RenderPopupMenuQt::RenderPopupMenuQt):
1551         (WebCore::RenderPopupMenuQt::~RenderPopupMenuQt):
1552         (WebCore::RenderPopupMenuQt::clear):
1553         (WebCore::RenderPopupMenuQt::populate):
1554         (WebCore::RenderPopupMenuQt::showPopup):
1555         (WebCore::RenderPopupMenuQt::hidePopup):
1556         (WebCore::RenderPopupMenuQt::addSeparator):
1557         (WebCore::RenderPopupMenuQt::addGroupLabel):
1558         (WebCore::RenderPopupMenuQt::addOption):
1559         * platform/qt/RenderPopupMenuQt.h: Added.
1560         * platform/qt/RenderThemeQt.cpp:
1561         (WebCore::RenderThemeQt::systemFont):
1562         (WebCore::RenderThemeQt::createPopupMenu):
1563
1564 2006-08-28  Nikolas Zimmermann  <zimmermann@kde.org>
1565
1566         Reviewed and landed by ap.
1567
1568         Fixes one chunk of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10604
1569         Offer QString -> DeprecatedString conversion.
1570
1571         * platform/DeprecatedString.h:
1572         * platform/qt/StringQt.cpp:
1573         (WebCore::DeprecatedString::DeprecatedString):
1574
1575 2006-08-28  Nikolas Zimmermann  <zimmermann@kde.org>
1576
1577         Reviewed by Tim Hatcher.
1578         
1579         Fixes one chunk of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10604
1580
1581         * platform/qt/RenderThemeQt.cpp:
1582         (WebCore::RenderThemeQt::systemFont):
1583         Remove annoying notImplemented() usage in systemFont()
1584
1585 2006-08-28  David Harrison  <harrison@apple.com>
1586
1587         Reviewed by Darin.
1588
1589         <rdar://problem/3942647> Support AXStyleTextMarkerRangeForTextMarker parameterized attribute
1590
1591         * bridge/mac/WebCoreAXObject.mm:
1592         (-[WebCoreAXObject accessibilityParameterizedAttributeNames]):
1593         Add AXStyleTextMarkerRangeForTextMarker.
1594         
1595         (startOfStyleRange):
1596         (endOfStyleRange):
1597         Return first/last VisiblePosition in range having the same style has the specified VisiblePosition.
1598
1599         (-[WebCoreAXObject doAXStyleTextMarkerRangeForTextMarker:]):
1600         Return AXTextMarkerRange for startOfStyleRange/endOfStyleRange of the specified AXTextMarker.
1601         
1602         (-[WebCoreAXObject accessibilityAttributeValue:forParameter:]):
1603         Call doAXStyleTextMarkerRangeForTextMarker for AXStyleTextMarkerRangeForTextMarker.
1604
1605 2006-08-28  David Harrison  <harrison@apple.com>
1606
1607         Reviewed by Darin.
1608
1609         <rdar://problem/4517383> Hide all images used for spacing purpose in AX
1610
1611         * bridge/mac/WebCoreAXObject.mm:
1612         (-[WebCoreAXObject accessibilityIsIgnored]):
1613         Check for one-dimensional image
1614         Check whether rendered image was stretched from one-dimensional file image
1615
1616 2006-08-27  Brady Eidson  <beidson@apple.com>
1617
1618         Reviewed by Maciej
1619
1620         Rewrote StringImpl::replace(UChar, StringImpl*)
1621
1622         * platform/StringImpl.cpp:
1623         (WebCore::StringImpl::replace):
1624
1625 2006-08-27  Sam Weinig  <sam.weinig@gmail.com>
1626
1627         Reviewed by Tim H.
1628
1629         - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=4624
1630           WebCore needs autogenerated Obj-C DOM bindings
1631
1632           First round of auto-generated Objective C DOM bindings, starting
1633           with the DOM Core.
1634
1635         * DerivedSources.make:
1636         * WebCore.xcodeproj/project.pbxproj:
1637         * bindings/objc/DOM.mm:
1638         (-[DOMNode description]):
1639         (-[DOMNode KJS::Bindings::]):
1640         (-[DOMNode dispatchEvent:]):
1641         (-[DOMNamedNodeMap _initWithNamedNodeMap:]):
1642         (+[DOMNamedNodeMap _namedNodeMapWith:]):
1643         (-[DOMNodeList _initWithNodeList:]):
1644         (+[DOMNodeList _nodeListWith:]):
1645         (-[DOMImplementation _initWithDOMImplementation:]):
1646         (+[DOMImplementation _DOMImplementationWith:]):
1647         (-[DOMImplementation _DOMImplementation]):
1648         (+[DOMDocumentFragment _documentFragmentWith:]):
1649         (-[DOMDocumentFragment _fragment]):
1650         (-[DOMDocument createCSSStyleDeclaration]):
1651         (+[DOMDocument _documentWith:]):
1652         (-[DOMDocument _document]):
1653         (-[DOMDocument _ownerElement]):
1654         (+[DOMAttr _attrWith:]):
1655         (-[DOMAttr _attr]):
1656         (+[DOMDocumentType _documentTypeWith:WebCore::]):
1657         (-[DOMDocumentType WebCore::]):
1658         (+[DOMText _textWith:WebCore::]):
1659         (+[DOMComment _commentWith:WebCore::]):
1660         (+[DOMCDATASection _CDATASectionWith:WebCore::]):
1661         (+[DOMProcessingInstruction _processingInstructionWith:WebCore::]):
1662         (+[DOMEntityReference _entityReferenceWith:WebCore::]):
1663         * bindings/objc/DOMCSS.h:
1664         * bindings/objc/DOMCSS.mm:
1665         * bindings/objc/DOMCore.h:
1666         * bindings/objc/DOMEvents.h:
1667         * bindings/objc/DOMEvents.mm:
1668         * bindings/objc/DOMExtensions.h:
1669         * bindings/objc/DOMHTML.mm:
1670         (+[DOMHTMLDocument _HTMLDocumentWith:WebCore::]):
1671         * bindings/objc/DOMHTMLInternal.h:
1672         * bindings/objc/DOMImplementationFront.h:
1673         * bindings/objc/DOMInternal.h:
1674         * bindings/objc/DOMNode.h: Added.
1675         * bindings/objc/DOMNode.mm: Added.
1676         (-[DOMNode dealloc]):
1677         (-[DOMNode finalize]):
1678         (-[DOMNode nodeName]):
1679         (-[DOMNode nodeValue]):
1680         (-[DOMNode setNodeValue:]):
1681         (-[DOMNode nodeType]):
1682         (-[DOMNode parentNode]):
1683         (-[DOMNode childNodes]):
1684         (-[DOMNode firstChild]):
1685         (-[DOMNode lastChild]):
1686         (-[DOMNode previousSibling]):
1687         (-[DOMNode nextSibling]):
1688         (-[DOMNode attributes]):
1689         (-[DOMNode ownerDocument]):
1690         (-[DOMNode insertBefore::]):
1691         (-[DOMNode replaceChild::]):
1692         (-[DOMNode removeChild:]):
1693         (-[DOMNode appendChild:]):
1694         (-[DOMNode hasChildNodes]):
1695         (-[DOMNode cloneNode:]):
1696         (-[DOMNode normalize]):
1697         (-[DOMNode isSupported::]):
1698         (-[DOMNode namespaceURI]):
1699         (-[DOMNode prefix]):
1700         (-[DOMNode setPrefix:]):
1701         (-[DOMNode localName]):
1702         (-[DOMNode hasAttributes]):
1703         (-[DOMNode isSameNode:]):
1704         (-[DOMNode isEqualNode:]):
1705         (-[DOMNode isDefaultNamespace:]):
1706         (-[DOMNode lookupPrefix:]):
1707         (-[DOMNode lookupNamespaceURI:]):
1708         (-[DOMNode textContent]):
1709         (-[DOMNode setTextContent:]):
1710         (-[DOMNode boundingBox]):
1711         (-[DOMNode lineBoxRects]):
1712         * bindings/objc/DOMObject.h: Added.
1713         * bindings/objc/DOMObject.mm: Added.
1714         (-[DOMObject init]):
1715         (-[DOMObject dealloc]):
1716         (-[DOMObject finalize]):
1717         (-[DOMObject copyWithZone:]):
1718         (-[DOMObject sheet]):
1719         * bindings/objc/DOMPrivate.h:
1720         * bindings/objc/DOMRange.h:
1721         * bindings/objc/DOMStylesheets.h:
1722         * bindings/objc/DOMTraversal.h:
1723         * bindings/objc/DOMViews.h:
1724         * bindings/objc/DOMViews.mm:
1725         * bindings/objc/DOMXPath.h:
1726         * bindings/objc/DOMXPath.mm:
1727         * bindings/scripts/CodeGenerator.pm:
1728         * bindings/scripts/CodeGeneratorJS.pm:
1729         * bindings/scripts/CodeGeneratorObjC.pm: Added.
1730         * dom/Attr.idl:
1731         * dom/CDATASection.idl: Added.
1732         * dom/Comment.idl: Added.
1733         * dom/DOMImplementation.idl:
1734         * dom/Document.idl:
1735         * dom/Element.idl:
1736         * dom/EntityReference.idl: Added.
1737         * dom/NamedNodeMap.idl: Added.
1738         * dom/NodeList.idl: Added.
1739         * dom/ProcessingInstruction.idl:
1740
1741 2006-08-27  Nikolas Zimmermann  <zimmermann@kde.org>
1742
1743         Reviewed by Tim H.
1744
1745         Fix crash in LayoutTests/css1/font_properties/font.html,
1746         by implementing FontData::smallCapsFontData.
1747
1748         * platform/qt/FontDataQt.cpp:
1749         (WebCore::FontData::platformDestroy):
1750         (WebCore::FontData::smallCapsFontData):
1751
1752 2006-08-27  Brady Eidson  <beidson@apple.com>
1753
1754         Reviewed by Maciej
1755
1756         Plugged a leak in StringImpl::replace()
1757
1758         * platform/StringImpl.cpp:
1759         (WebCore::StringImpl::replace):
1760
1761 2006-08-27  Nikolas Zimmermann  <zimmermann@kde.org>
1762
1763         Reviewed and landed by Anders.
1764
1765         Remove most annoying notImplemented() usages and
1766         implement some missing ScrollViewQt functions.
1767         Much nicer output when invoking run-webkit-tests.
1768
1769         * platform/qt/FrameQt.cpp:
1770         (WebCore::FrameQt::saveDocumentState):
1771         (WebCore::FrameQt::restoreDocumentState):
1772         (WebCore::FrameQt::clearUndoRedoOperations):
1773         (WebCore::FrameQt::partClearedInBegin):
1774         * platform/qt/ResourceLoaderManager.cpp:
1775         (WebCore::headerCallback):
1776         (WebCore::ResourceLoaderManager::downloadTimerCallback):
1777         * platform/qt/ScrollViewQt.cpp:
1778         (WebCore::ScrollView::updateContents):
1779         (WebCore::ScrollView::suppressScrollBars):
1780         (WebCore::ScrollView::setStaticBackground):
1781         (WebCore::ScrollView::addChild):
1782         (WebCore::ScrollView::removeChild):
1783         * platform/qt/TemporaryLinkStubs.cpp:
1784         (WebCore::historyContains):
1785         (WebCore::CheckCacheObjectStatus):
1786         (WebCore::CheckIfReloading):
1787         (loadResourceIntoArray):
1788         (WebCore::PlugInInfoStore::supportsMIMEType):
1789
1790 2006-08-27  Nikolas Zimmermann  <zimmermann@kde.org>
1791
1792         Reviewed and landed by Anders.
1793
1794         Fix Qt build (add SVGMetaDataElement.cpp to build system)
1795
1796         * CMakeLists.txt:
1797
1798 2006-08-27  Eric Seidel  <eric@eseidel.com>
1799
1800         Reviewed by andersca.
1801
1802         No logic changes.  Just cleanup.
1803
1804         * ksvg2/svg/SVGAngle.cpp:
1805         (SVGAngle::SVGAngle):
1806         (SVGAngle::unitType):
1807         (SVGAngle::valueAsString):
1808         (SVGAngle::newValueSpecifiedUnits):
1809         (SVGAngle::convertToSpecifiedUnits):
1810         * ksvg2/svg/SVGAngle.h:
1811         * ksvg2/svg/SVGLength.cpp:
1812         (WebCore::SVGLength::unitType):
1813         (WebCore::SVGLength::newValueSpecifiedUnits):
1814         (WebCore::SVGLength::convertToSpecifiedUnits):
1815         (WebCore::SVGLength::updateValue):
1816         (WebCore::SVGLength::updateValueInSpecifiedUnits):
1817         * ksvg2/svg/SVGLength.h:
1818         * platform/BitmapImage.cpp: Removed.
1819         * platform/BitmapImage.h: Removed.
1820
1821 2006-08-27  Brady Eidson  <beidson@apple.com>
1822
1823         Reviewed by Anders
1824
1825         -Changed all of the commonly used queries to keep around pre-prepared statements and bind
1826         their arguments instead of constructing a new, messy, string appended statement each time
1827         -Changed some code in pruneUnretainedIconsOnStartup regarding transactions
1828
1829         * loader/icon/IconDatabase.cpp:
1830         (WebCore::IconDatabase::IconDatabase): Initializers
1831         (WebCore::IconDatabase::close): Wipe all the preprepared statements
1832         (WebCore::IconDatabase::pruneUnretainedIconsOnStartup): Better handling of transactions
1833         (WebCore::readySQLStatement): Make sure a preprepared statement is ready to go for a fooQuery()
1834         (WebCore::IconDatabase::pageURLTableIsEmptyQuery): Added a comment
1835         (WebCore::IconDatabase::imageDataForIconURLQuery): Use preprepared statement + binding
1836         (WebCore::IconDatabase::timeStampForIconURLQuery): ditto
1837         (WebCore::IconDatabase::iconURLForPageURLQuery): ditto
1838         (WebCore::IconDatabase::forgetPageURLQuery): ditto
1839         (WebCore::IconDatabase::setIconIDForPageURLQuery): ditto
1840         (WebCore::IconDatabase::getIconIDForIconURLQuery): ditto
1841         (WebCore::IconDatabase::addIconForIconURLQuery): ditto
1842         (WebCore::IconDatabase::hasIconForIconURLQuery): ditto
1843         * loader/icon/IconDatabase.h: Added fooQuery() and *m_fooStatements
1844         * loader/icon/SQLStatement.h:
1845         (WebCore::SQLStatement::database): Added
1846
1847 2006-08-27  Nikolas Zimmermann  <zimmermann@kde.org>
1848
1849         Reviewed by Eric.
1850
1851         Fix switch logic.
1852
1853         * platform/qt/ScrollViewQt.cpp:
1854         (WebCore::ScrollView::setHScrollBarMode):
1855         (WebCore::ScrollView::setVScrollBarMode):
1856
1857 2006-08-27  Rob Buis  <buis@kde.org>
1858
1859         Reviewed by Eric.
1860
1861         http://bugzilla.opendarwin.org/show_bug.cgi?id=10557
1862         KCanvasPath should be replace by platform/Path
1863
1864         Refactoring out the KCanvasPath class.
1865
1866         * CMakeLists.txt:
1867         * WebCore.xcodeproj/project.pbxproj:
1868         * kcanvas/KCanvasCreator.cpp:
1869         (WebCore::KCanvasCreator::createRoundedRectangle):
1870         (WebCore::KCanvasCreator::createRectangle):
1871         (WebCore::KCanvasCreator::createEllipse):
1872         (WebCore::KCanvasCreator::createCircle):
1873         (WebCore::KCanvasCreator::createLine):
1874         * kcanvas/KCanvasCreator.h:
1875         * kcanvas/KCanvasPath.cpp: Removed.
1876         * kcanvas/KCanvasPath.h: Removed.
1877         * kcanvas/KCanvasResources.cpp:
1878         (WebCore::operator<<):
1879         (WebCore::KCanvasResource::clients):
1880         (WebCore::KCanvasResource::invalidate):
1881         (WebCore::KCanvasClipper::addClipData):
1882         * kcanvas/KCanvasResources.h:
1883         (WebCore::KCClipData::windRule):
1884         (WebCore::KCClipDataList::KCClipDataList):
1885         (WebCore::KCClipDataList::addPath):
1886         * kcanvas/KCanvasTreeDebug.cpp:
1887         (WebCore::operator<<):
1888         * kcanvas/RenderPath.cpp:
1889         (WebCore::RenderPath::fillContains):
1890         (WebCore::RenderPath::relativeBBox):
1891         (WebCore::RenderPath::setPath):
1892         (WebCore::RenderPath::path):
1893         (WebCore::RenderPath::paint):
1894         (WebCore::RenderPath::nodeAtPoint):
1895         * kcanvas/RenderPath.h:
1896         * kcanvas/device/KRenderingDevice.h:
1897         * kcanvas/device/KRenderingFillPainter.cpp:
1898         (WebCore::KRenderingFillPainter::fillRule):
1899         (WebCore::KRenderingFillPainter::setFillRule):
1900         * kcanvas/device/KRenderingFillPainter.h:
1901         * kcanvas/device/qt/KCanvasClipperQt.cpp:
1902         (WebCore::KCanvasClipperQt::applyClip):
1903         * kcanvas/device/qt/KCanvasPathQt.cpp: Removed.
1904         * kcanvas/device/qt/KCanvasPathQt.h: Removed.
1905         * kcanvas/device/qt/KRenderingDeviceQt.cpp:
1906         (WebCore::KRenderingDeviceContextQt::addPath):
1907         (WebCore::KRenderingDeviceContextQt::setFillRule):
1908         (WebCore::KRenderingDeviceQt::createItem):
1909         * kcanvas/device/qt/KRenderingDeviceQt.h:
1910         * kcanvas/device/qt/RenderPathQt.cpp:
1911         (WebCore::RenderPathQt::drawMarkersIfNeeded):
1912         (WebCore::RenderPathQt::strokeContains):
1913         (WebCore::getPathStroke):
1914         (WebCore::RenderPathQt::strokeBBox):
1915         * kcanvas/device/qt/RenderPathQt.h:
1916         * kcanvas/device/quartz/KCanvasItemQuartz.h:
1917         * kcanvas/device/quartz/KCanvasItemQuartz.mm:
1918         (WebCore::KCanvasItemQuartz::drawMarkersIfNeeded):
1919         (WebCore::KCanvasItemQuartz::strokeBBox):
1920         (WebCore::KCanvasItemQuartz::strokeContains):
1921         * kcanvas/device/quartz/KCanvasPathQuartz.h: Removed.
1922         * kcanvas/device/quartz/KCanvasPathQuartz.mm: Removed.
1923         * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
1924         (WebCore::KCanvasClipperQuartz::applyClip):
1925         * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
1926         * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
1927         (WebCore::KRenderingDeviceContextQuartz::addPath):
1928         (WebCore::KRenderingDeviceQuartz::createItem):
1929         * kcanvas/device/quartz/QuartzSupport.h:
1930         * kcanvas/device/quartz/QuartzSupport.mm:
1931         (WebCore::scratchContext):
1932         (WebCore::strokeBoundingBox):
1933         (WebCore::pathContainsPoint):
1934         * ksvg2/css/SVGCSSParser.cpp:
1935         (WebCore::CSSParser::parseSVGValue):
1936         * ksvg2/css/SVGCSSStyleSelector.cpp:
1937         (WebCore::CSSStyleSelector::applySVGProperty):
1938         * ksvg2/css/SVGRenderStyle.h:
1939         (WebCore::SVGRenderStyle::InheritedFlags::):
1940         * ksvg2/css/SVGRenderStyleDefs.h:
1941         * ksvg2/misc/KCanvasRenderingStyle.cpp:
1942         (WebCore::KSVGPainterFactory::fillPainter):
1943         * ksvg2/svg/SVGCircleElement.cpp:
1944         (SVGCircleElement::toPathData):
1945         * ksvg2/svg/SVGCircleElement.h:
1946         * ksvg2/svg/SVGClipPathElement.cpp:
1947         (SVGClipPathElement::canvasResource):
1948         * ksvg2/svg/SVGEllipseElement.cpp:
1949         (WebCore::SVGEllipseElement::toPathData):
1950         * ksvg2/svg/SVGEllipseElement.h:
1951         * ksvg2/svg/SVGGradientElement.cpp:
1952         (SVGGradientElement::notifyAttributeChange):
1953         * ksvg2/svg/SVGImageElement.cpp:
1954         * ksvg2/svg/SVGLineElement.cpp:
1955         (SVGLineElement::toPathData):
1956         * ksvg2/svg/SVGLineElement.h:
1957         * ksvg2/svg/SVGMaskElement.cpp:
1958         * ksvg2/svg/SVGPathElement.cpp:
1959         (WebCore::SVGPathElement::toPathData):
1960         * ksvg2/svg/SVGPathElement.h:
1961         * ksvg2/svg/SVGPatternElement.cpp:
1962         (WebCore::SVGPatternElement::notifyClientsToRepaint):
1963         * ksvg2/svg/SVGPolygonElement.cpp:
1964         (SVGPolygonElement::toPathData):
1965         * ksvg2/svg/SVGPolygonElement.h:
1966         * ksvg2/svg/SVGPolylineElement.cpp:
1967         (SVGPolylineElement::toPathData):
1968         * ksvg2/svg/SVGPolylineElement.h:
1969         * ksvg2/svg/SVGRectElement.cpp:
1970         (WebCore::SVGRectElement::toPathData):
1971         * ksvg2/svg/SVGRectElement.h:
1972         * ksvg2/svg/SVGStyledElement.cpp:
1973         (WebCore::SVGStyledElement::createRenderer):
1974         * ksvg2/svg/SVGStyledElement.h:
1975         (WebCore::SVGStyledElement::toPathData):
1976         * ksvg2/svg/SVGTextContentElement.cpp:
1977         * ksvg2/svg/SVGTextElement.cpp:
1978         * platform/Path.h:
1979         (WebCore::):
1980         (WebCore::Path::setWindingRule):
1981         (WebCore::Path::windingRule):
1982         * platform/cg/PathCG.cpp:
1983         (WebCore::Path::contains):
1984         (WebCore::Path::isEmpty):
1985         (WebCore::CGPathToCFStringApplierFunction):
1986         (WebCore::CFStringFromCGPath):
1987         (WebCore::Path::debugString):
1988         * platform/qt/FrameQt.cpp:
1989         (WebCore::FrameQt::openURL):
1990         * platform/qt/PathQt.cpp:
1991         (WebCore::Path::contains):
1992         (WebCore::Path::isEmpty):
1993         (WebCore::Path::debugString):
1994
1995 2006-08-26  Eric Seidel  <eric@eseidel.com>
1996
1997         Reviewed by hyatt.
1998
1999         pointer-events attribute does not work.
2000         http://bugzilla.opendarwin.org/show_bug.cgi?id=10415
2001
2002         * kcanvas/RenderPath.cpp:
2003         (WebCore::RenderPath::pointerEventsHitRules): new function to contain pointer-events hit logic
2004         (WebCore::RenderPath::nodeAtPoint): respect pointer-events property
2005         * kcanvas/RenderPath.h:
2006         (WebCore::RenderPath::PointerEventsHitRules::PointerEventsHitRules):
2007         * ksvg2/css/SVGCSSParser.cpp:
2008         (WebCore::CSSParser::parseSVGValue):
2009         * ksvg2/svg/SVGPaint.cpp: Fix this to use a real enum value
2010         (WebCore::SVGPaint::SVGPaint):
2011         (WebCore::SVGPaint::paintType):
2012         (WebCore::SVGPaint::uri):
2013         (WebCore::SVGPaint::setUri):
2014         (WebCore::SVGPaint::setPaint):
2015         * ksvg2/svg/SVGPaint.h:
2016
2017 2006-08-27  Rob Buis  <buis@kde.org>
2018
2019         Reviewed by Eric.
2020
2021         http://bugzilla.opendarwin.org/show_bug.cgi?id=10558
2022         SVG should have support for <metadata> element
2023
2024         Add support for metadata tag.
2025
2026         * DerivedSources.make:
2027         * WebCore.xcodeproj/project.pbxproj:
2028         * ksvg2/bindings/js/JSSVGElementWrapperFactory.cpp:
2029         * ksvg2/svg/SVGMetadataElement.cpp: Added.
2030         (SVGMetadataElement::SVGMetadataElement):
2031         (SVGMetadataElement::~SVGMetadataElement):
2032         * ksvg2/svg/SVGMetadataElement.h: Added.
2033         * ksvg2/svg/SVGMetadataElement.idl: Added.
2034         * ksvg2/svg/svgtags.in:
2035
2036 2006-08-26  Nikolas Zimmermann  <zimmermann@kde.org>
2037
2038         Reviewed by Eric.
2039
2040         Daily Qt build fixes :-)
2041
2042         * platform/qt/GraphicsContextQt.cpp:
2043         (WebCore::GraphicsContext::drawConvexPolygon):
2044         * platform/qt/ImageQt.cpp:
2045         (WebCore::Image::initPlatformData):
2046         (WebCore::Image::invalidatePlatformData):
2047         (WebCore::Image::loadPlatformResource):
2048
2049 2006-08-26  David Hyatt  <hyatt@apple.com>
2050
2051         Fix the ifdef in Path.h to be CG.
2052
2053         * platform/Path.h:
2054
2055 2006-08-26  David Hyatt  <hyatt@apple.com>
2056
2057         Fix Mac build bustage (lots of float/int confusion).  I am not sure
2058         whether rounding was desired or not... this is just a band-aid to get
2059         the build working again.
2060
2061         * rendering/RenderThemeMac.mm:
2062         (WebCore::RenderThemeMac::paintMenuListButtonGradients):
2063         (WebCore::RenderThemeMac::paintMenuListButton):
2064         (WebCore::RenderThemeMac::adjustMenuListButtonStyle):
2065
2066 2006-08-25  David Hyatt  <hyatt@apple.com>
2067
2068         More refactoring of image to disentangle graphics (e.g., Cairo) from
2069         platform (e.g., Windows).
2070
2071         * WebCore.vcproj/WebCore/WebCore.vcproj:
2072         Add ImageWin to project.
2073
2074         * loader/Cache.cpp:
2075         (WebCore::Cache::init):
2076         * loader/icon/IconDataCache.cpp:
2077         (WebCore::IconDataCache::loadImageFromResource):
2078         Renamed loadResource to loadPlatformResource to try to make it more clear
2079         that this call is implemented on each OS (and not by graphics libraries).
2080
2081         * platform/Image.cpp:
2082         (WebCore::Image::Image):
2083         (WebCore::Image::~Image):
2084         (WebCore::Image::invalidateData):
2085         (WebCore::Image::size):
2086         (WebCore::Image::setData):
2087         (WebCore::Image::setNativeData):
2088         Fix up the PDF code to not be considered platform data any more, since
2089         PDF rendering is not for a specific OS.
2090
2091         Renamed the methods that set OS-specific data (like NSImage) to PlatformData
2092         instead of NativeData.
2093
2094         * platform/Image.h:
2095         Shifted the PDF members into CG defines.  Made CGImageRef a CG define.
2096         Renamed methods to reflect that they are OS-specific and not
2097         graphics-library-specific.
2098        
2099         * platform/cairo/ImageCairo.cpp:
2100         Removed the platform data methods.  Other platforms besides Windows that
2101         use Cairo will need to account for this change by adding these methods
2102         to their OS Image***.cpp file.
2103
2104         * platform/cg/ImageCG.cpp:
2105         (WebCore::Image::drawTiled):
2106         Add FIXMEs to the wkpattern stuff.
2107
2108         * platform/cg/PDFDocumentImage.cpp:
2109         Shouldn't have #imports in .cpp.
2110
2111         * platform/mac/ImageMac.mm:
2112         (WebCore::Image::initPlatformData):
2113         (WebCore::Image::invalidatePlatformData):
2114         (WebCore::Image::loadPlatformResource):
2115         (WebCore::Image::getTIFFRepresentation):
2116         Add the platform data initializers to the Mac Image file.   Move the
2117         TIFF representation there as well, since this is only used by Mac code.
2118
2119         * platform/win/ImageWin.cpp: Added.
2120         (WebCore::Image::initPlatformData):
2121         (WebCore::Image::invalidatePlatformData):
2122         (WebCore::Image::loadPlatformResource):
2123         (WebCore::Image::supportsType):
2124         Similar work for Windows.  Add stubs for possible future HBITMAP returns
2125         in the platform data methods.
2126
2127         * rendering/RenderLayer.cpp:
2128         (WebCore::RenderLayer::paintResizeControl):
2129         * rendering/RenderThemeMac.mm:
2130         (WebCore::RenderThemeMac::paintResizeControl):
2131         loadResource -> loadPlatformResource
2132
2133 2006-08-26  Adam Roben  <aroben@apple.com>
2134
2135         Rubber-stamped by Adele.
2136
2137         Fixed build.
2138
2139         * platform/cairo/GraphicsContextCairo.cpp:
2140         (WebCore::GraphicsContext::drawConvexPolygon):
2141
2142 2006-08-25  Adele Peterson  <adele@apple.com>
2143
2144         Patch by Francisco, Reviewed by me.
2145
2146         Preparation for switch to new text field implementation of password field.
2147
2148         Added -webkit-text-security property.
2149
2150         Tests: updated fast/css/computed-style-expected.txt
2151
2152         * css/CSSPropertyNames.in: Added -webkit-text-security.
2153         * css/CSSComputedStyleDeclaration.cpp:
2154         (WebCore::):
2155         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added cases for textSecurity.
2156         * css/cssparser.cpp: (WebCore::CSSParser::parseValue): ditto.
2157         * css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::applyProperty): ditto.
2158         * css/html4.css: Added style for password field to use -webkit-text-security.
2159
2160         * html/HTMLInputElement.cpp: Check appearance property to decide which renderer to use.
2161         (WebCore::HTMLInputElement::selectionStart):
2162         (WebCore::HTMLInputElement::selectionEnd):
2163         (WebCore::HTMLInputElement::setSelectionStart):
2164         (WebCore::HTMLInputElement::setSelectionEnd):
2165         (WebCore::HTMLInputElement::select):
2166         (WebCore::HTMLInputElement::setSelectionRange):
2167         (WebCore::HTMLInputElement::createRenderer):
2168         * html/HTMLInputElement.h: (WebCore::HTMLInputElement::isNonWidgetTextField): Added check for password.
2169
2170         * platform/StringImpl.cpp: (WebCore::StringImpl::secure): Added. Converts a string to replace 
2171          characters with one character, like a bullet.
2172         * platform/StringImpl.h:
2173
2174         * rendering/RenderStyle.cpp:
2175         (WebCore::StyleCSS3InheritedData::StyleCSS3InheritedData): Initialize textSecurity.
2176         (WebCore::RenderStyle::diff): Added case for textSecurity.
2177         * rendering/RenderStyle.h:
2178         (WebCore::):
2179         (WebCore::RenderStyle::textSecurity): Added.
2180         (WebCore::RenderStyle::setTextSecurity): Added.
2181         (WebCore::RenderStyle::initialTextSecurity): Added.
2182         * rendering/RenderText.cpp:
2183         (WebCore::RenderText::setStyle): Added case for textSecurity.
2184         (WebCore::RenderText::setText): ditto.
2185
2186 2006-08-25  Adele Peterson  <adele@apple.com>
2187
2188         Reviewed by Hyatt.
2189
2190         Enable styling for popup menus. Also fixed baseline calculation for buttons and selects.
2191
2192         Tests:   fast/forms/select-baseline.html
2193                  fast/borders/borderRadiusInvalidColor.html
2194         updated: fast/forms/select-style-expected.txt and more...
2195
2196         * css/html4.css: Added style rules for styled select elements.
2197
2198         * platform/GraphicsContext.h: Added argument for antialiasing.
2199         * platform/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::drawConvexPolygon): ditto.
2200         * platform/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::drawConvexPolygon): ditto.
2201
2202         * rendering/RenderObject.cpp:
2203         (WebCore::RenderObject::drawBorderArc): Added textColor argument so this can be used when the border color is invalid.
2204         (WebCore::RenderObject::drawBorder): Removed invalidisInvert since its dead code 
2205          (any callers that set this to true were already ensuring that their color was valid).
2206          Updated drawConvexPolygon call to use FloatPoints instead of IntPoints.
2207         (WebCore::RenderObject::paintBorder): Updated to remove invalidisInvert argument from drawBorder call.
2208         (WebCore::RenderObject::paintOutline): ditto.
2209         * rendering/RenderFlow.cpp: (WebCore::RenderFlow::paintOutlineForLine): ditto.
2210         * rendering/RenderObject.h: Updated arguments for drawBorder and drawBorderArc.
2211
2212         * rendering/RenderBlock.cpp: (WebCore::RenderBlock::getBaselineOfLastLineBox): Changed isRootLineBox argument to true when setting line height.
2213           Added case for when there's no children to check for hasLineIfEmpty.
2214         * rendering/RenderBlock.h:
2215         * rendering/bidi.cpp: (WebCore::RenderBlock::layoutInlineChildren): Changed isRootLineBox argument to true when setting line height.
2216         * rendering/RenderButton.h: (WebCore::RenderButton::hasLineIfEmpty): Added so buttons always get a line height.
2217         * rendering/RenderMenuList.h: (WebCore::RenderMenuList::hasLineIfEmpty): ditto.
2218         * rendering/RenderFlexibleBox.cpp:
2219         (WebCore::RenderFlexibleBox::layoutHorizontalBox): Added code to check hasLineIfEmpty to give flex boxes line height.
2220         (WebCore::RenderFlexibleBox::layoutVerticalBox): ditto.
2221
2222         * css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::adjustRenderStyle): Moved the appearance adjustment code into adjust style.
2223         * rendering/RenderBox.cpp: (WebCore::RenderBox::paintBoxDecorations): Lets the theme paint "decorations", like the arrow control and gradients
2224          immediately after painting the background.
2225
2226         * rendering/RenderTheme.cpp:
2227         (WebCore::RenderTheme::adjustStyle): This now checks whether the control is styled, and adjusts the appearance property appropriately.
2228         For styled selects, instead of setting the appearance to none, which is what we do for other styled controls, we set the appearance
2229         to MenulistButtonAppearance, which indicates that we will draw the arrow controls and button appearance in the engine.
2230         (WebCore::RenderTheme::paintDecorations): Added. Paints MenulistButtonAppearance in a different function, 
2231          so the arrow control will draw at the right time (after the background).
2232         (WebCore::RenderTheme::paint): Added case for MenulistButtonAppearance.
2233         (WebCore::RenderTheme::paintBorderOnly): ditto.
2234         (WebCore::RenderTheme::isControlContainer): Removed cases for MenuListAppearance and MenulistButtonAppearance since the baseline is no longer provided by the theme.
2235         (WebCore::RenderTheme::adjustMenuListButtonStyle): Added.
2236         * rendering/RenderTheme.h: (WebCore::RenderTheme::paintMenuListButton): Added.
2237
2238         * rendering/RenderThemeMac.h:
2239         * rendering/RenderThemeMac.mm:
2240         (WebCore::RenderThemeMac::isControlStyled): Removed code that made selects unstyle-able.
2241         (WebCore::RenderThemeMac::baselinePosition): Removed cases for MenuListAppearance and MenulistButtonAppearance.
2242         (WebCore::RenderThemeMac::popupButtonPadding): Added top and bottom padding so empty popups have the right baseline.
2243         (WebCore::TopGradientInterpolate): Added.
2244         (WebCore::BottomGradientInterpolate): Added.
2245         (WebCore::MainGradientInterpolate): Added.
2246         (WebCore::RenderThemeMac::paintMenuListButtonGradients): Added.  Draws gradients for styled popup menu button appearance.
2247         (WebCore::RenderThemeMac::paintMenuListButton): Calls paintMenuListButtonGradients, and draws arrow control.
2248         (WebCore::RenderThemeMac::adjustMenuListButtonStyle): Added to set padding and border radius to account for the arrow control size and font size.
2249
2250 2006-08-25  Brady Eidson  <beidson@apple.com>
2251
2252         Reviewed by Adam
2253
2254         Changed some time()-related code to be more platform independent
2255
2256         * loader/icon/IconDatabase.cpp:
2257         (WebCore::IconDatabase::isIconExpiredForIconURL):
2258         (WebCore::IconDatabase::getOrCreateIconDataCache):
2259         (WebCore::IconDatabase::setIconDataForIconURL):
2260
2261 2006-08-25  David Harrison  <harrison@apple.com>
2262
2263         Reviewed by Geoff.
2264
2265         <rdar://problem/4416432> Radio buttons and Checkboxes in AXWebAreas don't fill in their AXTitle attribute
2266
2267         * bridge/mac/WebCoreAXObject.mm:
2268         (labelForElement):
2269         New. Returns the HTMLLabelElement, if any, for the specified Element.
2270         
2271         (-[WebCoreAXObject title]):
2272         For input elements, return the innerHTML() of the labelForElement().
2273
2274 2006-08-25  Brady Eidson  <beidson@apple.com>
2275
2276         Reviewed by Tim Hatcher
2277
2278         Changed some debugging-only code to be more platform independent
2279
2280         * WebCore.xcodeproj/project.pbxproj:
2281         * loader/icon/IconDatabase.cpp:
2282         (WebCore::IconDatabase::pruneUnretainedIconsOnStartup):
2283         (WebCore::IconDatabase::syncDatabase):
2284
2285 2006-08-25  Nikolas Zimmermann  <zimmermann@kde.org>
2286
2287         Reviewed/landed by Adam.
2288
2289         Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10561
2290         Qt platform build fixes.
2291
2292         * platform/qt/FrameQt.h:
2293         * platform/qt/ScreenQt.cpp:
2294         (WebCore::qwidgetForPage):
2295         (WebCore::screenRect):
2296         (WebCore::screenDepth):
2297         (WebCore::usableScreenRect):
2298         * platform/qt/TemporaryLinkStubs.cpp:
2299         (WebCore::screenDepthPerComponent):
2300         (WebCore::screenIsMonochrome):
2301         * platform/qt/WidgetQt.cpp:
2302
2303 2006-08-25  Nikolas Zimmermann  <zimmermann@kde.org>
2304
2305         Reviewed/landed by Adam.
2306
2307         Finally fix font caching. WebKit+Qt now works
2308         out of the box without any further patches :-)
2309
2310         * platform/qt/FontDataQt.cpp:
2311         (WebCore::FontData::platformDestroy):
2312         * platform/qt/FontPlatformData.h:
2313         * platform/qt/FontPlatformDataQt.cpp:
2314         (WebCore::FontPlatformData::FontPlatformData):
2315         (WebCore::FontPlatformData::isFixedPitch):
2316         (WebCore::FontPlatformData::font):
2317         (WebCore::FontPlatformData::fontPtr):
2318         (WebCore::FontPlatformData::hash):
2319         (WebCore::FontPlatformData::operator==):
2320
2321 2006-08-25  Nikolas Zimmermann  <zimmermann@kde.org>
2322
2323         Reviewed/landed by Adam.
2324
2325         Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10559
2326         Confirm to WebKit style guide - last fixes :-)
2327
2328         * platform/ResourceLoaderClient.h:
2329         * platform/qt/ComboBoxQt.cpp:
2330         * platform/qt/FrameQt.cpp:
2331         (WebCore::doScroll):
2332         (WebCore::FrameQt::FrameQt):
2333         (WebCore::FrameQt::openURL):
2334         (WebCore::FrameQt::submitForm):
2335         (WebCore::FrameQt::setTitle):
2336         (WebCore::FrameQt::passSubframeEventToSubframe):
2337         (WebCore::FrameQt::registerCommandForUndo):
2338         (WebCore::FrameQt::registerCommandForRedo):
2339         (WebCore::FrameQt::keyEvent):
2340         (WebCore::FrameQt::setFrameGeometry):
2341         * platform/qt/GlyphMapQt.cpp:
2342         (WebCore::GlyphMap::fillPage):
2343         * platform/qt/GraphicsContextQt.cpp:
2344         (WebCore::toQtCompositionMode):
2345         (WebCore::toQtLineCap):
2346         (WebCore::toQtLineJoin):
2347         (WebCore::TextShadow::TextShadow):
2348         (WebCore::GraphicsContextPlatformPrivate::p):
2349         * platform/qt/ImageQt.cpp:
2350         (WebCore::FrameData::clear):
2351         (WebCore::Image::supportsType):
2352         * platform/qt/IntSizeQt.cpp:
2353         * platform/qt/LineEditQt.cpp:
2354         * platform/qt/ListBoxQt.cpp:
2355         * platform/qt/PageQt.cpp:
2356         (WebCore::Page::windowRect):
2357         * platform/qt/PathQt.cpp:
2358         (WebCore::Path::~Path):
2359         * platform/qt/ResourceLoaderCurl.cpp:
2360         (WebCore::ResourceLoader::assembleResponseHeaders):
2361         (WebCore::ResourceLoader::retrieveCharset):
2362         (WebCore::ResourceLoader::receivedResponse):
2363         * platform/qt/ResourceLoaderManager.cpp:
2364         (WebCore::headerCallback):
2365         (WebCore::ResourceLoaderManager::downloadTimerCallback):
2366         (WebCore::ResourceLoaderManager::add):
2367         * platform/qt/ScreenQt.cpp:
2368         (WebCore::screenRect):
2369         (WebCore::usableScreenRect):
2370         * platform/qt/ScrollViewQt.cpp:
2371         (WebCore::ScrollView::ScrollView):
2372         (WebCore::ScrollView::~ScrollView):
2373         (WebCore::ScrollView::setParentWidget):
2374         (WebCore::ScrollView::addChild):
2375         * platform/qt/SharedTimerQt.cpp:
2376         (WebCore::setSharedTimerFiredFunction):
2377         * platform/qt/SharedTimerQt.h:
2378         (WebCore::SharedTimerQt::SharedTimerQt):
2379         (WebCore::SharedTimerQt::fire):
2380         * platform/qt/SystemTimeQt.cpp:
2381         (WebCore::currentTime):
2382         * platform/qt/TextEditQt.cpp:
2383         (WebCore::PlatformTextEdit::setParentWidget):
2384         (WebCore::PlatformTextEdit::text):
2385         (WebCore::PlatformTextEdit::sizeWithColumnsAndRows):
2386
2387 2006-08-24  David Harrison  <harrison@apple.com>
2388
2389         Reviewed by Justin.
2390
2391         Follow up for...
2392         <rdar://problem/4471481> Represent misspellings in AXAttributedStringForTextMarkerRange
2393
2394         Fix bug I introduced in r15959.
2395         
2396         * bridge/mac/WebCoreAXObject.mm:
2397         (-[WebCoreAXObject accessibilityAttributeValue:]):
2398         Use topDocument in case we are in a subframe (we want the start/end of the overall page).
2399
2400 2006-08-24  Brady Eidson  <beidson@apple.com>
2401
2402         Reviewed by Alice
2403
2404         Fixed my previous checkin, which was pruning the users entire icon db on startup everytime
2405
2406         * loader/icon/IconDatabase.cpp:
2407         (WebCore::IconDatabase::retainIconForPageURL): Bind the PageURL to argument 1, as SQL bindings
2408           are indexed to 1, not 0
2409
2410 2006-08-24  Geoffrey Garen  <ggaren@apple.com>
2411
2412         Reviewed by Darin.
2413
2414         Frame refactoring: changed FrameView clients so they no longer assume that
2415         FrameViews are Widgets that can tell you things about the platform, in 
2416         preparation for divorcing FrameViews from heavy-weight Widgets altogether.
2417
2418         This patch makes Page, rather than Widget, responsible for answering
2419         questions about the screen (scale factor, color depth, etc.). Refactoring 
2420         aside, I think this makes more sense, since (a) the screen has nothing to do 
2421         with any particular widget and (b) Page was already half-responsible for
2422         answering those questions, anyway.
2423
2424         Plus some random Windows build fix goodness.
2425
2426         Layout tests still pass.
2427
2428 2006-08-24  Timothy Hatcher  <timothy@apple.com>
2429
2430         Reviewed by Hyatt.
2431
2432         Allow changing the background color WebCore draws under transparent page backgrounds.
2433         No automated way to test. All tests pass, no performance regression.
2434
2435         * bridge/mac/WebCoreFrameBridge.h:
2436         * bridge/mac/WebCoreFrameBridge.mm:
2437         (-[WebCoreFrameBridge setBaseBackgroundColor:]):
2438         * page/FrameView.cpp:
2439         (WebCore::FrameViewPrivate::FrameViewPrivate):
2440         (WebCore::FrameView::baseBackgroundColor):
2441         (WebCore::FrameView::setBaseBackgroundColor):
2442         * page/FrameView.h:
2443         * rendering/RenderBox.cpp:
2444         (WebCore::RenderBox::paintBackgroundExtended):
2445         * rendering/RenderView.cpp:
2446         (WebCore::RenderView::paintBoxDecorations):
2447
2448 2006-08-24  Darin Adler  <darin@apple.com>
2449
2450         Reviewed by Justin.
2451
2452         - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10169
2453           REGRESSION: NativeTextArea: Text dragged from <input type=text> to textarea disappears
2454         - eliminate the EditCommandPtr class from editing; use PassRefPtr and RefPtr instead
2455         - other editing-related cleanup
2456
2457         Test: fast/forms/drag-into-textarea.html
2458
2459         * bridge/mac/FrameMac.h: Changed EditCommandPtr parameters to use PassRefPtr<EditCommand> instead.
2460         * bridge/win/FrameWin.h: Ditto.
2461         * bridge/mac/FrameMac.mm:
2462         (WebCore::FrameMac::registerCommandForUndoOrRedo): Ditto.
2463         (WebCore::FrameMac::registerCommandForUndo): Ditto.
2464         (WebCore::FrameMac::registerCommandForRedo): Ditto.
2465
2466         * bridge/mac/WebCoreFrameBridge.mm:
2467         (-[WebCoreFrameBridge replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]):
2468         Use applyCommand instead of EditCommandPtr. Also remove now-unneeded document parameter.
2469         (-[WebCoreFrameBridge moveSelectionToDragCaret:smartMove:]): Ditto.
2470         (-[WebCoreFrameBridge deleteSelectionWithSmartDelete:]): Ditto.
2471
2472         * editing/AppendNodeCommand.h: Removed document parameter from constructor. Changed new child
2473         parameter to be a PassRefPtr. Reversed order of child and parent parameters.
2474         * editing/AppendNodeCommand.cpp:
2475         (WebCore::AppendNodeCommand::AppendNodeCommand): Ditto.
2476         (WebCore::AppendNodeCommand::doApply): Ditto.
2477         (WebCore::AppendNodeCommand::doUnapply): Ditto.
2478
2479         * editing/ApplyStyleCommand.h: Removed document parameter from constructor.
2480         * editing/ApplyStyleCommand.cpp: (WebCore::ApplyStyleCommand::ApplyStyleCommand): Ditto.
2481
2482         * editing/BreakBlockquoteCommand.h: Removed unneeded include of DeprecatedPtrList.h.
2483         * editing/BreakBlockquoteCommand.cpp: Moved the include of DeprecatedPtrList.h here.
2484         (WebCore::BreakBlockquoteCommand::doApply): Changed code to construct a Selection explicitly
2485         since setEndingSelection is no longer overloaded for Position.
2486
2487         * editing/CompositeEditCommand.h: Added isFirstCommand function. Changed m_cmds from
2488         a DeprecatedValueList<EditCommandPtr> to a Vector<RefPtr<EditCommand>> and renamed it
2489         m_commands and made both doUnapply and doReapply private.
2490         * editing/CompositeEditCommand.cpp:
2491         (WebCore::CompositeEditCommand::doUnapply): Rewrote to use m_commands.
2492         (WebCore::CompositeEditCommand::doReapply): Ditto.
2493         (WebCore::CompositeEditCommand::applyCommandToComposite): Removed code to explicitly set up
2494         starting and ending selection -- now done inside setParent. Rewrote to use m_commands.
2495         (WebCore::CompositeEditCommand::applyStyle): Changed to not use EditCommandPtr.
2496         (WebCore::CompositeEditCommand::applyStyledElement): Ditto.
2497         (WebCore::CompositeEditCommand::removeStyledElement): Ditto.
2498         (WebCore::CompositeEditCommand::insertParagraphSeparator): Ditto.
2499         (WebCore::CompositeEditCommand::insertNodeBefore): Ditto.
2500         (WebCore::CompositeEditCommand::appendNode): Ditto.
2501         (WebCore::CompositeEditCommand::removeNode): Ditto.
2502         (WebCore::CompositeEditCommand::removeNodePreservingChildren): Ditto.
2503         (WebCore::CompositeEditCommand::splitTextNode): Ditto.
2504         (WebCore::CompositeEditCommand::splitElement): Ditto.
2505         (WebCore::CompositeEditCommand::mergeIdenticalElements): Ditto.
2506         (WebCore::CompositeEditCommand::wrapContentsInDummySpan): Ditto.
2507         (WebCore::CompositeEditCommand::splitTextNodeContainingElement): Ditto.
2508         (WebCore::CompositeEditCommand::joinTextNodes): Ditto.
2509         (WebCore::CompositeEditCommand::inputText): Ditto.
2510         (WebCore::CompositeEditCommand::insertTextIntoNode): Ditto.
2511         (WebCore::CompositeEditCommand::deleteTextFromNode): Ditto.
2512         (WebCore::CompositeEditCommand::replaceTextInNode): Ditto.
2513         (WebCore::CompositeEditCommand::deleteSelection): Ditto.
2514         (WebCore::CompositeEditCommand::removeCSSProperty): Ditto.
2515         (WebCore::CompositeEditCommand::removeNodeAttribute): Ditto. Also fixed a bug where the code
2516         would not remove an empty attribute -- will not come up in practice, but wrong in theory.
2517         (WebCore::CompositeEditCommand::setNodeAttribute): Changed to not use EditCommandPtr.
2518         (WebCore::CompositeEditCommand::rebalanceWhitespaceAt): Ditto.
2519         (WebCore::CompositeEditCommand::deleteInsignificantText): Rewrote to use a for loop.
2520         (WebCore::CompositeEditCommand::moveParagraphs): Changed to not use EditCommandPtr.
2521         (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Changed code to construct a
2522         Selection explicitly since setEndingSelection is no longer overloaded for Position.
2523         (WebCore::createBlockPlaceholderElement): Collapsed this code so that the
2524         block placeholder class string is no longer spread across multiple functions.
2525         Perhaps we can get rid of this altogether at some point.
2526
2527         * editing/DeleteFromTextNodeCommand.h: Removed unneeded document parameter from one constructor.
2528         Also removed unneeded destructor.
2529         * editing/DeleteFromTextNodeCommand.cpp:
2530         (WebCore::DeleteFromTextNodeCommand::DeleteFromTextNodeCommand): Ditto.
2531
2532         * editing/DeleteSelectionCommand.h: Removed unneeded document parameter from one constructor.
2533         * editing/DeleteSelectionCommand.cpp: (WebCore::DeleteSelectionCommand::DeleteSelectionCommand): Ditto.
2534
2535         * editing/EditCommand.h: Removed ECommandState, isCompositeStep(), parent(), state(), setState(),
2536         and most overloads of setStartingSelection() and setEndingSelection(). Made document() protected
2537         and non-virtual. Made setStartingSelection() setEndingSelection(), and styleAtPosition() protected.
2538         Made doApply(), doUnapply(), and doReapply() private. Added startingRootEditableElement(),
2539         endingRootEditableElement(), m_startingRootEditableElement, and m_endingRootEditableElement, which
2540         are needed so we can determine which editable elements an editing operation affects. Changed setParent()
2541         and m_parent to use CompositeEditCommand instead of EditCommand. Removed EditCommandPtr. Added
2542         applyCommand() function that's convenient to use on a newly-created command.
2543         * editing/EditCommand.cpp:
2544         (WebCore::EditCommand::EditCommand): Removed initialization for m_state, and added it for starting
2545         and ending root editable elements.
2546         (WebCore::EditCommand::apply): Simplified check for top level by just checking m_parent. Removed
2547         code to assert and set m_start. Eliminated use of EditCommandPtr.
2548         (WebCore::EditCommand::unapply): Ditto.
2549         (WebCore::EditCommand::reapply): Ditto.
2550         (WebCore::EditCommand::setStartingSelection): Changed to set root editable element too. Also made this
2551         not change the starting selection of the parent unless this is the first command in the parent -- didn't
2552         make sense the way it was.
2553         (WebCore::EditCommand::setEndingSelection): Changed to set root editable element too.
2554         (WebCore::EditCommand::setParent): Added code to set the starting and ending selection on the child
2555         based on the ending selection of the parent, formerly done by callers.
2556         (WebCore::applyCommand): Added.
2557
2558         * editing/FormatBlockCommand.h: Tweaked formatting.
2559         * editing/FormatBlockCommand.cpp: (WebCore::FormatBlockCommand::FormatBlockCommand): Ditto.
2560         * editing/InsertLineBreakCommand.h: Ditto.
2561         * editing/InsertLineBreakCommand.cpp: (WebCore::InsertLineBreakCommand::doApply):
2562
2563         * editing/IndentOutdentCommand.cpp:
2564         (WebCore::IndentOutdentCommand::splitTreeToNode): Removed use of EditCommandPtr.
2565         (WebCore::IndentOutdentCommand::outdentParagraph): Updated for change to list type enum.
2566         (WebCore::IndentOutdentCommand::outdentRegion): Removed use of EditCommandPtr.
2567
2568         * editing/InsertIntoTextNodeCommand.h: Removed unneeded document parameter to constructor.
2569         * editing/InsertIntoTextNodeCommand.cpp:
2570         (WebCore::InsertIntoTextNodeCommand::InsertIntoTextNodeCommand): Ditto.
2571
2572         * editing/InsertListCommand.h: Renamed EListType to EList, and took the "Type" suffix off
2573         the constants.
2574         * editing/InsertListCommand.cpp:
2575         (WebCore::InsertListCommand::InsertListCommand): Ditto.
2576         (WebCore::InsertListCommand::doApply): Ditto.
2577
2578         * editing/InsertNodeBeforeCommand.h: Removed unneeded document parameter from constructor
2579         and changed the parameter of the node to insert to a PassRefPtr.
2580         * editing/InsertNodeBeforeCommand.cpp:
2581         (WebCore::InsertNodeBeforeCommand::InsertNodeBeforeCommand): Ditto.
2582
2583         * editing/InsertParagraphSeparatorCommand.cpp:
2584         (WebCore::InsertParagraphSeparatorCommand::doApply): Remvoed use of EditCommandPtr.
2585
2586         * editing/InsertTextCommand.h: Changed insertTab to take const Position&.
2587         * editing/InsertTextCommand.cpp:
2588         (WebCore::InsertTextCommand::input): Ditto.
2589         (WebCore::InsertTextCommand::insertTab): Ditto.
2590
2591         * editing/JSEditor.h: Tweaked formatting and names.
2592         * editing/JSEditor.cpp: Ditto. Also changed places that use EditCommandPtr.
2593
2594         * editing/JoinTextNodesCommand.h: Removed unneeeded document pointer
2595         * editing/JoinTextNodesCommand.cpp:
2596         (WebCore::JoinTextNodesCommand::JoinTextNodesCommand): Ditto.
2597         * editing/MergeIdenticalElementsCommand.h: Ditto.
2598         * editing/MergeIdenticalElementsCommand.cpp:
2599         (WebCore::MergeIdenticalElementsCommand::MergeIdenticalElementsCommand): Ditto.
2600
2601         * editing/ModifySelectionListLevel.h: Changed EListType to be named Type and be a member of
2602         IncreaseSelectionListLevelCommand. Also changed m_listElement to be a RefPtr<Node>.
2603         * editing/ModifySelectionListLevel.cpp:
2604         (WebCore::getStartEndListChildren): Changed parameters to be references instead of pointers.
2605         (WebCore::IncreaseSelectionListLevelCommand::IncreaseSelectionListLevelCommand):
2606         Changed to use Type instead of EListType.
2607         (WebCore::canIncreaseListLevel): Changed parameters to be references instead of pointers.
2608         (WebCore::IncreaseSelectionListLevelCommand::doApply): Updated for change to canIncreaseListLevel.
2609         (WebCore::IncreaseSelectionListLevelCommand::canIncreaseSelectionListLevel): Ditto.
2610         (WebCore::IncreaseSelectionListLevelCommand::increaseSelectionListLevelWithType):
2611         Changed to not use EditCommandPtr.
2612         (WebCore::canDecreaseListLevel): Changed parameters to be references instead of pointers.
2613         (WebCore::DecreaseSelectionListLevelCommand::doApply): Updated for change to canDecreaseListLevel.
2614         (WebCore::DecreaseSelectionListLevelCommand::canDecreaseSelectionListLevel): Ditto.
2615         (WebCore::DecreaseSelectionListLevelCommand::decreaseSelectionListLevel): Changed to not use
2616         EditCommandPtr.
2617
2618         * editing/MoveSelectionCommand.h: Removed unnecessary document parameter and changed the fragment
2619         parameter to be a PassRefPtr.
2620         * editing/MoveSelectionCommand.cpp:
2621         (WebCore::MoveSelectionCommand::MoveSelectionCommand): Ditto.
2622         (WebCore::MoveSelectionCommand::doApply): Got rid of use of EditCommandPtr.
2623
2624         * editing/RebalanceWhitespaceCommand.h: Removed unnecessary document parameter.
2625         * editing/RebalanceWhitespaceCommand.cpp:
2626         (WebCore::RebalanceWhitespaceCommand::RebalanceWhitespaceCommand): Ditto.
2627         (WebCore::RebalanceWhitespaceCommand::doApply): Got rid of use of EditCommandPtr.
2628
2629         * editing/RemoveCSSPropertyCommand.h: Tweaked formatting.
2630
2631         * editing/RemoveNodeAttributeCommand.h: Removed unnecessary document parameter.
2632         * editing/RemoveNodeAttributeCommand.cpp:
2633         (WebCore::RemoveNodeAttributeCommand::RemoveNodeAttributeCommand): Ditto.
2634
2635         * editing/RemoveNodeCommand.h: Removed unnecessary document parameter.
2636         * editing/RemoveNodeCommand.cpp:
2637         (WebCore::RemoveNodeCommand::RemoveNodeCommand): Ditto.
2638
2639         * editing/RemoveNodePreservingChildrenCommand.h: Removed unnecessary document parameter.
2640         * editing/RemoveNodePreservingChildrenCommand.cpp:
2641         (WebCore::RemoveNodePreservingChildrenCommand::RemoveNodePreservingChildrenCommand): Ditto.
2642
2643         * editing/ReplaceSelectionCommand.h: Change fragment parameter to a PassRefPtr.
2644         * editing/ReplaceSelectionCommand.cpp:
2645         (WebCore::ReplacementFragment::ReplacementFragment): Ditto.
2646         (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand): Ditto.
2647         (WebCore::ReplaceSelectionCommand::doApply): Ditto.
2648         (WebCore::ReplaceSelectionCommand::completeHTMLReplacement): Ditto.
2649
2650         * editing/Selection.h: Changed SEL_DEFAULT_AFFINITY to be a constant rather than
2651         a macro. Added constructors that take visible positions. Changed setBase and
2652         setExtent to take const Position& for better efficiency.
2653         * editing/Selection.cpp:
2654         (WebCore::Selection::Selection): Removed unnecessary double initialization of m_state
2655         and m_baseIsFirst in existing constructors. Added VisiblePosition-based constructors.
2656
2657         * editing/SetNodeAttributeCommand.h: Removed unnneeded document parameter.
2658         * editing/SetNodeAttributeCommand.cpp:
2659         (WebCore::SetNodeAttributeCommand::SetNodeAttributeCommand): Ditto.
2660
2661         * editing/SplitElementCommand.h: Removed unnneeded document parameter.
2662         * editing/SplitElementCommand.cpp:
2663         (WebCore::SplitElementCommand::SplitElementCommand): Ditto.
2664
2665         * editing/SplitTextNodeCommand.h: Removed unnneeded document parameter.
2666         * editing/SplitTextNodeCommand.cpp:
2667         (WebCore::SplitTextNodeCommand::SplitTextNodeCommand): Ditto.
2668
2669         * editing/SplitTextNodeContainingElementCommand.h: Removed unnneeded document parameter.
2670         * editing/SplitTextNodeContainingElementCommand.cpp:
2671         (WebCore::SplitTextNodeContainingElementCommand::SplitTextNodeContainingElementCommand): Ditto.
2672
2673         * editing/TypingCommand.h: Replaced uses of EditCommandPtr with EditCommand*.
2674         Renamed openForMoveTyping() with isOpenForMoreTyping().
2675         * editing/TypingCommand.cpp:
2676         (WebCore::TypingCommand::deleteKeyPressed): Updated to remove use of EditCommandPtr.
2677         (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto.
2678         (WebCore::TypingCommand::insertText): Ditto.
2679         (WebCore::TypingCommand::insertLineBreak): Ditto.
2680         (WebCore::TypingCommand::insertParagraphSeparatorInQuotedContent): Ditto.
2681         (WebCore::TypingCommand::insertParagraphSeparator): Ditto.
2682         (WebCore::TypingCommand::isOpenForMoreTypingCommand): Ditto.
2683         (WebCore::TypingCommand::closeTyping): Ditto.
2684         (WebCore::TypingCommand::typingAddedToOpenCommand): Ditto.
2685         (WebCore::TypingCommand::insertTextRunWithoutNewlines): Ditto.
2686
2687         * editing/WrapContentsInDummySpanCommand.h: Removed unnneeded document parameter.
2688         * editing/WrapContentsInDummySpanCommand.cpp:
2689         (WebCore::WrapContentsInDummySpanCommand::WrapContentsInDummySpanCommand): Ditto.
2690
2691         * editing/htmlediting.h: Changed type of NON_BREAKING_SPACE to UChar instead of
2692         unsigned short.
2693
2694         * page/Frame.h: Changed lastEditCommand() to return an EditCommand* and changed
2695         appliedEditing(), unappliedEditing(), reappliedEditing(), registerCommandForUndo(),
2696         and registerCommandForRedo() to take PassRefPtr<EditCommand>.
2697         * page/FramePrivate.h: Changed m_lastEditCommand to be a RefPtr<EditCommand>.
2698         * page/Frame.cpp:
2699         (WebCore::Frame::didOpenURL): Fixed for change to m_lastEditCommand.
2700         (WebCore::Frame::setFocusNodeIfNeeded): Call the rootEditableElement function
2701         from Selection to simplify the code.
2702         (WebCore::Frame::selectAll): Ditto.
2703         (WebCore::Frame::lastEditCommand): Updated for change to m_lastEditCommand.
2704         (WebCore::dispatchEditableContentChangedEvents): Added. This sends an event to
2705         both of the root editable elements involved in a change -- the start selection
2706         might be in a different element than the end selection.
2707         (WebCore::Frame::appliedEditing): Changed to call dispatchEditableContentChangedEvents,
2708         and to do it before setting the ending selection. Also update to use PassRefPtr instead
2709         of EditCommandPtr and change the order of setting m_lastEditCommand since passing it
2710         to registerCommandForUndo will take ownership and set it to 0.
2711         (WebCore::Frame::unappliedEditing): Ditto.
2712         (WebCore::Frame::reappliedEditing): Ditto.
2713         (WebCore::Frame::computeAndSetTypingStyle): Updated for removal of EditCommandPtr.
2714         (WebCore::Frame::applyStyle): Ditto.
2715         (WebCore::Frame::applyParagraphStyle): Ditto.
2716
2717         * platform/gdk/FrameGdk.h: Updated for above changes.
2718         * platform/gdk/TemporaryLinkStubs.cpp: Updated for above changes.
2719         * platform/win/TemporaryLinkStubs.cpp: Updated for above changes.
2720
2721 2006-08-24  Brady Eidson  <beidson@apple.com>
2722
2723         Reviewed by Alice
2724
2725         <rdar://problem/4697973> - Unacceptable delay on startup
2726         <rdar://problem/4690949> - Need to correctly prune unretained pageurls and icons on startup
2727
2728         This patch was started by me and finished by Mark Rowe - we now special case all retains during
2729         startup into one huge sql transaction.  Also we track PageURL retains instead of IconURLs so pruning works right.
2730         Testing with reasonable sets of bookmarks/history (3000), startup time is neglibile.  Testing with a huge set of 
2731         bookmarks (40,000), startup has a noticable delay, but reasonable, and is inline with shipping safari which also 
2732         has a noticeable delay.
2733
2734         * loader/icon/IconDatabase.cpp:
2735         (WebCore::IconDatabase::IconDatabase):
2736         (WebCore::IconDatabase::open): adding an initialStartupTransaction and pageRetainStatement
2737         (WebCore::IconDatabase::close): do cleanup on the initialStartupSQL stuff
2738         (WebCore::IconDatabase::retainIconForPageURL): Track initial PageURL retains in the temporary table
2739         (WebCore::IconDatabase::releaseIconForPageURL): Ditto
2740         (WebCore::IconDatabase::retainIconURL): We no longer special case this on startup
2741         (WebCore::IconDatabase::releaseIconURL): We no longer special case this on startup
2742         (WebCore::IconDatabase::pruneUnretainedIconsOnStartup): Handle the big transaction correctly and quickly
2743         (WebCore::IconDatabase::syncDatabase): Change the timing log message
2744         * loader/icon/IconDatabase.h:
2745         * loader/icon/SQLStatement.cpp:
2746         (WebCore::SQLStatement::bindText16): Added this - for reusing commonly used statements by just rebinding parameters.
2747         * loader/icon/SQLStatement.h:
2748
2749 2006-08-24  Nikolas Zimmermann  <zimmermann@kde.org>
2750
2751         Reviewed/landed by Adam.
2752
2753         Fixes parts of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
2754         WebKit should have Qt platform support
2755
2756         * CMakeLists.txt:
2757             Remove KCanvasMatrix.cpp because it no longer exists
2758             Remove platform/qt/test
2759         * platform/FloatSize.h:
2760         * platform/image-decoders/bmp/BMPImageDecoder.cpp:
2761         * platform/image-decoders/gif/GIFImageDecoder.cpp:
2762         * platform/image-decoders/gif/GIFImageReader.cpp:
2763         * platform/image-decoders/ico/ICOImageDecoder.cpp:
2764         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
2765         * platform/image-decoders/png/PNGImageDecoder.cpp:
2766         * platform/image-decoders/xbm/XBMImageDecoder.cpp:
2767             Added PLATFORM(QT) hooks in the image-decoders/, as they also need
2768             to work for Qt, not only for Cairo.
2769         * platform/qt/qt-encodings.txt: Added (required for build).
2770
2771 2006-08-24  Adam Roben  <aroben@apple.com>
2772
2773         Fixing a typo from last patch.
2774
2775         * kcanvas/device/qt/KRenderingPaintServerQt.cpp:
2776         (WebCore::KRenderingPaintServerQt::setPenProperties):
2777
2778 2006-08-24  Nikolas Zimmermann  <zimmermann@kde.org>
2779
2780         Reviewed/landed by Adam.
2781
2782         Final cleanup to conform to WebKit coding style!
2783
2784         * kcanvas/device/qt/KCanvasClipperQt.cpp:
2785         (WebCore::KCanvasClipperQt::applyClip):
2786         * kcanvas/device/qt/KCanvasClipperQt.h:
2787         * kcanvas/device/qt/KCanvasPathQt.cpp:
2788         * kcanvas/device/qt/KCanvasPathQt.h:
2789         * kcanvas/device/qt/KRenderingDeviceQt.cpp:
2790         * kcanvas/device/qt/KRenderingDeviceQt.h:
2791         * kcanvas/device/qt/KRenderingPaintServerGradientQt.cpp:
2792         (WebCore::KRenderingPaintServerLinearGradientQt::KRenderingPaintServerLinearGradientQt):
2793         (WebCore::KRenderingPaintServerRadialGradientQt::KRenderingPaintServerRadialGradientQt):
2794         * kcanvas/device/qt/KRenderingPaintServerGradientQt.h:
2795         * kcanvas/device/qt/KRenderingPaintServerPatternQt.cpp:
2796         (WebCore::KRenderingPaintServerPatternQt::KRenderingPaintServerPatternQt):
2797         * kcanvas/device/qt/KRenderingPaintServerPatternQt.h:
2798         * kcanvas/device/qt/KRenderingPaintServerQt.cpp:
2799         (WebCore::KRenderingPaintServerQt::setPenProperties):
2800         * kcanvas/device/qt/KRenderingPaintServerQt.h:
2801         * kcanvas/device/qt/KRenderingPaintServerSolidQt.cpp:
2802         (WebCore::KRenderingPaintServerSolidQt::KRenderingPaintServerSolidQt):
2803         (WebCore::KRenderingPaintServerSolidQt::renderPath):
2804         * kcanvas/device/qt/KRenderingPaintServerSolidQt.h:
2805         * kcanvas/device/qt/RenderPathQt.cpp:
2806         * kcanvas/device/qt/RenderPathQt.h:
2807         * platform/qt/AffineTransformQt.cpp:
2808         * platform/qt/BrowserExtensionQt.cpp:
2809         * platform/qt/BrowserExtensionQt.h:
2810         * platform/qt/ColorQt.cpp:
2811         (WebCore::Color::Color):
2812         * platform/qt/ComboBoxQt.cpp:
2813         (WebCore::PlatformComboBox::PlatformComboBox):
2814         (WebCore::PlatformComboBox::~PlatformComboBox):
2815         (WebCore::PlatformComboBox::setParentWidget):
2816         (WebCore::PlatformComboBox::appendGroupLabel):
2817         * platform/qt/CookieJarQt.cpp:
2818         * platform/qt/CursorQt.cpp:
2819         (WebCore::Cursors::Cursors::self):
2820         * platform/qt/FloatPointQt.cpp:
2821         * platform/qt/FloatRectQt.cpp:
2822         * platform/qt/FontCacheQt.cpp:
2823         (WebCore::FontCache::getSimilarFontPlatformData):
2824         (WebCore::FontCache::createFontPlatformData):
2825         * platform/qt/FontDataQt.cpp:
2826         * platform/qt/FontPlatformData.h:
2827         * platform/qt/FontPlatformDataQt.cpp:
2828         * platform/qt/FontQt.cpp:
2829         (WebCore::Font::operator QFont):
2830         (WebCore::Font::drawComplexText):
2831         (WebCore::Font::floatWidthForComplexText):
2832         * platform/qt/FrameQt.cpp:
2833         (WebCore::FrameQt::openURL):
2834         (WebCore::FrameQt::submitForm):
2835         (WebCore::FrameQt::urlSelected):
2836         (WebCore::FrameQt::keyEvent):
2837         * platform/qt/FrameQt.h:
2838         * platform/qt/GlyphMapQt.cpp:
2839         * platform/qt/GraphicsContextQt.cpp:
2840         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
2841         (WebCore::GraphicsContext::GraphicsContext):
2842         (WebCore::GraphicsContext::drawConvexPolygon):
2843         (WebCore::GraphicsContext::setFocusRingClip):
2844         (WebCore::GraphicsContext::clip):
2845         * platform/qt/ImageQt.cpp:
2846         (WebCore::Image::draw):
2847         (WebCore::Image::drawTiled):
2848         * platform/qt/ImageSourceQt.cpp:
2849         * platform/qt/IntPointQt.cpp:
2850         * platform/qt/IntRectQt.cpp:
2851         * platform/qt/IntSizeQt.cpp:
2852         * platform/qt/LineEditQt.cpp:
2853         (WebCore::PlatformLineEdit::PlatformLineEdit):
2854         (WebCore::PlatformLineEdit::~PlatformLineEdit):
2855         (WebCore::PlatformLineEdit::setParentWidget):
2856         (WebCore::PlatformLineEdit::addSearchResult):
2857         * platform/qt/ListBoxQt.cpp:
2858         (WebCore::ListBox::ListBox):
2859         (WebCore::ListBox::~ListBox):
2860         (WebCore::ListBox::setParentWidget):
2861         * platform/qt/PageQt.cpp:
2862         (WebCore::Page::windowRect):
2863         (WebCore::Page::setWindowRect):
2864         * platform/qt/PathQt.cpp:
2865         (WebCore::Path::addArc):
2866         * platform/qt/PlatformKeyboardEventQt.cpp:
2867         (WebCore::windowsKeyCodeForKeyEvent):
2868         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2869         * platform/qt/PlatformMouseEventQt.cpp:
2870         * platform/qt/RenderThemeQt.cpp:
2871         (WebCore::RenderThemeQt::getStylePainterAndWidgetFromPaintInfo):
2872         (WebCore::RenderThemeQt::applyTheme):
2873         (WebCore::RenderThemeQt::paintButton):
2874         (WebCore::RenderThemeQt::paintTextField):
2875         * platform/qt/ResourceLoaderCurl.cpp:
2876         (WebCore::ResourceLoader::assembleResponseHeaders):
2877         (WebCore::ResourceLoader::retrieveCharset):
2878         (WebCore::ResourceLoader::receivedResponse):
2879         * platform/qt/ResourceLoaderManager.cpp:
2880         (WebCore::ResourceLoaderManager::add):
2881         * platform/qt/ResourceLoaderManager.h:
2882         * platform/qt/ScreenQt.cpp:
2883         * platform/qt/ScrollViewCanvasQt.cpp:
2884         (WebCore::ScrollViewCanvasQt::handleKeyEvent):
2885         * platform/qt/ScrollViewCanvasQt.h:
2886         * platform/qt/ScrollViewQt.cpp:
2887         * platform/qt/SharedTimerQt.cpp:
2888         * platform/qt/SharedTimerQt.h:
2889         (WebCore::SharedTimerQt::inst):
2890         * platform/qt/StringQt.cpp:
2891         * platform/qt/SystemTimeQt.cpp:
2892         * platform/qt/TemporaryLinkStubs.cpp:
2893         * platform/qt/TextEditQt.cpp:
2894         (WebCore::PlatformTextEdit::PlatformTextEdit):
2895         (WebCore::PlatformTextEdit::~PlatformTextEdit):
2896         (WebCore::PlatformTextEdit::setParentWidget):
2897         * platform/qt/WidgetQt.cpp:
2898         (WebCore::Widget::setQWidget):
2899
2900 2006-08-24  Nikolas Zimmermann  <zimmermann@kde.org>
2901
2902         Reviewed and landed by Anders.
2903
2904         Fixes parts of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
2905         WebKit should have Qt platform support
2906
2907         * CMakeLists.txt:
2908         * platform/qt/FrameQt.cpp: Added.
2909         (WebCore::doScroll):
2910         (WebCore::FrameView::isFrameView):
2911         (WebCore::FrameQt::FrameQt):
2912         (WebCore::FrameQt::init):
2913         (WebCore::FrameQt::~FrameQt):
2914         (WebCore::FrameQt::openURL):
2915         (WebCore::FrameQt::submitForm):
2916         (WebCore::FrameQt::urlSelected):
2917         (WebCore::FrameQt::userAgent):
2918         (WebCore::FrameQt::runJavaScriptAlert):
2919         (WebCore::FrameQt::runJavaScriptConfirm):
2920         (WebCore::FrameQt::locationbarVisible):
2921         (WebCore::FrameQt::setTitle):
2922         (WebCore::FrameQt::createFrame):
2923         (WebCore::FrameQt::passWheelEventToChildWidget):
2924         (WebCore::FrameQt::passSubframeEventToSubframe):
2925         (WebCore::FrameQt::objectContentType):
2926         (WebCore::FrameQt::createPlugin):
2927         (WebCore::FrameQt::passMouseDownEventToWidget):
2928         (WebCore::FrameQt::menubarVisible):
2929         (WebCore::FrameQt::personalbarVisible):
2930         (WebCore::FrameQt::statusbarVisible):
2931         (WebCore::FrameQt::toolbarVisible):
2932         (WebCore::FrameQt::createEmptyDocument):
2933         (WebCore::FrameQt::markedTextRange):
2934         (WebCore::FrameQt::incomingReferrer):
2935         (WebCore::FrameQt::mimeTypeForFileName):
2936         (WebCore::FrameQt::markMisspellingsInAdjacentWords):
2937         (WebCore::FrameQt::markMisspellings):
2938         (WebCore::FrameQt::lastEventIsMouseUp):
2939         (WebCore::FrameQt::saveDocumentState):
2940         (WebCore::FrameQt::restoreDocumentState):
2941         (WebCore::FrameQt::openURLRequest):
2942         (WebCore::FrameQt::scheduleClose):
2943         (WebCore::FrameQt::unfocusWindow):
2944         (WebCore::FrameQt::focusWindow):
2945         (WebCore::FrameQt::overrideMediaType):
2946         (WebCore::FrameQt::addMessageToConsole):
2947         (WebCore::FrameQt::runJavaScriptPrompt):
2948         (WebCore::FrameQt::getEmbedInstanceForWidget):
2949         (WebCore::FrameQt::getObjectInstanceForWidget):
2950         (WebCore::FrameQt::getAppletInstanceForWidget):
2951         (WebCore::FrameQt::registerCommandForUndo):
2952         (WebCore::FrameQt::registerCommandForRedo):
2953         (WebCore::FrameQt::clearUndoRedoOperations):
2954         (WebCore::FrameQt::issueUndoCommand):
2955         (WebCore::FrameQt::issueRedoCommand):
2956         (WebCore::FrameQt::issueCutCommand):
2957         (WebCore::FrameQt::issueCopyCommand):
2958         (WebCore::FrameQt::issuePasteCommand):
2959         (WebCore::FrameQt::issuePasteAndMatchStyleCommand):
2960         (WebCore::FrameQt::issueTransposeCommand):
2961         (WebCore::FrameQt::respondToChangedSelection):
2962         (WebCore::FrameQt::respondToChangedContents):
2963         (WebCore::FrameQt::shouldChangeSelection):
2964         (WebCore::FrameQt::partClearedInBegin):
2965         (WebCore::FrameQt::canGoBackOrForward):
2966         (WebCore::FrameQt::handledOnloadEvents):
2967         (WebCore::FrameQt::canPaste):
2968         (WebCore::FrameQt::canRedo):
2969         (WebCore::FrameQt::canUndo):
2970         (WebCore::FrameQt::print):
2971         (WebCore::FrameQt::shouldInterruptJavaScript):
2972         (WebCore::FrameQt::keyEvent):
2973         (WebCore::FrameQt::receivedResponse):
2974         (WebCore::FrameQt::receivedData):
2975         (WebCore::FrameQt::receivedAllData):
2976         (WebCore::FrameQt::setFrameGeometry):
2977         * platform/qt/FrameQt.h: Added.
2978         * platform/qt/ScrollViewCanvasQt.cpp: Added.
2979         (WebCore::ScrollViewCanvasQt::ScrollViewCanvasQt):
2980         (WebCore::ScrollViewCanvasQt::paintEvent):
2981         (WebCore::ScrollViewCanvasQt::sizeHint):
2982         (WebCore::ScrollViewCanvasQt::mouseMoveEvent):
2983         (WebCore::ScrollViewCanvasQt::mousePressEvent):
2984         (WebCore::ScrollViewCanvasQt::mouseReleaseEvent):
2985         (WebCore::ScrollViewCanvasQt::keyPressEvent):
2986         (WebCore::ScrollViewCanvasQt::keyReleaseEvent):
2987         (WebCore::ScrollViewCanvasQt::handleKeyEvent):
2988         * platform/qt/ScrollViewCanvasQt.h: Added.
2989         * platform/qt/ScrollViewQt.cpp:
2990         (WebCore::ScrollView::setParentWidget):
2991
2992 2006-08-24  Nikolas Zimmermann  <zimmermann@kde.org>
2993
2994         Reviewed by ap.
2995
2996         Fixes parts of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
2997         WebKit should have Qt platform support
2998
2999         * platform/qt/FontCacheQt.cpp: Added.
3000         (WebCore::FontCache::platformInit):
3001         (WebCore::FontCache::getFontDataForCharacters):
3002         (WebCore::FontCache::getSimilarFontPlatformData):
3003         (WebCore::FontCache::getLastResortFallbackFont):
3004         (WebCore::FontCache::createFontPlatformData):
3005         * platform/qt/FontDataQt.cpp: Added.
3006         (WebCore::FontData::platformInit):
3007         (WebCore::FontData::platformDestroy):
3008         (WebCore::FontData::smallCapsFontData):
3009         (WebCore::FontData::containsCharacters):
3010         (WebCore::FontData::determinePitch):
3011         (WebCore::FontData::platformWidthForGlyph):
3012         * platform/qt/FontPlatformData.h: Added.
3013         * platform/qt/FontPlatformDataQt.cpp: Added.
3014         (WebCore::FontPlatformData::FontPlatformData):
3015         (WebCore::FontPlatformData::operator=):
3016         (WebCore::FontPlatformData::~FontPlatformData):
3017         (WebCore::FontPlatformData::isFixedPitch):
3018         (WebCore::FontPlatformData::setFont):
3019         (WebCore::FontPlatformData::font):
3020         (WebCore::FontPlatformData::hash):
3021         (WebCore::FontPlatformData::operator==):
3022         * platform/qt/FontQt.cpp: Added.
3023         (WebCore::Font::operator QFont):
3024         (WebCore::Font::drawGlyphs):
3025         (WebCore::Font::drawComplexText):
3026         (WebCore::Font::floatWidthForComplexText):
3027         * platform/qt/GlyphMapQt.cpp: Added.
3028         (WebCore::GlyphMap::fillPage):
3029
3030 2006-08-24  David Harrison  <harrison@apple.com>
3031
3032         Reinstate r15966 because layout test changes are correct.
3033
3034         <rdar://problem/4522205> Represent controls in AXAttributedStringForTextMarkerRange
3035
3036         * editing/TextIterator.cpp:
3037         (WebCore::TextIterator::advance):
3038
3039 2006-08-24  Nikolas Zimmermann  <zimmermann@kde.org>
3040
3041         Reviewed by ap.
3042
3043         http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
3044         WebKit should have Qt platform support (Part II)
3045
3046         Adapt the KCanvas Qt device to Rob's KCanvasMatrix removal.
3047         Use AffineTransform everywhere instead.
3048
3049         * kcanvas/device/qt/KRenderingDeviceQt.cpp:
3050         (WebCore::KRenderingDeviceContextQt::KRenderingDeviceContextQt):
3051         (WebCore::KRenderingDeviceContextQt::concatCTM):
3052         (WebCore::KRenderingDeviceContextQt::ctm):
3053         * kcanvas/device/qt/KRenderingDeviceQt.h:
3054         * kcanvas/device/qt/KRenderingPaintServerGradientQt.cpp:
3055         (WebCore::KRenderingPaintServerLinearGradientQt::setup):
3056         (WebCore::KRenderingPaintServerRadialGradientQt::setup):
3057
3058 2006-08-24  Rob Buis  <buis@kde.org>
3059
3060         Reviewed by Darin.
3061
3062         http://bugzilla.opendarwin.org/show_bug.cgi?id=10524
3063         svg transform: comma delimiting breaks display
3064
3065         Properly parse transforms which use ',' as seperators.
3066
3067         * ksvg2/svg/SVGTransformable.cpp:
3068         (SVGTransformable::parseTransformAttribute):
3069
3070 2006-08-23  Darin Adler  <darin@apple.com>
3071
3072         Reviewed by Maciej.
3073
3074         - added an assert to make it slightly easier to debug the common case of
3075           calling document() on a node of 0
3076
3077         * dom/Node.h: (WebCore::Node::document): ASSERT(this).
3078
3079 2006-08-23  David Hyatt  <hyatt@apple.com>
3080
3081         Refactor Cairo and CoreGraphics to use platform ifdefs.  This patch
3082         separates the graphics engines from their respective platforms and replaces
3083         #ifdef PLATFORM(MAC) and PLATFORM(WIN) with PLATFORM(CG) and PLATFORM(CAIRO).
3084
3085         Reviewed by darin
3086
3087         * WebCore.xcodeproj/project.pbxproj:
3088         * platform/AffineTransform.h:
3089         * platform/Color.h:
3090         * platform/Cursor.h:
3091         * platform/FloatPoint.h:
3092         * platform/FloatRect.h:
3093         * platform/FloatSize.h:
3094         * platform/Font.h:
3095         * platform/FontData.h:
3096         * platform/GlyphBuffer.h:
3097         (WebCore::GlyphBuffer::glyphAt):
3098         (WebCore::GlyphBuffer::advanceAt):
3099         (WebCore::GlyphBuffer::add):
3100         * platform/GraphicsContext.h:
3101         * platform/Image.h:
3102         * platform/ImageSource.h:
3103         * platform/IntPoint.h:
3104         * platform/IntRect.h:
3105         * platform/IntSize.h:
3106         * platform/ResourceLoader.h:
3107         * platform/ResourceLoaderClient.h:
3108         * platform/Widget.h:
3109         * platform/cairo/GraphicsContextCairo.cpp:
3110         * platform/cairo/ImageCairo.cpp:
3111         * platform/cairo/ImageSourceCairo.cpp:
3112         * platform/cg/AffineTransformCG.cpp:
3113         * platform/cg/FloatPointCG.cpp: Added.
3114         * platform/cg/FloatRectCG.cpp: Added.
3115         * platform/cg/FloatSizeCG.cpp: Added.
3116         * platform/cg/GraphicsContextCG.cpp:
3117         (WebCore::GraphicsContext::GraphicsContext):
3118         (WebCore::GraphicsContext::~GraphicsContext):
3119         (WebCore::GraphicsContext::setFocusRingClip):
3120         (WebCore::GraphicsContext::clearFocusRingClip):
3121         (WebCore::GraphicsContext::platformContext):
3122         (WebCore::GraphicsContext::drawRect):
3123         (WebCore::GraphicsContext::drawLine):
3124         * platform/cg/GraphicsContextPlatformPrivate.h: Added.
3125         (WebCore::GraphicsContextPlatformPrivate:::m_cgContext):
3126         (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
3127         * platform/cg/ImageCG.cpp: Added.
3128         (WebCore::Image::drawTiled):
3129         * platform/cg/ImageSourceCG.cpp: Added.
3130         * platform/cg/IntPointCG.cpp: Added.
3131         * platform/cg/IntRectCG.cpp: Added.
3132         * platform/cg/IntSizeCG.cpp: Added.
3133         * platform/cg/PDFDocumentImage.cpp: Added.
3134         (WebCore::PDFDocumentImage::adjustCTM):
3135         * platform/cg/PDFDocumentImage.h: Added.
3136         * platform/cg/PathCG.cpp:
3137         * platform/image-decoders/bmp/BMPImageDecoder.cpp:
3138         * platform/image-decoders/gif/GIFImageDecoder.cpp:
3139         * platform/image-decoders/gif/GIFImageReader.cpp:
3140         * platform/image-decoders/ico/ICOImageDecoder.cpp:
3141         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
3142         * platform/image-decoders/png/PNGImageDecoder.cpp:
3143         * platform/image-decoders/xbm/XBMImageDecoder.cpp:
3144         * platform/mac/FloatPointMac.mm:
3145         * platform/mac/FloatRectMac.mm:
3146         * platform/mac/FloatSizeMac.mm:
3147         * platform/mac/GraphicsContextMac.mm:
3148         * platform/mac/ImageMac.mm:
3149         * platform/mac/ImageSourceMac.cpp: Removed.
3150         * platform/mac/IntPointMac.mm:
3151         * platform/mac/IntRectMac.mm:
3152         * platform/mac/IntSizeMac.mm:
3153         * platform/mac/PDFDocumentImage.h: Removed.
3154         * platform/mac/PDFDocumentImage.mm: Removed.
3155
3156 2006-08-23  David Hyatt  <hyatt@apple.com>
3157
3158         Remove the ifdef for platform scrollbars vs. engine scrollbars until
3159         engine scrollbars actually exist.
3160
3161         * platform/ScrollBar.h:
3162         (WebCore::ScrollBar::hasPlatformScrollBars):
3163
3164 2006-08-23  Justin Garcia  <justin.garcia@apple.com>
3165
3166         Reviewed by harrison
3167         
3168         Removed the poorly named next/previousVisiblePosition
3169         and use next/previousCandidate and next/previousVisuallyDistinctCandidate.
3170         Removed the unused VisiblePosition::maxOffset()
3171
3172         * editing/VisiblePosition.cpp:
3173         (WebCore::VisiblePosition::next):
3174         (WebCore::VisiblePosition::previous):
3175         (WebCore::VisiblePosition::canonicalPosition):
3176         * editing/VisiblePosition.h: 
3177
3178 2006-08-23  Nikolas Zimmermann  <zimmermann@kde.org>
3179
3180         Reviewed by Alexey. Landed by rwlbuis.
3181
3182         Fixes parts of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
3183         WebKit should have Qt platform support (Part II)
3184
3185         * platform/qt/GraphicsContextQt.cpp: Added.
3186         (WebCore::toQtCompositionMode):
3187         (WebCore::toQtLineCap):
3188         (WebCore::toQtLineJoin):
3189         (WebCore::TransparencyLayer::TransparencyLayer):
3190         (WebCore::TransparencyLayer::cleanup):
3191         (WebCore::TextShadow::TextShadow):
3192         (WebCore::TextShadow::isNull):
3193         (WebCore::GraphicsContextPlatformPrivate::p):
3194         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
3195         (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
3196         (WebCore::GraphicsContext::GraphicsContext):
3197         (WebCore::GraphicsContext::~GraphicsContext):
3198         (WebCore::GraphicsContext::platformContext):
3199         (WebCore::GraphicsContext::savePlatformState):
3200         (WebCore::GraphicsContext::restorePlatformState):
3201         (WebCore::GraphicsContext::drawRect):
3202         (WebCore::adjustLineToPixelBounderies):
3203         (WebCore::GraphicsContext::drawLine):
3204         (WebCore::GraphicsContext::drawEllipse):
3205         (WebCore::GraphicsContext::drawArc):
3206         (WebCore::GraphicsContext::drawConvexPolygon):
3207         (WebCore::GraphicsContext::fillRect):
3208         (WebCore::GraphicsContext::addClip):
3209         (WebCore::GraphicsContext::drawFocusRing):
3210         (WebCore::GraphicsContext::setFocusRingClip):
3211         (WebCore::GraphicsContext::clearFocusRingClip):
3212         (WebCore::GraphicsContext::drawLineForText):
3213         (WebCore::GraphicsContext::drawLineForMisspelling):
3214         (WebCore::GraphicsContext::roundToDevicePixels):
3215         (WebCore::GraphicsContext::setShadow):
3216         (WebCore::GraphicsContext::clearShadow):
3217         (WebCore::GraphicsContext::beginTransparencyLayer):
3218         (WebCore::GraphicsContext::endTransparencyLayer):
3219         (WebCore::GraphicsContext::clearRect):
3220         (WebCore::GraphicsContext::strokeRect):
3221         (WebCore::GraphicsContext::setLineWidth):
3222         (WebCore::GraphicsContext::setLineCap):
3223         (WebCore::GraphicsContext::setLineJoin):
3224         (WebCore::GraphicsContext::setMiterLimit):
3225         (WebCore::GraphicsContext::setAlpha):
3226         (WebCore::GraphicsContext::setCompositeOperation):
3227         (WebCore::GraphicsContext::clip):
3228         (WebCore::GraphicsContext::translate):
3229         (WebCore::GraphicsContext::rotate):
3230         (WebCore::GraphicsContext::scale):
3231         (WebCore::GraphicsContext::addInnerRoundedRectClip):
3232         (WebCore::GraphicsContext::addRoundedRectClip):
3233         (WebCore::GraphicsContext::createRenderingDeviceContext):
3234         * platform/qt/ImageQt.cpp: Added.
3235         (WebCore::FrameData::clear):
3236         (WebCore::Image::initNativeData):
3237         (WebCore::Image::destroyNativeData):
3238         (WebCore::Image::invalidateNativeData):
3239         (WebCore::Image::loadResource):
3240         (WebCore::Image::supportsType):
3241         (WebCore::Image::draw):
3242         (WebCore::Image::drawTiled):
3243         (WebCore::Image::checkForSolidColor):
3244         * platform/qt/ImageSourceQt.cpp: Added.
3245         (WebCore::createDecoder):
3246         (WebCore::ImageSource::ImageSource):
3247         (WebCore::ImageSource::~ImageSource):
3248         (WebCore::ImageSource::initialized):
3249         (WebCore::ImageSource::setData):
3250         (WebCore::ImageSource::isSizeAvailable):
3251         (WebCore::ImageSource::size):
3252         (WebCore::ImageSource::repetitionCount):
3253         (WebCore::ImageSource::frameCount):
3254         (WebCore::ImageSource::createFrameAtIndex):
3255         (WebCore::ImageSource::frameDurationAtIndex):
3256         (WebCore::ImageSource::frameHasAlphaAtIndex):
3257
3258 2006-08-23  Brady Eidson  <beidson@apple.com>
3259
3260         Reviewed by Adele
3261
3262         Moved default URL icon from WebKit to WebCore
3263
3264         * Resources/urlIcon.tiff: Added.
3265         * WebCore.xcodeproj/project.pbxproj:
3266         * loader/icon/IconDataCache.cpp:
3267         (WebCore::IconDataCache::loadImageFromResource):
3268         * loader/icon/IconDataCache.h:
3269         * loader/icon/IconDatabase.cpp:
3270         (WebCore::IconDatabase::IconDatabase):
3271         (WebCore::IconDatabase::defaultIcon):
3272         * loader/icon/IconDatabase.h:
3273
3274 2006-08-23  Adam Roben  <aroben@apple.com>
3275
3276         Reviewed by Darin, Adele.
3277
3278         Some popup refactoring/cleanup.
3279
3280         * html/HTMLSelectElement.cpp:
3281         (WebCore::HTMLSelectElement::defaultEventHandler):
3282         * rendering/RenderMenuList.cpp:
3283         (WebCore::RenderMenuList::RenderMenuList):
3284         (WebCore::RenderMenuList::~RenderMenuList):
3285         (WebCore::RenderMenuList::showPopup):
3286         (WebCore::RenderMenuList::hidePopup):
3287         * rendering/RenderMenuList.h:
3288         (WebCore::RenderMenuList::popup):
3289         (WebCore::RenderMenuList::popupIsVisible):
3290         * rendering/RenderPopupMenu.h:
3291         * rendering/RenderPopupMenuMac.h:
3292         (WebCore::RenderPopupMenuMac::hidePopup):
3293
3294 2006-08-23  Nikolas Zimmermann  <zimmermann@kde.org>
3295
3296         Reviewed by Anders. Landed by rwlbuis.
3297
3298         Fixes parts of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
3299         WebKit should have Qt platform support
3300
3301         * platform/qt/ResourceLoaderCurl.cpp: Added.
3302         (WebCore::ResourceLoaderInternal::~ResourceLoaderInternal):
3303         (WebCore::ResourceLoader::~ResourceLoader):
3304         (WebCore::ResourceLoader::start):
3305         (WebCore::ResourceLoader::cancel):
3306         (WebCore::ResourceLoader::assembleResponseHeaders):
3307         (WebCore::ResourceLoader::retrieveCharset):
3308         (WebCore::ResourceLoader::receivedResponse):
3309         * platform/qt/ResourceLoaderManager.cpp: Added.
3310         (WebCore::ResourceLoaderManager::ResourceLoaderManager):
3311         (WebCore::ResourceLoaderManager::get):
3312         (WebCore::ResourceLoaderManager::useSimpleTransfer):
3313         (WebCore::writeCallback):
3314         (WebCore::headerCallback):
3315         (WebCore::ResourceLoaderManager::downloadTimerCallback):
3316         (WebCore::ResourceLoaderManager::remove):
3317         (WebCore::ResourceLoaderManager::add):
3318         (WebCore::ResourceLoaderManager::cancel):
3319         * platform/qt/ResourceLoaderManager.h: Added.
3320         * platform/qt/StringQt.cpp: Added.
3321         (WebCore::String::String):
3322         (WebCore::String::operator QString):
3323         (WebCore::DeprecatedString::operator QString):
3324
3325 2006-08-23  Brady Eidson  <beidson@apple.com>
3326
3327         Reviewed by Maciej
3328
3329         Added escapeSQLString() - a helper to escape strings to be used in textual SQL queries
3330
3331         * WebCore.xcodeproj/project.pbxproj: Reordered some files
3332         * loader/icon/IconDataCache.cpp: Use the new escapeSQLString()
3333         (WebCore::IconDataCache::writeToDatabase):
3334         * loader/icon/IconDatabase.cpp: Use the new escapeSQLString() throughout
3335         (WebCore::IconDatabase::retainIconURL):
3336         (WebCore::IconDatabase::releaseIconURL):
3337         (WebCore::IconDatabase::forgetIconForIconURLFromDatabase):
3338         (WebCore::IconDatabase::establishIconIDForIconURL):
3339         (WebCore::imageDataForIconURLQuery):
3340         (WebCore::timeStampForIconURLQuery):
3341         (WebCore::iconURLForPageURLQuery):
3342         (WebCore::forgetPageURLQuery):
3343         (WebCore::setIconIDForPageURLQuery):
3344         (WebCore::getIconIDForIconURLQuery):
3345         (WebCore::addIconForIconURLQuery):
3346         (WebCore::hasIconForIconURLQuery):
3347         * loader/icon/SQLDatabase.h:
3348         (WebCore::escapeSQLString): Added
3349
3350 2006-08-22  Maciej Stachowiak  <mjs@apple.com>
3351
3352         Reviewed by Brady.
3353
3354         - assorted style cleanup of icon loader code:
3355         
3356         - wrapped all implementation files in namespace WebCore {} instead of "using namespace WebCore;" at top
3357         - split headers to be one per class, to match impl files
3358         - made files that are purely local in IconDatabase.cpp static
3359         - make each impl file include config.h as first header (and no config.h includes in other headers)
3360         - avoid multiple copies of Vector<unsigned char> for image data
3361
3362         * WebCore.xcodeproj/project.pbxproj:
3363         * loader/icon/IconDataCache.cpp:
3364         * loader/icon/IconDataCache.h: Added.
3365         (WebCore::):
3366         (WebCore::IconDataCache::getTimestamp):
3367         (WebCore::IconDataCache::setTimestamp):
3368         (WebCore::IconDataCache::getIconURL):
3369         * loader/icon/IconDatabase.cpp:
3370         (WebCore::IconDatabase::imageDataForIconURL):
3371         (WebCore::IconDatabase::iconForPageURL):
3372         (WebCore::pageURLTableIsEmptyQuery):
3373         (WebCore::imageDataForIconURLQuery):
3374         (WebCore::timeStampForIconURLQuery):
3375         (WebCore::iconURLForPageURLQuery):
3376         (WebCore::forgetPageURLQuery):
3377         (WebCore::setIconIDForPageURLQuery):
3378         (WebCore::getIconIDForIconURLQuery):
3379         (WebCore::addIconForIconURLQuery):
3380         (WebCore::hasIconForIconURLQuery):
3381         * loader/icon/IconDatabase.h:
3382         * loader/icon/SQLDatabase.cpp:
3383         * loader/icon/SQLDatabase.h:
3384         * loader/icon/SQLStatement.cpp:
3385         (WebCore::SQLStatement::getColumnBlobAsVector):
3386         * loader/icon/SQLStatement.h: Added.
3387         (WebCore::SQLStatement::isPrepared):
3388         (WebCore::SQLStatement::prepareAndStep):
3389         (WebCore::SQLStatement::lastError):
3390         (WebCore::SQLStatement::lastErrorMsg):
3391         * loader/icon/SQLTransaction.cpp:
3392         * loader/icon/SQLTransaction.h: Added.
3393
3394 2006-08-22  Brady Eidson  <beidson@apple.com>
3395
3396         Reviewed by Maciej
3397
3398         The role of the SiteIcon is now the original intention - to be a cache of data relating to an Icon
3399         As such, I'm renaming it to IconDataCache.
3400         Also, the IconDatabase has to manually set the image data on the IconDataCache and also sets the 
3401         TimeStamp when an icon is created or the data is changed.
3402         IconDataCache now has a method to write itself *to* a given database, instead of read itself from one.
3403         IconDatabase schema changes to have the timestamp set manually instead of via a trigger.
3404         The overall purpose of this change is to cache the timestamp, killing off a very common SQL query.
3405
3406         * WebCore.xcodeproj/project.pbxproj: Renamed a file
3407         * loader/icon/IconDataCache.cpp: Added.
3408         (IconDataCache::IconDataCache):
3409         (IconDataCache::getImage): Now either returns the stored image, or 0 - no attempt to grab data
3410         (IconDataCache::manuallySetImageData): Delete the old image and create the new one
3411         (IconDataCache::writeToDatabase): Write the current iconURL, data, and timestamp to the given DB
3412         (IconDataCache::imageDataStatus): Determine if an IconDataCache is new without data versus actually having null data
3413         * loader/icon/IconDatabase.cpp:
3414         (WebCore::IconDatabase::createDatabaseTables): Changed DB schema to version 5 (hopefully the final version)
3415         (WebCore::IconDatabase::iconForPageURL): 
3416         (WebCore::IconDatabase::isIconExpiredForIconURL): Uses the timestamp in the IconDataCache object instead of always querying
3417         (WebCore::IconDatabase::getOrCreateIconDataCache): Added, to handle creation of new IconDataCache when appropriate
3418         (WebCore::IconDatabase::setIconDataForIconURL): Puts data in SiteIcon then marks it for a future write
3419         (WebCore::IconDatabase::syncDatabase): Now syncs SiteIconsPendingUpdate
3420         * loader/icon/IconDatabase.h:
3421         (WebCore::IconDataCache::getTimestamp):
3422         (WebCore::IconDataCache::setTimestamp):
3423         * loader/icon/SiteIcon.cpp: Removed.
3424
3425
3426 2006-08-22  Justin Garcia  <justin.garcia@apple.com>
3427
3428         Reviewed by harrison
3429         
3430         <http://bugzilla.opendarwin.org/show_bug.cgi?id=10449>
3431         REGRESSION(r15918): drag-into-marker.html failing
3432
3433         * editing/ReplaceSelectionCommand.cpp:
3434         (WebCore::ReplaceSelectionCommand::doApply): Don't avoid nesting
3435         in a list item.
3436
3437 2006-08-22  Brady Eidson  <beidson@apple.com>
3438
3439         Reviewed by Kevin
3440
3441         Added a check in getTIFFRepresentation to not proceed if the frame count is zero
3442         This is an error condition that was handled gracefully before - in certain circumstances
3443         the call to CGImageDestinationCreateWithData will spam the Console if it is passed null/empty data
3444         or invalid data.  This small change bails out before that call if that call will definitely fail
3445
3446         * platform/mac/ImageMac.mm:
3447         (WebCore::Image::getTIFFRepresentation):
3448
3449 2006-08-22  David Harrison  <harrison@apple.com>
3450
3451         Backed out my last change (r15966) because it broke lots of layout tests.
3452
3453         * editing/TextIterator.cpp:
3454         (WebCore::TextIterator::advance):
3455
3456 2006-08-22  Maciej Stachowiak  <mjs@apple.com>
3457
3458         Reviewed by Anders.
3459
3460         - added some SPI indirections to support the following in WebKit/Loader:
3461             - pull more WebDataSource code into WebFrameLoader
3462             - make WebMainResourceLoader not depend on WebKit or on SPI
3463
3464         * WebCore.exp:
3465         * WebCore.xcodeproj/project.pbxproj:
3466         * platform/mac/WebCoreSystemInterface.h:
3467         * platform/mac/WebCoreSystemInterface.mm:
3468
3469 2006-08-22  Justin Garcia  <justin.garcia@apple.com>
3470
3471         Reviewed by harrison
3472
3473         <rdar://problem/4052343&4052343&4426622> Mail hung on paste text
3474         
3475         * editing/ReplaceSelectionCommand.cpp:
3476         (WebCore::isInterchangeNewlineNode):
3477         (WebCore::isInterchangeConvertedSpaceSpan):
3478         (WebCore::ReplacementFragment::ReplacementFragment):
3479         (WebCore::ReplaceSelectionCommand::removeRedundantStyles): Compute the redundant inheritable styles and
3480         remove them and remove style nodes and style spans which were only contributing redundant styles.
3481         (WebCore::ReplaceSelectionCommand::doApply):
3482         * editing/ReplaceSelectionCommand.h:
3483
3484 2006-08-22  David Harrison  <harrison@apple.com>
3485
3486         Reviewed by Darin.
3487
3488         <rdar://problem/4077676> Inline hole line adheres to the Japanese characters in inline hole
3489
3490         This happens because the underline is always 2 pixels thick, and placed 3 pixels above the bottom of the text box.
3491
3492         Test case added:
3493         * manual-tests/inline-input-marking.html: Added.
3494         Check that underlining of the inline input hole does not obscure the glyphs.
3495         
3496         * rendering/InlineTextBox.cpp:
3497         (WebCore::InlineTextBox::paintMarkedTextUnderline):
3498         Position underline at bottom of text box.
3499         Height of underline is reduced to 1 px when font's descent is less than or equal to 2 px.
3500
3501 2006-08-22  Rob Buis  <buis@kde.org>
3502
3503         Reviewed by Eric.
3504
3505         http://bugzilla.opendarwin.org/show_bug.cgi?id=10402
3506         REPRO: SVG crashes inside gradient code
3507
3508         Make sure we do not try to update the canvas resource/gradient paintserver when it is not yet built.
3509
3510         * ksvg2/svg/SVGGradientElement.cpp:
3511         (SVGGradientElement::notifyAttributeChange):
3512         (SVGGradientElement::resourceNotification):
3513
3514 2006-08-22  David Harrison  <harrison@apple.com>
3515
3516         Reviewed by John.
3517
3518         <rdar://problem/4523606> Represent heading elements in AXAttributedStringForTextMarkerRange
3519
3520         * bridge/mac/WebCoreAXObject.mm:
3521         (headingLevel):
3522         (-[WebCoreAXObject headingLevel]):