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