f3db1c29ec744f343fe343da2abc425a21c42622
[WebKit-https.git] / WebCore / ChangeLog
1 2006-09-07  Sam Weinig  <sam.weinig@gmail.com>
2
3         Reviewed by Darin.
4
5         Patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10766
6         Auto-generate the Objective-C DOM Events bindings
7
8         - Auto-generates DOMEvent, DOMKeyboardEvent, DOMMouseEvent, DOMMutationEvent, 
9           DOMOverflowEvent, DOMUIEvent, and DOMWheelEvent.
10           
11         - Splits out DOMEventListener and DOMEventTarget into their own files.
12
13         * DerivedSources.make:
14         * WebCore.xcodeproj/project.pbxproj:
15         * bindings/objc/DOMEventListener.h: Added.
16         * bindings/objc/DOMEventTarget.h: Added.
17         * bindings/objc/DOMEvents.h:
18         * bindings/objc/DOMEvents.mm:
19         (-[DOMEvent WebCore::]):
20         (-[DOMEvent _initWithEvent:WebCore::]):
21         (+[DOMEvent _eventWith:WebCore::]):
22         * bindings/objc/DOMEventsNonstandard.mm: Removed.
23         * bindings/objc/DOMNode.h:
24         * bindings/objc/PublicDOMInterfaces.h:
25         * bindings/scripts/CodeGenerator.pm:
26         * bindings/scripts/CodeGeneratorObjC.pm:
27         * dom/Event.idl:
28         * dom/EventListener.idl: Added.
29         * dom/EventTarget.idl: Added.
30         * dom/KeyboardEvent.idl:
31         * dom/MouseEvent.idl:
32         * dom/UIEvent.idl:
33         * dom/WheelEvent.idl:
34
35 2006-09-07  Rob Buis  <buis@kde.org>
36
37         Reviewed by Maciej.
38
39         http://bugzilla.opendarwin.org/show_bug.cgi?id=9753
40         SVG with width and height 100% leaves room for scrollbar on the right.
41
42         Relayout children of svg containers, except svg shapes that do not depend on percentages.
43
44         * kcanvas/RenderPath.cpp:
45         (WebCore::RenderPath::hasPercentageValues):
46         * kcanvas/RenderPath.h:
47         * kcanvas/RenderSVGContainer.cpp:
48         (WebCore::RenderSVGContainer::layout):
49         * ksvg2/svg/SVGCircleElement.cpp:
50         (SVGCircleElement::hasPercentageValues):
51         * ksvg2/svg/SVGCircleElement.h:
52         * ksvg2/svg/SVGEllipseElement.cpp:
53         (WebCore::SVGEllipseElement::hasPercentageValues):
54         * ksvg2/svg/SVGEllipseElement.h:
55         * ksvg2/svg/SVGLineElement.cpp:
56         (SVGLineElement::hasPercentageValues):
57         * ksvg2/svg/SVGLineElement.h:
58         * ksvg2/svg/SVGRectElement.cpp:
59         (WebCore::SVGRectElement::hasPercentageValues):
60         * ksvg2/svg/SVGRectElement.h:
61         * ksvg2/svg/SVGStyledElement.h:
62         (WebCore::SVGStyledElement::hasPercentageValues):
63
64 2006-09-06  Brady Eidson <beidson@apple.com>
65
66         Constant renamed in 16250 wasn't changed in each use
67
68         * platform/win/GlyphMapWin.cpp:
69         (WebCore::GlyphMap::fillPage):
70
71 2006-09-06  Darin Adler  <darin@apple.com>
72
73         Reviewed by Tim Hatcher.
74
75         - fix crashes affecting editing layout tests (regressions from my vector change)
76
77         * editing/BreakBlockquoteCommand.cpp:
78         (WebCore::BreakBlockquoteCommand::doApply): Added check for empty vector.
79         * editing/InsertParagraphSeparatorCommand.cpp:
80         (WebCore::InsertParagraphSeparatorCommand::doApply): Ditto.
81
82 2006-09-06  David Harrison  <harrison@apple.com>
83
84         Reviewed and tweaked by Tim H.
85
86         <rdar://problem/4564955> WebKit doesn't trigger Auto Font Activation
87
88         If we don't find the font in the available fonts list, call [NSFont fontWithName:size:]
89         to trigger a search that will include auto activation. No PLT or iBench perf impact.
90         No layout tests affected. Not testable in an automated way that will work on all systems.
91
92         * platform/mac/WebFontCache.mm:
93         (+[WebFontCache fontWithFamily:traits:size:]):
94
95 2006-09-06  Nikolas Zimmermann  <zimmermann@kde.org>
96
97         Reviewed and landed by ap.
98
99         Fix Qt/Linux build.
100
101         * CMakeLists.txt: Take out CharacterData.cpp from build / add new Text* files to build.
102         * platform/qt/BrowserExtensionQt.cpp: Add wtf/Platform.h include.
103         * platform/qt/FontCacheQt.cpp: Add FontData.h include.
104         * platform/qt/FontQt.cpp:
105         (WebCore::Font::drawGlyphs): Fix constness in reinterpret_cast.
106         * platform/qt/FrameQt.cpp:
107         (WebCore::FrameQt::markMisspellings): Change "SelectionController" param type to "Selection".
108         (WebCore::FrameQt::respondToChangedSelection): Ditto.
109         (WebCore::FrameQt::respondToChangedContents): Ditto.
110         (WebCore::FrameQt::shouldChangeSelection): Ditto.
111         * platform/qt/FrameQt.h: Ditto.
112         * platform/qt/ImageQt.cpp:
113         (WebCore::Image::supportsType): Fix String->QString conversion.
114         * platform/qt/ResourceLoaderManager.cpp:
115         (WebCore::ResourceLoaderManager::add): Fix String->DeprecatedString conversion.
116         * platform/qt/ScrollViewCanvasQt.cpp:
117         (WebCore::ScrollViewCanvasQt::handleKeyEvent): Adapt to SelectionController signature changes.
118         * platform/qt/qt-encodings.txt: Removed.
119
120 2006-09-06  Darin Adler  <darin@apple.com>
121
122         Reviewed by Tim Hatcher.
123
124         - http://bugzilla.opendarwin.org/show_bug.cgi?id=10675
125           tweak font-related headers and convert lists to vectors
126
127         One major change was to greatly reduce the number of files that include Font.h.
128         Another was to convert many uses of DeprecatedPtrList/DeprecatedValueList to Vector.
129
130         * WebCore.xcodeproj/project.pbxproj: Added TextStyle.h.
131
132         * bindings/objc/DOM.mm: (-[DOMElement _font]): Changed to not depend on
133         Font::getNSFont since a WebCore::Font represents more than one NSFont.
134
135         * bindings/objc/DOMNode.mm: (-[DOMNode lineBoxRects]): Updated to use Vector.
136         * bridge/mac/FormDataMac.mm: (WebCore::arrayFromFormData): Ditto.
137         * bridge/mac/FrameViewMac.mm: (WebCore::FrameView::updateDashboardRegions): Ditto.
138         * css/CSSComputedStyleDeclaration.cpp:
139         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Ditto.
140         * dom/Document.cpp:
141         (WebCore::Document::dashboardRegions): Ditto.
142         (WebCore::Document::setDashboardRegions): Ditto.
143         * dom/Document.h: Ditto.
144         * editing/ReplaceSelectionCommand.cpp:
145         (WebCore::ReplacementFragment::removeUnrenderedNodes): Ditto.
146         * html/FormDataList.h: Ditto.
147         * html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::isFocusable): Ditto.
148         * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::formData): Ditto.
149         * kcanvas/RenderPath.cpp: (WebCore::RenderPath::absoluteRects): Ditto.
150         * kcanvas/RenderPath.h: Ditto.
151         * kcanvas/RenderSVGImage.cpp: (WebCore::RenderSVGImage::absoluteRects): Ditto.
152         * kcanvas/RenderSVGImage.h: Ditto.
153         * kcanvas/RenderSVGText.cpp: (WebCore::RenderSVGText::absoluteRects): Ditto.
154         * kcanvas/RenderSVGText.h: Ditto.
155         * loader/FormData.cpp:
156         (WebCore::FormData::flatten): Ditto.
157         (WebCore::FormData::flattenToString): Ditto.
158         * loader/FormData.h: (WebCore::FormData::elements): Ditto.
159         * loader/mac/LoaderFunctionsMac.mm: (WebCore::ServeSynchronousRequest): Ditto.
160         * page/Frame.cpp: (WebCore::Frame::markedTextUnderlines): Ditto.
161         * page/Frame.h: Ditto.
162         * page/FramePrivate.h: Ditto.
163         * platform/mac/ResourceLoaderMac.mm: (WebCore::ResourceLoader::start): Ditto.
164         * rendering/InlineTextBox.h: Ditto.
165         * rendering/InlineTextBox.cpp:
166         (WebCore::InlineTextBox::paint): Ditto.
167         (WebCore::InlineTextBox::paintMarkedTextUnderline): Ditto.
168         * rendering/RenderContainer.h: Ditto.
169         * rendering/RenderContainer.cpp: (WebCore::RenderContainer::lineBoxRects): Ditto.
170         * rendering/RenderInline.h: Ditto.
171         * rendering/RenderInline.cpp: (WebCore::RenderInline::absoluteRects): Ditto.
172         * rendering/RenderObject.h: Ditto.
173         * rendering/RenderObject.cpp:
174         (WebCore::RenderObject::lineBoxRects): Ditto.
175         (WebCore::RenderObject::absoluteRects): Ditto.
176         (WebCore::RenderObject::absoluteBoundingBoxRect): Ditto.
177         (WebCore::RenderObject::addDashboardRegions): Ditto.
178         (WebCore::RenderObject::collectDashboardRegions): Ditto.
179         * rendering/RenderStyle.h: Ditto.
180         * rendering/RenderStyle.cpp:
181         (WebCore::RenderStyle::initialDashboardRegions): Ditto.
182         (WebCore::RenderStyle::noneDashboardRegions): Ditto.
183         * rendering/RenderText.h: Ditto.
184         * rendering/RenderText.cpp:
185         (WebCore::RenderText::absoluteRects): Ditto.
186         (WebCore::RenderText::lineBoxRects): Ditto.
187         * rendering/RenderView.h: Ditto.
188         * rendering/RenderView.cpp: (WebCore::RenderView::absoluteRects): Ditto.
189
190         * bridge/mac/FrameMac.mm:
191         (WebCore::FrameMac::attributedString): Updated to use Vector and changed to not
192         depend on getNSFont on a Font.
193         (WebCore::FrameMac::fontForSelection): Changed to not depend on Font::getNSFont.
194         (WebCore::FrameMac::fontAttributesForSelectionStart): Ditto.
195         (WebCore::convertAttributesToUnderlines): Updated to use Vector.
196         (WebCore::FrameMac::setMarkedTextRange): Ditto.
197         (WebCore::FrameMac::dashboardRegionsDictionary): Ditto.
198
199         * bridge/mac/WebCoreAXObject.mm:
200         (boundingBoxRect): Updated to use Vector.
201         (AXAttributeStringSetStyle): Changed to not depend on Font::getNSFont.
202
203         * bridge/mac/WebCoreStringTruncator.mm: Updated includes.
204         * page/Settings.h: Ditto.
205         * platform/mac/WebCoreTextRenderer.mm: Ditto.
206         * rendering/EllipsisBox.cpp: Ditto.
207
208         * editing/BreakBlockquoteCommand.cpp: (WebCore::BreakBlockquoteCommand::doApply):
209         Updated to use a Vector that we iterate in reverse order instead of a linked list
210         that we reverse by prepending elements instead of adding to the end.
211         * editing/InsertParagraphSeparatorCommand.cpp:
212         (WebCore::InsertParagraphSeparatorCommand::doApply): Ditto.
213
214         * loader/DocLoader.h: Removed unneeded include of DeprecatedPtrList.h.
215
216         * platform/Font.h: Moved TextStyle to a separate header. Removed Font::getNSFont.
217         * platform/Font.cpp: Changed to use const instead of #define.
218         (WebCore::Font::width): Overloaded this so we don't have a default parameter, which
219         eliminates the need to have TextStyle defined to compiler the Font.h header.
220
221         * platform/TextStyle.h: Added.
222
223         * platform/FontData.h: Added a forward declaration of ATSUStyle so this header
224         can stand alone.
225
226         * platform/FontFallbackList.h: Tweaks.
227         * platform/FontFallbackList.cpp: Tweaks.
228
229         * platform/FontFamily.h: Removed unneeded NSString declaration. Simplified class by
230         using Shared and RefPtr, which resulted in removing many explicit functions.
231         * platform/FontFamily.cpp: More of the same.
232
233         * platform/GlyphBuffer.h: Removed unneeded MAX_GLYPH_EXPANSION and GLYPH_BUFFER_SIZE
234         macros.
235
236         * platform/GlyphMap.h: Removed unneeded include of GlyphBuffer.h, which was included
237         only for the typedef of Glyph; there's no reason to not just repeat that typedef here
238         since C++ allows multiple typedefs if they match. Renamed the cGlyphPageSize constant
239         to GlyphPage::size.
240         * platform/GlyphMap.cpp: Changed NO_BREAK_SPACE and ZERO_WIDTH_SPACE macros into
241         constants. Updated for cGlyphPageSize change.
242         * platform/mac/GlyphMapMac.cpp: Updated for cGlyphPageSize change.
243
244         * platform/GlyphWidthMap.h: Removed unneeded include of GlyphBuffer.h, which was included
245         only for the typedef of Glyph; there's no reason to not just repeat that typedef here
246         since C++ allows multiple typedefs if they match. Renamed the cGlyphWidthPageSize constant
247         to GlyphWidthPage::size.
248         * platform/GlyphWidthMap.cpp: Updated for cGlyphWidthPageSize change.
249
250         * platform/GraphicsContext.h: Removed unneeded include of Font.h. Changed drawText
251         function to use overloading instead of default parameters to allow TextStyle to be optional.
252         This cuts the dependency on TextStyle.
253         * platform/GraphicsContext.cpp: (WebCore::GraphicsContext::drawText): Added overload.
254
255         * platform/Image.h: Removed unneeded forward declaration of IntSize.
256
257         * platform/mac/FontCacheMac.mm: (WebCore::FontCache::getFontDataForCharacters):
258         Changed to not depend on Font::getNSFont.
259         * platform/mac/ListBoxMac.mm: (-[WebCoreTableView fontChanged]): Ditto.
260         * platform/mac/TextFieldMac.mm: (-[NSSearchFieldCell _addStringToRecentSearches:]):
261         Ditto.
262         * rendering/RenderPopupMenuMac.mm:
263         (WebCore::RenderPopupMenuMac::showPopup): Ditto.
264         (WebCore::RenderPopupMenuMac::addGroupLabel): Ditto.
265         (WebCore::RenderPopupMenuMac::addOption): Ditto.
266
267         * platform/mac/FontDataMac.mm: Fixed includes. Converted a bunch of macros to be
268         constants and inline functions instead.
269
270         * platform/mac/FontMac.mm: Fixed includes.
271         * platform/mac/PopUpButtonMac.mm: Ditto.
272         * rendering/RenderMenuList.cpp: Ditto.
273         * rendering/RenderTextControl.cpp: Ditto.
274
275         * platform/mac/WebCoreSystemInterface.h: Fixes so this header stands alone and is
276         compatible with all 4 of C, ObjC, C++, ObjC++.
277
278 2006-09-05  MorganL  <morlmor@yahoocom>
279
280         Reviewed/landed by aroben.
281
282         Fixes bug 10743: Windows build is busted.
283
284         * WebCore.vcproj/WebCore/WebCore.vcproj:
285         * bridge/win/FrameWin.h:
286         * platform/ResourceLoaderInternal.h:
287         * platform/TextEncodingRegistry.cpp:
288         * platform/win/ResourceLoaderWin.cpp:
289         (WebCore::ResourceLoaderWndProc):
290         (WebCore::ResourceLoader::start):
291         * platform/win/TemporaryLinkStubs.cpp:
292         (FrameWin::markMisspellings):
293         (FrameWin::shouldChangeSelection):
294         (FrameWin::respondToChangedSelection):
295         (FrameWin::respondToChangedContents):
296         (RenderThemeWin::adjustMenuListStyle):
297
298 2006-09-05  Darin Adler  <darin@apple.com>
299
300         - some quick build fixes
301
302         * bridge/mac/WebCoreAXObject.mm: Remove use of WebCore::UChar.
303         * bridge/mac/WebCoreFrameBridge.mm: Ditto. Also remove include
304         of CharsetNames.h.
305         * css/CSSGrammar.y: Remove use of WebCore::UChar.
306         * platform/UChar.h: Back out WebCore::UChar for now.
307
308 2006-09-05  Darin Adler  <darin@apple.com>
309
310         Reviewed by Alexey.
311
312         - http://bugzilla.opendarwin.org/show_bug.cgi?id=10728
313           text encodings should work without a numeric ID
314
315         - includes a fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=10681
316           REGRESSION: Reproducible crash at Wikipedia
317
318         - fixed a bug where link elements would not set the charset properly for
319           CSS stylesheets they loaded
320
321         - converted DeprecatedString code paths that are related to decoding web
322           pages to use String instead, to ensure that conversion back and forth won't
323           hurt performance
324
325         Test: fast/encoding/css-link-charset.html
326         Test: fast/forms/form-data-encoding-normalization-overrun.html
327
328         Coverage for encoding issues is pretty good, so we probably don't need more
329         tests to land this. Our existing tests did find issues with this patch while
330         it was under development. And I suppose it would be nice to have even more tests.
331
332         * platform/TextEncoding.h:
333         * platform/TextEncoding.cpp:
334         (WebCore::addEncodingName): Added. Used to build up the set used by isJapanese.
335         (WebCore::TextEncoding::TextEncoding): Removed boolean "eight bit only" parameter and
336         added an overload for String as well as const char*. Simplified because now the only
337         data member is m_name -- calls the registry's atomicCanonicalTextEncodingName function
338         to make the name canonical (resolve aliases) and atomic (use a single pointer for each
339         encoding name so we can compare and hash efficiently).
340         (WebCore::TextEncoding::decode): Renamed from toUnicode. Just a simple wrapper on top
341         of TextDecoder that can be used when the data to decode is all present at once.
342         (WebCore::TextEncoding::encode): Renamed from fromUnicode. Handles the normalization and
343         then uses the registry to get a codec to handle the rest.
344         (WebCore::TextEncoding::usesVisualOrdering): New implementation that compares with the
345         name of the only encoding that uses visual ordering. We blur the concepts a bit so that
346         we treat the visual ordering and logical ordering variations as two separate encodings.
347         (WebCore::TextEncoding::isJapanese): New implementation that uses a set to efficiently
348         determine if an encoding is Japanese.
349         (WebCore::TextEncoding::backslashAsCurrencySymbol): New implementation that compares
350         with the names of the two encodings that have the strange backslash.
351         (WebCore::TextEncoding::closest8BitEquivalent): Added. Replaces the old "eight bit only"
352         boolean parameter to the constructor.
353         (WebCore::ASCIIEncoding): Added.
354         (WebCore::Latin1Encoding): Added.
355         (WebCore::UTF16BigEndianEncoding): Added.
356         (WebCore::UTF16LittleEndianEncoding): Added.
357         (WebCore::UTF8Encoding): Added.
358         (WebCore::WindowsLatin1Encoding): Added.
359
360         * platform/TextEncodingRegistry.h: Added.
361         * platform/TextEncodingRegistry.cpp: Added. Keeps a table of all the character set
362         aliases and names and another of all the codecs and parameters for each name.
363
364         * platform/TextDecoder.h: Added.
365         * platform/TextDecoder.cpp: Added. Contains logic to look for a BOM and hand the data
366         to the proper codec, based on code that used to be in both the ICU and Mac codecs.
367
368         * platform/StreamingTextDecoder.h: Renamed class to TextCodec. We'll rename
369         the files in a later check-in. Moved creation functions into TextEncodingRegistry.h.
370         Added typedefs of the registrar function types so classes derived from this one
371         can use them without including the TextEncodingRegistry header. Renamed toUnicode
372         and fromUnicode to decode and encode. Changed the parameter and return types so that
373         the parameters are pointers to the data and the return types are String and CString.
374         * platform/StreamingTextDecoder.cpp:
375         (WebCore::TextCodec::appendOmittingBOM): Added. Helper function used by multiple
376         classes derived from this one.
377
378         * platform/TextCodecLatin1.h: Added.
379         * platform/TextCodecLatin1.cpp: Added. Contains logic to handle encoding and decoding
380         Windows Latin-1, based on code that used to be in both the ICU and Mac codecs.
381
382         * platform/TextCodecUTF16.h: Added.
383         * platform/TextCodecUTF16.cpp: Added. Contains logic to handle encoding and decoding
384         UTF-16, based on code that used to be in both the ICU and Mac codecs.
385
386         * platform/StreamingTextDecoderICU.h: Renamed class to TextCodecICU. We'll rename
387         the files in a later check-in. Removed all the functions having to do with handling
388         BOM, UTF-16, and Latin-1; those are now handled elsewhere. Removed textEncodingSupported
389         because that's superseded by the registry. Added registry hook functions.
390         * platform/StreamingTextDecoderICU.cpp:
391         (WebCore::TextCodecICU::registerEncodingNames): Added. Registers all encodings that
392         ICU can handle with the "IANA" standard. Also includes a special case for a particular
393         type of encoding for Hebrew that uses logical ordering. Also includes aliases that are
394         not in ICU but that were historically known to WebKit for encodings that ICU handles. 
395         (WebCore::newTextCodecICU): Added. Used by registerCodecs.
396         (WebCore::TextCodecICU::registerCodecs): Added. Registers codecs for the same encodings
397         as above.
398         (WebCore::TextCodecICU::TextCodecICU): Much simplified since this now only handles the
399         actual ICU encoding and decoding.
400         (WebCore::TextCodecICU::~TextCodecICU): Renamed.
401         (WebCore::TextCodecICU::releaseICUConverter): Changed to be a const member function.
402         (WebCore::TextCodecICU::createICUConverter): Changed to be a const member function and
403         to check if the cached converter can be reused in a simpler way.
404         (WebCore::TextCodecICU::decode): Updated for changes to types.
405         (WebCore::TextCodecICU::encode): Updated for changes to types, and removed normalization
406         since this is now handled by the caller.
407
408         * platform/mac/StreamingTextDecoderMac.h: Renamed class to TextCodecMac. We'll rename
409         the files in a later check-in. Removed all the functions having to do with handling
410         BOM, UTF-16, and Latin-1; those are now handled elsewhere. Removed textEncodingSupported
411         because that's superseded by the registry. Added registry hook functions.
412         * platform/mac/StreamingTextDecoderMac.cpp:
413         (WebCore::TextCodecMac::registerEncodingNames): Added. Registers encodings based on
414         the charset table generated by the make-charset-table.pl perl script.
415         (WebCore::newTextCodecMac): Added. Used by registerCodecs.
416         (WebCore::TextCodecMac::registerCodecs): Added. Registers codecs for the same encodings
417         as above.
418         (WebCore::TextCodecMac::TextCodecMac): Much simplified since this now only handles the
419         actual TEC/CF encoding and decoding.
420         (WebCore::TextCodecMac::~TextCodecMac): Renamed.
421         (WebCore::TextCodecMac::releaseTECConverter): Changed to be a const member function.
422         (WebCore::TextCodecMac::createTECConverter): Changed to be a const member function.
423         (WebCore::TextCodecMac::decode): Updated for changes to types.
424         (WebCore::TextCodecMac::encode): Updated for changes to types, and removed normalization
425         since this is now handled by the caller.
426
427         * platform/mac/mac-encodings.txt: Removed most of the names in this file. This now
428         only includes encodings where we want to use Mac OS X Carbon Text Encoding Converter,
429         which is only encodings that are not supported by ICU.
430         * platform/make-charset-table.pl: Removed flags from output. We don't use them any more.
431         * platform/CharsetData.h: Changed from a platform-independent header into a
432         Macintosh-specific one. A later patch should move this and rename it. Also
433         subsumes ExtraCFEncodings.h.
434
435         * WebCore.xcodeproj/project.pbxproj: Added new files. Changed the prefix on the
436         "make character sets" rule to be kTextEncoding instead of kCFStringEncoding.
437
438         * loader/Decoder.h: Change the default encoding parameter to the constructor to be
439         a TextEncoding object. Renamed setEncodingName to setEncoding, and made it take a
440         TextEncoding for the encoding. Removed the encodingName and visuallyOrdered functions,
441         since TextEncoding supports both directly in a straightforward way. Changed both
442         decode and flush functions to return String instead of DeprecatedString. Added a
443         number of private functions to factor this class a bit more so it's easier to read.
444         Got rid of a number of redundant data members. Changed the buffer to a Vector<char>.
445         * loader/Decoder.cpp:
446         (WebCore::Decoder::determineContentType): Added. Used by constructor to determine
447         the content type based on the passed-in MIME type.
448         (WebCore::Decoder::defaultEncoding): Added. Used by constructor to determine the
449         default encoding based on the passed in default and the content type.
450         (WebCore::Decoder::Decoder): Changed to use the functions above. Also renamed
451         m_reachedBody to m_checkedForHeadCharset.
452         (WebCore::Decoder::setEncoding): Renamed and changed to take an encoding rather
453         than an encoding name.
454         (WebCore::Decoder::checkForBOM): Factored out of decode.
455         (WebCore::Decoder::checkForCSSCharset): Factored out of decode.
456         (WebCore::Decoder::checkForHeadCharset): Factored out of decode.
457         (WebCore::Decoder::detectJapaneseEncoding): Factored out of decode.
458         (WebCore::Decoder::decode): Refactored so it's no longer one huge function.
459         Changed to use the new Vector<char> and the new API for TextDecoder.
460         (WebCore::Decoder::flush): Added code to empty out the buffer. Not an issue in
461         practice since we don't re-use the decoder after flushing it.
462
463         * platform/UChar.h: Added. Has the type named WebCore::UChar that we'll be switching
464         to. We'll switch away from the ICU ::UChar type, because we don't want to be so
465         closely tied to ICU -- include this instead of <unicode/umachine.h>.
466
467         * platform/PlatformString.h:
468         * platform/String.cpp:
469         (WebCore::String::latin1): Updated for changes to TextEncoding.
470         (WebCore::String::utf8): Ditto.
471         (WebCore::String::newUninitialized): Added. Gives a way to create a String and
472         then write directly into its buffer.
473
474         * platform/StringImpl.h: Changed return value for charactersWithNullTermination to
475         be a const UChar*. While it's true that this function changes the underlying
476         StringImpl, the characters still shouldn't be modified with the returned pointer.
477         * platform/StringImpl.cpp:
478         (WebCore::StringImpl::charactersWithNullTermination): Updated for change above.
479         (WebCore::StringImpl::newUninitialized): Added. Gives a way to create a StringImpl
480         and then write directly into its buffer.
481
482         * platform/CString.h:
483         * platform/CString.cpp: (WebCore::CString::newUninitialized): Added. Gives a way
484         to create a CString and then write directly into its buffer.
485
486         * bridge/mac/WebCoreFrameBridge.h: Removed textEncoding method, and replaced
487         +[WebCoreFrameBridge stringWithData:textEncoding:] with
488         -[WebCoreFrameBridge stringWithData:] to avoid having to pass text encoding
489         IDs around.
490         * bridge/mac/WebCoreFrameBridge.mm:
491         (-[WebCoreFrameBridge setEncoding:userChosen:]): Removed now-unneeded conversion
492         to DeprecatedString.
493         (-[WebCoreFrameBridge stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
494         Ditto.
495         (-[WebCoreFrameBridge aeDescByEvaluatingJavaScriptFromString:]): Ditto.
496         (-[WebCoreFrameBridge referrer]): Removed now-unneeded call to getNSString.
497         (-[WebCoreFrameBridge stringWithData:]): Added. Asks the document's decoder
498         what its encoding is, and decodes using that.
499         (+[WebCoreFrameBridge stringWithData:textEncodingName:]): Simplified so it
500         no longer involved a text encoding ID number.
501         (-[WebCoreFrameBridge smartInsertForString:replacingRange:beforeString:afterString:]):
502         Changed to use UChar instead of DeprecatedChar.
503         (-[WebCoreFrameBridge documentFragmentWithMarkupString:baseURLString:]): Removed
504         now-unneeded conversion to DeprecatedString.
505         (-[WebCoreFrameBridge documentFragmentWithText:inContext:]): Ditto.
506
507         * html/HTMLFormElement.cpp:
508         (WebCore::encodeCString): Changed parameter to CString.
509         (WebCore::HTMLFormElement::formData): Updated code for improvements to TextEncoding.
510
511         * loader/CachedCSSStyleSheet.h:
512         * loader/CachedCSSStyleSheet.cpp:
513         (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet): Fixed mistake where the
514         decoder was created without passing in the character set. Also changed from
515         DeprecatedString to String.
516         (WebCore::CachedCSSStyleSheet::setCharset): More of the same.
517
518         * bindings/js/kjs_window.h: (KJS::ScheduledAction::ScheduledAction): Changed
519         to use String instead of DeprecatedString, UChar instead of DeprecatedChar,
520         CString instead of DeprecatedCString, etc.
521         * bridge/mac/FormDataMac.mm: (WebCore::arrayFromFormData): Ditto.
522         * bridge/mac/FrameMac.h: Ditto.
523         * bridge/mac/FrameMac.mm: (WebCore::FrameMac::isCharacterSmartReplaceExempt):
524         Ditto.
525         * bridge/mac/WebCoreAXObject.mm:
526         (-[WebCoreAXObject helpText]): Ditto.
527         (-[WebCoreAXObject value]): Ditto.
528         (-[WebCoreAXObject accessibilityDescription]): Ditto.
529         (-[WebCoreAXObject doAXStringForTextMarkerRange:]): Ditto.
530         * bridge/mac/WebCoreEncodings.mm: (+[WebCoreEncodings decodeData:]): Ditto.
531         Also fixed code that does a deref without a ref to use RefPtr instead.
532         * bridge/mac/WebCoreScriptDebugger.mm:
533         (-[WebCoreScriptCallFrame evaluateWebScript:]): Ditto.
534         * bridge/mac/WebCoreSettings.mm:
535         (-[WebCoreSettings setDefaultTextEncoding:]): Ditto.
536         * css/CSSImportRule.cpp: (WebCore::CSSImportRule::insertedIntoParent): Ditto.
537         * css/cssparser.cpp: (WebCore::CSSParser::lex): Ditto.
538         * dom/Document.h:
539         * dom/Document.cpp:
540         (WebCore::Document::setCharset): Ditto.
541         (WebCore::Document::write): Ditto.
542         (WebCore::Document::determineParseMode): Ditto.
543         * dom/ProcessingInstruction.cpp:
544         (WebCore::ProcessingInstruction::checkStyleSheet): Ditto.
545         * dom/XMLTokenizer.h:
546         * dom/XMLTokenizer.cpp:
547         (WebCore::shouldAllowExternalLoad): Ditto.
548         (WebCore::createStringParser): Ditto.
549         (WebCore::XMLTokenizer::write): Ditto.
550         (WebCore::toString): Ditto.
551         (WebCore::handleElementAttributes): Ditto.
552         (WebCore::XMLTokenizer::startElementNs): Ditto.
553         (WebCore::XMLTokenizer::endElementNs): Ditto.
554         (WebCore::XMLTokenizer::characters): Ditto.
555         (WebCore::XMLTokenizer::processingInstruction): Ditto.
556         (WebCore::XMLTokenizer::cdataBlock): Ditto.
557         (WebCore::XMLTokenizer::comment): Ditto.
558         (WebCore::XMLTokenizer::internalSubset): Ditto.
559         (WebCore::getXHTMLEntity): Ditto.
560         (WebCore::externalSubsetHandler): Ditto.
561         (WebCore::XMLTokenizer::initializeParserContext): Ditto.
562         (WebCore::XMLTokenizer::notifyFinished): Ditto.
563         (WebCore::xmlDocPtrForString): Ditto.
564         (WebCore::parseXMLDocumentFragment): Ditto.
565         (WebCore::attributesStartElementNsHandler): Ditto.
566         (WebCore::parseAttributes): Ditto.
567         * html/FormDataList.h:
568         * html/FormDataList.cpp:
569         (WebCore::FormDataList::appendString): Ditto. Also changed to call the
570         encoding function by its new name and with new parameters.
571         (WebCore::FormDataList::appendFile): Ditto.
572         * html/HTMLDocument.h:
573         * html/HTMLDocument.cpp:
574         (WebCore::parseDocTypePart): Ditto.
575         (WebCore::containsString): Ditto.
576         (WebCore::parseDocTypeDeclaration): Ditto.
577         (WebCore::HTMLDocument::determineParseMode): Ditto.
578         * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::appendFormData): Ditto.
579         * html/HTMLScriptElement.cpp:
580         (WebCore::HTMLScriptElement::parseMappedAttribute): Ditto.
581         * html/HTMLTokenizer.h:
582         * html/HTMLTokenizer.cpp:
583         (WebCore::HTMLTokenizer::scriptHandler): Ditto.
584         (WebCore::HTMLTokenizer::parseTag): Ditto.
585         (WebCore::HTMLTokenizer::write): Ditto.
586         (WebCore::HTMLTokenizer::finish): Ditto.
587         (WebCore::parseHTMLDocumentFragment): Ditto.
588         * loader/Cache.h:
589         * loader/Cache.cpp:
590         (WebCore::Cache::requestStyleSheet): Ditto.
591         (WebCore::Cache::requestScript): Ditto.
592         * loader/CachedResource.h: Ditto.
593         * loader/CachedScript.h:
594         * loader/CachedScript.cpp:
595         (WebCore::CachedScript::CachedScript): Ditto.
596         (WebCore::CachedScript::ref): Ditto.
597         (WebCore::CachedScript::deref): Ditto.
598         (WebCore::CachedScript::setCharset): Ditto.
599         (WebCore::CachedScript::data): Ditto.
600         (WebCore::CachedScript::checkNotify): Ditto.
601         * loader/CachedXBLDocument.h:
602         * loader/CachedXBLDocument.cpp:
603         (WebCore::CachedXBLDocument::setCharset): Ditto.
604         * loader/CachedXSLStyleSheet.h:
605         * loader/CachedXSLStyleSheet.cpp:
606         (WebCore::CachedXSLStyleSheet::setCharset): Ditto.
607         * loader/DocLoader.cpp:
608         (WebCore::DocLoader::requestStyleSheet): Ditto.
609         (WebCore::DocLoader::requestScript): Ditto.
610         * loader/DocLoader.h: Ditto.
611         * loader/FormData.h:
612         * loader/FormData.cpp:
613         (WebCore::FormData::FormData): Ditto.
614         (WebCore::FormData::appendFile): Ditto.
615         (WebCore::FormData::flattenToString): Ditto.
616         * page/Frame.h:
617         * page/FramePrivate.h:
618         * page/Frame.cpp:
619         (WebCore::UserStyleSheetLoader::setStyleSheet): Ditto.
620         (WebCore::getString): Ditto.
621         (WebCore::Frame::replaceContentsWithScriptResult): Ditto.
622         (WebCore::Frame::executeScript): Ditto.
623         (WebCore::Frame::clear): Ditto.
624         (WebCore::Frame::write): Ditto.
625         (WebCore::Frame::endIfNotLoading): Ditto.
626         (WebCore::Frame::baseTarget): Ditto.
627         (WebCore::Frame::scheduleRedirection): Ditto.
628         (WebCore::Frame::scheduleLocationChange): Ditto.
629         (WebCore::Frame::scheduleHistoryNavigation): Ditto.
630         (WebCore::Frame::changeLocation): Ditto.
631         (WebCore::Frame::redirectionTimerFired): Ditto.
632         (WebCore::Frame::encoding): Ditto.
633         (WebCore::Frame::submitForm): Ditto.
634         (WebCore::Frame::referrer): Ditto.
635         (WebCore::Frame::isCharacterSmartReplaceExempt): Ditto.
636         (WebCore::Frame::setEncoding): Ditto.
637         * page/Settings.h: Ditto.
638         * platform/SegmentedString.h: Ditto.
639         * platform/SegmentedString.cpp: Ditto.
640         * xml/XSLStyleSheet.cpp: (WebCore::XSLStyleSheet::parseString): Ditto.
641         * xml/XSLTProcessor.cpp:
642         (WebCore::transformTextStringToXHTMLDocumentString): Ditto.
643         (WebCore::XSLTProcessor::createDocumentFromSource): Ditto.
644         * xml/xmlhttprequest.h:
645         * xml/xmlhttprequest.cpp:
646         (WebCore::XMLHttpRequest::open): Ditto.
647         (WebCore::XMLHttpRequest::send): Ditto.
648         (WebCore::XMLHttpRequest::receivedData): Ditto.
649
650         * platform/DeprecatedString.cpp:
651         (WebCore::DeprecatedString::fromUtf8): Updated for changes to TextEncoding.
652         (WebCore::DeprecatedString::utf8): Ditto.
653
654         * platform/KURL.h:
655         * platform/KURL.cpp:
656         (WebCore::KURL::KURL): Updated to overload based on presence or absence of
657         TextEncoding rather than having a default.
658         (WebCore::KURL::init): Moved body of constructor in here. Updated to use
659         the new TextEncoding interface.
660         (WebCore::KURL::decode_string): Updated to overload based on presence or
661         absence of TextEncoding rather than having a default. Updated to use
662         the new TextEncoding interface.
663         (WebCore::encodeRelativeString): Updated to use the new TextEncoding interface.
664
665         * platform/Font.cpp: (WebCore::WidthIterator::normalizeVoicingMarks): Fixed
666         code to use U_ZERO_ERROR instead of a typecast.
667
668         * bindings/js/kjs_proxy.h: Removed unneeded declaration of DeprecatedString.
669         * platform/GraphicsContext.h: Ditto.
670
671         * platform/GraphicsContext.cpp: Removed unneeded include of "DeprecatedString.h".
672         * rendering/break_lines.cpp: Ditto.
673         * xml/XMLSerializer.cpp: Ditto.
674
675         * platform/mac/FontDataMac.mm: Removed unneeded include of <unicode/unorm.h>.
676
677         * platform/CharsetNames.h: Emptied out this file. A later patch could remove it.
678         * platform/CharsetNames.cpp: Ditto.
679         * platform/mac/ExtraCFEncodings.h: Ditto.
680
681 2006-09-05  Nikolas Zimmermann  <zimmermann@kde.org>
682
683         Reviewed by eseidel.  Landed by eseidel.
684
685         Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10490
686
687         -> Remove all SVGAnimated* usage from ksvg2.
688         This is all done using a set of macros which live in svg/SVGElement.h
689         (ANIMATED_PROPERTY_DECLARATIONS / ANIMATED_PROPERTY_DEFINITIONS).
690         Transform all properties to this new concept using Eric ruby script.
691
692         -> Replace all usages of "property()->baseVal()" with "propertyBaseValue()".
693         -> Replace all usages of "property()->setBaseVal()" with "setPropertyBaseValue()".
694
695         -> Add "virtual const SVGElement* contextElement() const".
696         This concept allows to access the document (needed to access the SVGDocumentExtensions)
697         from lowest-base-classes like SVGURIReference / SVGExternalResourcesRequired etc.
698
699         These classes contain this contextElement() function as pure virtual functions.
700         The topmost classes (like SVGCircleElement) implement this function with "return this".
701
702         -> Move default value initialization to constructors.
703         As the lazy_create usage, which was involved in default property initialization,
704         has been removed, we need to do the initialization in the constructor.
705         
706         This forces us to fix the SVGLength class, as calling viewportElement() from the
707         constructor does not work. This SVGLength cleanup is one of the next things to fix.
708
709         * bindings/scripts/CodeGeneratorJS.pm:
710         * kcanvas/RenderForeignObject.cpp:
711         (WebCore::RenderForeignObject::translationForAttributes):
712         * kcanvas/RenderSVGImage.cpp:
713         (WebCore::RenderSVGImage::paint):
714         (WebCore::RenderSVGImage::relativeBBox):
715         (WebCore::RenderSVGImage::getAbsoluteRepaintRect):
716         (WebCore::RenderSVGImage::translationForAttributes):
717         * kcanvas/RenderSVGText.cpp:
718         (WebCore::RenderSVGText::translationForAttributes):
719         * ksvg2/misc/KSVGTimeScheduler.cpp:
720         (WebCore::SVGTimer::notifyAll):
721         * ksvg2/misc/SVGDocumentExtensions.cpp:
722         * ksvg2/misc/SVGDocumentExtensions.h:
723         (WebCore::SVGDocumentExtensions::baseValueMap):
724         (WebCore::SVGDocumentExtensions::baseValue):
725         (WebCore::SVGDocumentExtensions::setBaseValue):
726         (WebCore::SVGDocumentExtensions::hasBaseValue):
727         (WebCore::String):
728         (WebCore::bool):
729         (WebCore::double):
730         * ksvg2/misc/SVGImageLoader.cpp:
731         (WebCore::SVGImageLoader::updateFromElement):
732         * ksvg2/svg/SVGAElement.cpp:
733         (WebCore::SVGAElement::parseMappedAttribute):
734         (WebCore::SVGAElement::defaultEventHandler):
735         * ksvg2/svg/SVGAElement.h:
736         (WebCore::SVGAElement::contextElement):
737         * ksvg2/svg/SVGAnimateColorElement.h:
738         (WebCore::SVGAnimateColorElement::contextElement):
739         * ksvg2/svg/SVGAnimateElement.h:
740         (WebCore::SVGAnimateElement::contextElement):
741         * ksvg2/svg/SVGAnimateTransformElement.cpp:
742         (WebCore::SVGAnimateTransformElement::handleTimerEvent):
743         (WebCore::SVGAnimateTransformElement::initialMatrix):
744         * ksvg2/svg/SVGAnimateTransformElement.h:
745         (WebCore::SVGAnimateTransformElement::contextElement):
746         * ksvg2/svg/SVGCircleElement.cpp:
747         (SVGCircleElement::SVGCircleElement):
748         (SVGCircleElement::parseMappedAttribute):
749         (SVGCircleElement::toPathData):
750         (SVGCircleElement::pushAttributeContext):
751         * ksvg2/svg/SVGCircleElement.h:
752         (WebCore::SVGCircleElement::contextElement):
753         * ksvg2/svg/SVGClipPathElement.cpp:
754         (SVGClipPathElement::SVGClipPathElement):
755         (SVGClipPathElement::parseMappedAttribute):
756         (SVGClipPathElement::canvasResource):
757         * ksvg2/svg/SVGClipPathElement.h:
758         (WebCore::SVGClipPathElement::contextElement):
759         * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
760         (SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement):
761         (SVGComponentTransferFunctionElement::parseMappedAttribute):
762         (SVGComponentTransferFunctionElement::transferFunction):
763         * ksvg2/svg/SVGComponentTransferFunctionElement.h:
764         * ksvg2/svg/SVGCursorElement.cpp:
765         (SVGCursorElement::SVGCursorElement):
766         (SVGCursorElement::parseMappedAttribute):
767         * ksvg2/svg/SVGCursorElement.h:
768         (WebCore::SVGCursorElement::contextElement):
769         * ksvg2/svg/SVGDefsElement.h:
770         (WebCore::SVGDefsElement::contextElement):
771         * ksvg2/svg/SVGElement.h:
772         * ksvg2/svg/SVGEllipseElement.cpp:
773         (WebCore::SVGEllipseElement::SVGEllipseElement):
774         (WebCore::SVGEllipseElement::parseMappedAttribute):
775         (WebCore::SVGEllipseElement::toPathData):
776         (WebCore::SVGEllipseElement::pushAttributeContext):
777         * ksvg2/svg/SVGEllipseElement.h:
778         (WebCore::SVGEllipseElement::contextElement):
779         * ksvg2/svg/SVGExternalResourcesRequired.cpp:
780         (WebCore::SVGExternalResourcesRequired::SVGExternalResourcesRequired):
781         (WebCore::SVGExternalResourcesRequired::parseMappedAttribute):
782         * ksvg2/svg/SVGExternalResourcesRequired.h:
783         * ksvg2/svg/SVGFEBlendElement.cpp:
784         (SVGFEBlendElement::SVGFEBlendElement):
785         (SVGFEBlendElement::parseMappedAttribute):
786         (SVGFEBlendElement::filterEffect):
787         * ksvg2/svg/SVGFEBlendElement.h:
788         (WebCore::SVGFEBlendElement::contextElement):
789         * ksvg2/svg/SVGFEColorMatrixElement.cpp:
790         (SVGFEColorMatrixElement::SVGFEColorMatrixElement):
791         (SVGFEColorMatrixElement::parseMappedAttribute):
792         (SVGFEColorMatrixElement::filterEffect):
793         * ksvg2/svg/SVGFEColorMatrixElement.h:
794         (WebCore::SVGFEColorMatrixElement::contextElement):
795         * ksvg2/svg/SVGFEComponentTransferElement.cpp:
796         (SVGFEComponentTransferElement::SVGFEComponentTransferElement):
797         (SVGFEComponentTransferElement::parseMappedAttribute):
798         (SVGFEComponentTransferElement::filterEffect):
799         * ksvg2/svg/SVGFEComponentTransferElement.h:
800         (WebCore::SVGFEComponentTransferElement::contextElement):
801         * ksvg2/svg/SVGFECompositeElement.cpp:
802         (SVGFECompositeElement::SVGFECompositeElement):
803         (SVGFECompositeElement::parseMappedAttribute):
804         (SVGFECompositeElement::filterEffect):
805         * ksvg2/svg/SVGFECompositeElement.h:
806         (WebCore::SVGFECompositeElement::contextElement):
807         * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
808         (WebCore::SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement):
809         (WebCore::SVGFEDiffuseLightingElement::parseMappedAttribute):
810         (WebCore::SVGFEDiffuseLightingElement::filterEffect):
811         * ksvg2/svg/SVGFEDiffuseLightingElement.h:
812         (WebCore::SVGFEDiffuseLightingElement::contextElement):
813         * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
814         (SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
815         (SVGFEDisplacementMapElement::parseMappedAttribute):
816         (SVGFEDisplacementMapElement::filterEffect):
817         * ksvg2/svg/SVGFEDisplacementMapElement.h:
818         (WebCore::SVGFEDisplacementMapElement::contextElement):
819         * ksvg2/svg/SVGFEDistantLightElement.cpp:
820         (WebCore::SVGFEDistantLightElement::lightSource):
821         * ksvg2/svg/SVGFEFloodElement.cpp:
822         (SVGFEFloodElement::parseMappedAttribute):
823         (SVGFEFloodElement::filterEffect):
824         * ksvg2/svg/SVGFEFloodElement.h:
825         (WebCore::SVGFEFloodElement::contextElement):
826         * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
827         (SVGFEGaussianBlurElement::SVGFEGaussianBlurElement):
828         (SVGFEGaussianBlurElement::parseMappedAttribute):
829         (SVGFEGaussianBlurElement::filterEffect):
830         * ksvg2/svg/SVGFEGaussianBlurElement.h:
831         (WebCore::SVGFEGaussianBlurElement::contextElement):
832         * ksvg2/svg/SVGFEImageElement.cpp:
833         (SVGFEImageElement::SVGFEImageElement):
834         (SVGFEImageElement::parseMappedAttribute):
835         * ksvg2/svg/SVGFEImageElement.h:
836         (WebCore::SVGFEImageElement::contextElement):
837         * ksvg2/svg/SVGFELightElement.cpp:
838         (SVGFELightElement::SVGFELightElement):
839         (SVGFELightElement::parseMappedAttribute):
840         * ksvg2/svg/SVGFELightElement.h:
841         * ksvg2/svg/SVGFEMergeElement.cpp:
842         (SVGFEMergeElement::SVGFEMergeElement):
843         (SVGFEMergeElement::filterEffect):
844         * ksvg2/svg/SVGFEMergeElement.h:
845         (WebCore::SVGFEMergeElement::contextElement):
846         * ksvg2/svg/SVGFEMergeNodeElement.cpp:
847         (SVGFEMergeNodeElement::parseMappedAttribute):
848         * ksvg2/svg/SVGFEMergeNodeElement.h:
849         (WebCore::SVGFEMergeNodeElement::contextElement):
850         * ksvg2/svg/SVGFEOffsetElement.cpp:
851         (SVGFEOffsetElement::SVGFEOffsetElement):
852         (SVGFEOffsetElement::parseMappedAttribute):
853         (SVGFEOffsetElement::filterEffect):
854         * ksvg2/svg/SVGFEOffsetElement.h:
855         (WebCore::SVGFEOffsetElement::contextElement):
856         * ksvg2/svg/SVGFEPointLightElement.cpp:
857         (WebCore::SVGFEPointLightElement::lightSource):
858         * ksvg2/svg/SVGFESpecularLightingElement.cpp:
859         (SVGFESpecularLightingElement::SVGFESpecularLightingElement):
860         (SVGFESpecularLightingElement::parseMappedAttribute):
861         (SVGFESpecularLightingElement::filterEffect):
862         * ksvg2/svg/SVGFESpecularLightingElement.h:
863         (WebCore::SVGFESpecularLightingElement::contextElement):
864         * ksvg2/svg/SVGFESpotLightElement.cpp:
865         (WebCore::SVGFESpotLightElement::lightSource):
866         * ksvg2/svg/SVGFETileElement.cpp:
867         (SVGFETileElement::parseMappedAttribute):
868         (SVGFETileElement::filterEffect):
869         * ksvg2/svg/SVGFETileElement.h:
870         (WebCore::SVGFETileElement::contextElement):
871         * ksvg2/svg/SVGFETurbulenceElement.cpp:
872         (SVGFETurbulenceElement::SVGFETurbulenceElement):
873         (SVGFETurbulenceElement::parseMappedAttribute):
874         (SVGFETurbulenceElement::filterEffect):
875         * ksvg2/svg/SVGFETurbulenceElement.h:
876         (WebCore::SVGFETurbulenceElement::contextElement):
877         * ksvg2/svg/SVGFilterElement.cpp:
878         (SVGFilterElement::SVGFilterElement):
879         (SVGFilterElement::parseMappedAttribute):
880         (SVGFilterElement::canvasResource):
881         * ksvg2/svg/SVGFilterElement.h:
882         (WebCore::SVGFilterElement::contextElement):
883         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp:
884         (SVGFilterPrimitiveStandardAttributes::SVGFilterPrimitiveStandardAttributes):
885         (SVGFilterPrimitiveStandardAttributes::~SVGFilterPrimitiveStandardAttributes):
886         (SVGFilterPrimitiveStandardAttributes::parseMappedAttribute):
887         (SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
888         * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h:
889         (WebCore::SVGFilterPrimitiveStandardAttributes::contextElement):
890         * ksvg2/svg/SVGFitToViewBox.cpp:
891         (WebCore::SVGFitToViewBox::SVGFitToViewBox):
892         (WebCore::SVGFitToViewBox::parseViewBox):
893         (WebCore::SVGFitToViewBox::viewBoxToViewTransform):
894         (WebCore::SVGFitToViewBox::parseMappedAttribute):
895         * ksvg2/svg/SVGFitToViewBox.h:
896         * ksvg2/svg/SVGForeignObjectElement.cpp:
897         (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
898         (WebCore::SVGForeignObjectElement::parseMappedAttribute):
899         * ksvg2/svg/SVGForeignObjectElement.h:
900         (WebCore::SVGForeignObjectElement::isValid):
901         (WebCore::SVGForeignObjectElement::contextElement):
902         * ksvg2/svg/SVGGElement.h:
903         (WebCore::SVGGElement::contextElement):
904         * ksvg2/svg/SVGGradientElement.cpp:
905         (SVGGradientElement::SVGGradientElement):
906         (SVGGradientElement::parseMappedAttribute):
907         (SVGGradientElement::rebuildStops):
908         * ksvg2/svg/SVGGradientElement.h:
909         * ksvg2/svg/SVGHelper.cpp:
910         (WebCore::SVGHelper::PercentageOfViewport):
911         * ksvg2/svg/SVGImageElement.cpp:
912         (SVGImageElement::SVGImageElement):
913         (SVGImageElement::parseMappedAttribute):
914         (SVGImageElement::haveLoadedRequiredResources):
915         * ksvg2/svg/SVGImageElement.h:
916         (WebCore::SVGImageElement::contextElement):
917         * ksvg2/svg/SVGLangSpace.h:
918         * ksvg2/svg/SVGLength.cpp:
919         * ksvg2/svg/SVGLineElement.cpp:
920         (SVGLineElement::SVGLineElement):
921         (SVGLineElement::parseMappedAttribute):
922         (SVGLineElement::toPathData):
923         (SVGLineElement::pushAttributeContext):
924         * ksvg2/svg/SVGLineElement.h:
925         (WebCore::SVGLineElement::contextElement):
926         * ksvg2/svg/SVGLinearGradientElement.cpp:
927         (SVGLinearGradientElement::SVGLinearGradientElement):
928         (SVGLinearGradientElement::parseMappedAttribute):
929         (SVGLinearGradientElement::buildGradient):
930         * ksvg2/svg/SVGLinearGradientElement.h:
931         (WebCore::SVGLinearGradientElement::contextElement):
932         * ksvg2/svg/SVGMarkerElement.cpp:
933         (WebCore::SVGMarkerElement::SVGMarkerElement):
934         (WebCore::SVGMarkerElement::parseMappedAttribute):
935         (WebCore::SVGMarkerElement::setOrientToAuto):
936         (WebCore::SVGMarkerElement::setOrientToAngle):
937         (WebCore::SVGMarkerElement::canvasResource):
938         * ksvg2/svg/SVGMarkerElement.h:
939         (WebCore::SVGMarkerElement::contextElement):
940         * ksvg2/svg/SVGMaskElement.cpp:
941         (WebCore::SVGMaskElement::SVGMaskElement):
942         (WebCore::SVGMaskElement::attributeChanged):
943         (WebCore::SVGMaskElement::parseMappedAttribute):
944         (WebCore::SVGMaskElement::drawMaskerContent):
945         * ksvg2/svg/SVGMaskElement.h:
946         (WebCore::SVGMaskElement::contextElement):
947         * ksvg2/svg/SVGPathElement.cpp:
948         (WebCore::SVGPathElement::SVGPathElement):
949         * ksvg2/svg/SVGPathElement.h:
950         (WebCore::SVGPathElement::isValid):
951         (WebCore::SVGPathElement::contextElement):
952         * ksvg2/svg/SVGPatternElement.cpp:
953         (WebCore::SVGPatternElement::SVGPatternElement):
954         (WebCore::SVGPatternElement::parseMappedAttribute):
955         (WebCore::SVGPatternElement::pushAttributeContext):
956         (WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
957         (WebCore::SVGPatternElement::drawPatternContentIntoTile):
958         (WebCore::SVGPatternElement::notifyAttributeChange):
959         (WebCore::SVGPatternElement::getCTM):
960         * ksvg2/svg/SVGPatternElement.h:
961         (WebCore::SVGPatternElement::contextElement):
962         * ksvg2/svg/SVGPolyElement.h:
963         (WebCore::SVGPolyElement::contextElement):
964         * ksvg2/svg/SVGRadialGradientElement.cpp:
965         (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
966         (WebCore::SVGRadialGradientElement::~SVGRadialGradientElement):
967         (WebCore::SVGRadialGradientElement::parseMappedAttribute):
968         (WebCore::SVGRadialGradientElement::buildGradient):
969         * ksvg2/svg/SVGRadialGradientElement.h:
970         (WebCore::SVGRadialGradientElement::contextElement):
971         * ksvg2/svg/SVGRectElement.cpp:
972         (WebCore::SVGRectElement::SVGRectElement):
973         (WebCore::SVGRectElement::parseMappedAttribute):
974         (WebCore::SVGRectElement::toPathData):
975         (WebCore::SVGRectElement::pushAttributeContext):
976         * ksvg2/svg/SVGRectElement.h:
977         (WebCore::SVGRectElement::contextElement):
978         * ksvg2/svg/SVGSVGElement.cpp:
979         (WebCore::SVGSVGElement::SVGSVGElement):
980         (WebCore::SVGSVGElement::~SVGSVGElement):
981         (WebCore::SVGSVGElement::viewport):
982         (WebCore::SVGSVGElement::parseMappedAttribute):
983         (WebCore::SVGSVGElement::getCTM):
984         (WebCore::SVGSVGElement::getScreenCTM):
985         (WebCore::SVGSVGElement::createRenderer):
986         * ksvg2/svg/SVGSVGElement.h:
987         (WebCore::SVGSVGElement::contextElement):
988         * ksvg2/svg/SVGScriptElement.h:
989         (WebCore::SVGScriptElement::contextElement):
990         * ksvg2/svg/SVGSetElement.h:
991         (WebCore::SVGSetElement::contextElement):
992         * ksvg2/svg/SVGStopElement.cpp:
993         (SVGStopElement::SVGStopElement):
994         (SVGStopElement::parseMappedAttribute):
995         * ksvg2/svg/SVGStopElement.h:
996         * ksvg2/svg/SVGStylable.h:
997         * ksvg2/svg/SVGStyledElement.cpp:
998         * ksvg2/svg/SVGStyledElement.h:
999         * ksvg2/svg/SVGStyledTransformableElement.cpp:
1000         (SVGStyledTransformableElement::SVGStyledTransformableElement):
1001         (SVGStyledTransformableElement::parseMappedAttribute):
1002         * ksvg2/svg/SVGStyledTransformableElement.h:
1003         * ksvg2/svg/SVGSwitchElement.cpp:
1004         * ksvg2/svg/SVGSwitchElement.h:
1005         (WebCore::SVGSwitchElement::contextElement):
1006         * ksvg2/svg/SVGSymbolElement.h:
1007         (WebCore::SVGSymbolElement::contextElement):
1008         * ksvg2/svg/SVGTRefElement.cpp:
1009         (SVGTRefElement::updateReferencedText):
1010         * ksvg2/svg/SVGTRefElement.h:
1011         (WebCore::SVGTRefElement::contextElement):
1012         * ksvg2/svg/SVGTSpanElement.h:
1013         (WebCore::SVGTSpanElement::contextElement):
1014         * ksvg2/svg/SVGTextContentElement.cpp:
1015         (SVGTextContentElement::SVGTextContentElement):
1016         (SVGTextContentElement::parseMappedAttribute):
1017         * ksvg2/svg/SVGTextContentElement.h:
1018         * ksvg2/svg/SVGTextElement.cpp:
1019         (WebCore::SVGTextElement::SVGTextElement):
1020         (WebCore::SVGTextElement::parseMappedAttribute):
1021         * ksvg2/svg/SVGTextElement.h:
1022         (WebCore::SVGTextElement::contextElement):
1023         * ksvg2/svg/SVGTextPositioningElement.cpp:
1024         (SVGTextPositioningElement::SVGTextPositioningElement):
1025         (SVGTextPositioningElement::parseMappedAttribute):
1026         * ksvg2/svg/SVGTextPositioningElement.h:
1027         * ksvg2/svg/SVGTransformable.cpp:
1028         * ksvg2/svg/SVGTransformable.h:
1029         * ksvg2/svg/SVGURIReference.cpp:
1030         (SVGURIReference::parseMappedAttribute):
1031         * ksvg2/svg/SVGURIReference.h:
1032         * ksvg2/svg/SVGUseElement.cpp:
1033         (SVGUseElement::SVGUseElement):
1034         (SVGUseElement::parseMappedAttribute):
1035         (SVGUseElement::closeRenderer):
1036         * ksvg2/svg/SVGUseElement.h:
1037         (WebCore::SVGUseElement::contextElement):
1038         * ksvg2/svg/SVGViewElement.h:
1039         (WebCore::SVGViewElement::contextElement):
1040
1041 2006-09-05  Eric Seidel  <eric@eseidel.com>
1042
1043         Reviewed by aroben.
1044
1045         Speed up path parsing by removing string copies.
1046         http://bugzilla.opendarwin.org/show_bug.cgi?id=10722
1047         
1048         Tests already cover path parsing.
1049
1050         * ksvg2/svg/SVGFitToViewBox.cpp:
1051         (WebCore::SVGFitToViewBox::parseViewBox):
1052         * ksvg2/svg/svgpathparser.cpp:
1053         (WebCore::skipOptionalSpaces): Added.
1054         (WebCore::skipOptionalSpacesOrComma): Added.
1055         (WebCore::parseCoord):
1056         (WebCore::SVGPolyParser::parsePoints):
1057         (WebCore::SVGPathParser::parseSVG):
1058
1059 2006-09-05  Sam Weinig  <sam.weinig@gmail.com>
1060
1061         Reviewed by Tim H.
1062
1063         Patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10742
1064         More Objective-C DOM auto-generation cleanup
1065         
1066         - Factor out implementation type-getters into their own function 
1067           and standardize naming as was done for type-makers (ie. HTML 
1068           and CSS prefixing for method names).
1069
1070         * bindings/objc/DOMCSS.mm:
1071         (-[DOMCSSStyleDeclaration getPropertyShorthand:]):
1072         (-[DOMCSSStyleDeclaration isPropertyImplicit:]):
1073         (-[DOMCSSStyleDeclaration _CSSStyleDeclaration]):
1074         * bindings/objc/DOMHTML.mm:
1075         (-[DOMHTMLTableCaptionElement _HTMLTableCaptionElement]):
1076         (-[DOMHTMLTableSectionElement _HTMLTableSectionElement]):
1077         (-[DOMHTMLTableElement _HTMLTableElement]):
1078         (-[DOMHTMLTableCellElement _HTMLTableCellElement]):
1079         (-[DOMHTMLEmbedElement _HTMLEmbedElement]):
1080         (-[DOMHTMLEmbedElement align]):
1081         (-[DOMHTMLEmbedElement setAlign:]):
1082         (-[DOMHTMLEmbedElement height]):
1083         (-[DOMHTMLEmbedElement setHeight:]):
1084         (-[DOMHTMLEmbedElement name]):
1085         (-[DOMHTMLEmbedElement setName:]):
1086         (-[DOMHTMLEmbedElement src]):
1087         (-[DOMHTMLEmbedElement setSrc:]):
1088         (-[DOMHTMLEmbedElement type]):
1089         (-[DOMHTMLEmbedElement setType:]):
1090         (-[DOMHTMLEmbedElement width]):
1091         (-[DOMHTMLEmbedElement setWidth:]):
1092         * bindings/objc/DOMInternal.h:
1093         * bindings/scripts/CodeGeneratorObjC.pm:
1094         * bridge/mac/WebCoreFrameBridge.mm:
1095         (-[WebCoreFrameBridge setTypingStyle:withUndoAction:]):
1096         (-[WebCoreFrameBridge applyStyle:withUndoAction:]):
1097         (-[WebCoreFrameBridge applyParagraphStyle:withUndoAction:]):
1098         (-[WebCoreFrameBridge selectionStartHasStyle:]):
1099         (-[WebCoreFrameBridge selectionHasStyle:]):
1100
1101 2006-09-05  Adele Peterson  <adele@apple.com>
1102
1103         Reviewed by Adam.
1104
1105         Removed dead code for password field.
1106
1107         * platform/mac/TextFieldMac.mm: (-[NSSearchFieldCell _addStringToRecentSearches:]):
1108         * platform/mac/WebCoreTextField.h:
1109         * platform/mac/WebCoreTextField.mm:
1110
1111 2006-09-05  Justin Garcia  <justin.garcia@apple.com>
1112
1113         Reviewed by thatcher
1114         
1115         Setup for <rdar://problem/4344550> Misspellings aren't marked after undo delete
1116         
1117         Fixes:
1118         <http://bugzilla.opendarwin.org/show_bug.cgi?id=6498>
1119         SelectionController's setters should notify delegates of selection changes
1120         
1121         Moved setSelection from Frame to SelectionController.
1122         I haven't moved any of the work that's done as a result of a 
1123         Selection change to SelectionController yet.
1124         Make fewer uses of SelectionControllers.  They're now only used for 
1125         the Frame's selection, the Page's drag caret, and functions that
1126         need to do Selection expansion.
1127
1128         * bindings/js/kjs_window.cpp:
1129         (KJS::Selection::getValueProperty):
1130         (KJS::Selection::toString):
1131         (KJS::SelectionFunc::callAsFunction):
1132         * bridge/mac/FrameMac.h:
1133         * bridge/mac/FrameMac.mm:
1134         (WebCore::FrameMac::advanceToNextMisspelling):
1135         (WebCore::FrameMac::dispatchCPPEvent):
1136         (WebCore::FrameMac::fontForSelection):
1137         (WebCore::FrameMac::baseWritingDirectionForSelectionStart):
1138         (WebCore::FrameMac::markMisspellingsInAdjacentWords):
1139         (WebCore::FrameMac::markMisspellings):
1140         (WebCore::FrameMac::respondToChangedSelection):
1141         (WebCore::FrameMac::shouldChangeSelection):
1142         (WebCore::FrameMac::shouldDeleteSelection):
1143         (WebCore::FrameMac::respondToChangedContents):
1144         * bridge/mac/PageMac.mm:
1145         (WebCore::Page::Page):
1146         * bridge/mac/WebCoreAXObject.mm:
1147         (-[WebCoreAXObject accessibilityAttributeValue:]):
1148         (-[WebCoreAXObject doAXTextMarkerRangeForLine:]):
1149         (-[WebCoreAXObject doAXBoundsForTextMarkerRange:]):
1150         (-[WebCoreAXObject doAXTextMarkerRangeForUnorderedTextMarkers:]):
1151         (-[WebCoreAXObject doSetAXSelectedTextMarkerRange:]):
1152         * bridge/mac/WebCoreFrameBridge.mm:
1153         (-[WebCoreFrameBridge isSelectionEditable]):
1154         (-[WebCoreFrameBridge isSelectionRichlyEditable]):
1155         (-[WebCoreFrameBridge selectionState]):
1156         (-[WebCoreFrameBridge deselectText]):
1157         (-[WebCoreFrameBridge selectedAttributedString]):
1158         (-[WebCoreFrameBridge rangeByExpandingSelectionWithGranularity:]):
1159         (-[WebCoreFrameBridge rangeByAlteringCurrentSelection:direction:granularity:]):
1160         (-[WebCoreFrameBridge alterCurrentSelection:direction:granularity:]):
1161         (-[WebCoreFrameBridge rangeByAlteringCurrentSelection:verticalDistance:]):
1162         (-[WebCoreFrameBridge alterCurrentSelection:verticalDistance:]):
1163         (-[WebCoreFrameBridge setSelectedDOMRange:affinity:closeTyping:]):
1164         (-[WebCoreFrameBridge selectedDOMRange]):
1165         (-[WebCoreFrameBridge selectNSRange:]):
1166         (-[WebCoreFrameBridge selectedNSRange]):
1167         (-[WebCoreFrameBridge selectionAffinity]):
1168         (-[WebCoreFrameBridge replaceSelectionWithText:selectReplacement:smartReplace:]):
1169         (-[WebCoreFrameBridge setSelectionToDragCaret]):
1170         (-[WebCoreFrameBridge moveSelectionToDragCaret:smartMove:]):
1171         (-[WebCoreFrameBridge moveDragCaretToPoint:]):
1172         (-[WebCoreFrameBridge removeDragCaret]):
1173         (-[WebCoreFrameBridge dragCaretDOMRange]):
1174         (-[WebCoreFrameBridge isDragCaretRichlyEditable]):
1175         (-[WebCoreFrameBridge editableDOMRangeForPoint:]):
1176         (-[WebCoreFrameBridge ensureSelectionVisible]):
1177         (-[WebCoreFrameBridge rangeOfCharactersAroundCaret]):
1178         * bridge/win/PageWin.cpp:
1179         (WebCore::Page::Page):
1180         * dom/Document.cpp:
1181         (WebCore::Document::updateSelection):
1182         (WebCore::Document::clearSelectionIfNeeded):
1183         (WebCore::Document::notifyBeforeNodeRemoval):
1184         * dom/Element.cpp:
1185         (WebCore::Element::updateFocusAppearance):
1186         * editing/EditCommand.cpp:
1187         (WebCore::EditCommand::EditCommand):
1188         * editing/JSEditor.cpp:
1189         * editing/ModifySelectionListLevel.cpp:
1190         (WebCore::IncreaseSelectionListLevelCommand::canIncreaseSelectionListLevel):
1191         (WebCore::DecreaseSelectionListLevelCommand::canDecreaseSelectionListLevel):
1192         * editing/Selection.cpp:
1193         (WebCore::Selection::setBase):
1194         (WebCore::Selection::setExtent):
1195         * editing/Selection.h:
1196         (WebCore::Selection::extent):
1197         * editing/SelectionController.cpp:
1198         (WebCore::SelectionController::SelectionController):
1199         (WebCore::SelectionController::moveTo):
1200         (WebCore::SelectionController::setSelection):
1201         (WebCore::SelectionController::nodeWillBeRemoved):
1202         (WebCore::SelectionController::modify):
1203         (WebCore::SelectionController::clear):
1204         (WebCore::SelectionController::setBase):
1205         (WebCore::SelectionController::setExtent):
1206         * editing/SelectionController.h:
1207         * editing/TypingCommand.cpp:
1208         (WebCore::TypingCommand::insertText):
1209         (WebCore::TypingCommand::deleteKeyPressed):
1210         (WebCore::TypingCommand::forwardDeleteKeyPressed):
1211         * editing/VisiblePosition.cpp:
1212         (WebCore::VisiblePosition::caretRect):
1213         * editing/VisiblePosition.h:
1214         * html/HTMLInputElement.cpp:
1215         (WebCore::HTMLInputElement::defaultEventHandler):
1216         * page/Frame.cpp:
1217         (WebCore::Frame::selectedText):
1218         (WebCore::Frame::hasSelection):
1219         (WebCore::Frame::selectionController):
1220         (WebCore::Frame::dragCaretController):
1221         (WebCore::Frame::notifyRendererOfSelectionChange):
1222         (WebCore::Frame::invalidateSelection):
1223         (WebCore::Frame::clearCaretRectIfNeeded):
1224         (WebCore::Frame::setFocusNodeIfNeeded):
1225         (WebCore::Frame::selectionLayoutChanged):
1226         (WebCore::Frame::caretBlinkTimerFired):
1227         (WebCore::Frame::paintCaret):
1228         (WebCore::Frame::paintDragCaret):
1229         (WebCore::Frame::isPointInsideSelection):
1230         (WebCore::Frame::selectClosestWordFromMouseEvent):
1231         (WebCore::Frame::handleMousePressEventDoubleClick):
1232         (WebCore::Frame::handleMousePressEventTripleClick):
1233         (WebCore::Frame::handleMousePressEventSingleClick):
1234         (WebCore::Frame::handleMouseMoveEvent):
1235         (WebCore::Frame::handleMouseReleaseEvent):
1236         (WebCore::Frame::selectAll):
1237         (WebCore::Frame::selectContentsOfNode):
1238         (WebCore::Frame::shouldChangeSelection):
1239         (WebCore::Frame::shouldDeleteSelection):
1240         (WebCore::Frame::isSelectionInPasswordField):
1241         (WebCore::Frame::appliedEditing):
1242         (WebCore::Frame::unappliedEditing):
1243         (WebCore::Frame::reappliedEditing):
1244         (WebCore::Frame::computeAndSetTypingStyle):
1245         (WebCore::Frame::applyStyle):
1246         (WebCore::Frame::applyParagraphStyle):
1247         (WebCore::Frame::selectionListState):
1248         (WebCore::Frame::selectionHasStyle):
1249         (WebCore::Frame::selectionComputedStyle):
1250         (WebCore::Frame::selectFrameElementInParentIfFullySelected):
1251         (WebCore::Frame::currentForm):
1252         (WebCore::Frame::revealSelection):
1253         (WebCore::Frame::centerSelectionInVisibleArea):
1254         (WebCore::Frame::styleForSelectionStart):
1255         (WebCore::Frame::setSelectionFromNone):
1256         (WebCore::Frame::findString):
1257         * page/Frame.h:
1258         * page/FramePrivate.h:
1259         (WebCore::FramePrivate::FramePrivate):
1260         * page/FrameView.cpp:
1261         (WebCore::FrameView::clear):
1262         * page/Page.cpp:
1263         (WebCore::Page::dragCaretController):
1264         * page/Page.h:
1265         * rendering/RenderBlock.cpp:
1266         (WebCore::RenderBlock::paintCaret):
1267         * rendering/RenderLayer.cpp:
1268         (WebCore::RenderLayer::autoscroll):
1269         * rendering/RenderTextControl.cpp:
1270         (WebCore::RenderTextControl::selectionStart):
1271         (WebCore::RenderTextControl::selectionEnd):
1272         (WebCore::RenderTextControl::setSelectionRange):
1273         (WebCore::RenderTextControl::selectionChanged):
1274         * rendering/RenderTreeAsText.cpp:
1275         (WebCore::writeSelection):
1276
1277 2006-09-05  Adele Peterson  <adele@apple.com>
1278
1279         Reviewed by Adam.
1280
1281         Let the engine draw the focus ring for styled menu lists.
1282
1283         * rendering/RenderTheme.cpp: (WebCore::RenderTheme::supportsFocusRing): Added case for MenulistButtonAppearance.
1284
1285 2006-09-05  Adele Peterson  <adele@apple.com>
1286
1287         Reviewed by Adam.
1288
1289         - Fix for <rdar://problem/4706463> REGRESSION: Must click twice on <select> elements for menu to show
1290
1291         * rendering/RenderPopupMenuMac.h:
1292         * rendering/RenderPopupMenuMac.mm:
1293         (WebCore::RenderPopupMenuMac::showPopup): Moved call to dismiss popup into hidePopup method.
1294          Now calls RenderMenuList::hidePopup which will update the m_popupIsVisible flag on the menu list before hiding the popup.
1295         (WebCore::RenderPopupMenuMac::hidePopup): Added.
1296
1297 2006-09-05  Sam Weinig  <sam.weinig@gmail.com>
1298
1299         Reviewed by Tim H.
1300
1301         Patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10738
1302         Consolidate the Objective-C DOM Bindings Internal files into DOMInternal.h
1303
1304         - Consolidate DOMHTMLInternal.h, DOMCSSInternal.h, DOMEventsInternal.h,
1305           DOMViewsInternal.h and DOMXPathInternal.h into DOMInternal.h.
1306
1307         - Rename the "type-makers" (used to make a binding from an implementation 
1308           type) so that all the HTML ones begin with the prefix HTML.  Did the same
1309           for the CSS.
1310
1311         - Auto-generate a couple more methods from DOMExtensions.h.
1312
1313         - Various cleanups of the Objective-C auto-generation code.
1314
1315         * WebCore.xcodeproj/project.pbxproj:
1316         * bindings/objc/DOM.mm:
1317         (-[DOMDocument createCSSStyleDeclaration]):
1318         * bindings/objc/DOMCSS.mm:
1319         (+[DOMCSSRuleList _CSSRuleListWith:]):
1320         (+[DOMCSSRule _CSSRuleWith:]):
1321         (+[DOMCSSStyleDeclaration _CSSStyleDeclarationWith:]):
1322         (+[DOMCSSValue _CSSValueWith:]):
1323         (+[DOMCSSPrimitiveValue _CSSPrimitiveValueWith:]):
1324         (-[DOMDocument getComputedStyle::]):
1325         (-[DOMDocument getMatchedCSSRules::]):
1326         * bindings/objc/DOMCSSInternal.h: Removed.
1327         * bindings/objc/DOMEvents.mm:
1328         * bindings/objc/DOMEventsInternal.h: Removed.
1329         * bindings/objc/DOMEventsNonstandard.mm:
1330         * bindings/objc/DOMExtensions.h:
1331         * bindings/objc/DOMHTML.mm:
1332         (+[DOMHTMLCollection _HTMLCollectionWith:]):
1333         (+[DOMHTMLOptionsCollection _HTMLOptionsCollectionWith:]):
1334         (+[DOMHTMLElement _HTMLElementWith:]):
1335         (+[DOMHTMLFormElement _HTMLFormElementWith:]):
1336         (+[DOMHTMLTableCaptionElement _HTMLTableCaptionElementWith:]):
1337         (+[DOMHTMLTableSectionElement _HTMLTableSectionElementWith:]):
1338         (+[DOMHTMLTableElement _HTMLTableElementWith:]):
1339         (+[DOMHTMLTableCellElement _HTMLTableCellElementWith:]):
1340         * bindings/objc/DOMHTMLAppletElement.mm:
1341         * bindings/objc/DOMHTMLDocument.mm:
1342         (-[DOMHTMLDocument body]):
1343         (-[DOMHTMLDocument images]):
1344         (-[DOMHTMLDocument applets]):
1345         (-[DOMHTMLDocument links]):
1346         (-[DOMHTMLDocument forms]):
1347         (-[DOMHTMLDocument anchors]):
1348         * bindings/objc/DOMHTMLInternal.h: Removed.
1349         * bindings/objc/DOMHTMLOptionElement.mm:
1350         (-[DOMHTMLOptionElement form]):
1351         * bindings/objc/DOMInternal.h:
1352         * bindings/objc/DOMRGBColor.mm:
1353         (setWrapperForRGB):
1354         (-[DOMRGBColor red]):
1355         (-[DOMRGBColor green]):
1356         (-[DOMRGBColor blue]):
1357         (-[DOMRGBColor alpha]):
1358         * bindings/objc/DOMUtility.mm:
1359         (KJS::ScriptInterpreter::createObjcInstanceForValue):
1360         * bindings/objc/DOMViews.mm:
1361         (-[DOMAbstractView WebCore::]):
1362         (-[DOMAbstractView _initWithAbstractView:WebCore::]):
1363         (+[DOMAbstractView _abstractViewWith:WebCore::]):
1364         * bindings/objc/DOMViewsInternal.h: Removed.
1365         * bindings/objc/DOMXPath.mm:
1366         * bindings/objc/DOMXPathInternal.h: Removed.
1367         * bindings/objc/PublicDOMInterfaces.h:
1368         * bindings/scripts/CodeGeneratorObjC.pm:
1369         * bridge/mac/WebCoreFrameBridge.mm:
1370         (-[WebCoreFrameBridge typingStyle]):
1371         * html/HTMLAnchorElement.idl:
1372         * html/HTMLAreaElement.idl:
1373         * html/HTMLImageElement.idl:
1374         * html/HTMLInputElement.idl:
1375         * html/HTMLLinkElement.idl:
1376
1377 2006-09-05  Steve Falkenburg  <sfalken@apple.com>
1378
1379         Conditionalize new DOM headers for ObjC only
1380
1381         * DerivedSources.make:
1382
1383 2006-09-04  Alexey Proskuryakov  <ap@nypop.com>
1384
1385         Reviewed by Darin.
1386
1387         http://bugzilla.opendarwin.org/show_bug.cgi?id=10716
1388         XMLHttpRequest.responseText is null if HTTP response is empty
1389
1390         Extended existing tests:
1391         - http/tests/xmlhttrequest/zero-length-response.html
1392         - http/tests/xmlhttrequest/zero-length-response-sync.html
1393
1394         * xml/xmlhttprequest.cpp:
1395         (WebCore::XMLHttpRequest::XMLHttpRequest): Initialize responseText to an empty string.
1396         (WebCore::XMLHttpRequest::open): Reset responseText to an empty string.
1397         * bindings/js/JSXMLHttpRequest.cpp:
1398         (KJS::JSXMLHttpRequest::getValueProperty): Return null rather than undefined
1399         for nil responseXML.
1400
1401 2006-09-04  Timothy Hatcher  <timothy@apple.com>
1402
1403         Reviewed by Darin.
1404
1405         Bug 10714: ObjC autogeneration needs safe-guards against easily modifying the public API
1406         http://bugzilla.opendarwin.org/show_bug.cgi?id=10714
1407         
1408         - New PublicDOMInterfaces.h file is consulted when generating
1409           the ObjC DOM files. All public DOM class interfaces, properties
1410           and methods need to be in this file. Anything not in the file will
1411           be generated into the appropriate private header file. During
1412           generation if something changed or is missing in the public API
1413           a build error will occur. New interfaces added to the IDLs files
1414           will now not automatically be reflected in the public ObjC API.
1415           Methods commented out in PublicDOMInterfaces.h are pending public
1416           and will be uncommented once approved.
1417
1418         - Removed most of the Exclude=ObjC uses from the IDL files. This
1419           attribute was mostly used to prevent changes to the public headers.
1420
1421         - Make a new parameter name if the original conflicts with a property name.
1422
1423         - Simplified the generation code for dealing with exceptions.
1424
1425         - Moved file opens to WriteData. Files are unlinked before
1426           being opened to work around a Leopard file truncation bug.
1427
1428         - Fixed #imports for DOMImplementation to be DOMDOMImplementation.h
1429
1430         * WebCore.xcodeproj/project.pbxproj:
1431         * bindings/objc/DOMCSS.h:
1432         * bindings/objc/DOMCore.h:
1433         * bindings/objc/DOMExtensions.h:
1434         * bindings/objc/DOMHTMLInternal.h:
1435         * bindings/objc/DOMPrivate.h:
1436         * bindings/objc/PublicDOMInterfaces.h: Added.
1437         * bindings/scripts/CodeGeneratorObjC.pm:
1438         * dom/Document.idl:
1439         * dom/Element.idl:
1440         * dom/NamedNodeMap.idl:
1441         * dom/ProcessingInstruction.idl:
1442         * html/HTMLAnchorElement.idl:
1443         * html/HTMLAreaElement.idl:
1444         * html/HTMLBodyElement.idl:
1445         * html/HTMLButtonElement.idl:
1446         * html/HTMLImageElement.idl:
1447         * html/HTMLInputElement.idl:
1448         * html/HTMLLabelElement.idl:
1449         * html/HTMLLegendElement.idl:
1450         * html/HTMLLinkElement.idl:
1451         * html/HTMLOptionsCollection.idl:
1452         * html/HTMLPreElement.idl:
1453         * html/HTMLStyleElement.idl:
1454         * html/HTMLTextAreaElement.idl:
1455
1456 2006-09-04  Nikolas Zimmermann  <zimmermann@kde.org>
1457
1458         Reviewed by Tim H.
1459
1460         Continue fixing the build, I forgot this in my previous patch!
1461
1462         * platform/qt/PathQt.cpp:
1463         (WebCore::Path::apply):
1464
1465 2006-09-04  Nikolas Zimmermann  <zimmermann@kde.org>
1466
1467         Reviewed by Tim H.
1468
1469         Fix build on Qt/Linux.
1470
1471         * CMakeLists.txt:
1472         * platform/qt/PathQt.cpp:
1473         (WebCore::Path::transform):
1474
1475 2006-09-04  Alexey Proskuryakov  <ap@nypop.com>
1476
1477         Reviewed by Darin.
1478
1479         http://bugzilla.opendarwin.org/show_bug.cgi?id=10676
1480         @charset rules not accessible via DOM
1481
1482         Test: fast/encoding/css-charset-dom.html
1483
1484         * WebCore.xcodeproj/project.pbxproj: Added CSSCharsetRule.cpp
1485         * bindings/js/kjs_css.cpp:
1486         (KJS::DOMCSSStyleSheet::getValueProperty):
1487         Separated Rules and CssRules, since now they behave differently.
1488
1489         * css/CSSCharsetRule.h: Make the constructor take an encoding.
1490         * css/CSSCharsetRule.cpp: Added.
1491
1492         * css/CSSGrammar.y: Create CSSStylesheetRules as necessary.
1493
1494         * css/CSSRuleList.cpp:
1495         (WebCore::CSSRuleList::CSSRuleList):
1496         * css/CSSRuleList.h:
1497         * css/CSSStyleSheet.cpp:
1498         (WebCore::CSSStyleSheet::cssRules):
1499         * css/CSSStyleSheet.h:
1500         Skip charset rules in IE compatibility mode.
1501
1502         * css/StyleBase.h:
1503         (WebCore::StyleBase::isCharsetRule): Fixed a typo.
1504
1505         * css/cssparser.cpp:
1506         (WebCore::CSSParser::createCharsetRule):
1507         * css/cssparser.h:
1508         Added createCharsetRule().
1509
1510 2006-09-04  Nikolas Zimmermann  <zimmermann@kde.org>
1511
1512         Reviewed by Darin.
1513
1514         Fixes parts of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10644
1515         Let FrameQt operate on a FrameQtClient, just like Win/Mac handle it.
1516
1517         * CMakeLists.txt:
1518         * platform/qt/FrameQt.cpp:
1519         (WebCore::FrameQt::FrameQt):
1520         (WebCore::FrameQt::~FrameQt):
1521         (WebCore::FrameQt::openURL):
1522         (WebCore::FrameQt::submitForm):
1523         (WebCore::FrameQt::urlSelected):
1524         * platform/qt/FrameQt.h:
1525         * platform/qt/FrameQtClient.cpp: Added.
1526         (WebCore::FrameQtClientDefault::FrameQtClientDefault):
1527         (WebCore::FrameQtClientDefault::~FrameQtClientDefault):
1528         (WebCore::FrameQtClientDefault::setFrame):
1529         (WebCore::FrameQtClientDefault::openURL):
1530         (WebCore::FrameQtClientDefault::submitForm):
1531         (WebCore::FrameQtClientDefault::receivedResponse):
1532         (WebCore::FrameQtClientDefault::receivedData):
1533         (WebCore::FrameQtClientDefault::receivedAllData):
1534         * platform/qt/FrameQtClient.h: Added.
1535         (WebCore::FrameQtClient::~FrameQtClient):
1536
1537 2006-09-04  Eric Seidel  <eric@eseidel.com>
1538
1539         Reviewed by andersca.
1540
1541         Clean-up style and spacing.
1542         http://bugzilla.opendarwin.org/show_bug.cgi?id=10724
1543         No tests needed, no functional changes.
1544
1545         * ksvg2/svg/svgpathparser.cpp:
1546         (WebCore::parseCoord):
1547         (WebCore::SVGPolyParser::parsePoints):
1548         (WebCore::SVGPathParser::parseSVG):
1549         (WebCore::SVGPathParser::calculateArc):
1550         (WebCore::SVGPathParser::svgLineToHorizontal):
1551         (WebCore::SVGPathParser::svgLineToVertical):
1552         (WebCore::SVGPathParser::svgCurveToCubicSmooth):
1553         (WebCore::SVGPathParser::svgCurveToQuadratic):
1554         (WebCore::SVGPathParser::svgCurveToQuadraticSmooth):
1555         (WebCore::SVGPathParser::svgArcTo):
1556
1557 2006-09-04  Rob Buis  <buis@kde.org>
1558
1559         Reviewed by Eric.
1560
1561         http://bugzilla.opendarwin.org/show_bug.cgi?id=6546
1562         clipPath data does not respect transforms
1563
1564         Get the transform from the dom element and adjust
1565         the clip path with it.
1566
1567         * ksvg2/svg/SVGClipPathElement.cpp:
1568         (SVGClipPathElement::canvasResource):
1569
1570 2006-09-04  Rob Buis  <buis@kde.org>
1571
1572         Reviewed by Eric.
1573
1574         This code should have gone in as part of:
1575         http://bugzilla.opendarwin.org/show_bug.cgi?id=10696
1576         It addresses the comments there, also we use double instead
1577         of float now in calculations.
1578
1579         * platform/Path.cpp:
1580         (WebCore::Path::createRoundedRectangle):
1581         (WebCore::Path::createRectangle):
1582         (WebCore::Path::createEllipse):
1583         (WebCore::Path::createCircle):
1584
1585 2006-09-03  Sam Weinig  <sam.weinig@gmail.com>
1586
1587         Reviewed by Darin and Tim H.
1588
1589         - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10711
1590           Auto-generate the Objective-C DOM Stylesheet bindings
1591
1592           Auto-generates DOMMediaList, DOMStyleSheet, and DOMStyleSheetList.
1593
1594         * DerivedSources.make:
1595         * WebCore.xcodeproj/project.pbxproj:
1596         * bindings/objc/DOMCSS.mm:
1597         (+[DOMStyleSheet _styleSheetWith:]):
1598         (+[DOMCSSStyleSheet _CSSStyleSheetWith:]):
1599         * bindings/objc/DOMCSSInternal.h:
1600         * bindings/objc/DOMInternal.h:
1601         * bindings/objc/DOMObject.mm:
1602         (-[DOMObject sheet]):
1603         * bindings/objc/DOMPrivate.h:
1604         * bindings/objc/DOMStylesheets.h:
1605         * bindings/objc/DOMUtility.mm:
1606         (KJS::ScriptInterpreter::createObjcInstanceForValue):
1607         * bindings/scripts/CodeGeneratorObjC.pm:
1608         * css/StyleSheet.idl: Added.
1609         * css/StyleSheetList.idl: Added.
1610
1611 2006-09-03  Rob Buis  <buis@kde.org>
1612
1613         Reviewed by Darin.
1614
1615         http://bugzilla.opendarwin.org/show_bug.cgi?id=10696
1616         RenderPathQuartz and RenderPathQt should not be needed
1617
1618         Cleanup of code related to RenderPath.
1619
1620         * CMakeLists.txt:
1621         * WebCore.xcodeproj/project.pbxproj:
1622         * kcanvas/KCanvasCreator.cpp:
1623         * kcanvas/KCanvasCreator.h:
1624         * kcanvas/RenderPath.cpp:
1625         (WebCore::):
1626         (WebCore::DrawMarkersData::DrawMarkersData):
1627         (WebCore::drawMarkerWithData):
1628         (WebCore::updateMarkerDataForElement):
1629         (WebCore::drawStartAndMidMarkers):
1630         (WebCore::RenderPath::drawMarkersIfNeeded):
1631         * kcanvas/RenderPath.h:
1632         * kcanvas/device/KRenderingDevice.h:
1633         * kcanvas/device/qt/KRenderingDeviceQt.cpp:
1634         * kcanvas/device/qt/KRenderingDeviceQt.h:
1635         * kcanvas/device/qt/RenderPathQt.cpp:
1636         (WebCore::RenderPath::strokeContains):
1637         (WebCore::RenderPath::strokeBBox):
1638         * kcanvas/device/qt/RenderPathQt.h:
1639         * kcanvas/device/quartz/KCanvasItemQuartz.h:
1640         * kcanvas/device/quartz/KCanvasItemQuartz.mm:
1641         (WebCore::RenderPath::strokeBBox):
1642         (WebCore::RenderPath::strokeContains):
1643         * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
1644         * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
1645         * kcanvas/device/quartz/QuartzSupport.h:
1646         * ksvg2/svg/SVGAElement.cpp:
1647         * ksvg2/svg/SVGCircleElement.cpp:
1648         (SVGCircleElement::toPathData):
1649         * ksvg2/svg/SVGEllipseElement.cpp:
1650         (WebCore::SVGEllipseElement::toPathData):
1651         * ksvg2/svg/SVGFEImageElement.cpp:
1652         * ksvg2/svg/SVGGElement.cpp:
1653         * ksvg2/svg/SVGImageElement.cpp:
1654         * ksvg2/svg/SVGLineElement.cpp:
1655         (SVGLineElement::toPathData):
1656         * ksvg2/svg/SVGMarkerElement.cpp:
1657         * ksvg2/svg/SVGPathElement.cpp:
1658         * ksvg2/svg/SVGPatternElement.cpp:
1659         * ksvg2/svg/SVGPolygonElement.cpp:
1660         * ksvg2/svg/SVGPolylineElement.cpp:
1661         * ksvg2/svg/SVGRectElement.cpp:
1662         (WebCore::SVGRectElement::toPathData):
1663         * ksvg2/svg/SVGSVGElement.cpp:
1664         * ksvg2/svg/SVGStyledElement.cpp:
1665         (WebCore::SVGStyledElement::createRenderer):
1666         * ksvg2/svg/SVGSwitchElement.cpp:
1667         * ksvg2/svg/SVGTextElement.cpp:
1668         * ksvg2/svg/SVGUseElement.cpp:
1669         * platform/Path.h:
1670         (WebCore::):
1671         * platform/cg/PathCG.cpp:
1672         (WebCore::CGPathToCFStringApplierFunction):
1673         (WebCore::CGPathApplierToPathApplier):
1674         (WebCore::Path::apply):
1675         (WebCore::Path::transform):
1676         * platform/qt/PathQt.cpp:
1677         (WebCore::Path::apply):
1678
1679 2006-09-03  Timothy Hatcher  <timothy@apple.com>
1680
1681         Reviewed by Darin.
1682
1683         Bug 10685: ObjC DOM should have no unnamed parameters
1684         http://bugzilla.opendarwin.org/show_bug.cgi?id=10685
1685
1686         - The ObjC code generation script now outputs parameter prefixes
1687           for methods that have more than 1 parameter. This prefix is simply
1688           the parameter name. Some parameter names have been changed in the IDL
1689           files to produce better prefixes. If an extended attribute of "ObjCPrefix"
1690           exists on a parameter we will use that for the prefix.
1691
1692         - A backwards compatible version of the method is placed in a
1693           category with a deprecation macro for 10.5 and later. This step only
1694           happens if the IDL extended attribute "OldStyleObjC" is defined.
1695           All new functions in IDL should not get this attribute.
1696
1697         - Made the $interfaceMethodSelector regex in IDLStructure.pm allow "=" so 
1698           parameter extended attributes can have values.
1699
1700         - Moved RemoveExcludedAttributesAndFunctions to CodeGenerator.pm
1701           so it can be shared between the two generators.
1702           
1703         - Removed the die when we encounter a getter that uses exceptions.
1704           Sam Weinig added support for this in an earlier change.
1705
1706         - Check if $ENV{"MACOSX_DEPLOYMENT_TARGET"} is defined before we compare.
1707           This caused a perl warning when generating on other platforms.
1708
1709         - The ObjC generation will not happen on platforms other than Mac OS.
1710           This is determined by the "OS" env variable Xcode sets. This check
1711           is in the DerivedSources.make.
1712
1713         - Added a way to skip generation if the constructor of the specific
1714           generator returns undef. Not used yet.
1715
1716         - Many cleanup tweaks in CodeGeneratorObjC.pm.
1717
1718         - Removed IDL and CSS files from the project's resource copy phase,
1719           these do no need to be in WebCore's resources. 
1720
1721         * DerivedSources.make
1722         * WebCore.xcodeproj/project.pbxproj
1723         * bindings/scripts/CodeGenerator.pm
1724         * bindings/scripts/CodeGeneratorJS.pm
1725         * bindings/scripts/CodeGeneratorObjC.pm
1726         * bindings/scripts/IDLStructure.pm
1727         * css/CSSMediaRule.idl
1728         * css/CSSPrimitiveValue.idl
1729         * css/CSSStyleDeclaration.idl
1730         * css/CSSStyleSheet.idl
1731         * dom/CharacterData.idl
1732         * dom/DOMImplementation.idl
1733         * dom/Document.idl
1734         * dom/Element.idl
1735         * dom/KeyboardEvent.idl
1736         * dom/MouseEvent.idl
1737         * dom/MutationEvent.idl
1738         * dom/NamedNodeMap.idl
1739         * dom/UIEvent.idl
1740         * html/HTMLCanvasElement.idl
1741         * html/HTMLSelectElement.idl
1742         * ksvg2/bindings/idl/svg/SVGLengthList.idl
1743         * ksvg2/bindings/idl/svg/SVGNumberList.idl
1744         * ksvg2/bindings/idl/svg/SVGPointList.idl
1745         * ksvg2/bindings/idl/svg/SVGStringList.idl
1746         * ksvg2/bindings/idl/svg/SVGTextContentElement.idl
1747         * ksvg2/bindings/idl/svg/SVGTransformList.idl
1748         * ksvg2/svg/SVGSVGElement.idl
1749         * page/DOMWindow.idl
1750
1751 2006-09-03  Alexey Proskuryakov  <ap@nypop.com>
1752
1753         Reviewed by Tim H.
1754
1755         http://bugzilla.opendarwin.org/show_bug.cgi?id=10693
1756         Convert JavaScript arrays to AppleScript lists
1757
1758         Test: fast/AppleScript/array.html
1759
1760         * bridge/mac/WebCoreFrameBridge.mm:
1761         (aeDescFromJSValue): Added a case for ArrayInstance.
1762
1763 2006-09-03  Alexey Proskuryakov  <ap@nypop.com>
1764
1765         Reviewed by Eric.
1766
1767         http://bugzilla.opendarwin.org/show_bug.cgi?id=10697
1768         REGRESSION (r16175): Errors in incremental decoding of UTF-8
1769
1770         Tests:
1771         - http/tests/incremental/slow-utf8-html.pl
1772         - fast/encoding/charset-invalid.html
1773
1774         * loader/Decoder.cpp:
1775         (Decoder::Decoder): Ensure that we have a valid encoding. Get its name via TextEncoding, to match
1776         the logic in setEncodingName().
1777         (Decoder::setEncodingName): Only set m_encodingName if the encoding is valid. Rely on TextEncoding
1778         constructor to lowercase it if necessary.
1779         (Decoder::decode): Use setEncodingName() to apply encoding from BOM. Don't try to ensure the
1780         validity of encoding - it is enforced by class constructor and setEncodingName().
1781
1782 2006-09-02  Sam Weinig  <sam.weinig@gmail.com>
1783
1784         Reviewed by Tim H.
1785
1786         - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10684
1787           Auto-generate the Objective-C DOM CSS bindings
1788
1789           Auto-generates DOMCSSCharsetRule, DOMCSSFontFaceRule, DOMCSSImportRule,
1790           DOMCSSMediaRule, DOMCSSPageRule, DOMCSSPrimitiveValue, DOMCSSRule,
1791           DOMCSSRuleList, DOMCSSStyleDeclaration, DOMCSSStyleRule, DOMCSSStyleSheet,
1792           DOMCSSUnknownRule, DOMCSSValue, DOMCSSValueList, DOMCounter, and DOMRect.
1793
1794           Splits DOMRGBColor into its own files.
1795
1796         * DerivedSources.make:
1797         * WebCore.xcodeproj/project.pbxproj:
1798         * bindings/objc/DOMCSS.h:
1799         * bindings/objc/DOMCSS.mm:
1800         (+[DOMCSSStyleSheet _CSSStyleSheetWith:]):
1801         (+[DOMCSSPrimitiveValue _valueWith:]):
1802         * bindings/objc/DOMCSSInternal.h:
1803         * bindings/objc/DOMExtensions.h:
1804         * bindings/objc/DOMInternal.h:
1805         * bindings/objc/DOMRGBColor.h: Added.
1806         * bindings/objc/DOMRGBColor.mm: Added.
1807         (getWrapperForRGB):
1808         (setWrapperForRGB):
1809         (removeWrapperForRGB):
1810         (-[DOMRGBColor dealloc]):
1811         (-[DOMRGBColor finalize]):
1812         (-[DOMRGBColor red]):
1813         (-[DOMRGBColor green]):
1814         (-[DOMRGBColor blue]):
1815         (-[DOMRGBColor alpha]):
1816         (-[DOMRGBColor color]):
1817         (-[DOMRGBColor _initWithRGB:WebCore::]):
1818         (+[DOMRGBColor _RGBColorWithRGB:WebCore::]):
1819         * bindings/scripts/CodeGeneratorObjC.pm:
1820         * css/CSSCharsetRule.idl: Added.
1821         * css/CSSFontFaceRule.idl: Added.
1822         * css/CSSImportRule.idl: Added.
1823         * css/CSSMediaRule.idl: Added.
1824         * css/CSSPageRule.idl: Added.
1825         * css/CSSRule.idl:
1826         * css/CSSStyleDeclaration.idl:
1827         * css/CSSStyleRule.idl: Added.
1828         * css/CSSStyleSheet.idl: Added.
1829         * css/CSSUnknownRule.idl: Added.
1830         * css/CSSValue.idl:
1831         * css/MediaList.idl:
1832         * css/RGBColor.idl: Added.
1833         * css/Rect.idl:
1834         * css/RectImpl.h:
1835
1836 2006-09-02  Graham Dennis  <graham.dennis@gmail.com>
1837
1838         Reviewed by Justin.
1839         
1840         http://bugzilla.opendarwin.org/show_bug.cgi?id=10579
1841         AppleStyleCommand::applyBlockStyle crash
1842
1843         * editing/ApplyStyleCommand.cpp:
1844         (WebCore::ApplyStyleCommand::applyBlockStyle): Prevent a crash by
1845         making sure that the 'beyondEnd' node is after the start node.
1846
1847 2006-09-02  Krzysztof Kowalczyk  <kkowalczyk@gmail.com>
1848
1849         Reviewed by Tim H.
1850
1851         Bug 10454: Unix bakefile fixes
1852         http://bugzilla.opendarwin.org/show_bug.cgi?id=10454
1853
1854         * WebCoreSources.bkl:
1855         * platform/gdk/RenderPopupMenuGdk.cpp:
1856         (WebCore::RenderPopupMenuGdk::RenderPopupMenuGdk):
1857         * platform/gdk/RenderPopupMenuGdk.h:
1858         * platform/gdk/RenderThemeGdk.cpp:
1859         (WebCore::RenderThemeGdk::createPopupMenu):
1860         (WebCore::RenderThemeGdk::systemFont):
1861         * platform/gdk/RenderThemeGdk.h:
1862         * platform/gdk/TemporaryLinkStubs.cpp:
1863         * webcore-base.bkl:
1864
1865 2006-09-02  Adele Peterson  <adele@apple.com>
1866
1867         Reviewed by Anders.
1868
1869         - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=10667
1870           Password: Double-click should select-all to avoid exposing word boundaries
1871
1872         Test: fast/forms/password-doubleclick-selection.html
1873
1874         * editing/visible_units.cpp:
1875         (WebCore::previousBoundary): When searching for boundaries in renderers that use the textSecurity property, 
1876          convert characters in strings to alpha-numeric characters (in this case, all 'x's) so that every character
1877          isn't treated as a punctuation boundary.
1878         (WebCore::nextBoundary): ditto.
1879         * editing/TextIterator.cpp: (WebCore::SimplifiedBackwardsTextIterator::handleTextNode): Updated to use the renderer's 
1880           string instead of the node value.  This matches the base class implementation of handleTextNode.
1881
1882         Code cleanup.
1883         * editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::doApply): 
1884           Avoid unnecessary check for password field case if the smart replace condition is false.
1885         * page/Frame.cpp: (WebCore::Frame::mayCopy): Removed duplicate code.  Calls isSelectionInPasswordField now.
1886         * rendering/RenderText.cpp: (WebCore::RenderText::setText): Updated formatting.
1887
1888 2006-09-01  David Hyatt  <hyatt@apple.com>
1889
1890         Fix for 10682, refine the FOUC paint suppression logic so that it
1891         is only triggered when FOUC would really have occurred.
1892
1893         Reviewed by aroben
1894
1895         * css/cssstyleselector.cpp:
1896         (WebCore::CSSStyleSelector::styleForElement):
1897         * dom/Document.cpp:
1898         (WebCore::Document::Document):
1899         (WebCore::Document::updateLayoutIgnorePendingStylesheets):
1900         (WebCore::Document::updateStyleSelector):
1901         * dom/Document.h:
1902         (WebCore::Document::haveStylesheetsLoaded):
1903         (WebCore::Document::):
1904         (WebCore::Document::didLayoutWithPendingStylesheets):
1905         * rendering/RenderBlock.cpp:
1906         (WebCore::RenderBlock::paintChildren):
1907         * rendering/RenderLayer.cpp:
1908         (WebCore::RenderLayer::paintLayer):
1909
1910 2006-09-01  MorganL  <morlmor@yahoo.com>
1911
1912         Reviewed by Darin. Updated/landed by Adam.
1913
1914         Fixes http://bugzilla.opendarwin.org/show_bug.cgi?id=10553
1915         Windows build fixes
1916
1917         * WebCore.vcproj/WebCore/WebCore.vcproj:
1918         * WebCore.vcproj/WebCore/build-generated-files.sh:
1919         * bridge/win/FrameWin.h:
1920         * bridge/win/PageWin.cpp:
1921         (WebCore::Page::Page):
1922         * platform/win/FontWin.cpp:
1923         * platform/win/TemporaryLinkStubs.cpp:
1924         (FrameWin::registerCommandForUndo):
1925         (FrameWin::canPaste):
1926         (FrameWin::issuePasteAndMatchStyleCommand):
1927         (WebCore::screenDepthPerComponent):
1928         (WebCore::screenIsMonochrome):
1929         (FrameWin::overrideMediaType):
1930         (FrameWin::saveDocumentState):
1931         (FrameWin::respondToChangedContents):
1932         (FrameWin::handledOnloadEvents):
1933         (FrameWin::createPlugin):
1934         (FrameWin::objectContentType):
1935         (Path::contains):
1936         (TextField::TextField):
1937         (RenderPopupMenuWin::hidePopup):
1938         (RenderThemeWin::paintMenuList):
1939         (RenderThemeWin::adjustMenuListStyle):
1940         (CString::CString):
1941         (CString::data):
1942         * platform/win/WidgetWin.cpp:
1943         * rendering/RenderPopupMenuWin.h:
1944
1945 2006-09-01  Brady Eidson  <beidson@apple.com>
1946
1947         Reviewed by Tim Omernick
1948
1949         Added an SQLDatabase logging channel.  Changed all SQLDatabase and SQLStatement errors to use this new channel.
1950         Also, as a popular request from other contributers, added a log for all prepare(), step(), finalize(), and reset()s
1951         Also, fixed a grammar error in my previous ChangeLog entry.
1952
1953         * bridge/mac/WebCorePageBridge.mm:
1954         (initializeLoggingChannelsIfNecessary): Initialize the new channel
1955         * loader/icon/SQLDatabase.cpp:
1956         (WebCore::SQLDatabase::setBusyTimeout): Use SQLDatabase logging channel
1957         (WebCore::SQLDatabase::setBusyHandler): ditto
1958         (WebCore::SQLDatabase::clearAllTables): ditto
1959         (WebCore::SQLDatabase::runVacuumCommand): ditto
1960         * loader/icon/SQLStatement.cpp:
1961         (WebCore::SQLStatement::prepare): Added a log
1962         (WebCore::SQLStatement::step): ditto
1963         (WebCore::SQLStatement::finalize): ditto
1964         (WebCore::SQLStatement::reset): ditto
1965         (WebCore::SQLStatement::getColumnBlob): Use SQLDatabase logging channel
1966         (WebCore::SQLStatement::returnTextResults): ditto
1967         (WebCore::SQLStatement::returnTextResults16): ditto
1968         (WebCore::SQLStatement::returnIntResults): ditto
1969         (WebCore::SQLStatement::returnInt64Results): ditto
1970         (WebCore::SQLStatement::returnDoubleResults): ditto
1971         * platform/Logging.cpp:
1972         (WebCore::): Added new logging channel
1973         * platform/Logging.h: ditto
1974
1975 2006-09-01  Adele Peterson  <adele@apple.com>
1976
1977         Reviewed by Tim Omernick.
1978
1979         - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6990
1980         Switch to use new text field implementation for <input type="password">
1981
1982         * css/html4.css: Give input[password] the same style properties as normal text fields.
1983         * html/HTMLInputElement.cpp: Removed checks for TextFieldAppearance.
1984         (WebCore::HTMLInputElement::selectionStart):
1985         (WebCore::HTMLInputElement::selectionEnd):
1986         (WebCore::HTMLInputElement::setSelectionStart):
1987         (WebCore::HTMLInputElement::setSelectionEnd):
1988         (WebCore::HTMLInputElement::select):
1989         (WebCore::HTMLInputElement::setSelectionRange):
1990         (WebCore::HTMLInputElement::createRenderer):
1991         * html/HTMLInputElement.h: (WebCore::HTMLInputElement::isNonWidgetTextField):
1992
1993 2006-09-01  Brady Eidson  <beidson@apple.com>
1994
1995         Reviewed by John (though Sarge reviewed a previous patch of mine in an attempt to review this one)
1996
1997         Added some constants for SQL Result Codes to SQLDatabase.h
1998         This way, users of SQLDatabase can access all necessary SQLite functionality
1999         without having access to sqlite3.h.
2000         Also reordered some files in the xcodeproj and some #includes
2001
2002         * WebCore.xcodeproj/project.pbxproj:  Reordered some files 
2003         * loader/icon/IconDataCache.cpp:
2004         (WebCore::IconDataCache::writeToDatabase): Use our new result codes
2005         * loader/icon/IconDatabase.cpp:
2006         (WebCore::IconDatabase::sharedIconDatabase): Use our new result codes
2007         (WebCore::IconDatabase::retainIconForPageURL): Use our new result codes
2008         (WebCore::IconDatabase::pruneUnretainedIconsOnStartup): Use our new result codes
2009         (WebCore::IconDatabase::addIconForIconURLQuery): Use our new result codes
2010         (WebCore::IconDatabase::hasIconForIconURLQuery): Use our new result codes
2011         * loader/icon/SQLDatabase.cpp:
2012         (WebCore::SQLDatabase::lastError): Moved from header to eliminate dependency on sqlite3.h in header
2013         (WebCore::SQLDatabase::lastErrorMsg): Ditto
2014         * loader/icon/SQLDatabase.h: Removed #include <sqlite3.h>
2015         * loader/icon/SQLStatement.cpp: Added #include <sqlite3.h>
2016         * loader/icon/SQLStatement.h: Removed #include <sqlite3.h>
2017
2018 2006-09-01  David Hyatt  <hyatt@apple.com>
2019
2020         Fix for 10680, contrained flexbox is not shrinking flexible children
2021         properly.  (Fixing in case it's hit by the file upload control.)
2022
2023         Reviewed by aroben
2024
2025         Adding 026.html to fast/flexbox.
2026
2027         * rendering/RenderFlexibleBox.cpp:
2028         (WebCore::RenderFlexibleBox::allowedChildFlex):
2029
2030 2006-09-01  Nikolas Zimmermann  <zimmermann@kde.org>
2031
2032         Reviewed by eseidel.  Landed by eseidel.
2033
2034         Implement support for multiple parents in the SVG idls.
2035
2036         For class "FooBar" go through all parents recursively,
2037         collect their attributes & functions & constants and
2038         add them directly into the class "FooBar".
2039
2040         (Note: It is NOT enabled by default for now - still some things related to SVGAnimated* need to be solved first)
2041
2042         * bindings/scripts/CodeGenerator.pm:
2043         * bindings/scripts/CodeGeneratorJS.pm:
2044         * bindings/scripts/generate-bindings.pl:
2045
2046 2006-09-02  Nikolas Zimmermann  <zimmermann@kde.org>
2047
2048         Reviewed by hyatt.  Landed by eseidel.
2049
2050         Fix build on Linux.
2051
2052         * CMakeLists.txt: Add platform/CString.cpp.
2053         * platform/qt/FrameQt.cpp: Correct repsondToChangedContents() signature
2054         * platform/qt/FrameQt.h:: Correct respondToChangedContents() signature
2055
2056 2006-09-01  Darin Adler  <darin@apple.com>
2057
2058         Reviewed by Brady.
2059
2060         - a few small tweaks to the icon database bridge
2061
2062         * bridge/mac/WebCoreIconDatabaseBridge.h: Removed unnecessary declarations.
2063         Renamed sharedBridgeInstance to sharedInstance.
2064         * bridge/mac/WebCoreIconDatabaseBridge.mm: Put functions inside WebCore namespace.
2065         (WebCore::IconDatabase::loadIconFromURL): Updated for sharedInstance namespace.
2066
2067 2006-09-01  Timothy Hatcher  <timothy@apple.com>
2068
2069         Reviewed by Darin.
2070
2071         <rdar://problem/4651318> REGRESSION: can't drag library items to widget in Dashcode
2072         <rdar://problem/4701626> REGRESSION: Unit Converter widget doesn't work convert data in its fields
2073
2074         jsNull should not be returned as NSNull because existing applications do not
2075         expect that return value. Return as nil for backwards compatibility.
2076
2077         * bindings/objc/WebScriptObject.mm:
2078         (+[WebScriptObject _convertValueToObjcValue:originExecutionContext:executionContext:]):
2079
2080 2006-09-01  Alexey Proskuryakov  <ap@nypop.com>
2081
2082         Release build fix.
2083
2084         * loader/Decoder.cpp:
2085         (Decoder::Decoder): Use String::latin1().
2086
2087 2006-09-01  Alexey Proskuryakov  <ap@nypop.com>
2088
2089         Reviewed by Eric.
2090
2091         - http://bugzilla.opendarwin.org/show_bug.cgi?id=5620
2092         Should only honor encoding from <meta> in HTML
2093
2094         - http://bugzilla.opendarwin.org/show_bug.cgi?id=9783
2095         An XML declaration without an explicit encoding incorrectly triggers
2096         UTF-8 encoding in an HTML document
2097
2098         - http://bugzilla.opendarwin.org/show_bug.cgi?id=10155
2099         CSS2: @charset is not supported
2100         
2101         * loader/Decoder.cpp:
2102         (Decoder::Decoder): Decoder now knows what kind of content it is decoding.
2103         Also, the browser default encoding can now be passed directly to the constructor,
2104         to streamline the logic.
2105         (Decoder::decode): Add support for @charset, differentiate between HTML and XML.
2106         (Decoder::setEncodingName): Style cleanup.
2107         (Decoder::encodingName): Ditto.
2108         (Decoder::flush): Ditto.
2109         * loader/Decoder.h:
2110         (WebCore::Decoder::):
2111
2112         * bridge/mac/WebCoreEncodings.mm: Pass a content type of text/html to Decoder.
2113
2114         * loader/CachedCSSStyleSheet.cpp:
2115         (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet):
2116         (WebCore::CachedCSSStyleSheet::setCharset):
2117         (WebCore::CachedCSSStyleSheet::data):
2118         * loader/CachedCSSStyleSheet.h:
2119         Use Decoder instead of TextEncoding::toUnicode() to enable @charset support.
2120
2121         * loader/CachedXBLDocument.cpp:
2122         (WebCore::CachedXBLDocument::CachedXBLDocument): Pass a content type.
2123         * loader/CachedXSLStyleSheet.cpp:
2124         (WebCore::CachedXSLStyleSheet::CachedXSLStyleSheet): Ditto.
2125         (WebCore::CachedXSLStyleSheet::data): Flush the decoder to be safe.
2126
2127         * page/Frame.cpp:
2128         (WebCore::Frame::write): Pass a content type and a default encoding to 
2129         the Decoder.
2130         * xml/XSLTProcessor.cpp:
2131         (WebCore::XSLTProcessor::createDocumentFromSource): Pass the output document
2132         MIME type.
2133         * xml/xmlhttprequest.cpp:
2134         (WebCore::XMLHttpRequest::receivedData): Ditto.
2135
2136 2006-09-01  Adele Peterson  <adele@apple.com>
2137
2138         Reviewed by John.
2139
2140         - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=10580
2141           Password: New secure text field allows non-Roman text entry
2142
2143         * bridge/mac/FrameMac.mm:
2144         (WebCore::FrameMac::setSecureKeyboardEntry): Enable and disable Roman keyboards when switching in and out of this mode.
2145         (WebCore::FrameMac::isSecureKeyboardEntry): Changed secureKeyboardEntry to isSecureKeyboardEntry.
2146         * bridge/mac/FrameMac.h: ditto.
2147         * page/Frame.cpp: (WebCore::Frame::setIsActive): ditto.
2148         * page/Frame.h: (WebCore::Frame::isSecureKeyboardEntry): ditto.
2149
2150 2006-09-01  Adele Peterson  <adele@apple.com>
2151
2152         Reviewed by John.
2153
2154         - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=10665
2155           Password: Disable smartReplace for new password fields
2156
2157         * editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::doApply):
2158           Don't smart replace when the selection being replaced is in a password field.
2159
2160 2006-08-31  Sam Weinig  <sam.weinig@gmail.com>
2161
2162         Reviewed by Tim H.
2163
2164         - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10669
2165           Auto-generate the remaining Objective-C HTML DOM bindings
2166           
2167           Auto-generates DOMHTMLAnchorElement, DOMHTMLAreaElement,
2168           DOMHTMLBaseFontElement, DOMHTMLFontElement, DOMHTMLFrameElement,
2169           DOMHTMLFrameSetElement, DOMHTMLHRElement, DOMHTMLIFrameElement,
2170           DOMHTMLImageElement, DOMHTMLMapElement, DOMHTMLModElement,
2171           DOMHTMLObjectElement, DOMHTMLParamElement, DOMHTMLScriptElement,
2172           DOMHTMLTableCaptionElement, DOMHTMLTableCellElement,
2173           DOMHTMLTableColElement, DOMHTMLTableElement, DOMHTMLTableRowElement,
2174           and DOMHTMLTableSectionElement.  
2175
2176           Splits DOMHTMLAppletElement and DOMHTMLOptionElement into their own 
2177           files.
2178
2179         * DerivedSources.make:
2180         * WebCore.xcodeproj/project.pbxproj:
2181         * bindings/objc/DOM.mm:
2182         * bindings/objc/DOMExtensions.h:
2183         * bindings/objc/DOMHTML.h:
2184         * bindings/objc/DOMHTML.mm:
2185         (-[DOMHTMLAnchorElement absoluteLinkURL]):
2186         (-[DOMHTMLImageElement altDisplayString]):
2187         (-[DOMHTMLImageElement absoluteImageURL]):
2188         (-[DOMHTMLImageElement WebCore::]):
2189         (-[DOMHTMLObjectElement absoluteImageURL]):
2190         (-[DOMHTMLObjectElement WebCore::]):
2191         (+[DOMHTMLTableCaptionElement _tableCaptionElementWith:]):
2192         (-[DOMHTMLTableCaptionElement _tableCaptionElement]):
2193         (+[DOMHTMLTableSectionElement _tableSectionElementWith:]):
2194         (-[DOMHTMLTableSectionElement _tableSectionElement]):
2195         (+[DOMHTMLTableElement _tableElementWith:]):
2196         (-[DOMHTMLTableElement _tableElement]):
2197         (+[DOMHTMLTableCellElement _tableCellElementWith:]):
2198         (-[DOMHTMLTableCellElement _tableCellElement]):
2199         * bindings/objc/DOMHTMLAppletElement.h: Added.
2200         * bindings/objc/DOMHTMLAppletElement.mm: Added.
2201         (-[DOMHTMLAppletElement WebCore::]):
2202         (-[DOMHTMLAppletElement align]):
2203         (-[DOMHTMLAppletElement setAlign:]):
2204         (-[DOMHTMLAppletElement alt]):
2205         (-[DOMHTMLAppletElement setAlt:]):
2206         (-[DOMHTMLAppletElement archive]):
2207         (-[DOMHTMLAppletElement setArchive:]):
2208         (-[DOMHTMLAppletElement code]):
2209         (-[DOMHTMLAppletElement setCode:]):
2210         (-[DOMHTMLAppletElement codeBase]):
2211         (-[DOMHTMLAppletElement setCodeBase:]):
2212         (-[DOMHTMLAppletElement height]):
2213         (-[DOMHTMLAppletElement setHeight:]):
2214         (-[DOMHTMLAppletElement hspace]):
2215         (-[DOMHTMLAppletElement setHspace:]):
2216         (-[DOMHTMLAppletElement name]):
2217         (-[DOMHTMLAppletElement setName:]):
2218         (-[DOMHTMLAppletElement object]):
2219         (-[DOMHTMLAppletElement setObject:]):
2220         (-[DOMHTMLAppletElement vspace]):
2221         (-[DOMHTMLAppletElement setVspace:]):
2222         (-[DOMHTMLAppletElement width]):
2223         (-[DOMHTMLAppletElement setWidth:]):
2224         * bindings/objc/DOMHTMLInternal.h:
2225         * bindings/objc/DOMHTMLOptionElement.h: Added.
2226         * bindings/objc/DOMHTMLOptionElement.mm: Added.
2227         (-[DOMHTMLOptionElement WebCore::]):
2228         (-[DOMHTMLOptionElement form]):
2229         (-[DOMHTMLOptionElement defaultSelected]):
2230         (-[DOMHTMLOptionElement setDefaultSelected:]):
2231         (-[DOMHTMLOptionElement text]):
2232         (-[DOMHTMLOptionElement index]):
2233         (-[DOMHTMLOptionElement disabled]):
2234         (-[DOMHTMLOptionElement setDisabled:]):
2235         (-[DOMHTMLOptionElement label]):
2236         (-[DOMHTMLOptionElement setLabel:]):
2237         (-[DOMHTMLOptionElement selected]):
2238         (-[DOMHTMLOptionElement setSelected:]):
2239         (-[DOMHTMLOptionElement value]):
2240         (-[DOMHTMLOptionElement setValue:]):
2241         * bindings/objc/DOMPrivate.h:
2242         * bindings/scripts/CodeGeneratorObjC.pm:
2243
2244 2006-08-31  Alice Liu  <alice.liu@apple.com>
2245
2246         Reviewed by Darin.
2247
2248         Fixed <rdar://problem/4463870> Switch to use new text field implementation for <isindex>
2249
2250         * bindings/objc/DOMHTML.mm:
2251         (-[DOMHTMLInputElement _isTextField]):
2252         moved isindex from the list of nonTextInputTypes to the list of textInputTypes
2253         * css/html4.css:
2254         added isindex to certain rules that applied to input fields
2255         * html/HTMLInputElement.cpp:
2256         (WebCore::HTMLInputElement::canHaveSelection):
2257         (WebCore::HTMLInputElement::selectionStart):
2258         (WebCore::HTMLInputElement::selectionEnd):
2259         (WebCore::HTMLInputElement::setSelectionStart):
2260         (WebCore::HTMLInputElement::setSelectionEnd):
2261         (WebCore::HTMLInputElement::select):
2262         (WebCore::HTMLInputElement::setSelectionRange):
2263         (WebCore::HTMLInputElement::createRenderer):
2264         for the 8 methods above, moved the case for isindex to the same case as text
2265         * html/HTMLInputElement.h:
2266         (WebCore::HTMLInputElement::isNonWidgetTextField):
2267         added isindex to this test
2268         * html/HTMLIsIndexElement.idl:
2269         HTMLIsIndexElement inherits from HTMLInputElement
2270         * rendering/RenderLineEdit.cpp:
2271         (WebCore::RenderLineEdit::RenderLineEdit):
2272         removed the case for isindex since we changed the renderer type from a RenderLineEdit
2273         to a RenderTextControl in WebCore::HTMLInputElement::createRenderer()
2274
2275 2006-08-31  David Harrison  <harrison@apple.com>
2276
2277         Reviewed by Adele.
2278
2279         <rdar://problem/4708119> REGRESSION: Cannot observe an AXTextField element directly
2280
2281         ... and most of
2282         <rdar://problem/4708022> REGRESSION: TextRange-based attributes are missing from text fields
2283         <rdar://problem/4709515> REGRESSION: Expose text areas
2284
2285         Remaining work for those two bugs in new bugs:
2286
2287         <rdar://problem/4712101> Support NSAccessibilityVisibleCharacterRangeAttribute for AXTextField and AXTextArea elements
2288         <rdar://problem/4712111> Support NSAccessibilityInsertionPointLineNumberAttribute for AXTextArea elements
2289         <rdar://problem/4712125> Support setting NSAccessibilitySelectedTextAttribute for AXTextField and AXTextArea elements
2290
2291         * bridge/AXObjectCache.h:
2292         (WebCore::AXObjectCache::postNotificationToElement):
2293         * bridge/mac/AXObjectCacheMac.mm:
2294         (WebCore::AXObjectCache::postNotification):
2295         (WebCore::AXObjectCache::postNotificationToElement):
2296         Removed postNotificationToTopWebArea.
2297         postNotification now posts to input element or top web area, as appropriate.
2298         postNotificationToElement posts to the specified element itself.
2299         
2300         * bridge/mac/FrameMac.h:
2301         * bridge/mac/FrameMac.mm:
2302         (WebCore::FrameMac::respondToChangedContents):
2303         Take a selection.  Pass the starting position's renderer to postNotification so that postNotification can post to the appropriate input element, if any.
2304         
2305         * bridge/mac/WebCoreAXObject.h:
2306         * bridge/mac/WebCoreAXObject.mm:
2307         (-[WebCoreAXObject isWebArea]):
2308         (-[WebCoreAXObject isAnchor]):
2309         (-[WebCoreAXObject isTextRange]):
2310         New convenience methods.
2311         
2312         (-[WebCoreAXObject role]):
2313         (-[WebCoreAXObject roleDescription])        
2314         (-[WebCoreAXObject value]):
2315         (-[WebCoreAXObject accessibilityDescription]):
2316         Support AXTextField and AXTextArea.
2317
2318         (-[WebCoreAXObject accessibilityShouldUseUniqueId]):
2319         Register AXTextField and AXTextArea elements so notifications to them can be observed.
2320         
2321         (-[WebCoreAXObject accessibilityIsIgnored]):
2322         Use new convenience method isWebArea.
2323
2324         (-[WebCoreAXObject accessibilityAttributeNames]):
2325         Simplify the array creation.
2326         Add text range support.
2327        
2328         (-[WebCoreAXObject accessibilityAttributeValue:]):
2329         Add text range support.
2330        
2331         (-[WebCoreAXObject canSetFocusAttribute]):
2332         (-[WebCoreAXObject canSetValueAttribute]):
2333         (-[WebCoreAXObject canSetTextRangeAttributes]):
2334         New convenience methods.
2335         
2336         (-[WebCoreAXObject accessibilityIsAttributeSettable:]):
2337         (-[WebCoreAXObject accessibilitySetValue:forAttribute:]):
2338         Add text range support.
2339
2340         (-[WebCoreAXObject observableObject]):
2341         New to locate text field or text area to notify.
2342         
2343         * dom/Document.cpp:
2344         (WebCore::Document::updateSelection):
2345         Post AXSelectedTextChanged notification with new selection's start node.
2346         postNotification will send it to the input element, if there is one, or the top WebArea.
2347         
2348         (WebCore::Document::implicitClose):
2349         Use postNotificationToElement now that it acts like the old postNotification.
2350         
2351         * page/Frame.h:
2352         * page/Frame.cpp:
2353         (WebCore::Frame::appliedEditing):
2354         (WebCore::Frame::unappliedEditing):
2355         (WebCore::Frame::reappliedEditing):
2356         Pass the selection of interest to respondToChangedContents.
2357         
2358         * page/FrameView.cpp:
2359         (WebCore::FrameView::layout):
2360         Use postNotificationToElement now that it acts like the old postNotification.
2361
2362 2006-08-31  Adele Peterson  <adele@apple.com>
2363
2364         Reviewed by Darin.
2365
2366         WebCore part of fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=10666
2367         Password: Disallow Spelling, Font, Speech, and Writing Direction context menu
2368
2369         * bridge/mac/WebCoreFrameBridge.h:
2370         * bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge isSelectionInPasswordField]): Added.
2371         * page/Frame.cpp: (WebCore::Frame::isSelectionInPasswordField): Added.
2372         * page/Frame.h:
2373
2374 2006-08-31  Anders Carlsson  <acarlsson@apple.com>
2375
2376         Reviewed by Tim O, Hyatt.
2377
2378         * WebCore.xcodeproj/project.pbxproj:
2379         Add KURLCFNet.cpp
2380         
2381         * platform/KURL.h:
2382         Get rid of include, add KURL constructor that takes a CFURLRef.
2383         
2384         * platform/PlatformString.h:
2385         * platform/StringImpl.h:
2386         Get rid of include.
2387         
2388         * platform/cf/KURLCFNet.cpp:
2389         (WebCore::KURL::KURL):
2390         Add constructor.
2391         
2392         * platform/cf/ResourceLoaderCFNet.cpp:
2393         Fix includes.
2394         
2395         * platform/cf/StringCF.cpp:
2396         (WebCore::String::createCFString):
2397         Move this here from PlatformString.h
2398         
2399         * platform/cf/StringImplCF.cpp:
2400         (WebCore::StringImpl::createCFString):
2401         Fix cast.
2402         
2403         * platform/mac/KURLMac.mm:
2404         Move createCFURL() to KURLCFNet.cpp
2405
2406 2006-08-31 Dave Hyatt <hyatt@apple.com>
2407
2408         Make ScrollBar.cpp suitable for compiling on Windows by removing the #import.
2409
2410         Reviewed by adam
2411
2412         * platform/ScrollBar.cpp:
2413
2414 2006-08-31  Brady Eidson  <beidson@apple.com>
2415
2416         Reviewed by John
2417
2418         Cleaned up my last patch after further considerations
2419
2420         * loader/icon/IconDatabase.cpp:
2421         (WebCore::IconDatabase::pruneUnretainedIconsOnStartup): Uses the new checkForDanglingPageURLs to check
2422           for and fix danglers.  Does so in all builds (changed from debug only in my last patch)
2423         (WebCore::IconDatabase::syncDatabase): Uses the new checkForDanglingPageURLs to check for danglers
2424         (WebCore::IconDatabase::checkForDanglingPageURLs): This checks and, if asked via an arg, prunes the dangling pageURLs
2425         * loader/icon/IconDatabase.h:
2426
2427 2006-08-31  Anders Carlsson  <acarlsson@apple.com>
2428
2429         Reviewed by Maciej.
2430
2431         Add CString. CString is a simple, null-terminated byte buffer that supports data
2432         sharing. Its main use is to be a better const char*.
2433         
2434         Also add latin1 and utf8 methods to String which returns CStrings.
2435         
2436         * platform/CString.cpp: Added.
2437         (WebCore::CString::CString):
2438         (WebCore::CString::init):
2439         (WebCore::CString::data):
2440         (WebCore::CString::length):
2441         (WebCore::CString::deprecatedCString):
2442         * platform/CString.h: Added.
2443         (WebCore::CStringBuffer::CStringBuffer):
2444         (WebCore::CStringBuffer::data):
2445         (WebCore::CStringBuffer::length):
2446         (WebCore::CString::CString):
2447         (WebCore::CString::operator const char*):
2448         (WebCore::CString::isNull):
2449         * platform/PlatformString.h:
2450         * platform/String.cpp:
2451         (WebCore::String::latin1):
2452         (WebCore::String::utf8):
2453
2454 2006-08-31  Brady Eidson  <beidson@apple.com>
2455
2456         Reviewed by Hyatt
2457
2458         Previously mentioned ASSERT was hit right away by folks, as we first need to bring their old icon.db into consistency
2459         Changed the ASSERT to a LOG_ERROR and added a method for debug builds to bring a DB back together.
2460
2461         * loader/icon/IconDatabase.cpp:
2462         (WebCore::IconDatabase::pruneUnretainedIconsOnStartup): Check for the danglers and prune them out
2463         (WebCore::IconDatabase::syncDatabase): Check for the danglers and log the error
2464         (WebCore::IconDatabase::pruneDanglingPageURLs): Prune the danglers
2465         * loader/icon/IconDatabase.h:
2466
2467 2006-08-31  Brady Eidson  <beidson@apple.com>
2468
2469         Reviewed by Hyatt
2470
2471         Fixed an error where an Icon's IconID could change without the change being reflected in the PageURL table,
2472         causing icons to be pruned before their time and pages to lose their icons.  This is because I misunderstood
2473         how SQLite handles the "ON CONFLICT REPLACE" condition, which is to delete the row and re-insert instead of 
2474         perform an update.  Also added an assertion to make sure this doesn't happen again.
2475
2476         * loader/icon/IconDataCache.cpp:
2477         (WebCore::IconDataCache::writeToDatabase): Instead of one INSERT relying on SQLites conflict handling, broke
2478           this into an UPDATE attempt followed by the initial INSERT
2479         * loader/icon/IconDatabase.cpp:
2480         (WebCore::IconDatabase::createDatabaseTables): Slight tweak to the database schema to prevent this from happening
2481           in the future.  Note this change will not cause incompatibility with the current schema, therefore I didn't update
2482           the official database version number
2483         (WebCore::IconDatabase::syncDatabase): Added an ASSERT to look for this condition in the future
2484         * loader/icon/SQLDatabase.cpp:
2485         (WebCore::SQLDatabase::lastChanges): Added this SQLite accessor to see if an UPDATE command actually changed a row
2486         * loader/icon/SQLDatabase.h: Ditto
2487
2488 2006-08-31  Sam Weinig  <sam.weinig@gmail.com>
2489
2490         Reviewed by Tim H.
2491
2492         - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10653
2493           Auto-generate another 20 Objective-C DOM HTML bindings
2494
2495           Auto-generates DOMHTMLBRElement, DOMHTMLButtonElement, DOMHTMLDListElement, 
2496           DOMHTMLDirectoryElement, DOMHTMLDivElement, DOMHTMLFieldSetElement, 
2497           DOMHTMLHeadingElement, DOMHTMLInputElement, DOMHTMLLIElement, DOMHTMLLabelElement,
2498           DOMHTMLLegendElement, DOMHTMLMenuElement, DOMHTMLOListElement, DOMHTMLOptGroupElement,
2499           DOMHTMLParagraphElement, DOMHTMLPreElement, DOMHTMLQuoteElement, DOMHTMLSelectElement,
2500           DOMHTMLTextAreaElement, and DOMHTMLUListElement.
2501
2502         * DerivedSources.make:
2503         * WebCore.xcodeproj/project.pbxproj:
2504         * bindings/objc/DOM.mm:
2505         * bindings/objc/DOMExtensions.h:
2506         * bindings/objc/DOMHTML.h:
2507         * bindings/objc/DOMHTML.mm:
2508         (-[DOMHTMLInputElement altDisplayString]):
2509         (-[DOMHTMLInputElement absoluteImageURL]):
2510         (-[DOMHTMLInputElement WebCore::]):
2511         (-[DOMHTMLInputElement _rectOnScreen]):
2512         (-[DOMHTMLInputElement _replaceCharactersInRange:withString:selectingFromIndex:]):
2513         (-[DOMHTMLInputElement _selectedRange]):
2514         (-[DOMHTMLInputElement _setAutofilled:]):
2515         * bindings/objc/DOMHTMLInternal.h:
2516         * bindings/objc/DOMPrivate.h:
2517         * bindings/scripts/CodeGeneratorObjC.pm:
2518
2519 2006-08-31  Adele Peterson  <adele@apple.com>
2520
2521         Reviewed by John Sullivan.
2522
2523         Removing use of SPI in favor of Carbon API to enable and disable secure event input.
2524
2525         * WebCore.exp: Removed wkSecureEventInput and wkSetSecureEventInput.
2526         * platform/mac/WebCoreSystemInterface.h: ditto.
2527         * platform/mac/WebCoreSystemInterface.mm: ditto.
2528
2529         * bridge/mac/FrameMac.mm:
2530         (WebCore::FrameMac::setSecureKeyboardEntry): Uses EnableSecureEventInput and DisableSecureEventInput.
2531         (WebCore::FrameMac::secureKeyboardEntry): Uses IsSecureEventInputEnabled.
2532
2533 2006-08-30  Brady Eidson  <beidson@apple.com>
2534
2535         Reviewed by "common sense" (and Maciej)
2536
2537         Fixed two logging typos
2538
2539         * loader/icon/IconDatabase.cpp:
2540         (WebCore::IconDatabase::syncDatabase):
2541
2542 2006-08-30  Adele Peterson  <adele@apple.com>
2543
2544         Adding missing nil check for focus node.
2545
2546         * page/Frame.cpp: (WebCore::Frame::setIsActive):
2547
2548 2006-08-30  Adele Peterson  <adele@apple.com>
2549
2550         Reviewed by Hyatt.
2551
2552         WebCore part of fix for  http://bugzilla.opendarwin.org/show_bug.cgi?id=10575
2553         Enable secure input mode for new password fields
2554
2555         * WebCore.exp: Added wkSetSecureEventInput and wkSecureEventInput.
2556         * platform/mac/WebCoreSystemInterface.h: ditto.
2557         * platform/mac/WebCoreSystemInterface.mm: ditto.
2558
2559         * page/Frame.cpp: (WebCore::Frame::setIsActive): Enables and disables secure keyboard entry based on whether the frame becomes active.
2560         * bridge/mac/FrameMac.h:
2561         * bridge/mac/FrameMac.mm:
2562         (WebCore::FrameMac::setSecureKeyboardEntry): Added. Calls wkSetSecureEventInput.
2563         (WebCore::FrameMac::secureKeyboardEntry): Added. Calls wkSecureEventInput.
2564         * html/HTMLInputElement.cpp:
2565         (WebCore::HTMLInputElement::dispatchFocusEvent): For password fields, enable secure keyboard entry.
2566         (WebCore::HTMLInputElement::dispatchBlurEvent): For password fields, disable secure keyboard entry.
2567         * page/Frame.h:
2568         (WebCore::Frame::setSecureKeyboardEntry):
2569         (WebCore::Frame::secureKeyboardEntry):
2570
2571 2006-08-30  Darin Adler  <darin@apple.com>
2572
2573         Reviewed by Tim Hatcher.
2574
2575         - eliminated the need for UsesPassRefPtr in IDL files
2576         - got rid of the category mechanism for ObjC generated DOM headers
2577           (after discussions with Tim H where we decided it's not needed)
2578         - simplified use of macro inside ObjC generated code
2579
2580         * ForwardingHeaders/wtf/GetPtr.h: Added.
2581
2582         * bindings/scripts/CodeGeneratorObjC.pm: Removed code to handle
2583         categories. Eliminated use of DOM_cast since that's for the protection
2584         of human programmers -- the script won't make mistakes that it needs
2585         to catch. Changed macro to always be named IMPL instead of incorporating
2586         the class name. Use WTF::getPtr to extract the pointer, and removed the
2587         code that uses .get() to extract the pointer in the PassRefPtr case.
2588
2589         * dom/Attr.idl: Removed all uses of UsesPassRefPtr and ObjCCatagory.
2590         * dom/DOMImplementation.idl: Ditto.
2591         * dom/Document.idl: Ditto.
2592         * dom/Element.idl: Ditto.
2593         * dom/NamedNodeMap.idl: Ditto.
2594         * html/HTMLDocument.idl: Ditto.
2595         * html/HTMLElement.idl: Ditto.
2596         * html/HTMLFormElement.idl: Ditto.
2597         * html/HTMLMapElement.idl: Ditto.
2598         * html/HTMLSelectElement.idl: Ditto.
2599         * html/HTMLTableElement.idl: Ditto.
2600         * html/HTMLTableRowElement.idl: Ditto.
2601         * html/HTMLTableSectionElement.idl: Ditto.
2602
2603 2006-08-30  Brady Eidson  <beidson@apple.com>
2604
2605         Reviewed by John
2606
2607         <rdar://problem/4707718> - Instead of faking the user out with an in-memory icon database if their 
2608         ~/Library/Safari/Icons is unwritable, we'll actually fail to open the icon database and the app will
2609         run as if it was disabled via a preference.
2610         Also took the opportunity to change some ASSERTS() to reasonable behavior
2611
2612         * bridge/mac/WebCoreIconDatabaseBridge.mm:
2613         (-[WebCoreIconDatabaseBridge openSharedDatabaseWithPath:]): NSLog on failure so the user has a chance to figure 
2614           out there's a problem.
2615         (-[WebCoreIconDatabaseBridge closeSharedDatabase]):
2616         (-[WebCoreIconDatabaseBridge iconForPageURL:withSize:]): From here on, just replaced ASSERTS() with reasonable behavior
2617         (-[WebCoreIconDatabaseBridge iconURLForPageURL:]):
2618         (-[WebCoreIconDatabaseBridge defaultIconWithSize:]):
2619         (-[WebCoreIconDatabaseBridge retainIconForURL:]):
2620         (-[WebCoreIconDatabaseBridge releaseIconForURL:]):
2621         (-[WebCoreIconDatabaseBridge _setIconData:forIconURL:]):
2622         (-[WebCoreIconDatabaseBridge _setHaveNoIconForIconURL:]):
2623         (-[WebCoreIconDatabaseBridge _setIconURL:forPageURL:]):
2624         (-[WebCoreIconDatabaseBridge _hasEntryForIconURL:]):
2625         * loader/icon/IconDatabase.cpp:
2626         (WebCore::IconDatabase::open): If we fail to open, return false 
2627         (WebCore::IconDatabase::~IconDatabase): cleanup better
2628         * loader/icon/IconDatabase.h:
2629
2630 2006-08-30  David Harrison  <harrison@apple.com>
2631
2632         Reviewed by John Sullivan.
2633
2634         <rdar://problem/4708007> REGRESSION: text field inside a webpage no longer has settable AXValueAttribute
2635         <rdar://problem/4707479> REGRESSION: controls inside a webpage no longer have settable AXFocusedAttribute
2636
2637         * bridge/mac/WebCoreAXObject.mm:
2638         (-[WebCoreAXObject canSetFocusAttribute]):
2639         (-[WebCoreAXObject canSetValueAttribute]):
2640         New utility methods.  Text fields and buttons are focusable.
2641         Text fields can have their value set. We need not make
2642         popupbutton value settable because AppKit does not.
2643         
2644         (-[WebCoreAXObject accessibilityIsAttributeSettable:]):
2645         Call new utility methods.
2646         
2647         (-[WebCoreAXObject accessibilitySetValue:forAttribute:]):
2648         Set focus for text field or button.
2649         Set value for text field.
2650         
2651 2006-08-30  David Hyatt  <hyatt@apple.com>
2652
2653         Fix for bugs 9000 and 10606.  Add code to suppress painting when
2654         a FOUC situation would otherwise occur.  There will still typically be
2655         a flash to white, but at least the wrong content won't show.
2656
2657         Reviewed by darin
2658
2659         * dom/Document.cpp:
2660         (WebCore::Document::Document):
2661         (WebCore::Document::updateLayoutIgnorePendingStylesheets):
2662         (WebCore::Document::preferredStylesheetSet):
2663         (WebCore::Document::selectedStylesheetSet):
2664         (WebCore::Document::setSelectedStylesheetSet):
2665         (WebCore::Document::stylesheetLoaded):
2666         (WebCore::Document::updateStyleSelector):
2667         * dom/Document.h:
2668         (WebCore::Document::haveStylesheetsLoaded):
2669         * rendering/RenderBlock.cpp:
2670         (WebCore::RenderBlock::paintChildren):
2671         * rendering/RenderLayer.cpp:
2672         (WebCore::RenderLayer::paintLayer):
2673         (WebCore::isSubframe):
2674         (WebCore::RenderLayer::hitTest):
2675         * rendering/RenderView.cpp:
2676         (WebCore::RenderView::repaintViewRectangle):
2677
2678 2006-08-31  Nikolas Zimmermann  <zimmermann@kde.org>
2679  
2680          Reviewed by Eric. Landed by rwlbuis.
2681  
2682          Apply Rob's fixes in RenderPathQt too -> unbreak build.
2683  
2684          * kcanvas/RenderPath.h: Some style cleanups.
2685          * kcanvas/device/qt/RenderPathQt.cpp:
2686          (WebCore::RenderPathQt::strokeContains):
2687          * kcanvas/device/qt/RenderPathQt.h:
2688
2689 2006-08-30  Sam Weinig  <sam.weinig@gmail.com>
2690         Reviewed by Tim H.
2691
2692         - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10640
2693           Auto-generate 10 more Objective-C DOM HTML bindings
2694
2695           Auto-generates DOMHTMLBaseElement, DOMHTMLBodyElement, DOMHTMLHeadElement,
2696           DOMHTMLHtmlElement, DOMHTMLIsIndexElement, DOMHTMLLinkElement,
2697           DOMHTMLMetaElement, DOMHTMLStyleElement and DOMHTMLTitleElement.
2698
2699           Splits DOMHTMLDocument into it's own files.
2700
2701         * DerivedSources.make:
2702         * WebCore.xcodeproj/project.pbxproj:
2703         * bindings/objc/DOM.mm:
2704         * bindings/objc/DOMExtensions.h:
2705         * bindings/objc/DOMHTML.h:
2706         * bindings/objc/DOMHTML.mm:
2707         * bindings/objc/DOMHTMLDocument.h: Added.
2708         * bindings/objc/DOMHTMLDocument.mm: Added.
2709         (-[DOMHTMLDocument WebCore::]):
2710         (-[DOMHTMLDocument title]):
2711         (-[DOMHTMLDocument setTitle:]):
2712         (-[DOMHTMLDocument referrer]):
2713         (-[DOMHTMLDocument domain]):
2714         (-[DOMHTMLDocument URL]):
2715         (-[DOMHTMLDocument body]):
2716         (-[DOMHTMLDocument setBody:]):
2717         (-[DOMHTMLDocument images]):
2718         (-[DOMHTMLDocument applets]):
2719         (-[DOMHTMLDocument links]):
2720         (-[DOMHTMLDocument forms]):
2721         (-[DOMHTMLDocument anchors]):
2722         (-[DOMHTMLDocument cookie]):
2723         (-[DOMHTMLDocument setCookie:]):
2724         (-[DOMHTMLDocument open]):
2725         (-[DOMHTMLDocument close]):
2726         (-[DOMHTMLDocument write:]):
2727         (-[DOMHTMLDocument writeln:]):
2728         (-[DOMHTMLDocument getElementById:]):
2729         (-[DOMHTMLDocument getElementsByName:]):
2730         (-[DOMHTMLDocument createDocumentFragmentWithMarkupString:baseURL:]):
2731         (-[DOMHTMLDocument createDocumentFragmentWithText:]):
2732         * bindings/objc/DOMHTMLInternal.h:
2733         * bindings/scripts/CodeGeneratorObjC.pm:
2734         * html/HTMLDocument.idl:
2735
2736 2006-08-30  Nikolas Zimmermann  <zimmermann@kde.org>
2737
2738         Reviewed by eseidel.
2739
2740         Use QColor <-> Color conversion operator, instead of faking it.
2741
2742         * platform/qt/FontQt.cpp:
2743         (WebCore::Font::drawGlyphs):
2744         * platform/qt/GraphicsContextQt.cpp:
2745         (WebCore::GraphicsContext::fillRect):
2746
2747 2006-08-30  Rob Buis  <buis@kde.org>
2748
2749         Reviewed by Eric.
2750
2751         http://bugzilla.opendarwin.org/show_bug.cgi?id=10586
2752         pointer-events has issues when things are not stroked/filled
2753
2754         Add a param to fillContains/strokeContains to indicate
2755         whether we still want hit testing when there is no fill/stroke.
2756
2757         * kcanvas/RenderPath.cpp:
2758         (WebCore::RenderPath::fillContains):
2759         (WebCore::RenderPath::nodeAtPoint):
2760         * kcanvas/RenderPath.h:
2761         * kcanvas/device/quartz/KCanvasItemQuartz.h:
2762         * kcanvas/device/quartz/KCanvasItemQuartz.mm:
2763         (WebCore::KCanvasItemQuartz::strokeContains):
2764
2765 2006-08-29  Justin Garcia  <justin.garcia@apple.com>
2766
2767         Reviewed by harrison
2768         
2769         <rdar://problem/4700297>
2770         REGRESSION: After replacing a misspelled word in a sentence, the selection extends to end of current line
2771
2772         * editing/ReplaceSelectionCommand.cpp:
2773         (WebCore::ReplaceSelectionCommand::doApply): Rebalance whitespace
2774         around insertionPos before insertion because the content might 
2775         cause a collapse, e.g. inserting <div>foo</div> at hello^ world.
2776         * editing/htmlediting.cpp:
2777         (WebCore::rebalanceWhitespaceInTextNode): Rebalance with all nbsps
2778         for simplicity, we can produce sequences of regular spaces and
2779         nbsps on serialization (10636).
2780
2781 2006-08-30  Nikolas Zimmermann  <zimmermann@kde.org>
2782
2783         Reviewed by eseidel.
2784
2785         The old solution was slow & does not work correctly.
2786         Move the QString -> DeprecatedString conversion into
2787         DeprectedString.cpp, to be able to access allocateHandle().
2788
2789         * platform/DeprecatedString.cpp:
2790         (WebCore::DeprecatedString::DeprecatedString):
2791         * platform/qt/StringQt.cpp:
2792
2793 2006-08-30  Nikolas Zimmermann  <zimmermann@kde.org>
2794
2795         Reviewed/landed by Adam.
2796
2797         Implement containsCharacters() / determinePitch() functions.
2798
2799         * platform/qt/FontDataQt.cpp:
2800         (WebCore::FontData::containsCharacters):
2801         (WebCore::FontData::determinePitch):
2802
2803 2006-08-30  Brady Eidson  <beidson@apple.com>
2804
2805         Reviewed by Darin's rubberstamp
2806
2807         We apparently have a fancy delateAllValues() helper for HashMap/Sets - I'll use that instead
2808
2809         * WebCore.xcodeproj/project.pbxproj:
2810         * loader/icon/IconDatabase.cpp:
2811         (WebCore::IconDatabase::removeAllIcons):
2812
2813 2006-08-29  waylonis  <waylonis@google.com>
2814
2815         Reviewed, tweaked by ggaren.
2816         
2817         - Changed to use ExecState on current context rather than global.
2818           Part of the fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=10114
2819         * bindings/objc/WebScriptObject.mm:
2820         (+[WebScriptObject throwException:]):
2821         (-[WebScriptObject setException:]):
2822
2823 2006-08-30  Adele Peterson  <adele@apple.com>
2824
2825         Reviewed by Darin.
2826
2827         - WebCore part of fix for:
2828         http://bugzilla.opendarwin.org/show_bug.cgi?id=10576
2829         Disallow copy from new password fields
2830
2831         * page/Frame.cpp: (WebCore::Frame::mayCopy): Added. Checks to see if the selection is within a password field.
2832         * page/Frame.h: Added mayCopy.
2833
2834         * bridge/mac/FrameMac.h:
2835         * bridge/mac/FrameMac.mm:
2836         (WebCore::FrameMac::handleMouseMoveEvent): Checks mayCopy before starting a drag.
2837         (WebCore::FrameMac::mayDHTMLCut): Renamed to match the bridge method.  This also checks mayCopy now.
2838         (WebCore::FrameMac::mayDHTMLCopy): ditto.
2839         (WebCore::FrameMac::tryDHTMLCut): ditto.
2840         (WebCore::FrameMac::tryDHTMLCopy): ditto.
2841         (WebCore::FrameMac::mayDHTMLPaste): Renamed to match the bridge function.
2842         (WebCore::FrameMac::tryDHTMLPaste): ditto.
2843         * bridge/mac/WebCoreFrameBridge.h:
2844         * bridge/mac/WebCoreFrameBridge.mm:
2845         (-[WebCoreFrameBridge mayCopy]): Calls the renamed method on frame.
2846         (-[WebCoreFrameBridge mayDHTMLCut]): ditto.
2847         (-[WebCoreFrameBridge mayDHTMLCopy]): ditto.
2848         (-[WebCoreFrameBridge mayDHTMLPaste]): ditto.
2849         (-[WebCoreFrameBridge tryDHTMLCut]): ditto.
2850         (-[WebCoreFrameBridge tryDHTMLCopy]): ditto.
2851         (-[WebCoreFrameBridge tryDHTMLPaste]): ditto.
2852
2853         * css/html4.css: Added !important to the -webkit-text-security property for password fields.
2854
2855 2006-08-30  Nikolas Zimmermann  <zimmermann@kde.org>
2856
2857         Reviewed by Tim H.
2858
2859         Commit KDE related tweaks, to be able to
2860         differentiate between a Qt-only or a KDE build.
2861
2862         * CMakeLists.txt: Move global variables up to trunk/CMakeLists.txt.
2863                           Also rename USE_WEBKIT_SVG_SUPPORT to WEBKIT_USE_SVG_SUPPORT.
2864
2865 2006-08-30  Timothy Hatcher  <timothy@apple.com>
2866
2867         Rubber-stamped by Brady.
2868
2869         Fix for the generated headers to make the build work
2870         during "installhdrs" builds. Also export DOM headers
2871         using the #import <WebCore/DOM*.h> syntax.
2872
2873         * WebCore.xcodeproj/project.pbxproj:
2874         * bindings/scripts/CodeGeneratorObjC.pm:
2875
2876 2006-08-29  Brady Eidson  <beidson@apple.com>
2877
2878         Reviewed by Kevin Decker (Sarge)
2879
2880         <rdar://problem/4678414> - New IconDB needs to delete icons when asked
2881         <rdar://problem/4707718> - If user's Icon directory is unwritable, Safari will crash at startup
2882
2883         * bridge/mac/WebCoreIconDatabaseBridge.h:
2884         * bridge/mac/WebCoreIconDatabaseBridge.mm:
2885         (-[WebCoreIconDatabaseBridge removeAllIcons]):  Added
2886         * loader/icon/IconDatabase.cpp:
2887         (WebCore::IconDatabase::open): If DB file is not writeable, create an in-memory DB for this session
2888         (WebCore::IconDatabase::close): Use new deleteAllPreparedStatements()
2889         (WebCore::IconDatabase::removeAllIcons): Actually implemented
2890         (WebCore::IconDatabase::deleteAllPreparedStatements): Added for convinience/consistency
2891         (WebCore::IconDatabase::setPrivateBrowsingEnabled): Use new SQLDatabase::clearAllTables()
2892         * loader/icon/IconDatabase.h:
2893         * loader/icon/SQLDatabase.cpp:
2894         (WebCore::SQLDatabase::clearAllTables): Moved this from IconDatabase as it actually belongs here
2895         (WebCore::SQLDatabase::vacuum): Added
2896         * loader/icon/SQLDatabase.h:
2897         (WebCore::SQLDatabase::path): changed name from getPath()
2898
2899 2006-08-29  Brady Eidson  <beidson@apple.com>
2900
2901         Reviewed by Alice
2902
2903         Added a truth value to setIconURLForPageURL so WebKit can avoid sending a notification
2904         This is a win on the iBench
2905
2906         * bridge/mac/WebCoreIconDatabaseBridge.h:
2907         * bridge/mac/WebCoreIconDatabaseBridge.mm:
2908         (-[WebCoreIconDatabaseBridge _setIconURL:forPageURL:]):
2909         * loader/icon/IconDatabase.cpp:
2910         (WebCore::IconDatabase::setIconURLForPageURL):
2911         * loader/icon/IconDatabase.h:
2912
2913 2006-08-29  Alice Liu  <alice.liu@apple.com>
2914
2915         Reviewed by Brady.
2916
2917         Fixed <rdar://problem/4702021> REGRESSION: WebClip and Weather widgets shift downward vertically on screen after I drag them out from dashboard configure bar
2918
2919         * platform/mac/ScreenMac.mm:
2920         (WebCore::flipScreenRect):
2921         reverted the one line in this method back to what it was before r15765.  This changed caused window.screenY to be incorrect.  
2922
2923 2006-08-29  Darin Adler  <darin@apple.com>
2924
2925         Reviewed by Hyatt.
2926
2927         - fix <rdar://problem/4701494> REGRESSION: Scrollbar on EPSN widget doesn't scroll (also affects Widgets widget, web inspector)
2928
2929         The bug was that we would return "none" for computed style properties when they were
2930         exactly "-1px".
2931
2932         Test: fast/css/computed-style-negative-top.html
2933
2934         * css/CSSComputedStyleDeclaration.cpp:
2935         (WebCore::valueForLength): Moved special case for "undefined length" out of here.
2936         (WebCore::valueForMaxLength): Moved it into here.
2937         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Use valueForMaxLength
2938         only for max-height and max-width.
2939
2940 2006-08-29  Nikolas Zimmermann  <zimmermann@kde.org>
2941
2942         Reviewed by eseidel.
2943
2944         Add path-related SVG JavaScript bindings to generation.
2945
2946         * CMakeLists.txt:
2947
2948 2006-08-29  Eric Seidel  <eric@eseidel.com>
2949
2950         Reviewed by kevin.
2951
2952         Re-enable path-related SVG JavaScript bindings.
2953         http://bugzilla.opendarwin.org/show_bug.cgi?id=10623
2954         Split all SVGPathSeg*.idl files into Abs and Rel pieces.
2955         Move all SVGPath*.idl files into ksvg2/svg
2956
2957         * DerivedSources.make:
2958         * WebCore.xcodeproj/project.pbxproj:
2959         * bindings/scripts/CodeGeneratorJS.pm: Special case Abs and Rel header includes
2960         * ksvg2/bindings/idl/svg/SVGAnimatedNumber.idl: Removed.
2961         * ksvg2/bindings/idl/svg/SVGPathElement.idl: Removed.
2962         * ksvg2/bindings/idl/svg/SVGPathSeg.idl: Removed.
2963         * ksvg2/bindings/idl/svg/SVGPathSegArc.idl: Removed.
2964         * ksvg2/bindings/idl/svg/SVGPathSegClosePath.idl: Removed.
2965         * ksvg2/bindings/idl/svg/SVGPathSegCurvetoCubic.idl: Removed.
2966         * ksvg2/bindings/idl/svg/SVGPathSegCurvetoCubicSmooth.idl: Removed.
2967         * ksvg2/bindings/idl/svg/SVGPathSegCurvetoQuadratic.idl: Removed.
2968         * ksvg2/bindings/idl/svg/SVGPathSegCurvetoQuadraticSmooth.idl: Removed.
2969         * ksvg2/bindings/idl/svg/SVGPathSegLineto.idl: Removed.
2970         * ksvg2/bindings/idl/svg/SVGPathSegLinetoHorizontal.idl: Removed.
2971         * ksvg2/bindings/idl/svg/SVGPathSegLinetoVertical.idl: Removed.
2972         * ksvg2/bindings/idl/svg/SVGPathSegList.idl: Removed.
2973         * ksvg2/bindings/idl/svg/SVGPathSegMoveto.idl: Removed.
2974         * ksvg2/ksvg.h: move SVGPathSegment enum
2975         * ksvg2/svg/SVGPathElement.cpp: move SVGPathSegment enum
2976         (WebCore::SVGPathElement::toPathData):
2977         * ksvg2/svg/SVGPathSeg.cpp:
2978         (WebCore::SVGPathSeg::SVGPathSeg):
2979         * ksvg2/svg/SVGPathSeg.h:
2980         (WebCore::SVGPathSeg::):
2981         * ksvg2/svg/SVGPathSegArcAbs.idl: Added.
2982         * ksvg2/svg/SVGPathSegArcRel.idl: Added.
2983         * ksvg2/svg/SVGPathSegCurvetoCubicAbs.idl: Added.
2984         * ksvg2/svg/SVGPathSegCurvetoCubicRel.idl: Added.
2985         * ksvg2/svg/SVGPathSegCurvetoCubicSmoothAbs.idl: Added.
2986         * ksvg2/svg/SVGPathSegCurvetoCubicSmoothRel.idl: Added.
2987         * ksvg2/svg/SVGPathSegCurvetoQuadraticAbs.idl: Added.
2988         * ksvg2/svg/SVGPathSegCurvetoQuadraticRel.idl: Added.
2989         * ksvg2/svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl: Added.
2990         * ksvg2/svg/SVGPathSegCurvetoQuadraticSmoothRel.idl: Added.
2991         * ksvg2/svg/SVGPathSegLinetoAbs.idl: Added.
2992         * ksvg2/svg/SVGPathSegLinetoHorizontalAbs.idl: Added.
2993         * ksvg2/svg/SVGPathSegLinetoHorizontalRel.idl: Added.
2994         * ksvg2/svg/SVGPathSegLinetoRel.idl: Added.
2995         * ksvg2/svg/SVGPathSegLinetoVerticalAbs.idl: Added.
2996         * ksvg2/svg/SVGPathSegLinetoVerticalRel.idl: Added.
2997         * ksvg2/svg/SVGPathSegMovetoAbs.idl: Added.
2998         * ksvg2/svg/SVGPathSegMovetoRel.idl: Added.
2999
3000 2006-08-28  Nikolas Zimmermann  <zimmermann@kde.org>
3001
3002         Reviewed by Eric, landed by Anders.
3003
3004         Fixes one chunk of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10604
3005
3006         Finish Unity merging. Remove libcurl usage, in favour of KIO.
3007         This makes the regression testing fly! IO processing is way faster now.
3008
3009         * CMakeLists.txt:
3010         * platform/ResourceLoaderInternal.h:
3011         (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
3012         * platform/qt/FrameQt.cpp:
3013         (WebCore::FrameQt::openURL):
3014         (WebCore::FrameQt::submitForm):
3015         (WebCore::FrameQt::urlSelected):
3016         (WebCore::FrameQt::createEmptyDocument):
3017         (WebCore::FrameQt::receivedData):
3018         (WebCore::FrameQt::receivedAllData):
3019         * platform/qt/FrameQt.h:
3020         * platform/qt/ResourceLoaderCurl.cpp: Removed.
3021         * platform/qt/ResourceLoaderManager.cpp:
3022         (WebCore::ResourceLoaderManager::ResourceLoaderManager):
3023         (WebCore::ResourceLoaderManager::~ResourceLoaderManager):
3024         (WebCore::ResourceLoaderManager::self):
3025         (WebCore::ResourceLoaderManager::slotData):
3026         (WebCore::ResourceLoaderManager::slotMimetype):
3027         (WebCore::ResourceLoaderManager::slotResult):
3028         (WebCore::ResourceLoaderManager::remove):
3029         (WebCore::ResourceLoaderManager::add):
3030         * platform/qt/ResourceLoaderManager.h:
3031         * platform/qt/ResourceLoaderQt.cpp: Added.
3032         (WebCore::ResourceLoaderInternal::~ResourceLoaderInternal):
3033         (WebCore::ResourceLoader::~ResourceLoader):
3034         (WebCore::ResourceLoader::start):
3035         (WebCore::ResourceLoader::cancel):
3036         (WebCore::ResourceLoader::assembleResponseHeaders):
3037         (WebCore::ResourceLoader::retrieveCharset):
3038         (WebCore::ResourceLoader::receivedResponse):
3039
3040 2006-08-29  Timothy Hatcher  <timothy@apple.com>
3041
3042         Reviewed by Eric.
3043
3044         Bug 10632: Objective-C DOM should use the @property syntax for DOM attributes
3045         http://bugzilla.opendarwin.org/show_bug.cgi?id=10632
3046
3047         Generate @property when MACOSX_DEPLOYMENT_TARGET is >= 10.5.
3048         This is backwards compatible with the getter/setter methods.
3049         Generate setter arguments with a "new" prefix to avoid the property
3050         name conflict warning. Also removes some whitespace and the comments
3051         that we added to the headers. This makes the headers look like what we ship now.
3052
3053         * bindings/objc/DOMCSS.mm:
3054         (-[DOMDocument getComputedStyle::]): renamed a local variable to avoid the property name conflict.
3055         (-[DOMDocument getMatchedCSSRules::]): ditto.
3056         * bindings/scripts/CodeGeneratorObjC.pm: generate @property in the headers.
3057
3058 2006-08-30  Nikolas Zimmermann  <zimmermann@kde.org>
3059
3060         Reviewed and landed by Anders.
3061
3062         Fix time calculation, by using a correct calculation. Calling time()
3063         returns a number of seconds, aka. an integer. Fix it by using gettimeofday().
3064         Patch originally proposed by Ronan Meneu <rmeneu@origyn.fr>
3065
3066         * platform/qt/SystemTimeQt.cpp:
3067         (WebCore::currentTime):
3068
3069 2006-08-29  Sam Weinig  <sam.weinig@gmail.com>
3070
3071         Reviewed by Tim H.
3072
3073         - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10628
3074           Auto-generate the remaining Objective-C DOM bindings
3075
3076           Auto-generates DOMHTMLCollection, DOMHTMLElement, DOMHTMLFormElement,
3077           and DOMHTMLOptionsCollection, and lays groundwork for the rest of the 
3078           HTML DOM bindings by adding/fixing the appropriate IDL's and updating
3079           the CodeGeneratorObjC.pm build script.
3080
3081         * DerivedSources.make:
3082         * WebCore.xcodeproj/project.pbxproj:
3083         * bindings/objc/DOM.mm:
3084         * bindings/objc/DOMExtensions.h:
3085         * bindings/objc/DOMHTML.h:
3086         * bindings/objc/DOMHTML.mm:
3087         * bindings/objc/DOMHTMLInternal.h:
3088         * bindings/scripts/CodeGeneratorObjC.pm:
3089         * html/HTMLAnchorElement.idl:
3090         * html/HTMLAreaElement.idl:
3091         * html/HTMLBaseFontElement.idl:
3092         * html/HTMLBodyElement.idl:
3093         * html/HTMLButtonElement.idl:
3094         * html/HTMLCollection.idl: Added.
3095         * html/HTMLDocument.idl:
3096         * html/HTMLElement.idl:
3097         * html/HTMLFormElement.idl:
3098         * html/HTMLFrameElement.idl: Added.
3099         * html/HTMLFrameSetElement.idl: Added.
3100         * html/HTMLIFrameElement.idl: Added.
3101         * html/HTMLImageElement.idl:
3102         * html/HTMLInputElement.idl:
3103         * html/HTMLLabelElement.idl:
3104         * html/HTMLLegendElement.idl:
3105         * html/HTMLLinkElement.idl:
3106         * html/HTMLMapElement.idl:
3107         * html/HTMLObjectElement.idl: Added.
3108         * html/HTMLOptionsCollection.idl:
3109         * html/HTMLPreElement.idl:
3110         * html/HTMLSelectElement.idl: Added.
3111         * html/HTMLStyleElement.idl:
3112         * html/HTMLTableCaptionElement.idl: Added.
3113         * html/HTMLTableCellElement.idl: Added.
3114         * html/HTMLTableColElement.idl: Added.
3115         * html/HTMLTableElement.idl: Added.
3116         * html/HTMLTableRowElement.idl: Added.
3117         * html/HTMLTableSectionElement.idl: Added.
3118         * html/HTMLTextAreaElement.idl:
3119
3120 2006-08-29  Nikolas Zimmermann  <zimmermann@kde.org>
3121
3122         Reviewed and landed by ap.
3123
3124         Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10629.
3125         Drawing convex polygons is broken in the Qt platform.
3126
3127         * platform/qt/GraphicsContextQt.cpp:
3128         (WebCore::GraphicsContext::drawConvexPolygon):
3129
3130 2006-08-29  Nikolas Zimmermann  <zimmermann@kde.org>
3131
3132         Reviewed by Eric.
3133
3134         Implementing font hashing properly, fixes weird crashes in HashMap.
3135
3136         * platform/qt/FontPlatformData.h:
3137         * platform/qt/FontPlatformDataQt.cpp:
3138         (WebCore::FontPlatformData::FontPlatformData):
3139         (WebCore::FontPlatformData::hash):
3140
3141 2006-08-29  Nikolas Zimmermann  <zimmermann@kde.org>
3142
3143         Reviewed by ggaren.
3144
3145         Fix scrollbars to reappear after the first layouting.
3146
3147         * platform/qt/ScrollViewQt.cpp:
3148         (WebCore::ScrollView::suppressScrollBars):
3149
3150 2006-08-29  Anders Carlsson  <acarlsson@apple.com>
3151
3152         Reviewed by Darin and Geoff.
3153
3154         Move the CF String functions to separate files in platform/cf.
3155         Also, move the files in platform/cfnet to platform/cf.
3156
3157         * WebCore.xcodeproj/project.pbxproj:
3158         * platform/PlatformString.h:
3159         * platform/StringImpl.h:
3160         * platform/cf/StringCF.cpp: Added.
3161         (WebCore::String::String):
3162         * platform/cf/StringImplCF.cpp: Added.
3163         (WebCore::StringImpl::createCFString):
3164         * platform/cfnet/KURLCFNet.cpp: Removed.
3165         * platform/cfnet/ResourceLoaderCFNet.cpp: Removed.
3166         * platform/mac/StringImplMac.mm:
3167         * platform/mac/StringMac.mm:
3168
3169 2006-08-29  Geoffrey Garen  <ggaren@apple.com>
3170
3171         Rolling out a change I included by accident in my last commit.
3172         
3173         * bridge/mac/FrameMac.mm:
3174         (WebCore::FrameMac::passMouseDownEventToWidget):
3175         * platform/mac/SharedTimerMac.cpp:
3176         (WebCore::setSharedTimerFireTime):
3177
3178 2006-08-28  Geoffrey Garen  <ggaren@apple.com>
3179
3180         Reviewed by Maciej.
3181         
3182         Added support for experimental CFNetwork-based loader (not turned on yet).
3183         
3184         While I was there, I did the following platform cleanup:
3185         - Windows now uses USE(WININET) instead of PLATFORM(WIN_OS), to match the
3186           USE(CFNETWORK) idiom.
3187         - Removed some #includes of windows.h in platform-independent headers.
3188         - Changed #ifdef __APPLE__ to PLATFORM(MAC)
3189         - Fixed some build bustage, including case-sensitive filesystem bustage.
3190
3191         * loader/loader.cpp:
3192         (WebCore::Loader::receivedAllData):
3193         * platform/Cursor.h:
3194         * platform/KURL.h:
3195         * platform/ResourceLoader.h:
3196         * platform/ResourceLoaderClient.h:
3197         * platform/ResourceLoaderInternal.h:
3198         (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
3199         * platform/cfnet/KURLCFNet.cpp: Added.
3200         (WebCore::KURL::createCFURL):
3201         * platform/cfnet/ResourceLoaderCFNet.cpp: Added.
3202         (WebCore::willSendRequest):
3203         (WebCore::didReceiveChallenge):
3204         (WebCore::didCancelChallenge):
3205         (WebCore::didReceiveResponse):
3206         (WebCore::didReceiveData):
3207         (WebCore::didFinishLoading):
3208         (WebCore::didFail):
3209         (WebCore::willCacheResponse):
3210         (WebCore::addHeadersFromString):
3211         (WebCore::ResourceLoaderInternal::~ResourceLoaderInternal):
3212         (WebCore::ResourceLoader::~ResourceLoader):
3213         (WebCore::arrayFromFormData):
3214         (WebCore::emptyPerform):
3215         (WebCore::runLoaderThread):
3216         (WebCore::ResourceLoader::start):
3217         (WebCore::ResourceLoader::cancel):
3218         * platform/win/CursorWin.cpp:
3219
3220 2006-08-28  Justin Garcia  <justin.garcia@apple.com>
3221
3222         Reviewed by harrison
3223         
3224         <rdar://problem/4700341>
3225         REGRESSION: In new mail message, caret isn't placed at end of line after redoing typing
3226
3227         * editing/ReplaceSelectionCommand.cpp:
3228         (WebCore::ReplaceSelectionCommand::doApply): Added a FIXME.
3229         * page/Frame.cpp:
3230         (WebCore::Frame::reappliedEditing): Restore the endingSelection(), not the startingSelection().
3231
3232 2006-08-28  Tim Omernick  <timo@apple.com>
3233
3234         Reviewed by John Sullivan.
3235
3236         Part of <rdar://problem/4481553> NetscapeMoviePlugIn example code scripting doesn't work in Firefox (4319)
3237         <http://bugzilla.opendarwin.org/show_bug.cgi?id=4319>: NetscapeMoviePlugIn example code scripting doesn't work
3238         in Firefox
3239
3240         No test cases added, since this is essentially a leak fix.
3241
3242         A brief history of NPP_GetValue(), NPObjects, and reference counting.
3243
3244         Earlier versions of WebKit incorrectly interpreted the NPRuntime reference counting rules.  We failed to take
3245         into account the fact that plug-ins are required to retain NPObjects before returning them.  This creates several
3246         classes of interesting plug-ins:
3247
3248         1) Plug-ins tested in WebKit and other browsers.  These plug-ins may have WebKit-specific workarounds to not retain
3249            the returned NPObject, thus avoiding the memory leak in WebKit.
3250
3251         2) Plug-ins tested only in other browsers.  These plug-ins must already retain their NPObjects, since other browsers
3252            implemented the NPRuntime retain/release rules correctly.  These plug-ins likely work in WebKit, but probably leak
3253            NPObjects since WebKit adds its own retain in addition to the plug-in's retain.
3254
3255         3) Plug-ins tested only in WebKit, that fail to retain their NPObjects before returning them.
3256            Such plug-ins are guaranteed to crash in other browsers due to the missing expected retain.  These plug-ins
3257            work in older WebKits because WebKit did not expect the plug-in to retain the NPObject.  Now that our retain
3258            rules match other browsers, these plug-ins may crash due to the difference in retain/release behavior.  We could
3259            potentially detect that situation and correct it here, but I consider it a bug that the plug-in did not follow the
3260            documented NPRuntime reference counting rules.  Furthermore, it is extremely unlikely that someone would develop
3261            a Netscape plug-in and test it *only* in WebKit.  The entire purpose of creating a Netscape plugin is so that it
3262            works in all browsers!
3263
3264         4) Plug-ins tested only in WebKit, that properly retain their NPObjects before returning them.
3265            These plug-ins probably work in other browsers, and leak their NPObjects in older WebKits because of WebKit's
3266            extra retain.  A developer of this type of plug-in is probably unaware of the NPObject leak.  A more savvy developer
3267            would create a plug-in that fits into category #1.
3268         
3269         I am changing our NPP_GetValue() behavior to match Firefox and other browsers -- the plug-in is now expected to retain the
3270         returned NPObject, and the browser is expected to release it when done.  This means that plug-ins in category #3 need to be
3271         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
3272         this needs to be handled specifically by WebKit.
3273
3274         * bridge/mac/FrameMac.mm:
3275         Changed -pluginScriptableObject to -createPluginScriptableObject to make clearer the contract that the method must return a
3276         retained NPObject.  Also changed it to return an actual NPObject* instead of a void*.  There is only one caller of this method,
3277         and only one implementor.  Using void* here is a needless abstraction.  It's an NPObject*!  Admit it!
3278         (WebCore::getInstanceForView):
3279         Release the NPObject after creating the bindings instance.  This is the actual bug fix.
3280
3281 2006-08-28  Alice Liu  <alice.liu@apple.com>
3282
3283         Reviewed by Geoff.
3284
3285         Fixed <rdar://problem/4548537> Document.domain and other attributes are blank for an iframe created with document.write
3286
3287         * dom/Document.cpp:
3288         (WebCore::Document::open):
3289         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()
3290         * page/Frame.cpp:
3291         (WebCore::Frame::didExplicitOpen):
3292         set the frame's url to the document's url
3293
3294 2006-08-28  Brady Eidson  <beidson@apple.com>
3295
3296         Reviewed by Adele and Adam
3297
3298         Added an optimization to return early if there's no replacements to be made
3299
3300         * platform/StringImpl.cpp:
3301         (WebCore::StringImpl::replace):
3302
3303 2006-08-28  Nikolas Zimmermann  <zimmermann@kde.org>
3304
3305         Reviewed and landed by ap.
3306
3307         Fixes one chunk of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10604
3308         Provide stub implementation of RenderPopupMenuQt.
3309
3310         * CMakeLists.txt:
3311         * platform/qt/RenderPopupMenuQt.cpp: Added.
3312         (WebCore::RenderPopupMenuQt::RenderPopupMenuQt):
3313         (WebCore::RenderPopupMenuQt::~RenderPopupMenuQt):
3314         (WebCore::RenderPopupMenuQt::clear):
3315         (WebCore::RenderPopupMenuQt::populate):
3316         (WebCore::RenderPopupMenuQt::showPopup):
3317         (WebCore::RenderPopupMenuQt::hidePopup):
3318         (WebCore::RenderPopupMenuQt::addSeparator):
3319         (WebCore::RenderPopupMenuQt::addGroupLabel):
3320         (WebCore::RenderPopupMenuQt::addOption):
3321         * platform/qt/RenderPopupMenuQt.h: Added.
3322         * platform/qt/RenderThemeQt.cpp:
3323         (WebCore::RenderThemeQt::systemFont):
3324         (WebCore::RenderThemeQt::createPopupMenu):
3325
3326 2006-08-28  Nikolas Zimmermann  <zimmermann@kde.org>
3327
3328         Reviewed and landed by ap.
3329
3330         Fixes one chunk of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10604
3331         Offer QString -> DeprecatedString conversion.
3332
3333         * platform/DeprecatedString.h:
3334         * platform/qt/StringQt.cpp:
3335         (WebCore::DeprecatedString::DeprecatedString):
3336
3337 2006-08-28  Nikolas Zimmermann  <zimmermann@kde.org>
3338
3339         Reviewed by Tim Hatcher.
3340         
3341         Fixes one chunk of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10604
3342
3343         * platform/qt/RenderThemeQt.cpp:
3344         (WebCore::RenderThemeQt::systemFont):
3345         Remove annoying notImplemented() usage in systemFont()
3346
3347 2006-08-28  David Harrison  <harrison@apple.com>
3348
3349         Reviewed by Darin.
3350
3351         <rdar://problem/3942647> Support AXStyleTextMarkerRangeForTextMarker parameterized attribute
3352
3353         * bridge/mac/WebCoreAXObject.mm:
3354         (-[WebCoreAXObject accessibilityParameterizedAttributeNames]):
3355         Add AXStyleTextMarkerRangeForTextMarker.
3356         
3357         (startOfStyleRange):
3358         (endOfStyleRange):
3359         Return first/last VisiblePosition in range having the same style has the specified VisiblePosition.
3360
3361         (-[WebCoreAXObject doAXStyleTextMarkerRangeForTextMarker:]):
3362         Return AXTextMarkerRange for startOfStyleRange/endOfStyleRange of the specified AXTextMarker.
3363         
3364         (-[WebCoreAXObject accessibilityAttributeValue:forParameter:]):
3365         Call doAXStyleTextMarkerRangeForTextMarker for AXStyleTextMarkerRangeForTextMarker.
3366
3367 2006-08-28  David Harrison  <harrison@apple.com>
3368
3369         Reviewed by Darin.
3370
3371         <rdar://problem/4517383> Hide all images used for spacing purpose in AX
3372
3373         * bridge/mac/WebCoreAXObject.mm:
3374         (-[WebCoreAXObject accessibilityIsIgnored]):
3375         Check for one-dimensional image
3376         Check whether rendered image was stretched from one-dimensional file image
3377
3378 2006-08-27  Brady Eidson  <beidson@apple.com>
3379
3380         Reviewed by Maciej
3381
3382         Rewrote StringImpl::replace(UChar, StringImpl*)
3383
3384         * platform/StringImpl.cpp:
3385         (WebCore::StringImpl::replace):
3386
3387 2006-08-27  Sam Weinig  <sam.weinig@gmail.com>
3388
3389         Reviewed by Tim H.
3390
3391         - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=4624
3392           WebCore needs autogenerated Obj-C DOM bindings
3393
3394           First round of auto-generated Objective C DOM bindings, starting
3395           with the DOM Core.
3396
3397         * DerivedSources.make:
3398         * WebCore.xcodeproj/project.pbxproj:
3399         * bindings/objc/DOM.mm:
3400         (-[DOMNode description]):
3401         (-[DOMNode KJS::Bindings::]):
3402         (-[DOMNode dispatchEvent:]):
3403         (-[DOMNamedNodeMap _initWithNamedNodeMap:]):
3404         (+[DOMNamedNodeMap _namedNodeMapWith:]):
3405         (-[DOMNodeList _initWithNodeList:]):
3406         (+[DOMNodeList _nodeListWith:]):
3407         (-[DOMImplementation _initWithDOMImplementation:]):
3408         (+[DOMImplementation _DOMImplementationWith:]):
3409         (-[DOMImplementation _DOMImplementation]):
3410         (+[DOMDocumentFragment _documentFragmentWith:]):
3411         (-[DOMDocumentFragment _fragment]):
3412         (-[DOMDocument createCSSStyleDeclaration]):
3413         (+[DOMDocument _documentWith:]):
3414         (-[DOMDocument _document]):
3415         (-[DOMDocument _ownerElement]):
3416         (+[DOMAttr _attrWith:]):
3417         (-[DOMAttr _attr]):
3418         (+[DOMDocumentType _documentTypeWith:WebCore::]):
3419         (-[DOMDocumentType WebCore::]):
3420         (+[DOMText _textWith:WebCore::]):
3421         (+[DOMComment _commentWith:WebCore::]):
3422         (+[DOMCDATASection _CDATASectionWith:WebCore::]):
3423         (+[DOMProcessingInstruction _processingInstructionWith:WebCore::]):
3424         (+[DOMEntityReference _entityReferenceWith:WebCore::]):
3425         * bindings/objc/DOMCSS.h:
3426         * bindings/objc/DOMCSS.mm:
3427         * bindings/objc/DOMCore.h:
3428         * bindings/objc/DOMEvents.h:
3429         * bindings/objc/DOMEvents.mm:
3430         * bindings/objc/DOMExtensions.h:
3431         * bindings/objc/DOMHTML.mm:
3432         (+[DOMHTMLDocument _HTMLDocumentWith:WebCore::]):
3433         * bindings/objc/DOMHTMLInternal.h:
3434         * bindings/objc/DOMImplementationFront.h:
3435         * bindings/objc/DOMInternal.h:
3436         * bindings/objc/DOMNode.h: Added.
3437         * bindings/objc/DOMNode.mm: Added.
3438         (-[DOMNode dealloc]):
3439         (-[DOMNode finalize]):
3440         (-[DOMNode nodeName]):
3441         (-[DOMNode nodeValue]):
3442         (-[DOMNode setNodeValue:]):
3443         (-[DOMNode nodeType]):
3444         (-[DOMNode parentNode]):
3445         (-[DOMNode childNodes]):
3446         (-[DOMNode firstChild]):
3447         (-[DOMNode lastChild]):
3448         (-[DOMNode previousSibling]):
3449         (-[DOMNode nextSibling]):
3450         (-[DOMNode attributes]):
3451         (-[DOMNode ownerDocument]):
3452         (-[DOMNode insertBefore::]):
3453         (-[DOMNode replaceChild::]):
3454         (-[DOMNode removeChild:]):
3455         (-[DOMNode appendChild:]):
3456         (-[DOMNode hasChildNodes]):
3457         (-[DOMNode cloneNode:]):
3458         (-[DOMNode normalize]):
3459         (-[DOMNode isSupported::]):
3460         (-[DOMNode namespaceURI]):
3461         (-[DOMNode prefix]):
3462         (-[DOMNode setPrefix:]):
3463         (-[DOMNode localName]):
3464         (-[DOMNode hasAttributes]):
3465         (-[DOMNode isSameNode:]):
3466         (-[DOMNode isEqualNode:]):
3467         (-[DOMNode isDefaultNamespace:]):
3468         (-[DOMNode lookupPrefix:]):
3469         (-[DOMNode lookupNamespaceURI:]):
3470         (-[DOMNode textContent]):
3471         (-[DOMNode setTextContent:]):
3472         (-[DOMNode boundingBox]):
3473         (-[DOMNode lineBoxRects]):
3474         * bindings/objc/DOMObject.h: Added.
3475         * bindings/objc/DOMObject.mm: Added.
3476         (-[DOMObject init]):
3477         (-[DOMObject dealloc]):
3478         (-[DOMObject finalize]):
3479         (-[DOMObject copyWithZone:]):
3480         (-[DOMObject sheet]):
3481         * bindings/objc/DOMPrivate.h:
3482         * bindings/objc/DOMRange.h:
3483         * bindings/objc/DOMStylesheets.h:
3484         * bindings/objc/DOMTraversal.h:
3485         * bindings/objc/DOMViews.h:
3486         * bindings/objc/DOMViews.mm:
3487         * bindings/objc/DOMXPath.h:
3488         * bindings/objc/DOMXPath.mm:
3489         * bindings/scripts/CodeGenerator.pm:
3490         * bindings/scripts/CodeGeneratorJS.pm:
3491         * bindings/scripts/CodeGeneratorObjC.pm: Added.
3492         * dom/Attr.idl:
3493         * dom/CDATASection.idl: Added.
3494         * dom/Comment.idl: Added.
3495         * dom/DOMImplementation.idl:
3496         * dom/Document.idl:
3497         * dom/Element.idl:
3498         * dom/EntityReference.idl: Added.
3499         * dom/NamedNodeMap.idl: Added.
3500         * dom/NodeList.idl: Added.
3501         * dom/ProcessingInstruction.idl:
3502
3503 2006-08-27  Nikolas Zimmermann  <zimmermann@kde.org>
3504
3505         Reviewed by Tim H.
3506
3507         Fix crash in LayoutTests/css1/font_properties/font.html,
3508         by implementing FontData::smallCapsFontData.
3509
3510         * platform/qt/FontDataQt.cpp:
3511         (WebCore::FontData::platformDestroy):
3512         (WebCore::FontData::smallCapsFontData):
3513
3514 2006-08-27  Brady Eidson  <beidson@apple.com>
3515
3516         Reviewed by Maciej
3517
3518         Plugged a leak in StringImpl::replace()
3519
3520         * platform/StringImpl.cpp:
3521         (WebCore::StringImpl::replace):
3522
3523 2006-08-27  Nikolas Zimmermann  <zimmermann@kde.org>
3524
3525         Reviewed and landed by Anders.
3526
3527         Remove most annoying notImplemented() usages and
3528         implement some missing ScrollViewQt functions.
3529         Much nicer output when invoking run-webkit-tests.
3530
3531         * platform/qt/FrameQt.cpp:
3532         (WebCore::FrameQt::saveDocumentState):
3533         (WebCore::FrameQt::restoreDocumentState):
3534         (WebCore::FrameQt::clearUndoRedoOperations):
3535         (WebCore::FrameQt::partClearedInBegin):
3536         * platform/qt/ResourceLoaderManager.cpp:
3537         (WebCore::headerCallback):
3538         (WebCore::ResourceLoaderManager::downloadTimerCallback):
3539         * platform/qt/ScrollViewQt.cpp:
3540         (WebCore::ScrollView::updateContents):
3541         (WebCore::ScrollView::suppressScrollBars):
3542         (WebCore::ScrollView::setStaticBackground):
3543         (WebCore::ScrollView::addChild):
3544         (WebCore::ScrollView::removeChild):
3545         * platform/qt/TemporaryLinkStubs.cpp:
3546         (WebCore::historyContains):
3547         (WebCore::CheckCacheObjectStatus):
3548         (WebCore::CheckIfReloading):
3549         (loadResourceIntoArray):
3550         (WebCore::PlugInInfoStore::supportsMIMEType):
3551
3552 2006-08-27  Nikolas Zimmermann  <zimmermann@kde.org>
3553
3554         Reviewed and landed by Anders.
3555
3556         Fix Qt build (add SVGMetaDataElement.cpp to build system)
3557
3558         * CMakeLists.txt:
3559
3560 2006-08-27  Eric Seidel  <eric@eseidel.com>
3561
3562         Reviewed by andersca.
3563
3564         No logic changes.  Just cleanup.
3565
3566         * ksvg2/svg/SVGAngle.cpp:
3567         (SVGAngle::SVGAngle):
3568         (SVGAngle::unitType):
3569         (SVGAngle::valueAsString):
3570         (SVGAngle::newValueSpecifiedUnits):
3571         (SVGAngle::convertToSpecifiedUnits):
3572         * ksvg2/svg/SVGAngle.h:
3573         * ksvg2/svg/SVGLength.cpp:
3574         (WebCore::SVGLength::unitType):
3575         (WebCore::SVGLength::newValueSpecifiedUnits):
3576         (WebCore::SVGLength::convertToSpecifiedUnits):
3577         (WebCore::SVGLength::updateValue):
3578         (WebCore::SVGLength::updateValueInSpecifiedUnits):
3579         * ksvg2/svg/SVGLength.h:
3580         * platform/BitmapImage.cpp: Removed.
3581         * platform/BitmapImage.h: Removed.
3582
3583 2006-08-27  Brady Eidson  <beidson@apple.com>
3584
3585         Reviewed by Anders
3586
3587         -Changed all of the commonly used queries to keep around pre-prepared statements and bind
3588         their arguments instead of constructing a new, messy, string appended statement each time
3589         -Changed some code in pruneUnretainedIconsOnStartup regarding transactions
3590
3591         * loader/icon/IconDatabase.cpp:
3592         (WebCore::IconDatabase::IconDatabase): Initializers
3593         (WebCore::IconDatabase::close): Wipe all the preprepared statements
3594         (WebCore::IconDatabase::pruneUnretainedIconsOnStartup): Better handling of transactions
3595         (WebCore::readySQLStatement): Make sure a preprepared statement is ready to go for a fooQuery()
3596         (WebCore::IconDatabase::pageURLTableIsEmptyQuery): Added a comment
3597         (WebCore::IconDatabase::imageDataForIconURLQuery): Use preprepared statement + binding
3598         (WebCore::IconDatabase::timeStampForIconURLQuery): ditto
3599         (WebCore::IconDatabase::iconURLForPageURLQuery): ditto
3600         (WebCore::IconDatabase::forgetPageURLQuery): ditto
3601         (WebCore::IconDatabase::setIconIDForPageURLQuery): ditto
3602         (WebCore::IconDatabase::getIconIDForIconURLQuery): ditto
3603         (WebCore::IconDatabase::addIconForIconURLQuery): ditto
3604         (WebCore::IconDatabase::hasIconForIconURLQuery): ditto
3605         * loader/icon/IconDatabase.h: Added fooQuery() and *m_fooStatements
3606         * loader/icon/SQLStatement.h:
3607         (WebCore::SQLStatement::database): Added
3608
3609 2006-08-27  Nikolas Zimmermann  <zimmermann@kde.org>
3610
3611         Reviewed by Eric.
3612
3613         Fix switch logic.
3614
3615         * platform/qt/ScrollViewQt.cpp:
3616         (WebCore::ScrollView::setHScrollBarMode):
3617         (WebCore::ScrollView::setVScrollBarMode):
3618
3619 2006-08-27  Rob Buis  <buis@kde.org>
3620
3621         Reviewed by Eric.
3622
3623         http://bugzilla.opendarwin.org/show_bug.cgi?id=10557
3624         KCanvasPath should be replace by platform/Path
3625
3626         Refactoring out the KCanvasPath class.
3627
3628         * CMakeLists.txt:
3629         * WebCore.xcodeproj/project.pbxproj:
3630         * kcanvas/KCanvasCreator.cpp:
3631         (WebCore::KCanvasCreator::createRoundedRectangle):
3632         (WebCore::KCanvasCreator::createRectangle):
3633         (WebCore::KCanvasCreator::createEllipse):
3634         (WebCore::KCanvasCreator::createCircle):
3635         (WebCore::KCanvasCreator::createLine):
3636         * kcanvas/KCanvasCreator.h:
3637         * kcanvas/KCanvasPath.cpp: Removed.
3638         * kcanvas/KCanvasPath.h: Removed.
3639         * kcanvas/KCanvasResources.cpp:
3640         (WebCore::operator<<):
3641         (WebCore::KCanvasResource::clients):
3642         (WebCore::KCanvasResource::invalidate):
3643         (WebCore::KCanvasClipper::addClipData):
3644         * kcanvas/KCanvasResources.h:
3645         (WebCore::KCClipData::windRule):
3646         (WebCore::KCClipDataList::KCClipDataList):
3647         (WebCore::KCClipDataList::addPath):
3648         * kcanvas/KCanvasTreeDebug.cpp:
3649         (WebCore::operator<<):
3650         * kcanvas/RenderPath.cpp:
3651         (WebCore::RenderPath::fillContains):
3652         (WebCore::RenderPath::relativeBBox):
3653         (WebCore::RenderPath::setPath):
3654         (WebCore::RenderPath::path):
3655         (WebCore::RenderPath::paint):
3656         (WebCore::RenderPath::nodeAtPoint):
3657         * kcanvas/RenderPath.h:
3658         * kcanvas/device/KRenderingDevice.h:
3659         * kcanvas/device/KRenderingFillPainter.cpp:
3660         (WebCore::KRenderingFillPainter::fillRule):
3661         (WebCore::KRenderingFillPainter::setFillRule):
3662         * kcanvas/device/KRenderingFillPainter.h:
3663         * kcanvas/device/qt/KCanvasClipperQt.cpp:
3664         (WebCore::KCanvasClipperQt::applyClip):
3665         * kcanvas/device/qt/KCanvasPathQt.cpp: Removed.
3666         * kcanvas/device/qt/KCanvasPathQt.h: Removed.
3667         * kcanvas/device/qt/KRenderingDeviceQt.cpp:
3668         (WebCore::KRenderingDeviceContextQt::addPath):
3669         (WebCore::KRenderingDeviceContextQt::setFillRule):
3670         (WebCore::KRenderingDeviceQt::createItem):
3671         * kcanvas/device/qt/KRenderingDeviceQt.h:
3672         * kcanvas/device/qt/RenderPathQt.cpp:
3673         (WebCore::RenderPathQt::drawMarkersIfNeeded):
3674         (WebCore::RenderPathQt::strokeContains):
3675         (WebCore::getPathStroke):
3676         (WebCore::RenderPathQt::strokeBBox):
3677         * kcanvas/device/qt/RenderPathQt.h:
3678         * kcanvas/device/quartz/KCanvasItemQuartz.h:
3679         * kcanvas/device/quartz/KCanvasItemQuartz.mm:
3680         (WebCore::KCanvasItemQuartz::drawMarkersIfNeeded):
3681         (WebCore::KCanvasItemQuartz::strokeBBox):
3682         (WebCore::KCanvasItemQuartz::strokeContains):
3683         * kcanvas/device/quartz/KCanvasPathQuartz.h: Removed.
3684         * kcanvas/device/quartz/KCanvasPathQuartz.mm: Removed.
3685         * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
3686         (WebCore::KCanvasClipperQuartz::applyClip):
3687         * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
3688         * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
3689         (WebCore::KRenderingDeviceContextQuartz::addPath):
3690         (WebCore::KRenderingDeviceQuartz::createItem):
3691         * kcanvas/device/quartz/QuartzSupport.h:
3692         * kcanvas/device/quartz/QuartzSupport.mm:
3693         (WebCore::scratchContext):
3694         (WebCore::strokeBoundingBox):
3695         (WebCore::pathContainsPoint):
3696         * ksvg2/css/SVGCSSParser.cpp:
3697         (WebCore::CSSParser::parseSVGValue):
3698         * ksvg2/css/SVGCSSStyleSelector.cpp:
3699         (WebCore::CSSStyleSelector::applySVGProperty):
3700         * ksvg2/css/SVGRenderStyle.h:
3701         (WebCore::SVGRenderStyle::InheritedFlags::):
3702         * ksvg2/css/SVGRenderStyleDefs.h:
3703         * ksvg2/misc/KCanvasRenderingStyle.cpp:
3704         (WebCore::KSVGPainterFactory::fillPainter):
3705         * ksvg2/svg/SVGCircleElement.cpp:
3706         (SVGCircleElement::toPathData):
3707         * ksvg2/svg/SVGCircleElement.h:
3708         * ksvg2/svg/SVGClipPathElement.cpp:
3709         (SVGClipPathElement::canvasResource):
3710         * ksvg2/svg/SVGEllipseElement.cpp:
3711         (WebCore::SVGEllipseElement::toPathData):
3712         * ksvg2/svg/SVGEllipseElement.h:
3713         * ksvg2/svg/SVGGradientElement.cpp:
3714         (SVGGradientElement::notifyAttributeChange):
3715         * ksvg2/svg/SVGImageElement.cpp:
3716         * ksvg2/svg/SVGLineElement.cpp:
3717         (SVGLineElement::toPathData):
3718         * ksvg2/svg/SVGLineElement.h:
3719         * ksvg2/svg/SVGMaskElement.cpp:
3720         * ksvg2/svg/SVGPathElement.cpp:
3721         (WebCore::SVGPathElement::toPathData):
3722         * ksvg2/svg/SVGPathElement.h:
3723         * ksvg2/svg/SVGPatternElement.cpp:
3724         (WebCore::SVGPatternElement::notifyClientsToRepaint):
3725         * ksvg2/svg/SVGPolygonElement.cpp:
3726         (SVGPolygonElement::toPathData):
3727         * ksvg2/svg/SVGPolygonElement.h:
3728         * ksvg2/svg/SVGPolylineElement.cpp:
3729         (SVGPolylineElement::toPathData):
3730         * ksvg2/svg/SVGPolylineElement.h:
3731         * ksvg2/svg/SVGRectElement.cpp:
3732         (WebCore::SVGRectElement::toPathData):
3733         * ksvg2/svg/SVGRectElement.h:
3734         * ksvg2/svg/SVGStyledElement.cpp:
3735         (WebCore::SVGStyledElement::createRenderer):
3736         * ksvg2/svg/SVGStyledElement.h:
3737         (WebCore::SVGStyledElement::toPathData):
3738         * ksvg2/svg/SVGTextContentElement.cpp:
3739         * ksvg2/svg/SVGTextElement.cpp:
3740         * platform/Path.h:
3741         (WebCore::):
3742         (WebCore::Path::setWindingRule):
3743         (WebCore::Path::windingRule):
3744         * platform/cg/PathCG.cpp:
3745         (WebCore::Path::contains):
3746         (WebCore::Path::isEmpty):
3747         (WebCore::CGPathToCFStringApplierFunction):
3748         (WebCore::CFStringFromCGPath):
3749         (WebCore::Path::debugString):
3750         * platform/qt/FrameQt.cpp:
3751         (WebCore::FrameQt::openURL):
3752         * platform/qt/PathQt.cpp:
3753         (WebCore::Path::contains):
3754         (WebCore::Path::isEmpty):
3755         (WebCore::Path::debugString):
3756
3757 2006-08-26  Eric Seidel  <eric@eseidel.com>
3758
3759         Reviewed by hyatt.
3760
3761         pointer-events attribute does not work.
3762         http://bugzilla.opendarwin.org/show_bug.cgi?id=10415
3763
3764         * kcanvas/RenderPath.cpp:
3765         (WebCore::RenderPath::pointerEventsHitRules): new function to contain pointer-events hit logic
3766         (WebCore::RenderPath::nodeAtPoint): respect pointer-events property
3767         * kcanvas/RenderPath.h:
3768         (WebCore::RenderPath::PointerEventsHitRules::PointerEventsHitRules):
3769         * ksvg2/css/SVGCSSParser.cpp:
3770         (WebCore::CSSParser::parseSVGValue):
3771         * ksvg2/svg/SVGPaint.cpp: Fix this to use a real enum value
3772         (WebCore::SVGPaint::SVGPaint):
3773         (WebCore::SVGPaint::paintType):
3774         (WebCore::SVGPaint::uri):
3775         (WebCore::SVGPaint::setUri):
3776         (WebCore::SVGPaint::setPaint):
3777         * ksvg2/svg/SVGPaint.h:
3778
3779 2006-08-27  Rob Buis  <buis@kde.org>
3780
3781         Reviewed by Eric.
3782
3783         http://bugzilla.opendarwin.org/show_bug.cgi?id=10558
3784         SVG should have support for <metadata> element
3785
3786         Add support for metadata tag.
3787
3788         * DerivedSources.make:
3789         * WebCore.xcodeproj/project.pbxproj:
3790         * ksvg2/bindings/js/JSSVGElementWrapperFactory.cpp:
3791         * ksvg2/svg/SVGMetadataElement.cpp: Added.
3792         (SVGMetadataElement::SVGMetadataElement):
3793         (SVGMetadataElement::~SVGMetadataElement):
3794         * ksvg2/svg/SVGMetadataElement.h: Added.
3795         * ksvg2/svg/SVGMetadataElement.idl: Added.
3796         * ksvg2/svg/svgtags.in:
3797
3798 2006-08-26  Nikolas Zimmermann  <zimmermann@kde.org>
3799
3800         Reviewed by Eric.
3801
3802         Daily Qt build fixes :-)
3803
3804         * platform/qt/GraphicsContextQt.cpp:
3805         (WebCore::GraphicsContext::drawConvexPolygon):
3806         * platform/qt/ImageQt.cpp:
3807         (WebCore::Image::initPlatformData):
3808         (WebCore::Image::invalidatePlatformData):
3809         (WebCore::Image::loadPlatformResource):
3810
3811 2006-08-26  David Hyatt  <hyatt@apple.com>
3812
3813         Fix the ifdef in Path.h to be CG.
3814
3815         * platform/Path.h:
3816
3817 2006-08-26  David Hyatt  <hyatt@apple.com>
3818
3819         Fix Mac build bustage (lots of float/int confusion).  I am not sure
3820         whether rounding was desired or not... this is just a band-aid to get
3821         the build working again.
3822
3823         * rendering/RenderThemeMac.mm:
3824         (WebCore::RenderThemeMac::paintMenuListButtonGradients):
3825         (WebCore::RenderThemeMac::paintMenuListButton):
3826         (WebCore::RenderThemeMac::adjustMenuListButtonStyle):
3827
3828 2006-08-25  David Hyatt  <hyatt@apple.com>
3829
3830         More refactoring of image to disentangle graphics (e.g., Cairo) from
3831         platform (e.g., Windows).
3832
3833         * WebCore.vcproj/WebCore/WebCore.vcproj:
3834         Add ImageWin to project.
3835
3836         * loader/Cache.cpp:
3837         (WebCore::Cache::init):
3838         * loader/icon/IconDataCache.cpp:
3839         (WebCore::IconDataCache::loadImageFromResource):
3840         Renamed loadResource to loadPlatformResource to try to make it more clear
3841         that this call is implemented on each OS (and not by graphics libraries).
3842
3843         * platform/Image.cpp:
3844         (WebCore::Image::Image):
3845         (WebCore::Image::~Image):
3846         (WebCore::Image::invalidateData):
3847         (WebCore::Image::size):
3848         (WebCore::Image::setData):
3849         (WebCore::Image::setNativeData):
3850         Fix up the PDF code to not be considered platform data any more, since
3851         PDF rendering is not for a specific OS.
3852
3853         Renamed the methods that set OS-specific data (like NSImage) to PlatformData
3854         instead of NativeData.
3855
3856         * platform/Image.h:
3857         Shifted the PDF members into CG defines.  Made CGImageRef a CG define.
3858         Renamed methods to reflect that they are OS-specific and not
3859         graphics-library-specific.
3860        
3861         * platform/cairo/ImageCairo.cpp:
3862         Removed the platform data methods.  Other platforms besides Windows that
3863         use Cairo will need to account for this change by adding these methods
3864         to their OS Image***.cpp file.
3865
3866         * platform/cg/ImageCG.cpp:
3867         (WebCore::Image::drawTiled):
3868         Add FIXMEs to the wkpattern stuff.
3869
3870         * platform/cg/PDFDocumentImage.cpp:
3871         Shouldn't have #imports in .cpp.
3872
3873         * platform/mac/ImageMac.mm:
3874         (WebCore::Image::initPlatformData):
3875         (WebCore::Image::invalidatePlatformData):
3876         (WebCore::Image::loadPlatformResource):
3877         (WebCore::Image::getTIFFRepresentation):
3878         Add the platform data initializers to the Mac Image file.   Move the
3879         TIFF representation there as well, since this is only used by Mac code.
3880
3881         * platform/win/ImageWin.cpp: Added.
3882         (WebCore::Image::initPlatformData):
3883         (WebCore::Image::invalidatePlatformData):
3884         (WebCore::Image::loadPlatformResource):
3885         (WebCore::Image::supportsType):
3886         Similar work for Windows.  Add stubs for possible future HBITMAP returns
3887         in the platform data methods.
3888
3889         * rendering/RenderLayer.cpp:
3890         (WebCore::RenderLayer::paintResizeControl):
3891         * rendering/RenderThemeMac.mm:
3892         (WebCore::RenderThemeMac::paintResizeControl):
3893         loadResource -> loadPlatformResource
3894
3895 2006-08-26  Adam Roben  <aroben@apple.com>
3896
3897         Rubber-stamped by Adele.
3898
3899         Fixed build.
3900
3901         * platform/cairo/GraphicsContextCairo.cpp:
3902         (WebCore::GraphicsContext::drawConvexPolygon):
3903
3904 2006-08-25  Adele Peterson  <adele@apple.com>
3905
3906         Patch by Francisco, Reviewed by me.
3907
3908         Preparation for switch to new text field implementation of password field.
3909
3910         Added -webkit-text-security property.
3911
3912         Tests: updated fast/css/computed-style-expected.txt
3913
3914         * css/CSSPropertyNames.in: Added -webkit-text-security.
3915         * css/CSSComputedStyleDeclaration.cpp:
3916         (WebCore::):
3917         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added cases for textSecurity.
3918         * css/cssparser.cpp: (WebCore::CSSParser::parseValue): ditto.
3919         * css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::applyProperty): ditto.
3920         * css/html4.css: Added style for password field to use -webkit-text-security.
3921
3922         * html/HTMLInputElement.cpp: Check appearance property to decide which renderer to use.
3923         (WebCore::HTMLInputElement::selectionStart):
3924         (WebCore::HTMLInputElement::selectionEnd):
3925         (WebCore::HTMLInputElement::setSelectionStart):
3926         (WebCore::HTMLInputElement::setSelectionEnd):
3927         (WebCore::HTMLInputElement::select):
3928         (WebCore::HTMLInputElement::setSelectionRange):
3929         (WebCore::HTMLInputElement::createRenderer):
3930         * html/HTMLInputElement.h: (WebCore::HTMLInputElement::isNonWidgetTextField): Added check for password.
3931
3932         * platform/StringImpl.cpp: (WebCore::StringImpl::secure): Added. Converts a string to replace 
3933          characters with one character, like a bullet.
3934         * platform/StringImpl.h:
3935
3936         * rendering/RenderStyle.cpp:
3937         (WebCore::StyleCSS3InheritedData::StyleCSS3InheritedData): Initialize textSecurity.
3938         (WebCore::RenderStyle::diff): Added case for textSecurity.
3939         * rendering/RenderStyle.h:
3940         (WebCore::):
3941         (WebCore::RenderStyle::textSecurity): Added.
3942         (WebCore::RenderStyle::setTextSecurity): Added.
3943         (WebCore::RenderStyle::initialTextSecurity): Added.
3944         * rendering/RenderText.cpp:
3945         (WebCore::RenderText::setStyle): Added case for textSecurity.
3946         (WebCore::RenderText::setText): ditto.
3947
3948 2006-08-25  Adele Peterson  <adele@apple.com>
3949
3950         Reviewed by Hyatt.
3951
3952         Enable styling for popup menus. Also fixed baseline calculation for buttons and selects.
3953
3954         Tests:   fast/forms/select-baseline.html
3955                  fast/borders/borderRadiusInvalidColor.html
3956         updated: fast/forms/select-style-expected.txt and more...
3957
3958         * css/html4.css: Added style rules for styled select elements.
3959
3960         * platform/GraphicsContext.h: Added argument for antialiasing.
3961         * platform/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::drawConvexPolygon): ditto.
3962         * platform/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::drawConvexPolygon): ditto.
3963
3964         * rendering/RenderObject.cpp:
3965         (WebCore::RenderObject::drawBorderArc): Added textColor argument so this can be used when the border color is invalid.
3966         (WebCore::RenderObject::drawBorder): Removed invalidisInvert since its dead code 
3967          (any callers that set this to true were already ensuring that their color was valid).
3968          Updated drawConvexPolygon call to use FloatPoints instead of IntPoints.
3969         (WebCore::RenderObject::paintBorder): Updated to remove invalidisInvert argument from drawBorder call.
3970         (WebCore::RenderObject::paintOutline): ditto.
3971         * rendering/RenderFlow.cpp: (WebCore::RenderFlow::paintOutlineForLine): ditto.
3972         * rendering/RenderObject.h: Updated arguments for drawBorder and drawBorderArc.
3973
3974         * rendering/RenderBlock.cpp: (WebCore::RenderBlock::getBaselineOfLastLineBox): Changed isRootLineBox argument to true when setting line height.
3975           Added case for when there's no children to check for hasLineIfEmpty.
3976         * rendering/RenderBlock.h:
3977         * rendering/bidi.cpp: (WebCore::RenderBlock::layoutInlineChildren): Changed isRootLineBox argument to true when setting line height.
3978         * rendering/RenderButton.h: (WebCore::RenderButton::hasLineIfEmpty): Added so buttons always get a line height.
3979         * rendering/RenderMenuList.h: (WebCore::RenderMenuList::hasLineIfEmpty): ditto.
3980         * rendering/RenderFlexibleBox.cpp:
3981         (WebCore::RenderFlexibleBox::layoutHorizontalBox): Added code to check hasLineIfEmpty to give flex boxes line height.
3982         (WebCore::RenderFlexibleBox::layoutVerticalBox): ditto.
3983
3984         * css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::adjustRenderStyle): Moved the appearance adjustment code into adjust style.
3985         * rendering/RenderBox.cpp: (WebCore::RenderBox::paintBoxDecorations): Lets the theme paint "decorations", like the arrow control and gradients
3986          immediately after painting the background.
3987
3988         * rendering/RenderTheme.cpp:
3989         (WebCore::RenderTheme::adjustStyle): This now checks whether the control is styled, and adjusts the appearance property appropriately.
3990         For styled selects, instead of setting the appearance to none, which is what we do for other styled controls, we set the appearance
3991         to MenulistButtonAppearance, which indicates that we will draw the arrow controls and button appearance in the engine.
3992         (WebCore::RenderTheme::paintDecorations): Added. Paints MenulistButtonAppearance in a different function, 
3993          so the arrow control will draw at the right time (after the background).
3994         (WebCore::RenderTheme::paint): Added case for MenulistButtonAppearance.
3995         (WebCore::RenderTheme::paintBorderOnly): ditto.
3996         (WebCore::RenderTheme::isControlContainer): Removed cases for MenuListAppearance and MenulistButtonAppearance since the baseline is no longer provided by the theme.
3997         (WebCore::RenderTheme::adjustMenuListButtonStyle): Added.
3998         * rendering/RenderTheme.h: (WebCore::RenderTheme::paintMenuListButton): Added.
3999
4000         * rendering/RenderThemeMac.h:
4001         * rendering/RenderThemeMac.mm:
4002         (WebCore::RenderThemeMac::isControlStyled): Removed code that made selects unstyle-able.
4003         (WebCore::RenderThemeMac::baselinePosition): Removed cases for MenuListAppearance and MenulistButtonAppearance.
4004         (WebCore::RenderThemeMac::popupButtonPadding): Added top and bottom padding so empty popups have the right baseline.
4005         (WebCore::TopGradientInterpolate): Added.
4006         (WebCore::BottomGradientInterpolate): Added.
4007         (WebCore::MainGradientInterpolate): Added.
4008         (WebCore::RenderThemeMac::paintMenuListButtonGradients): Added.  Draws gradients for styled popup menu button appearance.
4009         (WebCore::RenderThemeMac::paintMenuListButton): Calls paintMenuListButtonGradients, and draws arrow control.
4010         (WebCore::RenderThemeMac::adjustMenuListButtonStyle): Added to set padding and border radius to account for the arrow control size and font size.
4011
4012 2006-08-25  Brady Eidson  <beidson@apple.com>
4013
4014         Reviewed by Adam
4015
4016         Changed some time()-related code to be more platform independent
4017
4018         * loader/icon/IconDatabase.cpp:
4019         (WebCore::IconDatabase::isIconExpiredForIconURL):
4020         (WebCore::IconDatabase::getOrCreateIconDataCache):
4021         (WebCore::IconDatabase::setIconDataForIconURL):
4022
4023 2006-08-25  David Harrison  <harrison@apple.com>
4024
4025         Reviewed by Geoff.
4026
4027         <rdar://problem/4416432> Radio buttons and Checkboxes in AXWebAreas don't fill in their AXTitle attribute
4028
4029         * bridge/mac/WebCoreAXObject.mm:
4030         (labelForElement):
4031         New. Returns the HTMLLabelElement, if any, for the specified Element.
4032         
4033         (-[WebCoreAXObject title]):
4034         For input elements, return the innerHTML() of the labelForElement().
4035
4036 2006-08-25  Brady Eidson  <beidson@apple.com>
4037
4038         Reviewed by Tim Hatcher
4039
4040         Changed some debugging-only code to be more platform independent
4041
4042         * WebCore.xcodeproj/project.pbxproj:
4043         * loader/icon/IconDatabase.cpp:
4044         (WebCore::IconDatabase::pruneUnretainedIconsOnStartup):
4045         (WebCore::IconDatabase::syncDatabase):
4046
4047 2006-08-25  Nikolas Zimmermann  <zimmermann@kde.org>
4048
4049         Reviewed/landed by Adam.
4050
4051         Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10561
4052         Qt platform build fixes.
4053
4054         * platform/qt/FrameQt.h:
4055         * platform/qt/ScreenQt.cpp:
4056         (WebCore::qwidgetForPage):
4057         (WebCore::screenRect):
4058         (WebCore::screenDepth):
4059         (WebCore::usableScreenRect):
4060         * platform/qt/TemporaryLinkStubs.cpp:
4061         (WebCore::screenDepthPerComponent):
4062         (WebCore::screenIsMonochrome):
4063         * platform/qt/WidgetQt.cpp:
4064
4065 2006-08-25  Nikolas Zimmermann  <zimmermann@kde.org>
4066
4067         Reviewed/landed by Adam.
4068
4069         Finally fix font caching. WebKit+Qt now works
4070         out of the box without any further patches :-)
4071
4072         * platform/qt/FontDataQt.cpp:
4073         (WebCore::FontData::platformDestroy):
4074         * platform/qt/FontPlatformData.h:
4075         * platform/qt/FontPlatformDataQt.cpp:
4076         (WebCore::FontPlatformData::FontPlatformData):
4077         (WebCore::FontPlatformData::isFixedPitch):
4078         (WebCore::FontPlatformData::font):
4079         (WebCore::FontPlatformData::fontPtr):
4080         (WebCore::FontPlatformData::hash):
4081         (WebCore::FontPlatformData::operator==):
4082
4083 2006-08-25  Nikolas Zimmermann  <zimmermann@kde.org>
4084
4085         Reviewed/landed by Adam.
4086
4087         Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10559
4088         Confirm to WebKit style guide - last fixes :-)
4089
4090         * platform/ResourceLoaderClient.h:
4091         * platform/qt/ComboBoxQt.cpp:
4092         * platform/qt/FrameQt.cpp:
4093         (WebCore::doScroll):
4094         (WebCore::FrameQt::FrameQt):
4095         (WebCore::FrameQt::openURL):
4096         (WebCore::FrameQt::submitForm):
4097         (WebCore::FrameQt::setTitle):
4098         (WebCore::FrameQt::passSubframeEventToSubframe):
4099         (WebCore::FrameQt::registerCommandForUndo):
4100         (WebCore::FrameQt::registerCommandForRedo):
4101         (WebCore::FrameQt::keyEvent):
4102         (WebCore::FrameQt::setFrameGeometry):
4103         * platform/qt/GlyphMapQt.cpp:
4104         (WebCore::GlyphMap::fillPage):
4105         * platform/qt/GraphicsContextQt.cpp:
4106         (WebCore::toQtCompositionMode):
4107         (WebCore::toQtLineCap):
4108         (WebCore::toQtLineJoin):
4109         (WebCore::TextShadow::TextShadow):
4110         (WebCore::GraphicsContextPlatformPrivate::p):
4111         * platform/qt/ImageQt.cpp:
4112         (WebCore::FrameData::clear):
4113         (WebCore::Image::supportsType):
4114         * platform/qt/IntSizeQt.cpp:
4115         * platform/qt/LineEditQt.cpp:
4116         * platform/qt/ListBoxQt.cpp:
4117         * platform/qt/PageQt.cpp:
4118         (WebCore::Page::windowRect):
4119         * platform/qt/PathQt.cpp:
4120         (WebCore::Path::~Path):
4121         * platform/qt/ResourceLoaderCurl.cpp:
4122         (WebCore::ResourceLoader::assembleResponseHeaders):
<