12006-05-10  Matt Gough  <matt@softchaos.com>
2
3        Reviewed, tweaked, and landed by Darin.
4
5        Optimization of [DOMNode _nodeWith:] to look up the obj-c wrapperClass
6        for each HTMLElement using a HashMap instead of by repeated calls to
7        htmlElt->hasLocalName(someTag).
8
9        * bindings/objc/DOM.mm:
10        (addElementClass): Added.
11        (createHTMLElementClassMap):
12        (elementClass):
13        (+[DOMNode _nodeWith:]): Added code to call elementClass.
14
152006-05-09  Mitz Pettel  <opendarwin.org@mitzpettel.com>
16
17        Reviewed by Hyatt.
18
19        - fix http://bugs.webkit.org/show_bug.cgi?id=8760
20          crash (hang?) on subtlegradient.com article page
21
22        * manual-tests/first-line-style-crash.html: Added.
23
24        * css/cssstyleselector.cpp:
25        (WebCore::CSSStyleSelector::createStyleForElement): Changed to not return the
26        shared styleNotYetAvailable if allowSharing is off.
27        * rendering/RenderObject.cpp:
28        (WebCore::RenderObject::getPseudoStyle): In the FIRST_LINE_INHERITED case,
29        set the styleType on the style returned from createStyleForElement().
30        * rendering/render_style.h:
31        (WebCore::RenderStyle::setStyleType): Added. Called from RenderObject::getPseudoStyle().
32
332006-05-09  Mitz Pettel  <opendarwin.org@mitzpettel.com>
34
35        Reviewed by Hyatt.
36
37        - fix http://bugs.webkit.org/show_bug.cgi?id=8789
38          RenderStyle::getPseudoStyle() always returns 0
39
40        No test possible (no functionality change).
41
42        * dom/Node.cpp:
43        (WebCore::Node::diff): When checking if :before or :after has changed,
44        return NoInherit unless both pseudoStyles are known and equal.
45        * rendering/render_style.cpp:
46        (WebCore::RenderStyle::getPseudoStyle): Fixed to match the requested
47        type against the pseudoStyle's styleType instead of our own.
48
492006-05-09  Darin Adler  <darin@apple.com>
50
51        - another attempt to fix the Windows build
52
53        * bindings/js/kjs_window.cpp: (KJS::isSeparator): Take a UChar, not a KJS::UChar.
54        * bridge/win/FrameWin.cpp:
55        (WebCore::FrameWin::runJavaScriptAlert): Use UChar instead of QChar.
56        (WebCore::FrameWin::runJavaScriptConfirm): Ditto.
57        * editing/TextIterator.h: Include DeprecatedString.h.
58
592006-05-09  Darin Adler  <darin@apple.com>
60
61        Reviewed by Hyatt.
62
63        - fix http://bugs.webkit.org/show_bug.cgi?id=8781
64          REGRESSION: image maps with "poly" areas, including one at lisp.geek.nz, don't work
65
66        * html/html_imageimpl.cpp: (WebCore::HTMLAreaElement::getRegion): Remove extra Path
67        definition that was shadowing the real one.
68
692006-05-09  Darin Adler  <darin@apple.com>
70
71        - fix build
72
73        * rendering/render_style.cpp: (WebCore::RenderStyle::getPseudoStyle):
74        Fix a typo.
75
76        - attempt to fix Windows build
77
78        * css/maketokenizer: Use UChar instead of unsigned short.
79        * platform/win/FontWin.cpp:
80        (WebCore::getFontData): Removed cast to QChar.
81        (WebCore::hackishExtentForString): Use UChar.
82        (WebCore::Font::floatWidth): Use UChar.
83        (WebCore::Font::drawText): Use UChar.
84        (WebCore::Font::drawHighlightForText): Use UChar.
85        (WebCore::Font::selectionRectForText): Use UChar.
86        (WebCore::Font::checkSelectionPoint): Use UChar.
87        * platform/win/KeyEventWin.cpp:
88        (WebCore::singleCharacterString): Added.
89        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Use above function.
90        * platform/win/TemporaryLinkStubs.cpp:
91        (WebCore::findNextSentenceFromIndex): Use UChar.
92        (WebCore::findSentenceBoundary): Use UChar.
93        (WebCore::findNextWordFromIndex): Use UChar.
94        (WebCore::findWordBoundary): Use UChar.
95        * platform/win/TransferJobWin.cpp:
96        (WebCore::TransferJob::start): Use a different String constructor.
97        * rendering/RenderTable.h: Added an include of DeprecatedArray.h.
98        * rendering/RenderText.cpp: Added an include of DeprecatedString.h.
99        * rendering/render_list.h: Ditto.
100
1012006-05-09  Darin Adler  <darin@apple.com>
102
103        Rubber stamped by Hyatt.
104
105        - http://bugs.webkit.org/show_bug.cgi?id=8782
106          use ICU and UChar more, QChar less
107
108        - fix http://bugs.webkit.org/show_bug.cgi?id=6310
109          text-transform: uppercase/lowercase don't handle cases one character becomes two
110
111        Test: fast/css/case-transform.html
112
113        By using ICU more, this fixes some bugs in a few places.
114
115        * bindings/js/JSXMLSerializer.cpp:
116        * css/css_valueimpl.h:
117        * kwq/KWQTextStream.cpp:
118        * loader/CachedObject.h:
119        * platform/Color.cpp:
120        Add includes of DeprecatedString.h as needed, now that StringImpl.h no longer
121        includes it.
122
123        * bindings/js/kjs_css.cpp: (KJS::cssPropertyName):
124        Eliminate use of QChar::latin1() in a case where it's not helpful.
125
126        * bindings/js/kjs_proxy.cpp: (WebCore::KJSProxy::evaluate):
127        Use characters() function instead of the old unicode() function.
128
129        * bindings/js/kjs_window.cpp: (KJS::isSeparator):
130        Use UChar instead of QChar.
131
132        * bindings/objc/DOMInternal.mm:
133        (StringImpl::operator NSString*): Remove typecast that's no longer needed.
134        (String::String): Ditto. Also use Vector for local buffer to make code read simpler.
135
136        * bridge/mac/FrameMac.mm:
137        (WebCore::selectorForKeyEvent): Remove call to unicode() function, no longer needed.
138        (WebCore::FrameMac::setTitle): Remove QChar cast, no longer needed.
139        (WebCore::FrameMac::setStatusBarText): Ditto.
140        (WebCore::FrameMac::advanceToNextMisspelling): Use UChar instead of QChar.
141        (WebCore::FrameMac::runJavaScriptAlert): Remove QChar cast, no longer needed.
142        (WebCore::FrameMac::runJavaScriptConfirm): Ditto.
143        (WebCore::FrameMac::runJavaScriptPrompt): Ditto.
144        (WebCore::FrameMac::attributedString): Replaces calls of QChar::direction() with
145        calls to u_charDirection and use ICU constants instead of QChar ones.
146        (WebCore::FrameMac::markMisspellings): Remove QChar cast, no longer needed. Added a
147        QChar cast so we can call isSpace -- slated to be removed later.
148        (WebCore::FrameMac::shouldClose): Remove QChar cast, no longer needed.
149
150        * bridge/mac/WebCoreFrameBridge.mm:
151        (-[WebCoreFrameBridge selectedString]): Remove QChar cast, no longer needed.
152        (-[WebCoreFrameBridge stringForRange:]): Ditto.
153
154        * css/CSSGrammar.y: Update for field name change from string to characters.
155        Use UChar instead of unsigned short.
156
157        * css/css_valueimpl.cpp:
158        (WebCore::propertyID): Use UChar instead of unsigned short and get rid of call to
159        unicode() function, no longer needed.
160        (WebCore::quoteStringIfNeeded): Use strings when building up a resulting string,
161        instead of depending on the feature where you can append characters to a string.
162
163        * css/csshelper.cpp: (WebCore::parseURL): Remove calls to unicode() function and
164        rewrite to obviate the need to call lower() just to check for a few constant
165        character values. Also remove a now-unneeded type cast.
166
167        * css/cssparser.h: Changed ParseString field to use UChar and to be named characters
168        instead of string. Changed many other fields to be UChar instead of unsigned short.
169        (WebCore::domString): Update for that.
170        (WebCore::atomicString): Ditto.
171        * css/cssparser.cpp:
172        (WebCore::ParseString::lower): Use u_tolower instead of QChar::lower(). Also change
173        name to characters from string.
174        (WebCore::CSSParser::setupParser): Use UChar instead of unsigned short.
175        (WebCore::CSSParser::lex): Ditto. Also update for characters name change.
176        (WebCore::CSSParser::text): Use UChar instead of unsigned short. Also tweak some
177        of the code a little bit to handle a couple of overflow cases better and reduce
178        type casting.
179        (WebCore::deprecatedString): Moved here so we don't have to include DeprecatedString.h
180        in the header file.
181
182        * css/cssstyleselector.cpp: (WebCore::checkPseudoState): Added a type cast since this
183        code now bridges the world between modern code and QChar/DeprecatedString.
184
185        * dom/CharacterData.cpp: (WebCore::CharacterData::CharacterData): Changed QChar to UChar.
186
187        * dom/Document.h:
188        * dom/Document.cpp:
189        (WebCore::Document::isValidName): Updated for name change from unicode to characters.
190        (WebCore::Document::parseQualifiedName): Ditto.
191        (WebCore::Document::backslashAsCurrencySymbol): Changed return type to UChar.
192
193        * dom/NamedMappedAttrMap.cpp:
194        (WebCore::isClassWhitespace): Changed parameter to UChar from QChar.
195        (WebCore::NamedMappedAttrMap::parseClassAttribute): Changed from UChar to QChar and
196        from unicode to characters.
197
198        * dom/Position.cpp:
199        (WebCore::Position::leadingWhitespacePosition): Changed from QChar to UChar.
200        (WebCore::Position::trailingWhitespacePosition): Ditto.
201
202        * dom/StyledElement.cpp:
203        (WebCore::isClassWhitespace): Changed from QChar to UChar.
204        (WebCore::StyledElement::addCSSLength): Changed from QChar to UChar, and remove one
205        case where latin1() was used and was not helpful.
206        (WebCore::StyledElement::addCSSColor): Removed unicode() function call, no longer needed.
207
208        * dom/dom2_eventsimpl.cpp: (WebCore::KeyboardEvent::charCode):
209        * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::constrainValue):
210        Removed unicode() function call, no longer needed.
211
212        * dom/xml_tokenizer.h: Removed default parameter for xmlDocPtrForString so we don't have
213        to include the DeprecatedString.h header in this file (and since no one uses it).
214
215        * editing/HTMLInterchange.cpp: (convertHTMLTextToInterchangeFormat): Added a couple calls
216        to the unicode() function to bridge the gap from QChar/DeprecatedString back to modern
217        code.
218
219        * editing/InsertTextCommand.cpp: Removed unused function.
220
221        * editing/TextIterator.h: Changed from QChar to UChar.
222        * editing/TextIterator.cpp:
223        (WebCore::TextIterator::TextIterator): Initialize m_lastCharacter since it's now a UChar
224        (which is just a typedef) rather than a QChar (which was a class with a default value of 0).
225        (WebCore::TextIterator::handleTextNode): Updated to use characters() instead of unicode().
226        (WebCore::TextIterator::handleTextBox): Removed unicode() call since it's now a UChar instead
227        of a QChar.
228        (WebCore::TextIterator::emitCharacter): More of the same.
229        (WebCore::SimplifiedBackwardsTextIterator::handleTextNode): Ditto.
230        (WebCore::SimplifiedBackwardsTextIterator::emitCharacter): Ditto.
231        (WebCore::CharacterIterator::string): Ditto.
232        (WebCore::WordAwareIterator::advance): Ditto.
233        (WebCore::WordAwareIterator::length): Ditto.
234        (WebCore::WordAwareIterator::characters): Ditto.
235        (WebCore::CircularSearchBuffer::CircularSearchBuffer): Changed to use UChar
236        instead of QChar, but also to use foldCase() instead of lower(), because
237        we want case folding here, not lowercasing.
238        (WebCore::CircularSearchBuffer::append): Ditto, with u_foldCase.
239        (WebCore::CircularSearchBuffer::isMatch): Ditto.
240        (WebCore::plainText): Added type cast since this bridges the gap from the modern stuff
241        to QChar/DeprecatedString.
242
243        * editing/VisiblePosition.h: Changed from QChar to UChar.
244        * editing/VisiblePosition.cpp: (WebCore::VisiblePosition::characterAfter): Ditto.
245
246        * editing/markup.cpp: (WebCore::escapeTextForMarkup): Changed code that used latin1()
247        for no good reason to use unicode() instead.
248
249        * html/HTMLTokenizer.h: Changed from QChar to UChar.
250        * html/HTMLTokenizer.cpp: Changed from QChar to UChar, including removing the
251        KHTML_ALLOC_QCHAR_VEC and KHTML_DELETE_QCHAR_VEC macros, which weren't being
252        used consistently anyway.
253        (WebCore::fixUpChar): More of the same.
254        (WebCore::tagMatch): Ditto.
255        (WebCore::HTMLTokenizer::reset): Ditto.
256        (WebCore::HTMLTokenizer::begin): Ditto. Also corrected anomaly where buffer
257        size was not the same as the size value -- this was only true in the initial
258        allocation, so I believe there was no value in it.
259        (WebCore::HTMLTokenizer::parseSpecial): Ditto. Also removed a use of latin1()
260        that was unnnecessary extra work.
261        (WebCore::HTMLTokenizer::scriptHandler): More of the same.
262        (WebCore::HTMLTokenizer::parseComment): Ditto.
263        (WebCore::HTMLTokenizer::parseServer): Ditto.
264        (WebCore::HTMLTokenizer::parseProcessingInstruction): Ditto. Another unnecessary
265        use of latin1() removed.
266        (WebCore::HTMLTokenizer::parseText): Ditto.
267        (WebCore::HTMLTokenizer::parseEntity): Ditto. Changed hex-parsing code to handle
268        uppercase hex a more-efficient way than calling QChar::lower() on each character.
269        Also changed surrogate code logic to fix a couple things -- reject character codes
270        > 0x10FFFF as it should and use U16_LEAD and U16_TRAIL instead of writing our
271        own versions of these.
272        (WebCore::HTMLTokenizer::parseTag): Ditto.
273        (WebCore::HTMLTokenizer::write): Ditto.
274        (WebCore::HTMLTokenizer::end): Ditto.
275        (WebCore::HTMLTokenizer::finish): Ditto.
276        (WebCore::HTMLTokenizer::enlargeBuffer): Ditto.
277        (WebCore::HTMLTokenizer::enlargeScriptBuffer): Ditto.
278        (WebCore::HTMLTokenizer::notifyFinished):
279        (WebCore::decodeNamedEntity): Ditto.
280
281        * html/html_inlineimpl.cpp: (WebCore::parseFontSizeNumber): Changed from QChar
282        to UChar, including using u_isdigit and u_charDigitValue instead of QChar::isNumber
283        and QChar::digitValue. Also removed unneeded range checking that's already done
284        by WebCore::String.
285
286        * kwq/KWQLoader.mm: (KWQIsResponseURLEqualToURL): Rewrote to use Vector and UChar,
287        removing all the type casts and making the whole function much shorter.
288
289        * kwq/WebCoreAXObject.mm:
290        (AXAttributedStringAppendText): Use UChar instead of QChar.
291        (-[WebCoreAXObject doAXAttributedStringForTextMarkerRange:]): More of the same.
292
293        * loader/Cache.h: Remove unnecessary default parameters, preventing the need to
294        include the DeprecatedString.h header in this header. Cleaned up the header
295        structure a bit, removing some obsolete and redundant comments and fixing typos.
296        * loader/Cache.cpp: Removed unused preload functions.
297
298        * page/Frame.h:
299        * page/Frame.cpp:
300        (WebCore::UserStyleSheetLoader::UserStyleSheetLoader): Added explicit arguments.
301        This was the only caller anywhere that took advantage of the default parameter
302        values in one of the Cache class request functions.
303        (WebCore::Frame::backslashAsCurrencySymbol): Changed QChar to UChar.
304
305        * platform/AtomicString.h: Changed QChar to UChar. Removed constructor that makes
306        an AtomicString from a single character. Renamed unicode() function to characters().
307        Renamed KHTML_ATOMICSTRING_HIDE_GLOBALS to ATOMICSTRING_HIDE_GLOBALS.
308        * platform/AtomicString.cpp:
309        (WebCore::CStringTranslator::equal): Changed QChar to UChar.
310        (WebCore::operator==): Changed unicode() to characters().
311        (WebCore::UCharBufferTranslator::hash): More of the same.
312        (WebCore::UCharBufferTranslator::equal): Ditto.
313        (WebCore::UCharBufferTranslator::translate): Ditto.
314        (WebCore::AtomicString::add): Ditto.
315        (WebCore::AtomicString::operator Identifier): Ditto.
316        (WebCore::AtomicString::operator UString): Ditto.
317        (WebCore::AtomicString::AtomicString): Moved here so we don't need DeprecatedString.h
318        in the header.
319        (WebCore::AtomicString::deprecatedString): Ditto.
320
321        * platform/DeprecatedString.h: Removed QChar::Direction enum and all the DirXXX values,
322        isDigit, isLetter, isNumber, isLetterOrNumber, isPunct, digitValue, and direction functions.
323        (QChar::isSpace): Changed to use u_charDirection instead of QChar::direction.
324
325        * platform/Font.h: (WebCore::Font::width): Changed QChar to UChar.
326        * platform/Font.cpp: (WebCore::Font::width): Ditto.
327
328        * platform/GraphicsContext.h:
329        * platform/GraphicsContext.cpp:
330        (WebCore::GraphicsContext::drawText): Changed QChar to UChar. Removed horizontalAlignment
331        parameter from simplified string drawing entry point, since it's not used.
332        (WebCore::GraphicsContext::drawHighlightForText): Changed QChar to UChar.
333
334        * platform/PlatformString.h: Changed QChar to UChar. Removed constructor that makes
335        a String from a single character. Renamed unicode() function to characters(). Added
336        an append function and changed += operator to just call that. Added a foldCase() function.
337        Removed the concatenation operators that add individual strings before or after.
338        * platform/String.cpp:
339        (WebCore::String::String): Changed QChar to UChar.
340        (WebCore::String::append): Renamed from operator+= and removed the return value.
341        (WebCore::String::operator[]): Changed QChar to UChar.
342        (WebCore::String::foldCase): Added.
343        (WebCore::String::percentage): More of the same.
344        (WebCore::String::characters): Renamed from unicode().
345        (WebCore::String::deprecatedString): More of the same.
346        (WebCore::String::sprintf): Fixed mistakes in the comments.
347        (WebCore::String::isEmpty): Tweaked a bit.
348        (WebCore::operator==): More of the same.
349        (WebCore::String::operator Identifier): Ditto.
350        (WebCore::String::operator UString): Ditto.
351
352        * platform/SegmentedString.h: Changed from QChar to UChar. Had to initialize
353        data members that are now UChar.
354        * platform/SegmentedString.cpp:
355        (WebCore::SegmentedString::length): Updated for change from QChar to UChar.
356        (WebCore::SegmentedString::append): Ditto.
357        (WebCore::SegmentedString::prepend): Ditto.
358        (WebCore::SegmentedString::toString): Ditto.
359
360        * platform/StringHash.h: Updated to use UChar instead of QChar and for name changes.
361        Also changed to use case folding intead of lowercasing for case insensitive hashing.
362
363        * platform/StringImpl.h:
364        * platform/StringImpl.cpp:
365        (WebCore::newUCharVector): Changed to UChar from QChar.
366        (WebCore::deleteUCharVector): Ditto.
367        (WebCore::StringImpl::StringImpl): Ditto.
368        (WebCore::StringImpl::init): Ditto. Also renamed from initWithChar and initWithQChar.
369        (WebCore::StringImpl::~StringImpl): Ditto.
370        (WebCore::StringImpl::append): Ditto.
371        (WebCore::StringImpl::insert): Ditto.
372        (WebCore::StringImpl::truncate): Ditto.
373        (WebCore::StringImpl::remove): Ditto.
374        (WebCore::StringImpl::split): Ditto.
375        (WebCore::StringImpl::containsOnlyWhitespace): Ditto. Also added comment because this
376        function seems a little broken.
377        (WebCore::parseLength): More of the same.
378        (WebCore::StringImpl::toCoordsArray): Ditto.
379        (WebCore::StringImpl::toLengthArray): Ditto.
380        (WebCore::StringImpl::isLower): Ditto.
381        (WebCore::StringImpl::lower): Rewrote to use u_strToLower.
382        (WebCore::StringImpl::upper): Rewrote to use u_strToUpper.
383        (WebCore::StringImpl::foldCase): Added. Uses u_strFoldCase.
384        (WebCore::getWordBreakIterator): Changed to use U_FAILURE instead of accepting only
385        U_ZERO_ERROR as a success code.
386        (WebCore::StringImpl::capitalize): More QChar to UChar changes.
387        (WebCore::StringImpl::toInt): Ditto.
388        (WebCore::equal): Changed from QChar to UChar and was careful to preserve the old
389        semantics where "high ASCII" is treated as U+0080-U+00FF even though I don't know
390        if this feature is important.
391        (WebCore::equalIgnoringCase): Ditto, but used case folding instead of lowercasing
392        by using the u_foldCase and u_memcasecmp functions. Also renamed from
393        equalCaseInsensitive for more-consistent naming.
394        (WebCore::StringImpl::find): Ditto. Use case folding for the case insensitive branch.
395        (WebCore::StringImpl::replace): More of the same.
396        (WebCore::StringImpl::computeHash): Ditto.
397        (WebCore::StringImpl::ascii): Ditto.
398
399        * platform/TextBoundaries.h: Changed from QChar to UChar.
400        * platform/mac/TextBoundaries.mm:
401        (WebCore::findWordBoundary): Made the change to UChar and removed some type casts.
402        (WebCore::findNextWordFromIndex): Ditto.
403        (WebCore::findSentenceBoundary): Ditto.
404        (WebCore::findNextSentenceFromIndex): Ditto.
405
406        * platform/TextEncoding.h:
407        * platform/TextEncoding.cpp:
408        (WebCore::TextEncoding::backslashAsCurrencySymbol): Changed from QChar to UChar.
409        (WebCore::TextEncoding::fromUnicode): More of the same.
410        * platform/mac/TextEncodingMac.cpp: (WebCore::TextEncoding::fromUnicode): More
411        of the same.
412
413        * platform/mac/FontFamilyMac.mm: (WebCore::FontFamily::getNSFamily): Removed a
414        now-unneeded type cast.
415
416        * platform/mac/FontMac.mm:
417        (WebCore::Font::selectionRectForText):
418        (WebCore::Font::drawText):
419        (WebCore::Font::drawHighlightForText):
420        (WebCore::Font::floatWidth):
421        (WebCore::Font::checkSelectionPoint):
422        Changed QChar to UChar and removed some now-unneeded type casts.
423
424        * editing/RebalanceWhitespaceCommand.cpp: (WebCore::isWhitespace):
425        * editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::doApply):
426        * editing/visible_units.cpp:
427        (WebCore::previousBoundary):
428        (WebCore::nextBoundary):
429        (WebCore::startWordBoundary):
430        (WebCore::endWordBoundary):
431        (WebCore::previousWordPositionBoundary):
432        (WebCore::nextWordPositionBoundary):
433        (WebCore::startSentenceBoundary):
434        (WebCore::endSentenceBoundary):
435        (WebCore::previousSentencePositionBoundary):
436        (WebCore::nextSentencePositionBoundary):
437        (WebCore::startOfParagraph):
438        (WebCore::endOfParagraph):
439        * html/HTMLParser.cpp: (WebCore::HTMLParser::handleError):
440        * rendering/InlineTextBox.cpp:
441        (WebCore::InlineTextBox::selectionRect):
442        (WebCore::InlineTextBox::paint):
443        (WebCore::InlineTextBox::paintSelection):
444        (WebCore::InlineTextBox::paintMarkedTextBackground):
445        (WebCore::InlineTextBox::paintTextMatchMarker):
446        (WebCore::InlineTextBox::offsetForPosition):
447        (WebCore::InlineTextBox::positionForOffset):
448        * rendering/RenderBlock.cpp:
449        (WebCore::stripTrailingSpace):
450        (WebCore::RenderBlock::updateFirstLetter):
451        * rendering/RenderFlexibleBox.cpp:
452        (WebCore::RenderFlexibleBox::layoutVerticalBox):
453        * rendering/RenderObject.h:
454        * rendering/RenderObject.cpp:
455        (WebCore::RenderObject::backslashAsCurrencySymbol):
456        * rendering/RenderTreeAsText.cpp: (quoteAndEscapeNonPrintables):
457        * rendering/break_lines.cpp: (WebCore::nextBreakablePosition):
458        * rendering/break_lines.h: (WebCore::isBreakable):
459        * rendering/render_style.h: (WebCore::RenderStyle::isCollapsibleWhiteSpace):
460        * xml/XSLStyleSheet.cpp: (WebCore::XSLStyleSheet::parseString):
461        * xml/xmlhttprequest.cpp:
462        (WebCore::getMIMEType):
463        (WebCore::getCharset):
464        Changed QChar to UChar.
465
466        * rendering/RenderImage.cpp:
467        (WebCore::RenderImage::imageChanged): Changed QChar to UChar.
468        (WebCore::RenderImage::paint): Changed callers of drawText to no-longer pass 0
469        for the horizontal alignment, since I removed that parameters.
470
471        * rendering/RenderText.h: Changed QChar to UChar.
472        * rendering/RenderText.cpp:
473        (WebCore::characterBreakIterator): Update for name change.
474        (WebCore::RenderText::RenderText): Ditto.
475        (WebCore::RenderText::allAscii): Remove uneeded unicode() and allow the value
476        U+007F to count as ASCII.
477        (WebCore::RenderText::cacheWidths): Changed QChar to UChar.
478        (WebCore::RenderText::widthFromCache): Changed code that deals with direction to
479        use the ICU direction calls.
480        (WebCore::RenderText::trimmedMinMaxWidth): Changed QChar to UChar.
481        (WebCore::RenderText::calcMinMaxWidth): Ditto.
482        (WebCore::RenderText::containsOnlyWhitespace): Ditto.
483        (WebCore::RenderText::setText): Ditto.
484        (WebCore::RenderText::width): Ditto.
485
486        * rendering/RenderTextField.cpp:
487        (WebCore::RenderTextField::updateFromElement): Removed unneeded QChar cast.
488        (WebCore::RenderTextField::calcMinMaxWidth): Changed from QChar to UChar.
489
490        * rendering/bidi.h:
491        * rendering/bidi.cpp:
492        (WebCore::BidiIterator::BidiIterator):
493        (WebCore::BidiState::BidiState):
494        (WebCore::BidiContext::BidiContext):
495        (WebCore::bidiNext):
496        (WebCore::bidiFirst):
497        (WebCore::BidiIterator::current):
498        (WebCore::BidiIterator::direction):
499        (WebCore::addRun):
500        (WebCore::checkMidpoints):
501        (WebCore::appendRun):
502        (WebCore::embed):
503        (WebCore::RenderBlock::tabWidth):
504        (WebCore::RenderBlock::computeHorizontalPositionsForLine):
505        (WebCore::RenderBlock::bidiReorderLine):
506        (WebCore::RenderBlock::layoutInlineChildren):
507        (WebCore::skipNonBreakingSpace):
508        (WebCore::RenderBlock::skipWhitespace):
509        (WebCore::RenderBlock::findNextLineBreak):
510        (WebCore::RenderBlock::checkLinesForTextOverflow):
511        Changed from QChar to UChar and all direction from QChar constants to the
512        ones from ICU.
513
514        * rendering/render_form.cpp:
515        (WebCore::RenderLineEdit::updateFromElement):
516        (WebCore::RenderSelect::updateFromElement):
517        (WebCore::RenderTextArea::updateFromElement):
518        (WebCore::RenderTextArea::text):
519        (WebCore::RenderTextArea::textWithHardLineBreaks):
520        Got rid of now-unneeded QChar type casts.
521
522        * rendering/render_line.cpp:
523        (WebCore::InlineFlowBox::placeBoxesHorizontally): Updated for change from QChar
524        to UChar.
525        (WebCore::EllipsisBox::paint): Updated for unicode() -> characters() name change.
526
527        * rendering/render_list.cpp:
528        (WebCore::toRoman): Updated from QChar to UChar.
529        (WebCore::toLetterString): Ditto.
530        (WebCore::toHebrew): More of the same, also cleaned up the logic a bit.
531        (WebCore::RenderListMarker::paint): Removed the alignment parameters from the
532        various functions. Also removed all reliance on the width-measuring functions
533        that take a string.
534        (WebCore::RenderListMarker::calcMinMaxWidth): More of the same.
535        (WebCore::RenderListMarker::getRelativeMarkerRect): Ditto.
536
5372006-05-09  Tim Omernick  <timo@apple.com>
538
539        Reviewed by/co-written by Darin.
540
541        Performance improvement when drawing large numbers of animated images.
542
543        Instead of removing the "first" object from a set on each next(),
544        copy the clients into a vector once and keep track of the current index.
545
546        * loader/CachedObjectClientWalker.h:
547        * loader/CachedObjectClientWalker.cpp:
548        (WebCore::CachedObjectClientWalker::CachedObjectClientWalker):
549        (WebCore::CachedObjectClientWalker::next):
550
5512006-05-09  Steve Falkenburg  <sfalken@apple.com>
552
553        Fix Windows build.  Added TextDocument.cpp to vcproj.
554
555        Reviewed by adele.
556
557        * WebCore.vcproj/WebCore/WebCore.vcproj:
558
5592006-05-09  Steve Falkenburg  <sfalken@apple.com>
560
561        Fix Windows build.
562        Add host calback so caller can determine success/failure of a page load.
563
564        Reviewed by kevin.
565
566        * WebCore.vcproj/WebCore/WebCore.vcproj: Fix paths, add missing files
567        * loader/CachedResource.h: Fix include path.
568        * loader/CachedResourceClientWalker.h: Fix include path.
569        * platform/FontPlatformData.h: Fix include path.
570        * platform/TransferJobClient.h: Make PlatformData, PlatformResponse an opaque struct.
571        * platform/image-decoders/ImageDecoder.h: Fix include path.
572        * platform/win/SharedTimerWin.cpp: Fix include path.
573        * platform/win/TransferJobWin.cpp:
574        (WebCore::TransferJobWndProc): Add host callback for success/failure of load.
575        * platform/win/TransferJobWin.h: Added. Windows version of PlatformData/PlatformResponse.
576        * xpath/impl/XPathFunctions.cpp: Work around missing math functions in MSVC.
577        (round): Work around missing math functions in MSVC.
578        * xpath/impl/XPathPredicate.cpp: Work around missing math functions in MSVC.
579        * xpath/impl/XPathValue.cpp: Work around missing math functions in MSVC.
580
5812006-05-09  David Hyatt  <hyatt@apple.com>
582
583        Revert styleForElement, pseudoStyleForElement, styleForRenderer back to
584        their old names, since the term "create" is not accurate.
585
586        * css/cssstyleselector.cpp:
587        (WebCore::CSSStyleSelector::styleForElement):
588        (WebCore::CSSStyleSelector::pseudoStyleForElement):
589        * css/cssstyleselector.h:
590        * dom/Element.cpp:
591        (WebCore::Element::styleForRenderer):
592        (WebCore::Element::recalcStyle):
593        * dom/Element.h:
594        * dom/Node.cpp:
595        (WebCore::Node::createRendererIfNeeded):
596        (WebCore::Node::styleForRenderer):
597        * dom/Node.h:
598        * ksvg2/svg/SVGClipPathElement.cpp:
599        (SVGClipPathElement::canvasResource):
600        * ksvg2/svg/SVGFEFloodElement.cpp:
601        (SVGFEFloodElement::filterEffect):
602        * ksvg2/svg/SVGGradientElement.cpp:
603        (SVGGradientElement::rebuildStops):
604
6052006-05-09  Anders Carlsson  <acarlsson@apple.com>
606
607        Reviewed by Darin.
608
609        * loader/TextDocument.cpp:
610        (WebCore::TextTokenizer::write):
611        Use the correct variable to prevent crashes.
612
6132006-05-09  Anders Carlsson  <acarlsson@apple.com>
614
615        Reviewed by Darin.
616
617        http://bugs.webkit.org/show_bug.cgi?id=8808
618        WebCore should handle text files
619
620        * WebCore.xcodeproj/project.pbxproj:
621        Add TextDocument.cpp and TextDocument.h
622
623        * bridge/mac/WebCoreFrameBridge.mm:
624        (+[WebCoreFrameBridge supportedMIMETypes]):
625        Add text types here.
626
627        * dom/DOMImplementation.cpp:
628        (WebCore::DOMImplementation::createTextDocument):
629        (WebCore::DOMImplementation::isTextMIMEType):
630        * dom/DOMImplementation.h:
631        New functions for creating a TextDocument and determining if a
632        mime type is a text MIME type.
633
634        * loader/TextDocument.cpp: Added.
635        (WebCore::TextTokenizer::TextTokenizer):
636        (WebCore::TextTokenizer::write):
637        (WebCore::TextTokenizer::finish):
638        (WebCore::TextTokenizer::isWaitingForScripts):
639        Special tokenizer which will put text inside a <pre> tag
640        in a document.
641
642        (WebCore::TextDocument::TextDocument):
643        (WebCore::TextDocument::createTokenizer):
644        Create a TextTokenizer.
645
646        * loader/TextDocument.h: Added.
647
648        * page/Frame.cpp:
649        (WebCore::Frame::begin):
650        Create a TextDocument if the MIME type is of type text.
651
6522006-05-09  Maciej Stachowiak  <mjs@apple.com>
653
654        Rubber stamped by Anders.
655
656        - renamed kxmlcore to wtf
657
658        kxmlcore --> wtf
659        KXMLCore --> WTF
660        KXC --> WTF
661
662        * ForwardingHeaders/kxmlcore: Removed.
663        * ForwardingHeaders/kxmlcore/AlwaysInline.h: Removed.
664        * ForwardingHeaders/kxmlcore/Assertions.h: Removed.
665        * ForwardingHeaders/kxmlcore/FastMalloc.h: Removed.
666        * ForwardingHeaders/kxmlcore/Forward.h: Removed.
667        * ForwardingHeaders/kxmlcore/HashCountedSet.h: Removed.
668        * ForwardingHeaders/kxmlcore/HashMap.h: Removed.
669        * ForwardingHeaders/kxmlcore/HashSet.h: Removed.
670        * ForwardingHeaders/kxmlcore/HashTraits.h: Removed.
671        * ForwardingHeaders/kxmlcore/Noncopyable.h: Removed.
672        * ForwardingHeaders/kxmlcore/OwnArrayPtr.h: Removed.
673        * ForwardingHeaders/kxmlcore/OwnPtr.h: Removed.
674        * ForwardingHeaders/kxmlcore/PassRefPtr.h: Removed.
675        * ForwardingHeaders/kxmlcore/Platform.h: Removed.
676        * ForwardingHeaders/kxmlcore/RefPtr.h: Removed.
677        * ForwardingHeaders/kxmlcore/Vector.h: Removed.
678        * ForwardingHeaders/wtf: Added.
679        * bindings/js/JSHTMLElementWrapperFactory.h:
680        * bindings/js/kjs_binding.cpp:
681        * bindings/js/kjs_window.h:
682        * bindings/objc/DOMImplementationFront.h:
683        * bridge/JavaAppletWidget.h:
684        * bridge/mac/WebCoreFrameNamespaces.mm:
685        * bridge/mac/WebCorePageBridge.mm:
686        (initializeLogChannel):
687        * bridge/mac/WebCoreStringTruncator.mm:
688        * bridge/mac/WebCoreViewFactory.m:
689        * config.h:
690        * css/css_base.h:
691        * css/css_valueimpl.h:
692        * css/csshelper.cpp:
693        * css/cssparser.h:
694        * dom/DOMImplementation.h:
695        * dom/Document.h:
696        * dom/NamedNodeMap.h:
697        * dom/Node.h:
698        * dom/NodeList.h:
699        * dom/QualifiedName.cpp:
700        * dom/Range.h:
701        * dom/StyledElement.cpp:
702        * dom/dom2_traversalimpl.h:
703        * dom/xml_tokenizer.h:
704        * editing/RebalanceWhitespaceCommand.cpp:
705        * editing/RemoveCSSPropertyCommand.cpp:
706        * editing/RemoveNodeAttributeCommand.cpp:
707        * editing/RemoveNodeCommand.cpp:
708        * editing/RemoveNodePreservingChildrenCommand.cpp:
709        * editing/ReplaceSelectionCommand.h:
710        * editing/Selection.cpp:
711        * editing/SetNodeAttributeCommand.cpp:
712        * editing/SplitElementCommand.cpp:
713        * editing/SplitTextNodeCommand.cpp:
714        * editing/SplitTextNodeContainingElementCommand.cpp:
715        * editing/TextIterator.h:
716        * editing/htmlediting.h:
717        * editing/markup.h:
718        * html/CanvasGradient.h:
719        * html/CanvasRenderingContext2D.h:
720        * html/CanvasStyle.cpp:
721        * html/HTMLCollection.h:
722        * html/HTMLElementFactory.h:
723        * kcanvas/KCanvasFilters.cpp:
724        * kcanvas/KCanvasPath.h:
725        * kcanvas/RenderPath.cpp:
726        * kcanvas/RenderSVGImage.cpp:
727        * kcanvas/RenderSVGText.cpp:
728        * kcanvas/device/quartz/KCanvasItemQuartz.mm:
729        * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
730        * kcanvas/device/quartz/QuartzSupport.mm:
731        * ksvg2/misc/KSVGTimeScheduler.h:
732        * ksvg2/misc/SVGDocumentExtensions.h:
733        * ksvg2/scripts/make_names.pl:
734        * ksvg2/svg/SVGDOMImplementation.cpp:
735        * ksvg2/svg/SVGExternalResourcesRequired.h:
736        * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp:
737        * ksvg2/svg/SVGForeignObjectElement.cpp:
738        * ksvg2/svg/SVGImageElement.cpp:
739        * ksvg2/svg/SVGMaskElement.cpp:
740        * ksvg2/svg/SVGStyledElement.cpp:
741        * ksvg2/svg/SVGTests.h:
742        * ksvg2/svg/SVGTransform.h:
743        * ksvg2/svg/SVGTransformable.cpp:
744        * kwq/AccessibilityObjectCache.h:
745        * kwq/KWQCString.cpp:
746        * kwq/KWQFormData.mm:
747        * kwq/KWQListBox.mm:
748        * kwq/KWQResourceLoader.mm:
749        * kwq/KWQTextEdit.mm:
750        * loader/Cache.h:
751        * loader/CachedObject.h:
752        * loader/CachedObjectClientWalker.h:
753        * loader/Decoder.h:
754        * loader/DocLoader.h:
755        * loader/loader.cpp:
756        * loader/loader.h:
757        * page/DOMWindow.h:
758        * page/Frame.h:
759        * page/FramePrivate.h:
760        * page/FrameTree.cpp:
761        * page/Page.cpp:
762        * page/Page.h:
763        * page/Plugin.h:
764        * platform/Arena.cpp:
765        * platform/ArrayImpl.h:
766        * platform/AtomicString.cpp:
767        * platform/CharsetNames.cpp:
768        * platform/Color.cpp:
769        * platform/DeprecatedPtrListImpl.cpp:
770        * platform/DeprecatedValueListImpl.h:
771        * platform/FontFallbackList.h:
772        * platform/GraphicsContext.h:
773        * platform/GraphicsTypes.cpp:
774        * platform/Image.h:
775        * platform/KURL.cpp:
776        * platform/Logging.cpp:
777        * platform/Logging.h:
778        * platform/PlatformString.h:
779        * platform/PlugInInfoStore.h:
780        * platform/StreamingTextDecoder.cpp:
781        * platform/StreamingTextDecoder.h:
782        * platform/String.cpp:
783        * platform/StringHash.h:
784        * platform/StringImpl.cpp:
785        * platform/StringImpl.h:
786        * platform/TextEncoding.cpp:
787        * platform/Timer.cpp:
788        * platform/Timer.h:
789        * platform/TransferJob.h:
790        * platform/TransferJobInternal.h:
791        * platform/mac/BlockExceptions.mm:
792        * platform/mac/ColorMac.mm:
793        * platform/mac/FontData.mm:
794        * platform/mac/KURLMac.mm:
795        * platform/mac/QStringMac.mm:
796        * platform/mac/SharedTimerMac.cpp:
797        * platform/mac/TextEncodingMac.cpp:
798        * platform/mac/WebCoreImageRendererFactory.m:
799        * platform/mac/WebCoreKeyGenerator.m:
800        * platform/mac/WebCoreTextArea.mm:
801        * platform/mac/WebCoreTextField.mm:
802        * platform/mac/WebTextRendererFactory.h:
803        * platform/mac/WebTextRendererFactory.mm:
804        * platform/win/TemporaryLinkStubs.cpp:
805        (JavaAppletWidget::JavaAppletWidget):
806        * rendering/InlineTextBox.cpp:
807        * rendering/RenderText.cpp:
808        * rendering/RenderTreeAsText.cpp:
809        * rendering/bidi.cpp:
810        * xml/XSLTProcessor.h:
811        * xpath/impl/XPathExpressionNode.h:
812        * xpath/impl/XPathParser.h:
813        * xpath/impl/XPathPath.h:
814        * xpath/impl/XPathUtil.h:
815
8162006-05-09  Anders Carlsson  <acarlsson@apple.com>
817
818        Reviewed by Maciej.
819
820        http://bugs.webkit.org/show_bug.cgi?id=8803
821        XPath query for empty attributes crashes in XPath::StringExpression::StringExpression
822
823        * xpath/impl/XPathParser.cpp:
824        (WebCore::XPath::Parser::lexString):
825        Make sure an empty string is returned instead of a null string.
826
827        (WebCore::XPath::Parser::lex):
828        Only assign the string if it isn't null.
829
8302006-05-09  Alexey Proskuryakov  <ap@nypop.com>
831
832        Reviewed by Darin.
833
834        - http://bugs.webkit.org/show_bug.cgi?id=8769
835          TextEncoding::fromUnicode() - support non-BMP characters and convert to NFC
836
837        Fix the ICU code path, too (currently unused on the Mac).
838
839        * platform/TextEncoding.cpp:
840        (WebCore::TextEncoding::fromUnicode): Normalize the string.
841
8422006-05-08  Maciej Stachowiak  <mjs@apple.com>
843
844        Reviewed by Tim Hatcher.
845
846        - refactor things so that WebKit doesn't save a WebResource for every loaded URL,
847        but rather retrieves the data from the WebCore cache as needed.
848        http://bugs.webkit.org/show_bug.cgi?id=8802
849
850        * bridge/mac/WebCoreFrameBridge.h:
851        * bridge/mac/WebCoreFrameBridge.mm:
852        (-[WebCoreFrameBridge getData:andResponse:forURL:]):
853        (-[WebCoreFrameBridge getAllResourceDatas:andResponses:]):
854        * loader/Cache.cpp:
855        (WebCore::Cache::updateCacheStatus):
856        (WebCore::Cache::requestImage):
857        (WebCore::Cache::requestStyleSheet):
858        (WebCore::Cache::requestScript):
859        (WebCore::Cache::requestXSLStyleSheet):
860        (WebCore::Cache::requestXBLDocument):
861        * loader/Cache.h:
862        * loader/CachedResource.cpp: Added.
863        * loader/CachedResource.h: Added.
864        * loader/CachedResourceClient.h: Added.
865        * loader/CachedResourceClientWalker.cpp: Added.
866        * loader/CachedResourceClientWalker.h: Added.
867        * loader/DocLoader.cpp:
868        (WebCore::DocLoader::setAutoloadImages):
869        (WebCore::DocLoader::removeCachedObject):
870        * loader/DocLoader.h:
871        (WebCore::DocLoader::cachedObject):
872        (WebCore::DocLoader::allCachedObjects):
873
8742006-05-08  Levi Weintraub  <lweintraub@apple.com>
875
876        Reviewed by justin.
877
878        * editing/TextIterator.cpp:
879        (WebCore::shouldEmitSpaceBeforeAndAfterNode):
880        Returns true when the node should have a leading and trailing space. Currently only
881        used for inline tables. The function shouldEmitNewlinesBeforeAndAfterNode has a
882        fallback for nodes with no RenderObject, but the inline property doesn't really
883        have a meaning without one.
884        (WebCore::TextIterator::handleNonTextNode):
885        Checks shouldEmitSpaceBeforeAndAfterNode and inserts a space if necessary.
886        (WebCore::TextIterator::exitNode):
887        Checks shouldEmitSpaceBeforeAndAfterNode and inserts a space if necessary.
888
8892006-05-08  Anders Carlsson  <acarlsson@apple.com>
890
891        Try fixing the Win32 build
892
893        * WebCore.vcproj/WebCore/WebCore.vcproj:
894        Add XPath files to project.
895
8962006-05-08  Anders Carlsson  <acarlsson@apple.com>
897
898        Reviewed by Darin, Eric and Maciej.
899
900        http://bugs.webkit.org/show_bug.cgi?id=6638
901        Support Mozilla's XPathEvaluator object.
902
903        * DerivedSources.make:
904        Generate XPath grammar, and JavaScript wrappers.
905
906        * WebCore.xcodeproj/project.pbxproj:
907        Add new files to project
908
909        * bindings/js/kjs_binding.cpp:
910        (KJS::):
911        (KJS::setDOMException):
912        Handle setting XPath exceptions.
913
914        * bindings/objc/DOM.mm:
915        Just return nil for now when trying to create a wrapper for
916        XPath namespace nodes.
917
918        * bindings/scripts/CodeGeneratorJS.pm:
919        Add XPath types. Also add a "CanBeConstructed" extended attribute
920        for interfaces that can be constructed directly.
921
922        * bridge/mac/WebCorePageBridge.mm:
923        (initializeLoggingChannelsIfNecessary):
924        Initialize LogXPath channel.
925
926        * dom/DOMImplementation.cpp:
927        (WebCore::DOMImplementation::hasFeature):
928        Support "xpath" version "3.0".
929
930        * dom/Document.cpp:
931        (WebCore::Document::Document):
932
933        (WebCore::Document::importNode):
934        Ignore XPath namespace nodes.
935
936        (WebCore::Document::createExpression):
937        (WebCore::Document::createNSResolver):
938        (WebCore::Document::evaluate):
939        New functions which call down to a lazily created XPathEvaluator.
940
941        * dom/Document.h:
942        Add function declarations.
943
944        * dom/Document.idl:
945        Add XPath methods.
946
947        * dom/Node.h:
948        (WebCore::Node::):
949        Add XPATH_NAMESPACE_NODE type.
950
951        * editing/markup.cpp:
952        (WebCore::startMarkup):
953        Ignore XPath namespace nodes.
954
955        * page/DOMWindow.idl:
956        Add constructors for XPathEvaluator and XPathResult.
957
958        * platform/Logging.cpp:
959        * platform/Logging.h:
960        Add XPath log channel
961
962        * xpath: Added.
963        * xpath/XPathEvaluator.cpp: Added.
964        (WebCore::XPathEvaluator::createExpression):
965        (WebCore::XPathEvaluator::createNSResolver):
966        (WebCore::XPathEvaluator::evaluate):
967        * xpath/XPathEvaluator.h: Added.
968        (WebCore::):
969        * xpath/XPathEvaluator.idl: Added.
970        * xpath/XPathExpression.cpp: Added.
971        (WebCore::XPathExpression::createExpression):
972        (WebCore::XPathExpression::~XPathExpression):
973        (WebCore::XPathExpression::evaluate):
974        * xpath/XPathExpression.h: Added.
975        * xpath/XPathExpression.idl: Added.
976        * xpath/XPathNSResolver.cpp: Added.
977        (WebCore::XPathNSResolver::XPathNSResolver):
978        (WebCore::XPathNSResolver::lookupNamespaceURI):
979        * xpath/XPathNSResolver.h: Added.
980        * xpath/XPathNSResolver.idl: Added.
981        * xpath/XPathNamespace.cpp: Added.
982        (WebCore::XPathNamespace::XPathNamespace):
983        (WebCore::XPathNamespace::~XPathNamespace):
984        (WebCore::XPathNamespace::ownerDocument):
985        (WebCore::XPathNamespace::ownerElement):
986        (WebCore::XPathNamespace::prefix):
987        (WebCore::XPathNamespace::nodeName):
988        (WebCore::XPathNamespace::nodeValue):
989        (WebCore::XPathNamespace::namespaceURI):
990        (WebCore::XPathNamespace::nodeType):
991        * xpath/XPathNamespace.h: Added.
992        * xpath/XPathResult.cpp: Added.
993        (WebCore::InvalidatingEventListener::InvalidatingEventListener):
994        (WebCore::InvalidatingEventListener::handleEvent):
995        (WebCore::XPathResult::XPathResult):
996        (WebCore::XPathResult::~XPathResult):
997        (WebCore::XPathResult::convertTo):
998        (WebCore::XPathResult::resultType):
999        (WebCore::XPathResult::numberValue):
1000        (WebCore::XPathResult::stringValue):
1001        (WebCore::XPathResult::booleanValue):
1002        (WebCore::XPathResult::singleNodeValue):
1003        (WebCore::XPathResult::invalidateIteratorState):
1004        (WebCore::XPathResult::invalidIteratorState):
1005        (WebCore::XPathResult::snapshotLength):
1006        (WebCore::XPathResult::iterateNext):
1007        (WebCore::XPathResult::snapshotItem):
1008        * xpath/XPathResult.h: Added.
1009        (WebCore::XPathResult::):
1010        * xpath/XPathResult.idl: Added.
1011        * xpath/impl: Added.
1012        * xpath/impl/XPathExpressionNode.cpp: Added.
1013        (WebCore::XPath::Expression::evaluationContext):
1014        (WebCore::XPath::Expression::Expression):
1015        (WebCore::XPath::Expression::~Expression):
1016        (WebCore::XPath::Expression::evaluate):
1017        (WebCore::XPath::Expression::addSubExpression):
1018        (WebCore::XPath::Expression::optimize):
1019        (WebCore::XPath::Expression::subExprCount):
1020        (WebCore::XPath::Expression::subExpr):
1021        (WebCore::XPath::Expression::isConstant):
1022        * xpath/impl/XPathExpressionNode.h: Added.
1023        (WebCore::XPath::EvaluationContext::EvaluationContext):
1024        * xpath/impl/XPathFunctions.cpp: Added.
1025        (WebCore::XPath::Interval::Interval):
1026        (WebCore::XPath::Interval::contains):
1027        (WebCore::XPath::Interval::asString):
1028        (WebCore::XPath::Function::setArguments):
1029        (WebCore::XPath::Function::setName):
1030        (WebCore::XPath::Function::arg):
1031        (WebCore::XPath::Function::argCount):
1032        (WebCore::XPath::Function::name):
1033        (WebCore::XPath::FunLast::doEvaluate):
1034        (WebCore::XPath::FunLast::isConstant):
1035        (WebCore::XPath::FunPosition::doEvaluate):
1036        (WebCore::XPath::FunPosition::isConstant):
1037        (WebCore::XPath::FunLocalName::isConstant):
1038        (WebCore::XPath::FunLocalName::doEvaluate):
1039        (WebCore::XPath::FunNamespaceURI::isConstant):
1040        (WebCore::XPath::FunNamespaceURI::doEvaluate):
1041        (WebCore::XPath::FunName::isConstant):
1042        (WebCore::XPath::FunName::doEvaluate):
1043        (WebCore::XPath::FunCount::doEvaluate):
1044        (WebCore::XPath::FunCount::isConstant):
1045        (WebCore::XPath::FunString::doEvaluate):
1046        (WebCore::XPath::FunConcat::doEvaluate):
1047        (WebCore::XPath::FunStartsWith::doEvaluate):
1048        (WebCore::XPath::FunContains::doEvaluate):
1049        (WebCore::XPath::FunSubstringBefore::doEvaluate):
1050        (WebCore::XPath::FunSubstringAfter::doEvaluate):
1051        (WebCore::XPath::FunSubstring::doEvaluate):
1052        (WebCore::XPath::FunStringLength::doEvaluate):
1053        (WebCore::XPath::FunNormalizeSpace::doEvaluate):
1054        (WebCore::XPath::FunTranslate::doEvaluate):
1055        (WebCore::XPath::FunBoolean::doEvaluate):
1056        (WebCore::XPath::FunNot::doEvaluate):
1057        (WebCore::XPath::FunTrue::doEvaluate):
1058        (WebCore::XPath::FunTrue::isConstant):
1059        (WebCore::XPath::FunLang::doEvaluate):
1060        (WebCore::XPath::FunLang::isConstant):
1061        (WebCore::XPath::FunFalse::doEvaluate):
1062        (WebCore::XPath::FunFalse::isConstant):
1063        (WebCore::XPath::FunNumber::doEvaluate):
1064        (WebCore::XPath::FunSum::doEvaluate):
1065        (WebCore::XPath::FunFloor::doEvaluate):
1066        (WebCore::XPath::FunCeiling::doEvaluate):
1067        (WebCore::XPath::FunRound::doEvaluate):
1068        (WebCore::XPath::FunctionLibrary::self):
1069        (WebCore::XPath::FunctionLibrary::FunctionLibrary):
1070        (WebCore::XPath::FunctionLibrary::createFunction):
1071        * xpath/impl/XPathFunctions.h: Added.
1072        * xpath/impl/XPathGrammar.y: Added.
1073        * xpath/impl/XPathParser.cpp: Added.
1074        (WebCore::XPath::):
1075        (WebCore::XPath::Parser::charCat):
1076        (WebCore::XPath::Parser::isAxisName):
1077        (WebCore::XPath::Parser::isNodeTypeName):
1078        (WebCore::XPath::Parser::isOperatorContext):
1079        (WebCore::XPath::Parser::skipWS):
1080        (WebCore::XPath::Parser::makeTokenAndAdvance):
1081        (WebCore::XPath::Parser::makeIntTokenAndAdvance):
1082        (WebCore::XPath::Parser::peekAheadHelper):
1083        (WebCore::XPath::Parser::peekCurHelper):
1084        (WebCore::XPath::Parser::lexString):
1085        (WebCore::XPath::Parser::lexNumber):
1086        (WebCore::XPath::Parser::lexNCName):
1087        (WebCore::XPath::Parser::lexQName):
1088        (WebCore::XPath::Parser::nextTokenInternal):
1089        (WebCore::XPath::Parser::nextToken):
1090        (WebCore::XPath::Parser::Parser):
1091        (WebCore::XPath::Parser::reset):
1092        (WebCore::XPath::Parser::lex):
1093        (WebCore::XPath::Parser::parseStatement):
1094        (WebCore::XPath::Parser::registerParseNode):
1095        (WebCore::XPath::Parser::unregisterParseNode):
1096        (WebCore::XPath::Parser::registerPredicateVector):
1097        (WebCore::XPath::Parser::unregisterPredicateVector):
1098        (WebCore::XPath::Parser::registerExpressionVector):
1099        (WebCore::XPath::Parser::unregisterExpressionVector):
1100        (WebCore::XPath::Parser::registerString):
1101        (WebCore::XPath::Parser::unregisterString):
1102        * xpath/impl/XPathParser.h: Added.
1103        (WebCore::XPath::Token::Token):
1104        (WebCore::XPath::Parser::):
1105        (WebCore::XPath::Parser::current):
1106        * xpath/impl/XPathPath.cpp: Added.
1107        (WebCore::XPath::Filter::Filter):
1108        (WebCore::XPath::Filter::~Filter):
1109        (WebCore::XPath::Filter::doEvaluate):
1110        (WebCore::XPath::LocationPath::LocationPath):
1111        (WebCore::XPath::LocationPath::~LocationPath):
1112        (WebCore::XPath::LocationPath::optimize):
1113        (WebCore::XPath::LocationPath::doEvaluate):
1114        (WebCore::XPath::Path::Path):
1115        (WebCore::XPath::Path::~Path):
1116        (WebCore::XPath::Path::doEvaluate):
1117        * xpath/impl/XPathPath.h: Added.
1118        * xpath/impl/XPathPredicate.cpp: Added.
1119        (WebCore::XPath::Number::Number):
1120        (WebCore::XPath::Number::isConstant):
1121        (WebCore::XPath::Number::doEvaluate):
1122        (WebCore::XPath::StringExpression::StringExpression):
1123        (WebCore::XPath::StringExpression::isConstant):
1124        (WebCore::XPath::StringExpression::doEvaluate):
1125        (WebCore::XPath::Negative::doEvaluate):
1126        (WebCore::XPath::NumericOp::NumericOp):
1127        (WebCore::XPath::NumericOp::doEvaluate):
1128        (WebCore::XPath::EqTestOp::EqTestOp):
1129        (WebCore::XPath::EqTestOp::doEvaluate):
1130        (WebCore::XPath::LogicalOp::LogicalOp):
1131        (WebCore::XPath::LogicalOp::shortCircuitOn):
1132        (WebCore::XPath::LogicalOp::isConstant):
1133        (WebCore::XPath::LogicalOp::doEvaluate):
1134        (WebCore::XPath::Union::doEvaluate):
1135        (WebCore::XPath::Predicate::Predicate):
1136        (WebCore::XPath::Predicate::~Predicate):
1137        (WebCore::XPath::Predicate::evaluate):
1138        (WebCore::XPath::Predicate::optimize):
1139        * xpath/impl/XPathPredicate.h: Added.
1140        (WebCore::XPath::NumericOp::):
1141        (WebCore::XPath::EqTestOp::):
1142        (WebCore::XPath::LogicalOp::):
1143        * xpath/impl/XPathStep.cpp: Added.
1144        (WebCore::XPath::Step::axisAsString):
1145        (WebCore::XPath::Step::Step):
1146        (WebCore::XPath::Step::~Step):
1147        (WebCore::XPath::Step::evaluate):
1148        (WebCore::XPath::Step::nodesInAxis):
1149        (WebCore::XPath::Step::nodeTestMatches):
1150        (WebCore::XPath::Step::optimize):
1151        (WebCore::XPath::Step::namespaceFromNodetest):
1152        (WebCore::XPath::Step::primaryNodeType):
1153        * xpath/impl/XPathStep.h: Added.
1154        (WebCore::XPath::Step::):
1155        * xpath/impl/XPathUtil.cpp: Added.
1156        (WebCore::XPath::isRootDomNode):
1157        (WebCore::XPath::stringValue):
1158        (WebCore::XPath::isValidContextNode):
1159        * xpath/impl/XPathUtil.h: Added.
1160        * xpath/impl/XPathValue.cpp: Added.
1161        (WebCore::XPath::Value::Value):
1162        (WebCore::XPath::Value::type):
1163        (WebCore::XPath::Value::isNodeVector):
1164        (WebCore::XPath::Value::isBoolean):
1165        (WebCore::XPath::Value::isNumber):
1166        (WebCore::XPath::Value::isString):
1167        (WebCore::XPath::Value::toNodeVector):
1168        (WebCore::XPath::Value::toBoolean):
1169        (WebCore::XPath::Value::toNumber):
1170        (WebCore::XPath::Value::toString):
1171        * xpath/impl/XPathValue.h: Added.
1172        (WebCore::XPath::Value::):
1173        * xpath/impl/XPathVariableReference.cpp: Added.
1174        (WebCore::XPath::VariableReference::VariableReference):
1175        (WebCore::XPath::VariableReference::isConstant):
1176        (WebCore::XPath::VariableReference::doEvaluate):
1177        * xpath/impl/XPathVariableReference.h: Added.
1178
11792006-05-08  David Hyatt  <hyatt@apple.com>
1180
1181        Comprehensive box-sizing fix.  This patch changes all form controls to
1182        have the right box-sizing values (text fields and text areas actually only
1183        use border-box in quirks mode now, and image buttons never use border-box).
1184
1185        Tables are supposed to use border-box box-sizing as well, but that's a scary
1186        enough change that I'm saving it for a separate patch.
1187
1188        Reviewed by mjs
1189
1190        * css/html4.css:
1191        * css/quirks.css:
1192
11932006-05-07  Darin Adler  <darin@apple.com>
1194
1195        Suggested by Mitz. Reviewed and landed by Maciej.
1196
1197        * dom/Document.cpp: (WebCore::Document::formElementsState): Fixed mistake where the
1198        vector has an initial size and instead should have an initial capacity. Harmless in
1199        a way, but hurts performance.
1200
12012006-05-07  David Hyatt  <hyatt@apple.com>
1202
1203        Fix for bugzilla bug 8060.
1204
1205        Fixed width table cells weren't having their border widths
1206        included in the effective width of the column (and thus could end up being
1207        too small).
1208
1209        Reviewed by darin
1210
1211        Added fast/tables/fixed-cell-growth.html
1212
1213        * rendering/table_layout.cpp:
1214        (WebCore::AutoTableLayout::recalcColumn):
1215
12162006-05-07  Alexey Proskuryakov  <ap@nypop.com>
1217
1218        Reviewed by Darin.
1219
1220        - http://bugs.webkit.org/show_bug.cgi?id=8769
1221          TextEncoding::fromUnicode() - support non-BMP characters and convert to NFC
1222
1223        Tests:
1224        * fast/forms/form-data-encoding.html
1225        * fast/forms/form-data-encoding-2.html
1226
1227        * platform/mac/TextEncodingMac.cpp:
1228        (WebCore::TextEncoding::fromUnicode): Normalize the string; handle surrogate pairs.
1229
12302006-05-06  David Hyatt  <hyatt@apple.com>
1231
1232        Rename WebCoreFont to FontPlatformData and WebTextRenderer to FontData.  Merge them into the
1233        headers (uncleanly with ifdefs at the moment, so I can see what I'm working towards).
1234
1235        Reviewed by mjs
1236
1237        * ChangeLog:
1238        * WebCore.vcproj/WebCore/WebCore.vcproj:
1239        * WebCore.xcodeproj/project.pbxproj:
1240        * bridge/mac/WebCoreStringTruncator.mm:
1241        (stringWidth):
1242        (truncateString):
1243        (+[WebCoreStringTruncator widthOfString:font:]):
1244        * kwq/KWQComboBox.mm:
1245        (QComboBox::sizeHint):
1246        * kwq/KWQLineEdit.mm:
1247        (QLineEdit::sizeForCharacterWidth):
1248        * kwq/KWQListBox.mm:
1249        (itemTextRenderer):
1250        (groupLabelTextRenderer):
1251        (QListBox::sizeForNumberOfLines):
1252        (-[KWQTableView drawRow:clipRect:]):
1253        * platform/Font.cpp:
1254        (WebCore::m_wordSpacing):
1255        (WebCore::Font::Font):
1256        (WebCore::Font::operator=):
1257        (WebCore::Font::update):
1258        (WebCore::Font::ascent):
1259        (WebCore::Font::descent):
1260        (WebCore::Font::lineSpacing):
1261        (WebCore::Font::xHeight):
1262        (WebCore::Font::isFixedPitch):
1263        * platform/Font.h:
1264        (WebCore::Font::getNSFont):
1265        * platform/FontData.h:
1266        (WebCore::FontData::ascent):
1267        (WebCore::FontData::descent):
1268        (WebCore::FontData::lineSpacing):
1269        (WebCore::FontData::lineGap):
1270        (WebCore::FontData::misspellingLineThickness):
1271        (WebCore::FontData::misspellingLinePatternWidth):
1272        (WebCore::FontData::misspellingLinePatternGapWidth):
1273        * platform/FontDataSet.h: Removed.
1274        * platform/FontFallbackList.h: Added.
1275        * platform/FontPlatformData.h:
1276        * platform/mac/FontData.mm: Added.
1277        (WebCore::WebCoreInitializeFont):
1278        (WebCore::WebCoreInitializeEmptyTextGeometry):
1279        (WebCore::widthForGlyph):
1280        (WebCore::overrideLayoutOperation):
1281        (WebCore::FontData::~FontData):
1282        (WebCore::FontData::xHeight):
1283        (WebCore::FontData::drawRun):
1284        (WebCore::FontData::floatWidthForRun):
1285        (WebCore::FontData::drawLineForCharacters):
1286        (WebCore::FontData::selectionRectForRun):
1287        (WebCore::FontData::drawHighlightForRun):
1288        (WebCore::FontData::drawLineForMisspelling):
1289        (WebCore::FontData::pointToOffset):
1290        (WebCore::FontData::setAlwaysUseATSU):
1291        (WebCore::getSmallCapsRenderer):
1292        (WebCore::findSubstituteFont):
1293        (WebCore::rendererForAlternateFont):
1294        (WebCore::findSubstituteRenderer):
1295        (WebCore::computeWidthForSpace):
1296        (WebCore::setUpFont):
1297        (WebCore::CG_drawHighlight):
1298        (WebCore::CG_selectionRect):
1299        (WebCore::CG_draw):
1300        (WebCore::CG_floatWidthForRun):
1301        (WebCore::updateGlyphMapEntry):
1302        (WebCore::extendGlyphMap):
1303        (WebCore::extendWidthMap):
1304        (WebCore::initializeATSUStyle):
1305        (WebCore::createATSULayoutParameters):
1306        (WebCore::getTextBounds):
1307        (WebCore::ATSU_floatWidthForRun):
1308        (WebCore::ATSU_drawHighlight):
1309        (WebCore::ATSU_selectionRect):
1310        (WebCore::ATSU_draw):
1311        (WebCore::ATSU_pointToOffset):
1312        (WebCore::advanceWidthIteratorOneCharacter):
1313        (WebCore::CG_pointToOffset):
1314        (WebCore::glyphForCharacter):
1315        (WebCore::initializeWidthIterator):
1316        (WebCore::advanceWidthIterator):
1317        * platform/mac/FontMac.mm:
1318        (WebCore::m_font):
1319        (WebCore::FontFallbackList::~FontFallbackList):
1320        (WebCore::FontFallbackList::platformFont):
1321        (WebCore::FontFallbackList::primaryFont):
1322        (WebCore::FontFallbackList::determinePitch):
1323        (WebCore::FontFallbackList::invalidate):
1324        (WebCore::Font::platformFont):
1325        (WebCore::Font::selectionRectForText):
1326        (WebCore::Font::drawText):
1327        (WebCore::Font::drawHighlightForText):
1328        (WebCore::Font::drawLineForText):
1329        (WebCore::Font::drawLineForMisspelling):
1330        (WebCore::Font::misspellingLineThickness):
1331        (WebCore::Font::floatWidth):
1332        (WebCore::Font::checkSelectionPoint):
1333        * platform/mac/WebCoreTextRenderer.mm:
1334        (WebCoreDrawTextAtPoint):
1335        (WebCoreTextFloatWidth):
1336        (WebCoreSetAlwaysUseATSU):
1337        * platform/mac/WebTextRenderer.h: Removed.
1338        * platform/mac/WebTextRenderer.mm: Removed.
1339        * platform/mac/WebTextRendererFactory.h:
1340        * platform/mac/WebTextRendererFactory.mm:
1341        (-[WebTextRendererFactory isFontFixedPitch:]):
1342        (-[WebTextRendererFactory init]):
1343        (-[WebTextRendererFactory rendererWithFont:]):
1344        (-[WebTextRendererFactory fontWithFamilies:traits:size:]):
1345        * platform/win/FontWin.cpp:
1346        (WebCore::FontFallbackList::~FontFallbackList):
1347        (WebCore::FontFallbackList::determinePitch):
1348        (WebCore::FontFallbackList::invalidate):
1349        (WebCore::FontFallbackList::primaryFont):
1350        (WebCore::Font::floatWidth):
1351        (WebCore::Font::drawText):
1352        (WebCore::Font::drawHighlightForText):
1353        (WebCore::Font::selectionRectForText):
1354        (WebCore::Font::checkSelectionPoint):
1355
13562006-05-05  Darin Adler  <darin@apple.com>
1357
1358        - fix the Windows build
1359
1360        * platform/win/FontWin.cpp: (WebCore::getFontData):
1361
13622006-05-05  Darin Adler  <darin@apple.com>
1363
1364        * platform/SegmentedString.h: (WebCore::SegmentedString::advance): Oops!
1365        Removed an extra ! that was causing everything to fail.
1366
13672006-05-05  Darin Adler  <darin@apple.com>
1368
1369        Reviewed by Tim Hatcher.
1370
1371        - remove a few of the stranger features of QChar on the road to
1372          eventually replacing it with an integer type (probably ICU's UChar)
1373
1374        * platform/DeprecatedString.h: Remove SpecialCharacter, byteOrderMark, null,
1375        cell, row, isNull, mirrored, mirroredChar, operator char, >, >=, <, and <=
1376        from QChar. Also removed the many unneeded friend declarations. Remove findArg
1377        and arg from DeprecatedString.
1378
1379        * dom/Document.cpp: (WebCore::Document::parseQualifiedName): Cast the type of the
1380        buffer before invoking the U16_NEXT function. Turns out this was converting each
1381        QChar to a char and back to a UChar, which means it caused a bug with characters
1382        that are U+0100 or greater.
1383
1384        * css/csshelper.cpp: (WebCore::parseURL):
1385        * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::constrainValue):
1386        * platform/StringImpl.cpp: (WebCore::StringImpl::toCoordsArray):
1387        * xml/xmlhttprequest.cpp: (WebCore::getCharset):
1388        Add some calls to unicode() since we don't have comparison operators any more.
1389
1390        * dom/StyledElement.cpp:
1391        (WebCore::toHex): Rewrote to just take a UChar parameter.
1392        (WebCore::StyledElement::addCSSColor): Call toHex on the character code.
1393
1394        * bridge/mac/WebCoreFrameBridge.mm:
1395        (-[WebCoreFrameBridge smartInsertForString:replacingRange:beforeString:afterString:]):
1396        * editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::doApply):
1397        * editing/TextIterator.cpp: (WebCore::TextIterator::handleTextBox):
1398        * platform/SegmentedString.h:
1399        (WebCore::SegmentedString::push):
1400        (WebCore::SegmentedString::advance):
1401        (WebCore::SegmentedString::escaped):
1402        * platform/SegmentedString.cpp:
1403        (WebCore::SegmentedString::length):
1404        (WebCore::SegmentedString::append):
1405        (WebCore::SegmentedString::prepend):
1406        (WebCore::SegmentedString::toString):
1407        Changed calls to isNull() to instead just use unicode() and check for 0.
1408
1409        * html/HTMLTokenizer.cpp:
1410        (WebCore::HTMLTokenizer::parseEntity): Change callers that used cell and row to
1411        just use unicode() instead.
1412        (WebCore::HTMLTokenizer::parseTag): Ditto.
1413
1414        * loader/Decoder.cpp: (Decoder::decode): Changed code that did a type cast to
1415        unsigned char to instead call unicode().
1416
1417        * platform/DeprecatedString.cpp:
1418        (KWQStringData::makeAscii): Call latin1() instead of relying on the conversion operator.
1419        (DeprecatedString::DeprecatedString): Call unicode() instead of relying on the conversion
1420        operator (the character has been tested and is known to be ASCII).
1421        (DeprecatedString::at): Use 0 instead of QChar::null.
1422        (DeprecatedString::compare): Use unicode() so we can do comparison since we don't have
1423        comparison operators any more.
1424        (DeprecatedString::find): Call unicode() instead of relying on the conversion
1425        operator (the character has been tested and is known to be ASCII).
1426        (DeprecatedString::findRev): Ditto.
1427        (DeprecatedString::copyLatin1): Call latin1() instead of relying on the conversion operator.
1428        (DeprecatedString::lower): Call unicode() instead of relying on the conversion
1429        operator (the character has been tested and is known to be ASCII).
1430        (DeprecatedString::insert): Ditto.
1431        (DeprecatedString::replace): Ditto.
1432        (DeprecatedString::fill): Ditto.
1433        (DeprecatedString::append): Ditto.
1434
1435        * html/html_inlineimpl.cpp: (WebCore::HTMLAnchorElement::defaultEventHandler):
1436        Eliminate the one use of DeprecatedString::arg.
1437
1438        - other cleanup
1439
1440        * kwq/KWQCString.cpp: Remove unneeded "using" directive.
1441
1442        * html/HTMLElementFactory.cpp:
1443        (WebCore::htmlConstructor):
1444        (WebCore::headConstructor):
1445        (WebCore::bodyConstructor):
1446        (WebCore::baseConstructor):
1447        (WebCore::linkConstructor):
1448        (WebCore::metaConstructor):
1449        (WebCore::styleConstructor):
1450        (WebCore::titleConstructor):
1451        (WebCore::frameConstructor):
1452        (WebCore::framesetConstructor):
1453        (WebCore::iframeConstructor):
1454        (WebCore::formConstructor):
1455        (WebCore::buttonConstructor):
1456        (WebCore::inputConstructor):
1457        (WebCore::isindexConstructor):
1458        (WebCore::fieldsetConstructor):
1459        (WebCore::labelConstructor):
1460        (WebCore::legendConstructor):
1461        (WebCore::optgroupConstructor):
1462        (WebCore::optionConstructor):
1463        (WebCore::selectConstructor):
1464        (WebCore::textareaConstructor):
1465        (WebCore::dlConstructor):
1466        (WebCore::ulConstructor):
1467        (WebCore::olConstructor):
1468        (WebCore::dirConstructor):
1469        (WebCore::menuConstructor):
1470        (WebCore::liConstructor):
1471        (WebCore::blockquoteConstructor):
1472        (WebCore::divConstructor):
1473        (WebCore::headingConstructor):
1474        (WebCore::hrConstructor):
1475        (WebCore::paragraphConstructor):
1476        (WebCore::preConstructor):
1477        (WebCore::basefontConstructor):
1478        (WebCore::fontConstructor):
1479        (WebCore::modConstructor):
1480        (WebCore::anchorConstructor):
1481        (WebCore::imageConstructor):
1482        (WebCore::mapConstructor):
1483        (WebCore::areaConstructor):
1484        (WebCore::canvasConstructor):
1485        (WebCore::appletConstructor):
1486        (WebCore::embedConstructor):
1487        (WebCore::objectConstructor):
1488        (WebCore::paramConstructor):
1489        (WebCore::scriptConstructor):
1490        (WebCore::tableConstructor):
1491        (WebCore::tableCaptionConstructor):
1492        (WebCore::tableColConstructor):
1493        (WebCore::tableRowConstructor):
1494        (WebCore::tableCellConstructor):
1495        (WebCore::tableSectionConstructor):
1496        (WebCore::brConstructor):
1497        (WebCore::quoteConstructor):
1498        (WebCore::marqueeConstructor):
1499        Mark functions static, remove unused parameters, change from docPtr to doc.
1500
15012006-05-05  Alexey Proskuryakov  <ap@nypop.com>
1502
1503        Reviewed by Maciej.
1504
1505        - http://bugs.webkit.org/show_bug.cgi?id=8626
1506          Strict mode erroneously triggered by a broken comment
1507
1508        Test: fast/parser/broken-comments-vs-parsing-mode.html
1509
1510        * page/Frame.cpp:
1511        (WebCore::Frame::endIfNotLoading): Call determineParseMode() if needed.
1512
15132006-05-05  Darin Adler  <darin@apple.com>
1514
1515        - fix the Windows build (this time for sure)
1516
1517        * platform/win/TemporaryLinkStubs.cpp:
1518        (GraphicsContext::translate): Added.
1519        (GraphicsContext::rotate): Ditto.
1520        (GraphicsContext::scale): Ditto.
1521
15222006-05-05  Darin Adler  <darin@apple.com>
1523
1524        - fix the Windows build
1525
1526        * bridge/win/FrameWin.h: Add Element* parameter to createPlugin.
1527        * platform/win/TemporaryLinkStubs.cpp: (FrameWin::createPlugin): Ditto.
1528
15292006-05-05  Darin Adler  <darin@apple.com>
1530
1531        - get the Windows build a little closer to building again
1532
1533        * platform/cairo/GraphicsContextCairo.cpp:
1534        (WebCore::GraphicsContext::drawRect): Call alpha to check if the color is transparent.
1535        Call setColor directly instead of setColorFromPen.
1536        (WebCore::GraphicsContext::drawLine): Ditto.
1537        (WebCore::GraphicsContext::drawEllipse): Ditto.
1538        (WebCore::GraphicsContext::drawArc): Ditto.
1539        (WebCore::GraphicsContext::drawConvexPolygon): Ditto.
1540        * platform/win/TemporaryLinkStubs.cpp: (JavaAppletWidget::JavaAppletWidget): Updated parameter types.
1541
15422006-05-05  Darin Adler  <darin@apple.com>
1543
1544        Reviewed by Adele.
1545
1546        - fixed data structure used to save/restore form element state to remove the
1547          O(n^2) algorithm and remove anomalies in how it works
1548        - fix http://bugs.webkit.org/show_bug.cgi?id=8683
1549          REGRESSION: imdb search button has "Submit" overload after going back
1550
1551        * manual-tests/form-value-restore.html: Added.
1552
1553        * bridge/mac/WebCoreFrameBridge.mm:
1554        (-[WebCoreFrameBridge saveDocumentState]): Rewrote to call the new formElementsState
1555        function on the document and also to convert null strings to NSNull instead of empty
1556        NSString objects.
1557        (-[WebCoreFrameBridge restoreDocumentState]): Ditto, with the setStateForNewFormElements
1558        function.
1559
1560        * dom/Document.h: Added FormElementKey, FormElementKeyHash, and FormElementKeyHashTraits
1561        for use in the hash map. Made readyState, inputEncoding, defaultCharset, charset,
1562        characterSet, getElementByAccessKey, haveStylesheetsLoaded, usesDescendantRules,
1563        usesSiblingRules, inCompatMode, inAlmostStrictMode, inStrictMode, preferredStylesheetSet,
1564        selectedStylesheetSet, and getCSSTarget all const member functions. Removed the unused
1565        nextState function. Renamed registerMaintainsState and deregisterMaintainsState to
1566        registerFormElementWithState and HTMLGenericFormElement and changed them to use form
1567        elements rather than arbitrary DOM nodes. Replaced docState with formElementsState and
1568        setRestoreState and restoreState with setStateForNewFormElements, hasStateForNewFormElements,
1569        and takeStateForFormElement. Replaced m_maintainsState with m_formElementsWithState,
1570        m_state with m_stateForNewFormElements. Made m_elementsByAccessKey and m_accessKeyMapValid
1571        mutable. Removed unused m_elementNames, m_elementNameAlloc, m_elementNameCount, m_attrNames,
1572        m_attrNameAlloc, m_attrNameCount, m_namespaceURIs, m_namespaceURIAlloc, m_namespaceURICount.
1573
1574        * dom/Document.cpp:
1575        (WebCore::Document::Document): Remove initialization of long-obsolete m_elementNames and
1576        m_attrNames.
1577        (WebCore::Document::~Document): Remove destruction of same.
1578        (WebCore::Document::readyState): Made const.
1579        (WebCore::Document::inputEncoding): Ditto.
1580        (WebCore::Document::defaultCharset): Ditto.
1581        (WebCore::Document::getElementByAccessKey): Ditto.
1582        (WebCore::Document::preferredStylesheetSet): Ditto.
1583        (WebCore::Document::selectedStylesheetSet): Ditto.
1584        (WebCore::Document::getCSSTarget): Ditto.
1585        (WebCore::Document::formElementsState): Added. Replaces the old docState function.
1586        Builds a vector of strings, with 3 strings for each form element containing the
1587        name, type, and state value.
1588        (WebCore::Document::setStateForNewFormElements): Added. Converts the state vector
1589        into a hash map, considering the scheme with 3 strings for form element used above.
1590        (WebCore::Document::hasStateForNewFormElements): Added.
1591        (WebCore::Document::takeStateForFormElement): Added. Given a name and type, looks
1592        up the values in the hash map and "peels off" the last one.
1593        (WebCore::FormElementKey::FormElementKey): Added.
1594        (WebCore::FormElementKey::~FormElementKey): Added.
1595        (WebCore::FormElementKey::operator=): Added.
1596        (WebCore::FormElementKey::ref): Added.
1597        (WebCore::FormElementKey::deref): Added.
1598        (WebCore::FormElementKeyHash::hash): Added.
1599        (WebCore::FormElementKeyHashTraits::deletedValue): Added.
1600
1601        * dom/Element.h: Removed state function.
1602        * dom/Node.h: Removed maintainsState, state, and restoreState functions.
1603        * dom/Node.cpp: Ditto.
1604
1605        * dom/QualifiedName.cpp: Reformatted.
1606        (WebCore::hashComponents): Removed code to handle buffers that are not multiples
1607        of 4 bytes, since a QualifiedName is guaranteed to be; also asserted that fact.
1608
1609        * html/HTMLParser.cpp:
1610        (WebCore::HTMLParser::insertNode): Remove code to restore state; that's now handled
1611        by closeRenderer.
1612        (WebCore::HTMLParser::popOneBlock): Ditto.
1613
1614        * html/HTMLFormElement.cpp: Added include of HTMLInputElement.h.
1615
1616        * html/HTMLGenericFormElement.h: Changed form to be a const member function.
1617        Changed type function to return a const AtomicString& instead of a String.
1618        Added an override of closeRenderer. Removed state and findMatchingState functions.
1619        Added stateValue and restoreState functions. Made m_form, m_disabled, and m_readOnly
1620        be private instead of protected. Removed m_inited. Changed booleans to not use bit
1621        fields since there are only two of them.
1622        * html/HTMLGenericFormElement.cpp: Removed encodedElementName, state, and
1623        findMatchingState functions.
1624        (WebCore::HTMLGenericFormElement::stateValue): Added. No implementation. This will only be
1625        called for subclasses that call registerFormElementWithState, and those will override and
1626        implement it.
1627        (WebCore::HTMLGenericFormElement::restoreState): Ditto.
1628        (WebCore::HTMLGenericFormElement::closeRenderer): Added. Replaces code that was in the
1629        HTML parser. Calls takeStateForFormElement, passing in the name and type, and if a
1630        state is found, calls restoreState.
1631
1632        * html/HTMLButtonElement.h: Changed type to return a const AtomicString& instead
1633        of a String.
1634        * html/HTMLButtonElement.cpp:
1635        (WebCore::HTMLButtonElement::type): Return a const AtomicString& instead of a
1636        String.
1637        (WebCore::HTMLButtonElement::defaultEventHandler): Use form() instead of m_form.
1638        (WebCore::HTMLButtonElement::isSuccessfulSubmitButton): Use disabled() instead of
1639        m_disabled.
1640
1641        * html/HTMLInputElement.h: Changed type to return a const AtomicString& instead
1642        of a String. Removed maintainsState, state, and restoreState functions, and added
1643        new stateValue and restoreState functions. Added m_inited (moved here from the generic
1644        form element base class).
1645        * html/HTMLInputElement.cpp:
1646        (WebCore::HTMLInputElement::init): Call registerFormElementWithState. This was
1647        formerly done by the HTML parser.
1648        (WebCore::HTMLInputElement::~HTMLInputElement): Call deregisterFormElementWithState
1649        by its new name.
1650        (WebCore::HTMLInputElement::isKeyboardFocusable): Use form() instead of m_form.
1651        (WebCore::HTMLInputElement::setType): Ditto.
1652        (WebCore::HTMLInputElement::setInputType): Ditto. Also call inputType() != PASSWORD
1653        instead of maintainsState(), since this is the only function that needs to know
1654        the rule and it's no longer a function in the base class. Also call register and
1655        deregister functions by their new names.
1656        (WebCore::HTMLInputElement::type): Changed to return const AtomicString& instead
1657        of String.
1658        (WebCore::HTMLInputElement::stateValue): Renamed from state and changed to no
1659        longer include the name and type, formerly obtained by calling the base class's
1660        HTMLGenericFormElement::state, and to no longer modify the value() string by
1661        adding a ".", which gets in the way of distinguishing null and empty values
1662        and is slower and unnecessary.
1663        (WebCore::HTMLInputElement::restoreState):  Changed because it takes a single
1664        state and doesn't need to call findMatchingState, and also to no longer remove the last
1665        character from the value when restoring state.
1666        (WebCore::HTMLInputElement::parseMappedAttribute): Use form() instead of m_form.
1667        (WebCore::HTMLInputElement::isSuccessfulSubmitButton): Use disabled() instead of
1668        m_disabled.
1669        (WebCore::HTMLInputElement::setChecked): Use form() instead of m_form.
1670        (WebCore::HTMLInputElement::preDispatchEventHandler): Ditto.
1671        (WebCore::HTMLInputElement::defaultEventHandler): Ditto.
1672
1673        * html/HTMLSelectElement.h: Changed type to return a const AtomicString& instead
1674        of a String.
1675        * html/HTMLSelectElement.cpp:
1676        (WebCore::HTMLSelectElement::HTMLSelectElement): Call registerFormElementWithState.
1677        This was formerly done by the HTML parser.
1678        (WebCore::HTMLSelectElement::~HTMLSelectElement): Call deregisterFormElementWithState
1679        by its new name.
1680        (WebCore::HTMLSelectElement::type): Changed to return const AtomicString& instead
1681        of String.
1682        (WebCore::HTMLSelectElement::stateValue): Renamed from state and changed to no
1683        longer include the name and type, formerly obtained by calling the base class's
1684        HTMLGenericFormElement::state, and to build the string in a Vector<char> instead of
1685        appending characters one at a time to a string.
1686        (WebCore::HTMLSelectElement::restoreState):  Changed because it takes a single
1687        state and doesn't need to call findMatchingState.
1688        (WebCore::HTMLSelectElement::defaultEventHandler): Use form() instead of m_form.
1689
1690        * html/HTMLTextAreaElement.h: Changed type to return a const AtomicString& instead
1691        of a String. Removed maintainsState, state, and restoreState functions, and added
1692        new stateValue and restoreState functions.
1693        * html/HTMLTextAreaElement.cpp:
1694        (WebCore::HTMLTextAreaElement::HTMLTextAreaElement): Call registerFormElementWithState.
1695        This was formerly done by the HTML parser. Also use member initialization instead of
1696        assignment.
1697        (WebCore::HTMLTextAreaElement::~HTMLTextAreaElement): Call deregisterFormElementWithState
1698        by its new name.
1699        (WebCore::HTMLTextAreaElement::type): Changed to return const AtomicString& instead
1700        of String.
1701        (WebCore::HTMLTextAreaElement::stateValue): Renamed from state and changed to no
1702        longer include the name and type, formerly obtained by calling the base class's
1703        HTMLGenericFormElement::state, and to no longer modify the value() string by
1704        adding a ".", which is unnecessary.
1705        (WebCore::HTMLTextAreaElement::restoreState): Changed because it takes a single
1706        state and doesn't need to call findMatchingState, and also to no longer remove the last
1707        character from the value when restoring state.
1708        (WebCore::HTMLTextAreaElement::updateValue): Changed to const.
1709        (WebCore::HTMLTextAreaElement::value): Ditto.
1710        (WebCore::HTMLTextAreaElement::defaultValue): Ditto.
1711
1712        * html/HTMLFieldSetElement.h: Changed type to return a const AtomicString& instead
1713        of a String.
1714        * html/HTMLFieldSetElement.cpp: (WebCore::HTMLFieldSetElement::type): Ditto.
1715        * html/HTMLKeygenElement.h: Ditto.
1716        * html/HTMLKeygenElement.cpp: (WebCore::HTMLKeygenElement::type): Ditto.
1717        * html/HTMLLegendElement.h: Ditto.
1718        * html/HTMLLegendElement.cpp: (WebCore::HTMLLegendElement::type):
1719        * html/HTMLOptGroupElement.h: Ditto.
1720        * html/HTMLOptGroupElement.cpp: (WebCore::HTMLOptGroupElement::type): Ditto.
1721        * html/HTMLOptionElement.h: Ditto.
1722        * html/HTMLOptionElement.cpp: (WebCore::HTMLOptionElement::type): Ditto.
1723
1724        * ksvg2/svg/SVGAnimationElement.cpp: (SVGAnimationElement::closeRenderer):
1725        Added missing call to base class.
1726
1727        * rendering/render_form.h: Removed element() functions that cast to the
1728        appropriate derived element class. They do make some bits of code slightly
1729        more readable, but they also require including too many headers. Removed
1730        the includes of HTMLInputElement.h, HTMLSelectElement.h, HTMLTextAreaElement.h,
1731        and KWQLineEdit.h, and added an include of GraphicsTypes.h.
1732        * rendering/render_form.cpp:
1733        (WebCore::RenderFormElement::updateFromElement): Changed use of element()
1734        to instead use node() and cast.
1735        (WebCore::RenderFormElement::clicked): Ditto.
1736        (WebCore::RenderLineEdit::selectionChanged): Ditto.
1737        (WebCore::RenderLineEdit::returnPressed): Ditto.
1738        (WebCore::RenderLineEdit::performSearch): Ditto.
1739        (WebCore::RenderLineEdit::addSearchResult): Ditto.
1740        (WebCore::RenderLineEdit::calcMinMaxWidth): Ditto.
1741        (WebCore::RenderLineEdit::setStyle): Ditto.
1742        (WebCore::RenderLineEdit::updateFromElement): Ditto.
1743        (WebCore::RenderLineEdit::valueChanged): Ditto.
1744        (WebCore::RenderFileButton::calcMinMaxWidth): Ditto.
1745        (WebCore::RenderFileButton::updateFromElement): Ditto.
1746        (WebCore::RenderFileButton::returnPressed): Ditto.
1747        (WebCore::RenderFileButton::valueChanged): Ditto.
1748        (WebCore::RenderSelect::updateFromElement): Ditto.
1749        (WebCore::RenderSelect::layout): Ditto.
1750        (WebCore::RenderSelect::valueChanged): Ditto.
1751        (WebCore::RenderSelect::selectionChanged): Ditto.
1752        (WebCore::RenderSelect::updateSelection): Ditto.
1753        (WebCore::RenderTextArea::destroy): Ditto.
1754        (WebCore::RenderTextArea::calcMinMaxWidth): Ditto.
1755        (WebCore::RenderTextArea::setStyle): Ditto.
1756        (WebCore::RenderTextArea::updateFromElement): Ditto.
1757        (WebCore::RenderTextArea::valueChanged): Ditto.
1758        (WebCore::RenderTextArea::selectionChanged): Ditto.
1759        (WebCore::RenderSlider::updateFromElement): Ditto.
1760        (WebCore::RenderSlider::valueChanged): Ditto.
1761
17622006-05-05  Matt Gough  <matt@softchaos.com>
1763
1764        Reviewed by Darin.
1765
1766        http://bugs.webkit.org/show_bug.cgi?id=8563
1767
1768        Test: fast/doctypes/005-case-preserving.html
1769
1770        The doctype object in the DOM is now usable by client code
1771        as opposed to always being exposed as nil. Now also ensures that
1772        the 'name' of the component preserves the case of the original html source.
1773        (i.e HtMl -> HtMl not HTML)
1774
1775        * dom/Document.h:
1776        Changes comment by docType() to say it may return 0 for html
1777        * html/HTMLDocument.cpp:
1778        (WebCore::parseDocTypeDeclaration):
1779        (WebCore::HTMLDocument::determineParseMode):
1780        Preserves the case of the name component
1781        (WebCore::HTMLDocument::doctype):removed
1782        * html/HTMLDocument.h:
1783        (WebCore::HTMLDocument::doctype):removed
1784
17852006-05-05  Rob Buis  <buis@kde.org>
1786
1787        Reviewed by Darin.
1788
1789        Fix for http://bugs.webkit.org/show_bug.cgi?id=8445:
1790        [DOMHTMLSelectElement multiple] returns no when the select element is multiple
1791
1792        Correct the logic errors, which are clearly indicated by the changeset given
1793        in the bug report.
1794
1795        * bindings/objc/DOMHTML.mm:
1796        (-[DOMHTMLLinkElement disabled]):
1797        (-[DOMHTMLSelectElement disabled]):
1798        (-[DOMHTMLSelectElement multiple]):
1799        (-[DOMHTMLOptGroupElement disabled]):
1800        (-[DOMHTMLOptionElement defaultSelected]):
1801        (-[DOMHTMLOptionElement disabled]):
1802
18032006-05-04  Darin Adler  <darin@apple.com>
1804
1805        Reviewed by Tim Omernick.
1806
1807        - fix storage leak I introduced yesterday
1808
1809        * platform/cg/GraphicsContextCG.cpp:
1810        (WebCore::setCGFillColor): Added.
1811        (WebCore::setCGStrokeColor): Added.
1812        (WebCore::GraphicsContext::drawRect): Use setCGFillColor to avoid allocating
1813        a CGColorRef object.
1814        (WebCore::GraphicsContext::drawLine): Use setCGStrokeColor and setCGFillColor
1815        to avoid allocating a CGColorRef object.
1816        (WebCore::GraphicsContext::drawEllipse): Ditto.
1817        (WebCore::GraphicsContext::drawArc): Ditto.
1818        (WebCore::GraphicsContext::drawConvexPolygon): Ditto.
1819        (WebCore::GraphicsContext::fillRect): Ditto.
1820
18212006-05-04  Justin Garcia  <justin.garcia@apple.com>
1822
1823        Reviewed by harrison
1824
1825        * dom/Node.cpp:
1826        (WebCore::Node::rootEditableElement):
1827        Restored code to stop at the body tag.  Editing shouldn't be allowed to
1828        happen outside the body, so it needs to be the editable root even if the
1829        html element is contentEditable.
1830        * editing/ReplaceSelectionCommand.cpp:
1831        (WebCore::ReplaceSelectionCommand::shouldMergeEnd):
1832        Now takes in more information so it can be "the decider".
1833        (WebCore::ReplaceSelectionCommand::doApply):
1834        Merging two paragraphs will destroy the moved one's block styles. Perform
1835        the end merge backward (from content already in the document to just inserted
1836        content) if moving forward would move the paragraph that contained the start of
1837        the selection being pasted into, since we always want to preserve that paragraph's
1838        block style.
1839        Moving backward in this case is also helpful because otherwise it would be
1840        difficult to remember the position where inserted content began (since merging
1841        would remove m_firstNodeInserted).  That position is needed in order to select
1842        the replacement and to add smart replace whitespace.
1843        (WebCore::ReplaceSelectionCommand::removeEndBRIfNeeded):
1844        If [br, 0] is at the end of a block, the br is not necessarily collapsed
1845        in quirks mode.  [br, 0] needs to also not be at the start of a block.
1846
1847        * editing/ReplaceSelectionCommand.h:
1848
18492006-05-04  Tim Omernick  <timo@apple.com>
1850
1851        Reviewed by Darin.
1852
1853        <rdar://problem/4537606> Give Java WebKit plugin access to its own DOM element
1854
1855        * bridge/mac/WebCoreFrameBridge.h:
1856        Added DOMElement parameter to -viewForJavaAppletWithFrame:attributeNames:attributeValues:baseURL:.
1857
1858        * bridge/JavaAppletWidget.h:
1859        Constructor now takes the applet's element instead of its containing frame.
1860
1861        * bridge/mac/JavaAppletWidget.mm:
1862        (JavaAppletWidget::JavaAppletWidget):
1863        Pass the applet's element to viewForJavaAppletWithFrame:.
1864
1865        * rendering/RenderApplet.cpp:
1866        (WebCore::RenderApplet::createWidgetIfNecessary):
1867        Pass the element along to JavaAppletWidget.
1868
18692006-05-04  Tim Omernick  <timo@apple.com>
1870
1871        Reviewed by John Sullivan.
1872
1873        <rdar://problem/4480186> Give WebKit plugins access to their own DOM element
1874
1875        * bridge/mac/WebCoreFrameBridge.h:
1876        Added DOMElement: parameter to -viewForPluginWithURL:attributeNames:attributueValues:MIMEType:
1877
1878        * bridge/mac/FrameMac.h:
1879        * bridge/mac/FrameMac.mm:
1880        (WebCore::FrameMac::createPlugin):
1881        Added "element" parameter; wrap element in DOMElement and pass up to the bridge.
1882
1883        * page/Frame.h:
1884        Added "element" parameter to createPlugin().
1885        * page/Frame.cpp:
1886        (WebCore::Frame::loadPlugin):
1887        Get the plugin's DOM element and pass to createPlugin().
1888
18892006-05-04  Eric Seidel  <eseidel@apple.com>
1890
1891        Reviewed by timo.
1892
1893        Add drag & drop support to <input type="file">
1894        http://bugs.webkit.org/show_bug.cgi?id=8733
1895
1896        Test: manual/input-type-file-drag-drop.html
1897
1898        * kwq/KWQFileButton.mm:
1899        (-[WebFileChooserButton initWithWidget::]):
1900        (-[WebCoreFileButton initWithWidget:]):
1901        (-[WebCoreFileButton drawRect:]):
1902        (-[WebCoreFileButton updateLabel]):
1903        (-[WebCoreFileButton setFilename:]):
1904        (-[WebCoreFileButton changeFilename:]):
1905        (-[WebCoreFileButton chooseFilename:]):
1906        (validFilenameFromPasteboard):
1907        (-[WebCoreFileButton draggingEntered:]):
1908        (-[WebCoreFileButton draggingExited:]):
1909        (-[WebCoreFileButton performDragOperation:]):
1910
19112006-05-04  Beth Dakin  <bdakin@apple.com>
1912
1913        Reviewed by Hyatt.
1914
1915        Fix for http://bugs.webkit.org/show_bug.cgi?id=8732
1916        Backgrounds with background-size and background-origin do not
1917        always lay out correctly
1918
1919        * platform/cairo/ImageCairo.cpp:
1920        (WebCore::Image::drawTiled): We no longer need to scale the source
1921        point since it will now come in with the scale already taken into
1922        account.
1923        * platform/mac/ImageMac.mm:
1924        (WebCore::Image::drawTiled): Same as above.
1925        * rendering/RenderBox.cpp:
1926        (WebCore::cacluateBackgroundSize): Now calculate the background
1927        size in a helper method.
1928        (WebCore::RenderBox::paintBackgroundExtended): Calculate the
1929        background size before calculating cx, cy, cw, ch, sx, and sy so
1930        that they can all be calculated with the scaled image size taken
1931        into account.
1932
19332006-05-04  David Hyatt  <hyatt@apple.com>
1934
1935        Fix for 8693, crash when reloading PDF. Make sure to clear the truncator's
1936        cached renderer.
1937
1938        Reviewed by beth
1939
1940        * bridge/mac/WebCoreStringTruncator.h:
1941        * bridge/mac/WebCoreStringTruncator.mm:
1942        (+[WebCoreStringTruncator clear]):
1943        * platform/mac/WebTextRendererFactory.mm:
1944        (-[WebTextRendererFactory clearCaches]):
1945
19462006-05-03  Darin Adler  <darin@apple.com>
1947
1948        Reviewed by Eric.
1949
1950        - http://bugs.webkit.org/show_bug.cgi?id=8696
1951          another round of GraphicsContext improvements
1952
1953        * WebCore.xcodeproj/project.pbxproj: Added GraphicsContextCG.cpp.
1954        * html/CanvasRenderingContext2D.cpp:
1955        (WebCore::CanvasRenderingContext2D::scale): Use new GraphicsContext function.
1956        (WebCore::CanvasRenderingContext2D::rotate): Ditto.
1957        (WebCore::CanvasRenderingContext2D::translate): Ditto.
1958        * kwq/KWQComboBox.mm: Added include (not sure if this is needed for this patch,
1959        but it's needed for one of my upcoming ones).
1960
1961        * platform/GraphicsContext.h: Changed fillColor and setFillColor to use Color
1962        instead of RGBA32. Removed setColorFromFillColor and setColorFromPen. Added
1963        scale, rotate, and translate functions.
1964        * platform/GraphicsContext.cpp:
1965        (WebCore::GraphicsContext::setFillColor): Changed to use Color instead of RGBA32.
1966        (WebCore::GraphicsContext::fillColor): Ditto.
1967
1968        * platform/GraphicsTypes.h: Moved HorizontalAlignment here.
1969        * platform/Widget.h: Removed HorizontalAlignment from here.
1970
1971        * platform/cg/GraphicsContextCG.cpp: Added. Started as a copy of GraphicsContextMac.mm.
1972        (WebCore::GraphicsContext::drawRect): Rewrote to not rely on [NSGraphicsContext currentContext].
1973        (WebCore::GraphicsContext::drawLine): Ditto.
1974        (WebCore::GraphicsContext::drawEllipse): Ditto.
1975        (WebCore::GraphicsContext::drawArc): Ditto.
1976        (WebCore::GraphicsContext::drawConvexPolygon): Ditto.
1977        (WebCore::GraphicsContext::fillRect): Ditto.
1978        (WebCore::GraphicsContext::setLineWidth):  Added check of paintingDisabled().
1979        (WebCore::GraphicsContext::setMiterLimit): Ditto.
1980        (WebCore::GraphicsContext::setAlpha): Ditto.
1981        (WebCore::GraphicsContext::clearRect): Ditto.
1982        (WebCore::GraphicsContext::strokeRect): Ditto.
1983        (WebCore::GraphicsContext::setLineCap): Ditto.
1984        (WebCore::GraphicsContext::setLineJoin): Ditto.
1985        (WebCore::GraphicsContext::clip): Ditto.
1986        (WebCore::GraphicsContext::scale): Added.
1987        (WebCore::GraphicsContext::rotate): Added.
1988        (WebCore::GraphicsContext::translate): Added.
1989
1990        * platform/mac/GraphicsContextMac.mm: Moved most of this file into GraphicsContextCG.cpp.
1991        (WebCore::GraphicsContext::setCompositeOperation): Added check of paintingDisabled().
1992
1993        * platform/mac/WebCoreSystemInterface.h: Added declarations so this header
1994        stands alone.
1995
19962006-05-03  Darin Adler  <darin@apple.com>
1997
1998        Reviewed by Justin.
1999
2000        - fix http://bugs.webkit.org/show_bug.cgi?id=8159
2001          REGRESSION: Clicking outside new text field focuses the field
2002
2003        This bug has always been present for "content editable" HTML, but
2004        now affects <input type=text> as well. The problem is with the editing
2005        concept of a "deep equivalent". When computing the deep equivalent,
2006        the code can move from outside an editable area to inside. To fix this,
2007        I removed all use of the "deep equivalent" concept.
2008
2009        * rendering/RenderBlock.cpp: (WebCore::RenderBlock::positionForCoordinates):
2010        Changed argument names from _x and _y to just x and y. When the element
2011        is the editable root, changed things so that clicks that are not within
2012        the element at all return positions before or after the element, rather than
2013        always choosing the closest point within the element. This gets us off on
2014        the right foot, by not choosing a position inside an editable root when you
2015        click outside that editable root. This code handles shadowParentNode as well,
2016        and also calls positionForCoordinates on children rather than calling
2017        positionForRenderer (which I believe is now a function that can be removed).
2018
2019        * editing/VisiblePosition.h: Removed the deepEquivalent function.
2020        * editing/VisiblePosition.cpp:
2021        (WebCore::VisiblePosition::previousVisiblePosition): Removed use of the
2022        deepEquivalent function. Also, to make this function easier to understand
2023        I separated out the case where the start point is "in rendered content"
2024        and the case where it's not into two separate loops.
2025        (WebCore::VisiblePosition::nextVisiblePosition): Ditto.
2026        (WebCore::VisiblePosition::initDeepPosition): Removed use of the deepEquivalent
2027        function. Also added code to make sure that this work never turns a position
2028        outside an editable element into a position inside that editable element, or
2029        vice versa. Reorganized the code a bit.
2030
2031        * dom/Position.cpp:
2032        (WebCore::Position::upstream): Removed use of the deepEquivalent function.
2033        (WebCore::Position::downstream): Ditto.
2034
2035        * editing/htmlediting.cpp:
2036        (WebCore::editingIgnoresContent): Changed to use isReplaced instead of isWidget
2037        and isImage to determine if editing should ignore content.
2038        (WebCore::firstInSpecialElement): Rewrote isFirstVisiblePositionInSpecialElement
2039        to have code to share with positionBeforeContainingSpecialElement. And changed
2040        to allow both the position just before a table and the position just inside a
2041        table to qualify. While this is slightly sloppy, the old code worked because
2042        of the "deep equivalent" technique. This change is needed to get the desired
2043        results even without that technique.
2044        (WebCore::lastInSpecialElement): Ditto.
2045        (WebCore::isFirstVisiblePositionInSpecialElement): Changed to use the new function.
2046        (WebCore::positionBeforeContainingSpecialElement): Ditto.
2047        (WebCore::isLastVisiblePositionInSpecialElement): Ditto.
2048        (WebCore::positionAfterContainingSpecialElement): Ditto.
2049
2050        * dom/Node.cpp: (WebCore::Node::rootEditableElement): Rewrote to remove
2051        special case for body tag.
2052
2053        - other changes
2054
2055        * html/HTMLElement.cpp:
2056        (WebCore::HTMLElement::setOuterHTML): Added a FIXME about the fact
2057        that this won't merge neighboring text nodes the way setOuterText does.
2058        (WebCore::HTMLElement::setInnerText): Added a FIXME about the fact that
2059        this creates a text node even when setting to empty text.
2060        (WebCore::HTMLElement::setOuterText): Ditto.
2061
2062        * editing/DeleteSelectionCommand.cpp: Removed some #if 1 and #if 0.
2063        * editing/ReplaceSelectionCommand.cpp: A little reformatting.
2064        * rendering/render_button.h: Tiny formatting tweak.
2065
20662006-05-02  Adele Peterson  <adele@apple.com>
2067
2068        Reviewed by Beth.
2069
2070        Fix for <rdar://problem/4523671>
2071        REGRESSION (NativeTextField): Auto-complete popup list doesn't appear at the correct location after scrolling page.
2072
2073        * bindings/objc/DOMHTML.mm: (-[DOMHTMLInputElement _rectOnScreen]):
2074        Use the documentView to compute the correct rect for the element when the view is scrolled.
2075
20762006-05-02  Justin Garcia  <justin.garcia@apple.com>
2077
2078        Reviewed by harrison
2079
2080        <http://bugs.webkit.org/show_bug.cgi?id=8704>
2081        Fix a few end merge bugs
2082        <rdar://problem/4424044>
2083        REGRESSION: Extra line appears when typing
2084
2085        * bridge/mac/WebCoreFrameBridge.mm:
2086        (-[WebCoreFrameBridge smartInsertForString:replacingRange:beforeString:afterString:]):
2087        Use renamed characterAfter.
2088        * editing/InsertParagraphSeparatorCommand.cpp:
2089        (WebCore::InsertParagraphSeparatorCommand::doApply):
2090        Regenerate a VisiblePosition that became stale during a text node split.
2091        Don't rebalance whitespace after the operation, 1) it has a bug that turns preserved
2092        newlines into nbsps, 2) I think it should only be done during serialization, not after
2093        every command (since editable regions now always have -webkit-nbsp-mode:space on them).
2094        Use a regular br for the placeholder as I think we can move away from -webkit-block-placeholders.
2095
2096        * editing/RebalanceWhitespaceCommand.cpp: Added FIXMEs.
2097        * editing/ReplaceSelectionCommand.cpp:
2098        (WebCore::ReplaceSelectionCommand::shouldMergeStart): Removed FIXME.
2099        (WebCore::ReplaceSelectionCommand::shouldMergeEnd): Can now use rendering information.
2100        (WebCore::ReplaceSelectionCommand::doApply):
2101        Call shouldMergeEnd after the insertion so that it can use rendering information.
2102        Don't use positionAfterNode of the last node inserted to mark the position at the end
2103        of inserted content because canonicalization can send it into content that was already
2104        in the document.
2105
2106        * editing/ReplaceSelectionCommand.h:
2107        * editing/VisiblePosition.cpp:
2108        (WebCore::VisiblePosition::characterAfter):
2109        Renamed.  When two candidates are visually equivalent, the rightmost candidate will be
2110        the one inside the text node where the character will be.
2111
2112        * editing/VisiblePosition.h:
2113        * editing/htmlediting.cpp:
2114        (WebCore::enclosingTableCell): Added.
2115        (WebCore::enclosingList):
2116        * editing/htmlediting.h:
2117
21182006-05-02  David Hyatt  <hyatt@apple.com>
2119
2120        Partial fix for the crash in bugzilla bug 8088.  There's a third crash
2121        even after fixing this though.
2122
2123        Reviewed by darin
2124
2125        * platform/mac/WebTextRenderer.mm:
2126        (WebCore::WidthMap::widths):
2127        (WebCore::extendWidthMap):
2128        * platform/mac/WebTextRendererFactory.mm:
2129        (-[WebTextRendererFactory clearCaches]):
2130
21312006-05-02  Steve Falkenburg  <sfalken@apple.com>
2132
2133        Reviewed by eric.
2134
2135        * WebCore.vcproj/WebCore/WebCore.vcproj: defined NDEBUG in release build
2136        * bridge/win/FrameWin.cpp:
2137        (WebCore::FrameWin::FrameWin): turned on javascript.
2138        * kwq/KWQKHTMLSettings.h:
2139        (KHTMLSettings::KHTMLSettings): initialized settings to 0
2140
21412006-05-02  David Hyatt  <hyatt@apple.com>
2142
2143        Make sure to updateLayout on all scrolling functions (in particular when
2144        setting scrollLeft/Top).
2145
2146        Reviewed by eric
2147
2148        fast/overflow/008,html added as a test case.
2149
2150        * dom/Element.cpp:
2151        (WebCore::Element::scrollIntoView):
2152        (WebCore::Element::scrollIntoViewIfNeeded):
2153        (WebCore::Element::setScrollLeft):
2154        (WebCore::Element::setScrollTop):
2155
21562006-05-02  Anders Carlsson  <andersca@mac.com>
2157
2158        Reviewed by Dave Hyatt.
2159
2160        http://bugs.webkit.org/show_bug.cgi?id=8688
2161        file URLs aren't being serialized correctly when using window.location
2162
2163        * platform/KURL.cpp:
2164        (KURL::prettyURL):
2165        Append "//" for file URLs.
2166
21672006-05-01  David Hyatt  <hyatt@apple.com>
2168
2169        Convert WebTextRenderer to be a C++ class.  Change the factory so
2170        that it uses pointer-based hashmaps instead of NSMutableDictionaries.
2171        Convert uses of malloc/free to new/delete so that they start using
2172        the fastMalloc/fastFree code.
2173
2174        Reviewed by darin
2175
2176        * bridge/mac/WebCoreStringTruncator.mm:
2177        (stringWidth):
2178        (truncateString):
2179        * kwq/KWQComboBox.mm:
2180        (QComboBox::sizeHint):
2181        * kwq/KWQLineEdit.mm:
2182        (QLineEdit::sizeForCharacterWidth):
2183        * kwq/KWQListBox.mm:
2184        (itemTextRenderer):
2185        (groupLabelTextRenderer):
2186        (QListBox::sizeForNumberOfLines):
2187        (QListBox::clearCachedTextRenderers):
2188        (-[KWQTableView drawRow:clipRect:]):
2189        * platform/FontDataSet.h:
2190        * platform/mac/FontMac.mm:
2191        (WebCore::FontDataSet::~FontDataSet):
2192        (WebCore::FontDataSet::getRenderer):
2193        (WebCore::FontDataSet::invalidate):
2194        (WebCore::Font::ascent):
2195        (WebCore::Font::descent):
2196        (WebCore::Font::lineSpacing):
2197        (WebCore::Font::xHeight):
2198        (WebCore::Font::selectionRectForText):
2199        (WebCore::Font::drawText):
2200        (WebCore::Font::drawHighlightForText):
2201        (WebCore::Font::drawLineForText):
2202        (WebCore::Font::drawLineForMisspelling):
2203        (WebCore::Font::misspellingLineThickness):
2204        (WebCore::Font::floatWidth):
2205        (WebCore::Font::checkSelectionPoint):
2206        * platform/mac/WebCoreTextRenderer.mm:
2207        (WebCoreDrawTextAtPoint):
2208        (WebCoreTextFloatWidth):
2209        (WebCoreSetAlwaysUseATSU):
2210        * platform/mac/WebTextRenderer.h:
2211        (WebCore::WebTextRenderer::ascent):
2212        (WebCore::WebTextRenderer::descent):
2213        (WebCore::WebTextRenderer::lineSpacing):
2214        (WebCore::WebTextRenderer::lineGap):
2215        (WebCore::WebTextRenderer::misspellingLineThickness):
2216        (WebCore::WebTextRenderer::misspellingLinePatternWidth):
2217        (WebCore::WebTextRenderer::misspellingLinePatternGapWidth):
2218        * platform/mac/WebTextRenderer.mm:
2219        (WebCore::WebCoreInitializeFont):
2220        (WebCore::WebCoreInitializeTextRun):
2221        (WebCore::WebCoreInitializeEmptyTextStyle):
2222        (WebCore::WebCoreInitializeEmptyTextGeometry):
2223        (WebCore::widthForGlyph):
2224        (WebCore::overrideLayoutOperation):
2225        (WebCore::m_ATSUMirrors):
2226        (WebCore::WebTextRenderer::~WebTextRenderer):
2227        (WebCore::WebTextRenderer::xHeight):
2228        (WebCore::WebTextRenderer::drawRun):
2229        (WebCore::WebTextRenderer::floatWidthForRun):
2230        (WebCore::WebTextRenderer::drawLineForCharacters):
2231        (WebCore::WebTextRenderer::selectionRectForRun):
2232        (WebCore::WebTextRenderer::drawHighlightForRun):
2233        (WebCore::WebTextRenderer::drawLineForMisspelling):
2234        (WebCore::WebTextRenderer::pointToOffset):
2235        (WebCore::WebTextRenderer::setAlwaysUseATSU):
2236        (WebCore::getSmallCapsRenderer):
2237        (WebCore::findSubstituteFont):
2238        (WebCore::rendererForAlternateFont):
2239        (WebCore::computeWidthForSpace):
2240        (WebCore::setUpFont):
2241        (WebCore::CG_selectionRect):
2242        (WebCore::CG_draw):
2243        (WebCore::updateGlyphMapEntry):
2244        (WebCore::extendGlyphMap):
2245        (WebCore::extendWidthMap):
2246        (WebCore::initializeATSUStyle):
2247        (WebCore::createATSULayoutParameters):
2248        (WebCore::disposeATSULayoutParameters):
2249        (WebCore::addDirectionalOverride):
2250        (WebCore::ATSU_selectionRect):
2251        (WebCore::ATSU_draw):
2252        (WebCore::ATSU_pointToOffset):
2253        (WebCore::freeWidthMap):
2254        (WebCore::freeGlyphMap):
2255        (WebCore::glyphForCharacter):
2256        (WebCore::advanceWidthIterator):
2257        * platform/mac/WebTextRendererFactory.h:
2258        * platform/mac/WebTextRendererFactory.mm:
2259        (-[WebTextRendererFactory clearCaches]):
2260        (-[WebTextRendererFactory init]):
2261        (-[WebTextRendererFactory dealloc]):
2262        (-[WebTextRendererFactory rendererWithFont:]):
2263
22642006-05-01  Justin Garcia  <justin.garcia@apple.com>
2265
2266        Reviewed by darin
2267
2268        <http://bugs.webkit.org/show_bug.cgi?id=8653>
2269        Remove a use of hasMoreThanOneBlock, which uses info from the test rendering.
2270
2271        * editing/DeleteSelectionCommand.cpp:
2272        (WebCore::DeleteSelectionCommand::initializePositionData):
2273        Removed code that stopped the merge if the end of the selection to delete
2274        was in a fully selected line, which was nonsense.
2275
2276        (WebCore::DeleteSelectionCommand::mergeParagraphs):
2277        Deletion does a bad job of updating the endpoints of the selection as it removes
2278        content.  If the endpoints have been flip flipped, bail.
2279        If deletion has removed everything from the block that contained the
2280        start of the selection to delete, we can't create a visible position inside
2281        that block to serve as a destination for the merge.  So, we insert a placeholder
2282        at that position to prop the block open to let content in.
2283
2284        * editing/ReplaceSelectionCommand.cpp:
2285        (WebCore::ReplaceSelectionCommand::doApply):
2286        Added an assert and two early returns for cases where we'll crash.
2287        Removed a use of !fragment.hasMoreThanOneBlock, which uses test rendering info
2288        and which was wrong.
2289        If we've already inserted content during the start merge, insertionPos will be
2290        the position just after that content, so inserting new content before insertionPos
2291        will reverse its order.
2292
22932006-05-01  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2294
2295        Reviewed by Darin.
2296
2297        - manual test for http://bugs.webkit.org/show_bug.cgi?id=8658
2298          Assertion failure in -[WebPluginContainerCheck _isForbiddenFileLoad]
2299          (bridge is null) when clicking QuickTime object with href
2300
2301        * manual-tests/plugin-controller-datasource.html: Added.
2302        * manual-tests/resources/orange.mov: Added.
2303
23042006-04-30  Rob Buis  <buis@kde.org>
2305
2306        Reviewed by eseidel.  Landed by eseidel.
2307
2308        Fix for http://bugs.webkit.org/show_bug.cgi?id=8651:
2309        CGContextSetLineDash: invalid dash array: emmited during WebKit tests
2310
2311        Properly discard invalid stroke-dasharray properties like in
2312        invalid-css.svg.  (Tests updated.)
2313
2314        * ksvg2/css/SVGCSSParser.cpp:
2315        (WebCore::CSSParser::parseSVGStrokeDasharray):
2316
23172006-04-28  David Hyatt  <hyatt@apple.com>
2318
2319        Make image buffer sizes in the loader more accurate, since we know we store
2320        buffers with 4 bytes per pixel.  Double sizes to account for this.  Also
2321        deal better with animated GIFs that may have thousands of frames by adding
2322        in a heuristic that will use the data size instead of a single frame RGBA32
2323        buffer size if it's larger.
2324
2325        Reviewed by darin
2326
2327        * loader/Cache.cpp:
2328        * loader/CachedImage.cpp:
2329        (WebCore::CachedImage::data):
2330
23312006-04-28  Steve Falkenburg  <sfalken@apple.com>
2332
2333        Reviewed by eric.
2334
2335        No test necessary - fixing Win32 build, turned off C++ exceptions, turned off RTTI
2336
2337        * WebCore.vcproj/WebCore/WebCore.vcproj:
2338        * bridge/win/FrameWin.cpp:
2339        (WebCore::FrameWin::~FrameWin):
2340        * bridge/win/PageWin.cpp:
2341        (WebCore::Page::Page):
2342        * page/Page.h:
2343        * platform/win/TemporaryLinkStubs.cpp:
2344        (FrameWin::saveDocumentState):
2345        (Path::contains):
2346        (Path::boundingRect):
2347
23482006-04-28  David Hyatt  <hyatt@apple.com>
2349
2350        Merge WebCoreTextRenderer into WebTextRenderer.  Merge WebCoreTextRendererFactory
2351        into WebTextRendererFactory.  Change all callers to refer to the concrete classes
2352        now.  Change WebCoreTextRenderer.h to be the public API that WebKit uses when
2353        it calls in to WebCore.  Clean up the exports to remove things WebKit no longer
2354        needs.
2355
2356        Reviewed by darin
2357
2358        * WebCore.exp:
2359        * WebCore.xcodeproj/project.pbxproj:
2360        * bridge/mac/WebCoreStringTruncator.mm:
2361        (stringWidth):
2362        (truncateString):
2363        (+[WebCoreStringTruncator widthOfString:font:]):
2364        * kwq/KWQComboBox.mm:
2365        (QComboBox::sizeHint):
2366        * kwq/KWQLineEdit.mm:
2367        (QLineEdit::sizeForCharacterWidth):
2368        * kwq/KWQListBox.mm:
2369        (itemTextRenderer):
2370        (groupLabelTextRenderer):
2371        (QListBox::sizeForNumberOfLines):
2372        (-[KWQTableView drawRow:clipRect:]):
2373        * platform/Font.h:
2374        * platform/FontDataSet.h:
2375        * platform/mac/FontMac.mm:
2376        (WebCore::FontDataSet::getWebCoreFont):
2377        (WebCore::FontDataSet::getRenderer):
2378        (WebCore::FontDataSet::determinePitch):
2379        * platform/mac/WebCoreTextRenderer.h:
2380        * platform/mac/WebCoreTextRendererFactory.mm:
2381        (-[WebCoreTextRendererFactory init]):
2382        * platform/mac/WebTextRenderer.h:
2383        * platform/mac/WebTextRenderer.mm:
2384        * platform/mac/WebTextRendererFactory.h:
2385        * platform/mac/WebTextRendererFactory.mm:
2386        (WebCoreInitializeFont):
2387        (WebCoreInitializeTextRun):
2388        (WebCoreInitializeEmptyTextStyle):
2389        (WebCoreInitializeEmptyTextGeometry):
2390        (-[WebTextRendererFactory clearCaches]):
2391        (+[WebTextRendererFactory createSharedFactory]):
2392        (+[WebTextRendererFactory sharedFactory]):
2393        (-[WebTextRendererFactory init]):
2394
23952006-04-28  David Hyatt  <hyatt@apple.com>
2396
2397        Fix for 8586, move WebTextRenderer into WebCore.
2398
2399        Reviewed by darin
2400
2401        * WebCore.exp:
2402        * WebCore.xcodeproj/project.pbxproj:
2403        * bridge/mac/WebCoreStringTruncator.mm:
2404        * platform/mac/WebCoreSystemInterface.h:
2405        * platform/mac/WebCoreSystemInterface.mm:
2406        * platform/mac/WebCoreTextRenderer.h:
2407        * platform/mac/WebCoreTextRendererFactory.mm:
2408        (+[WebCoreTextRendererFactory sharedFactory]):
2409        * platform/mac/WebTextRenderer.h: Added.
2410        * platform/mac/WebTextRenderer.mm: Added.
2411        (widthForGlyph):
2412        (-[WebTextRenderer initWithFont:]):
2413        (destroy):
2414        (-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]):
2415        (-[WebTextRenderer drawLineForMisspelling:withWidth:]):
2416        (findSubstituteFont):
2417        (setUpFont):
2418        (pathFromFont):
2419        (drawGlyphs):
2420        (CG_draw):
2421        (extendGlyphMap):
2422        (extendWidthMap):
2423        (initializeATSUStyle):
2424        (createATSULayoutParameters):
2425        (getTextBounds):
2426        (addDirectionalOverride):
2427        (ATSU_draw):
2428        (normalizeVoicingMarks):
2429        (advanceWidthIterator):
2430        (fillStyleWithAttributes):
2431        * platform/mac/WebTextRendererFactory.h: Added.
2432        * platform/mac/WebTextRendererFactory.mm: Added.
2433        (getAppDefaultValue):
2434        (getUserDefaultValue):
2435        (getLCDScaleParameters):
2436        (fontsChanged):
2437        (+[WebTextRendererFactory createSharedFactory]):
2438        (-[WebTextRendererFactory isFontFixedPitch:]):
2439        (-[WebTextRendererFactory fontWithFamily:traits:size:]):
2440        (FontCacheKeyCopy):
2441        (-[WebTextRendererFactory cachedFontFromFamily:traits:size:]):
2442
24432006-04-28  Eric Seidel  <eseidel@apple.com>
2444
2445        Fix by beth.  Reviewed by darin.  Landed by eseidel.
2446
2447        Make hackish fix to avoid crash in Xcode and Filemaker.
2448        <rdar://problem/4059059> Crash in RenderFlow::detach (XCode Documentation Window)
2449
2450        * bridge/mac/WebCoreFrameBridge.mm:
2451        (-[WebCoreFrameBridge didNotOpenURL:pageCache:]):
2452
24532006-04-28  Alexey Proskuryakov  <ap@nypop.com>
2454
2455        Reviewed by hyatt.
2456
2457        - http://bugs.webkit.org/show_bug.cgi?id=5855
2458          REGRESSION: revert SGML comment parsing fix (comment parsing causes most of usbank.com page to be missing)
2459
2460        * html/HTMLTokenizer.cpp:
2461        (WebCore::HTMLTokenizer::parseComment): Revert one change made for acid2,
2462        <http://weblogs.mozillazine.org/hyatt/acid6.txt>.
2463
24642006-04-28  Darin Adler  <darin@apple.com>
2465
2466        Reviewed by Eric.
2467
2468        - http://bugs.webkit.org/show_bug.cgi?id=8608
2469          make GraphicsContext more suitable for cross-platform use, step 2
2470
2471        - Changed GraphicsContext to use NSGraphicsContext as little as possible.
2472        - Removed the printing flag from GraphicsContext.
2473        - Changed GraphicsContext to assume the NSGraphicsContext is always flipped,
2474          and got rid of parameters to pass the flipped boolean around.
2475
2476        * WebCore.vcproj/WebCore/WebCore.vcproj: Add GraphicsTypes.h/cpp and remove
2477        CompositeOperator.h/cpp.
2478        * WebCore.xcodeproj/project.pbxproj: Ditto.
2479
2480        * bridge/mac/FrameMac.mm: (WebCore::FrameMac::setDisplaysWithFocusAttributes):
2481        * bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge drawRect:]):
2482        * html/CanvasPattern.cpp: (WebCore::patternCallback):
2483        * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::createDrawingContext):
2484        * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
2485        (WebCore::KRenderingDeviceContextQuartz::createGraphicsContext):
2486        * platform/mac/WidgetMac.mm: (WebCore::Widget::lockDrawingFocus):
2487        Update for changes to GraphicsContext constructor (no flipped or printing boolean).
2488
2489        * html/CanvasRenderingContext2D.h: Added a Path to the context state. Changed the
2490        LineCap and LineJoin types to use the new ones in GraphicsTypes.h instead of defining
2491        types here in this class. Changed m_platformContextStrokeStyleIsPattern and
2492        m_platformContextFillStyleIsPattern to be named m_appliedStrokePattern and
2493        m_appliedFillPattern and moved them outside the __APPLE__ ifdefs. Removed the
2494        platformContext() function. Moved applyStrokePattern and applyFillPattern out of
2495        the __APPLE__ ifdef.
2496
2497        * html/CanvasRenderingContext2D.cpp:
2498        (WebCore::CanvasRenderingContext2D::State::State): Moved the stroke pattern
2499        booleans out of Mac-specific ifdef.
2500        (WebCore::CanvasRenderingContext2D::save): Changed to use GraphicsContext instead
2501        of using CGContext directly.
2502        (WebCore::CanvasRenderingContext2D::restore): Ditto.
2503        (WebCore::CanvasRenderingContext2D::setStrokeStyle): Ditto.
2504        (WebCore::CanvasRenderingContext2D::setFillStyle): Ditto.
2505        (WebCore::CanvasRenderingContext2D::setLineWidth): Ditto.
2506        (WebCore::CanvasRenderingContext2D::lineCap): Ditto.
2507        (WebCore::CanvasRenderingContext2D::setLineCap): Ditto.
2508        (WebCore::CanvasRenderingContext2D::lineJoin): Ditto.
2509        (WebCore::CanvasRenderingContext2D::setLineJoin): Ditto.
2510        (WebCore::CanvasRenderingContext2D::setMiterLimit): Ditto.
2511        (WebCore::CanvasRenderingContext2D::shadowColor): Ditto.
2512        (WebCore::CanvasRenderingContext2D::setGlobalAlpha): Ditto.
2513        (WebCore::CanvasRenderingContext2D::setGlobalCompositeOperation): Ditto.
2514        (WebCore::CanvasRenderingContext2D::scale): Update since platformContext() function
2515        no longer exists.
2516        (WebCore::CanvasRenderingContext2D::rotate): Ditto.
2517        (WebCore::CanvasRenderingContext2D::translate): Ditto.
2518        (WebCore::CanvasRenderingContext2D::beginPath): Changed to use GraphicsContext instead
2519        of using CGContext directly.
2520        (WebCore::CanvasRenderingContext2D::closePath): Ditto.
2521        (WebCore::CanvasRenderingContext2D::moveTo): Ditto.
2522        (WebCore::CanvasRenderingContext2D::lineTo): Ditto.
2523        (WebCore::CanvasRenderingContext2D::quadraticCurveTo): Ditto.
2524        (WebCore::CanvasRenderingContext2D::bezierCurveTo): Ditto.
2525        (WebCore::CanvasRenderingContext2D::arcTo): Ditto.
2526        (WebCore::CanvasRenderingContext2D::arc): Ditto.
2527        (WebCore::CanvasRenderingContext2D::rect): Ditto.
2528        (WebCore::CanvasRenderingContext2D::fill): Changed to use the current path from this class
2529        instead of relying on the CGContext's current path.
2530        (WebCore::CanvasRenderingContext2D::stroke): Ditto.
2531        (WebCore::CanvasRenderingContext2D::clip): Changed to use the current path and use the
2532        GraphicsContext instead of using CGContext directly.
2533        (WebCore::CanvasRenderingContext2D::clearRect): Changed to use GraphicsContext instead
2534        of using CGContext directly.
2535        (WebCore::CanvasRenderingContext2D::fillRect): Update since platformContext() function
2536        no longer exists.
2537        (WebCore::CanvasRenderingContext2D::strokeRect): Ditto.
2538        (WebCore::CanvasRenderingContext2D::setShadow): Ditto.
2539        (WebCore::CanvasRenderingContext2D::applyShadow): Ditto.
2540        (WebCore::CanvasRenderingContext2D::drawImage): Ditto.
2541        (WebCore::CanvasRenderingContext2D::drawImageFromRect): Ditto.
2542        (WebCore::CanvasRenderingContext2D::createPattern): Ditto.
2543        (WebCore::CanvasRenderingContext2D::applyStrokePattern): Made a tiny bit of this function
2544        cross-platform. The bulk is still Mac-specific.
2545        (WebCore::CanvasRenderingContext2D::applyFillPattern): Ditto.
2546
2547        * html/CanvasStyle.h: Changed to use GraphicsContext instead of CGContext. Now the
2548        platform-specific stuff is in the implementation, not the header.
2549        * html/CanvasStyle.cpp:
2550        (WebCore::CanvasStyle::applyStrokeColor): Moved the ifdefs inside the function, getting
2551        us one step closer to platform independence.
2552        (WebCore::CanvasStyle::applyFillColor): Ditto.
2553
2554        * html/html_imageimpl.cpp:
2555        (WebCore::HTMLAreaElement::getRect): Update for changes to the Path class.
2556        (WebCore::HTMLAreaElement::getRegion): Ditto.
2557
2558        * page/Frame.cpp:
2559        (WebCore::Frame::paint): Change to check printing flag on the document, rather than on
2560        the GraphicsContext, since there is no printing flag for GraphicsContext any more.
2561        (WebCore::Frame::adjustPageHeight): Update for change to GraphicsContext constructor.
2562
2563        * platform/GraphicsContext.h: Define a type called PlatformGraphicsContext so the
2564        platform-specific getter and constructor don't have to be ifdef'd. Added clearRect,
2565        strokeRect, setLineWidth, setLineCap, setLineJoin, setMiterLimit, setAlpha, setCompositeOperation,
2566        and clip functions. Removed the isForPrinting parameter from createGraphicsContextPrivate.
2567        * platform/GraphicsContext.cpp:
2568        (WebCore::GraphicsContextPrivate::GraphicsContextPrivate): Removed isForPrinting.
2569        (WebCore::GraphicsContext::createGraphicsContextPrivate): Ditto.
2570        * platform/mac/GraphicsContextMac.mm:
2571        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
2572        Removed NSGraphicsContext.
2573        (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
2574        Ditto.
2575        (WebCore::GraphicsContext::GraphicsContext): Removed constructor that
2576        takes an NSGraphicsContext. Removed the flipText and forPrinting parameters
2577        to the other constructor.
2578        (WebCore::GraphicsContext::savePlatformState): Removed NSGraphicsContext code.
2579        (WebCore::GraphicsContext::restorePlatformState): Ditto.
2580        (WebCore::GraphicsContext::drawRect): Updated assertion to more-precisely
2581        reflect the limitation of the current version of this function.
2582        (WebCore::GraphicsContext::setColorFromFillColor): Ditto.
2583        (WebCore::GraphicsContext::setColorFromPen): Ditto.
2584        (WebCore::GraphicsContext::drawLine): Updated assertion to more-precisely
2585        reflect the limitation of the current version of this function.
2586        (WebCore::setCompositeOperation):
2587        (WebCore::GraphicsContext::fillRect): Ditto.
2588        (WebCore::GraphicsContext::setLineWidth): Added.
2589        (WebCore::GraphicsContext::setMiterLimit): Added.
2590        (WebCore::GraphicsContext::setAlpha): Added.
2591        (WebCore::GraphicsContext::setCompositeOperation): Added.
2592        (WebCore::GraphicsContext::clearRect): Added.
2593        (WebCore::GraphicsContext::strokeRect): Added.
2594        (WebCore::GraphicsContext::setLineCap): Added.
2595        (WebCore::GraphicsContext::setLineJoin): Added.
2596        (WebCore::GraphicsContext::clip): Added.
2597
2598        * platform/CompositeOperator.cpp: Removed.
2599        * platform/CompositeOperator.h: Removed.
2600        * platform/GraphicsTypes.cpp: Added. Includes CompositeOperator, LineCap, and LineJoin.
2601        * platform/GraphicsTypes.h: Added.
2602
2603        * platform/Image.h: Changed include to GraphicsTypes.h from CompositeOperator.h.
2604
2605        * platform/Path.h: Removed constructors that take a Rect and an array of points. Made
2606        the Path mutable. Changed the types for contains and boundingRect to be float-based
2607        instead of int-based. Changed translate to take a FloatSize instead of two integers.
2608        Added clear, moveTo, addLineTo, addQuadCurveTo, addBezierCurveTo, addArcTo, closeSubpath,
2609        addArc, addRect, addEllipse, and platformPath functions. Defined a PlatformPath type
2610        so we don't have to ifdef the header so much.
2611        * platform/cg/PathCG.cpp:
2612        (WebCore::Path::Path): Changed class to always have a mutable path.
2613        (WebCore::Path::operator=): Changed to make a mutable copy.
2614        (WebCore::Path::contains): Changed to take a FloatPoint instead of IntPoint.
2615        (WebCore::Path::translate): Changed to use a FloatSize instead of two ints.
2616        (WebCore::Path::boundingRect): Changed to return a FloatRect.
2617        (WebCore::Path::moveTo): Added.
2618        (WebCore::Path::addLineTo): Added.
2619        (WebCore::Path::addQuadCurveTo): Added.
2620        (WebCore::Path::addBezierCurveTo): Added.
2621        (WebCore::Path::addArcTo): Added.
2622        (WebCore::Path::closeSubpath): Added.
2623        (WebCore::Path::addArc): Added.
2624        (WebCore::Path::addRect): Added.
2625        (WebCore::Path::addEllipse): Added.
2626        (WebCore::Path::clear): Added.
2627
2628        * platform/mac/ImageMac.mm:
2629        (WebCore::fillSolidColorInRect): Changed to take a GraphicsContext instead of
2630        a CGContext.
2631        (WebCore::Image::checkForSolidColor): Changed to use the new setCompositeOperation
2632        in GraphicsContex.
2633        (WebCore::Image::draw): Changed to use the new PDF image and fillSolidColorInRect
2634        function that take GraphicsContext instead of CGContext.
2635        (WebCore::Image::drawTiled): Ditto.
2636
2637        * platform/mac/PDFDocumentImage.h: Made most functions private. Changed to
2638        use GraphicsContext and FloatRect instead of CGContext and NSRect. Also
2639        removed the unused alpha and flipped booleans.
2640        * platform/mac/PDFDocumentImage.mm:
2641        (WebCore::PDFDocumentImage::bounds): Update for change in types.
2642        (WebCore::PDFDocumentImage::adjustCTM): Ditto.
2643        (WebCore::PDFDocumentImage::setCurrentPage): Ditto.
2644        (WebCore::PDFDocumentImage::draw): Ditto.
2645
2646        * platform/win/TemporaryLinkStubs.cpp: Added lots of new stubs.
2647
2648        * rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::paint): Changed to get
2649        printing boolean from document instead graphics context.
2650        * rendering/RenderBlock.cpp:
2651        (WebCore::RenderBlock::paintChildren): Ditto.
2652        (WebCore::RenderBlock::paintObject): Ditto.
2653        * rendering/RenderFlow.cpp: (WebCore::RenderFlow::paintLines): Ditto.
2654        * rendering/RenderHTMLCanvas.cpp: (WebCore::RenderHTMLCanvas::paint): Ditto.
2655        * rendering/RenderImage.cpp: (WebCore::RenderImage::paint): Ditto.
2656        * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::paintButton): Ditto.
2657        * rendering/render_list.cpp: (WebCore::RenderListMarker::paint): Ditto.
2658        * rendering/render_replaced.cpp: (WebCore::RenderWidget::paint): Ditto.
2659
26602006-04-28  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2661
2662        Reviewed by hyatt, landed by ap.
2663
2664        - fix http://bugs.webkit.org/show_bug.cgi?id=6769
2665          REGRESSION: Incomplete repaint when a cell's extra bottom margin grows
2666
2667        Test: fast/repaint/table-extra-bottom-grow.html
2668
2669        * rendering/RenderBlock.cpp:
2670        (WebCore::RenderBlock::overflowRect): Changed to not add the top/left overflow twice and
2671        allow the normal overflow height to overlap with the bottom extra height.
2672        * rendering/RenderTableRow.cpp:
2673        (WebCore::RenderTableRow::layout): Removed the code that resets the extra heights.
2674        * rendering/RenderTableSection.cpp:
2675        (WebCore::RenderTableSection::layoutRows): If the top extra height changed or the
2676        bottom extra height increased, just repaint the entire cell.
2677
26782006-04-28  Eric Seidel  <eseidel@apple.com>
2679
2680        Reviewed by andersca.
2681
2682        Remove KCanvasContainerQuartz, pushing all logic into KCanvasContainer.
2683
2684        No tests affected.
2685
2686        * kcanvas/KCanvasContainer.cpp:
2687        (WebCore::KCanvasContainer::canHaveChildren):
2688        (WebCore::KCanvasContainer::requiresLayer):
2689        (WebCore::KCanvasContainer::lineHeight):
2690        (WebCore::KCanvasContainer::baselinePosition):
2691        (WebCore::KCanvasContainer::calcMinMaxWidth):
2692        (WebCore::KCanvasContainer::layout):
2693        (WebCore::KCanvasContainer::paint):
2694        (WebCore::KCanvasContainer::setViewport):
2695        (WebCore::KCanvasContainer::viewport):
2696        (WebCore::KCanvasContainer::setViewBox):
2697        (WebCore::KCanvasContainer::viewBox):
2698        (WebCore::KCanvasContainer::setAlign):
2699        (WebCore::KCanvasContainer::align):
2700        (WebCore::KCanvasContainer::viewportTransform):
2701        (WebCore::KCanvasContainer::getAbsoluteRepaintRect):
2702        (WebCore::KCanvasContainer::absoluteTransform):
2703        (WebCore::KCanvasContainer::getAspectRatio):
2704        * kcanvas/KCanvasContainer.h:
2705        (WebCore::KCanvasContainer::renderName):
2706        * kcanvas/device/KRenderingDevice.h:
2707        * kcanvas/device/quartz/KCanvasResourcesQuartz.h:
2708        * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
2709        * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
2710        * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
2711        (WebCore::KRenderingDeviceQuartz::createPaintServer):
2712        * ksvg2/svg/SVGAElement.cpp:
2713        (WebCore::SVGAElement::createRenderer):
2714        * ksvg2/svg/SVGGElement.cpp:
2715        (SVGGElement::createRenderer):
2716        * ksvg2/svg/SVGMarkerElement.cpp:
2717        (WebCore::SVGMarkerElement::createRenderer):
2718        * ksvg2/svg/SVGMaskElement.cpp:
2719        (WebCore::SVGMaskElement::createRenderer):
2720        * ksvg2/svg/SVGPatternElement.cpp:
2721        (WebCore::SVGPatternElement::createRenderer):
2722        * ksvg2/svg/SVGSVGElement.cpp:
2723        (WebCore::SVGSVGElement::createRenderer):
2724        * ksvg2/svg/SVGSwitchElement.cpp:
2725        (WebCore::SVGSwitchElement::createRenderer):
2726        * ksvg2/svg/SVGUseElement.cpp:
2727        (SVGUseElement::createRenderer):
2728
27292006-04-27  Eric Seidel  <eseidel@apple.com>
2730
2731        Reviewed by andersca.
2732
2733        Make WebCore accept any */*+xml type as XML.
2734        http://bugs.webkit.org/show_bug.cgi?id=5998
2735        <rdar://problem/4031511> XmlHttpRequest doesn't allow responses with Content-Type: application/soap+xml
2736
2737        Test: http/tests/xmlhttprequest/supported-xml-content-types.html
2738
2739        * dom/DOMImplementation.cpp:
2740        (WebCore::DOMImplementation::isXMLMIMEType):
2741
27422006-04-27  Eric Seidel  <eseidel@apple.com>
2743
2744        * WebCore.vcproj/WebCore/WebCore.vcproj: Fix break from last checkin.
2745
27462006-04-27  Geoffrey Garen  <ggaren@apple.com>
2747
2748        Reviewed by Maciej.
2749
2750        - Added global constructor autogeneration for the following,
2751        many of which are required by *.live.com: Node, Element, Range,
2752        CSSRule, CSSValue, CSSPrimitiveValue, CSSStyleDeclaration, Event,
2753        MutationEvent, NodeFilter
2754
2755        It works like so:
2756
2757        - The autogenerator knows about the "Constructor" data type, which
2758        gets special treatment because it exists purely in the
2759        bindings. It also knows about the "GenerateConstructor" interface
2760        attribute, which does just that.
2761
2762        - The window interface has many Constructor attributes
2763
2764        - The hash table generator swizzles empty tables to tables with one
2765        empty bucket, to prevent crashes in Lookup::findEntry. (The old
2766        generator used to work this way, too.)
2767
2768        - Window object property lookup gets special treatment to allow
2769        shadowing of its built-in global constructor properties. We'll
2770        need to expand this mechanism in the future and make it more
2771        flexible, but it works for now.
2772
2773        * DerivedSources.make:
2774        * WebCore.vcproj/WebCore/WebCore.vcproj:
2775        * WebCore.xcodeproj/project.pbxproj:
2776        * bindings/js/kjs_css.cpp:
2777        (KJS::toJS):
2778        * bindings/js/kjs_css.h:
2779        * bindings/js/kjs_window.cpp: Removed 'namedFrameGetter' and its use
2780        because they were bogus; added FIXME describing what they were
2781        attempting to do.
2782        (KJS::Window::getValueProperty):
2783        (KJS::Window::getOverridePropertySlot):
2784        (KJS::Window::getOwnPropertySlot):
2785        * bindings/js/kjs_window.h:
2786        (KJS::Window::):
2787        * bindings/scripts/CodeGeneratorJS.pm:
2788        * css/CSSPrimitiveValue.idl:
2789        * css/CSSRule.idl:
2790        * css/CSSStyleDeclaration.idl: Added.
2791        * css/CSSValue.idl:
2792        * dom/Document.idl:
2793        * dom/Element.idl:
2794        * dom/Event.idl:
2795        * dom/MutationEvent.idl:
2796        * dom/Node.idl:
2797        * dom/NodeFilter.idl:
2798        * dom/Range.idl:
2799        * page/DOMWindow.idl:
2800
28012006-04-27  Mitz Pettel  <opendarwin.org@mitzpettel.com>
2802
2803        Reviewed by darin
2804
2805        <http://bugs.webkit.org/show_bug.cgi?id=8607>
2806        Automate repaint tests
2807
2808        * manual-tests/backgroundSizeRepaint.html: Removed.
2809        * manual-tests/border-repaint-glitch.html: Removed.
2810        * manual-tests/bugzilla-3509.html: Removed.
2811        * manual-tests/bugzilla-5699.html: Removed.
2812        * manual-tests/bugzilla-6278.html: Removed.
2813        * manual-tests/bugzilla-6388.html: Removed.
2814        * manual-tests/bugzilla-6473.html: Removed.
2815        * manual-tests/bugzilla-7235.html: Removed.
2816        * manual-tests/inline-outline-repaint.html: Removed.
2817        * manual-tests/outline-repaint-glitch.html: Removed.
2818        * manual-tests/repaint-resized-overflow.html: Removed.
2819        * manual-tests/table-cell-move.html: Removed.
2820
28212006-04-27  Justin Garcia  <justin.garcia@apple.com>
2822
2823        Reviewed by darin
2824
2825        <http://bugs.webkit.org/show_bug.cgi?id=8624>
2826        Placeholders aren't always removed during paste
2827        <rdar://problem/4059807>
2828        Seed: Mail: pasting quoted content sometimes adds a phantom newline
2829
2830        * editing/CompositeEditCommand.cpp: Added a FIXME.
2831        * editing/ReplaceSelectionCommand.cpp:
2832        (WebCore::ReplaceSelectionCommand::doApply):
2833        Removed two no-op setEndingSelection calls.
2834        Store away a br at the position where we'll start inserting content in case the
2835        br a) is made unnecessary by the insertion (it's collapsed away) b) was acting
2836        as a placeholder and should therefore be displaced by inserted content or c) was
2837        acting as a line break and, as a result of the insertion, is now acting as a
2838        placeholder.
2839        Don't only store away brs that have the webkit-block-placeholder class on them.
2840        Any br that does any of the three things just mentioned should be removed.
2841        The linePlaceholder removal was run after the code that makes sure to interpret
2842        incoming brs strictly, and was negating that work in certain cases.
2843
2844        (WebCore::ReplaceSelectionCommand::removeEndBRIfNeeded): Described above.
2845        * editing/ReplaceSelectionCommand.h:
2846        * editing/VisiblePosition.cpp:
2847        (WebCore::isEqualIgnoringAffinity):
2848        Added a workaround for 8622.  We want this function to return true even if one of
2849        the two visible positions has been incorrectly canonicalized.
2850
28512006-04-26  Tim Omernick  <timo@apple.com>
2852
2853        Reviewed by Hyatt.
2854
2855        <rdar://problem/4068375> Flash inserted via innerHTML Fails to Show when CSS Display
2856        Style is Toggled via Javascript
2857
2858        * html/html_objectimpl.cpp:
2859        (WebCore::HTMLObjectElement::setComplete):
2860        Set needWidgetUpdate when finished parsing, even if the object element is not in
2861        a document.  That way, when the element attaches to a document, it will update its
2862        widget (creating the plug-in view if necessary).  This is important when the object
2863        is being inserted via setInnerHTML, since the parsed nodes are not added to the
2864        document until the whole HTML string is parsed.
2865
28662006-04-26  Geoffrey Garen  <ggaren@apple.com>
2867
2868        Reviewed by Hyatt.
2869
2870        - Fixed http://bugs.webkit.org/post_bug.cgi
2871        REGRESSION (r14048): Google calendar not parsing
2872
2873        * html/HTMLParser.cpp:
2874        (WebCore::HTMLParser::handleError): Rolling out grandparent NULL check
2875        because it caused this regression and there's no test case
2876        justifying it.
2877
28782006-04-26  Justin Garcia  <justin.garcia@apple.com>
2879
2880        Reviewed by hyatt
2881
2882        <http://bugs.webkit.org/show_bug.cgi?id=8459>
2883        REGRESSION: Content lost during a delete/merge of whitespace:pre text
2884
2885        * editing/CompositeEditCommand.cpp:
2886        (WebCore::CompositeEditCommand::prune):
2887        The function would prune a rendered leaf because it assumed that the
2888        first node passed to it would be a container.
2889        The old code ascended using the DOM tree, and would remove the <b> when
2890        pruning the <div> in <b><div></div>foo</b>.  Now ascends using the render tree.
2891
28922006-04-26  Geoffrey Garen  <ggaren@apple.com>
2893
2894        This time for sure. Fixed Windows build too.
2895
2896        * WebCore.vcproj/WebCore/WebCore.vcproj:
2897        * WebCore.xcodeproj/project.pbxproj:
2898
28992006-04-26  Geoffrey Garen  <ggaren@apple.com>
2900
2901        Reviewed by TimO.
2902
2903        Build fix.
2904
2905        * bindings/js/kjs_dom.cpp:
2906        * bindings/js/kjs_domnode.h:
2907
29082006-04-26  Geoffrey Garen  <ggaren@apple.com>
2909
2910        Reviewed by OMG DETHBAKIN.
2911
2912        - Start autogenerating Node. This fixes many missing attributes in our
2913        DOM by making prototypes hold their relevant constants as properties.
2914
2915        * DerivedSources.make:
2916        * WebCore.xcodeproj/project.pbxproj:
2917        * bindings/js/kjs_dom.cpp:
2918        (KJS::DOMEventTargetNode::DOMEventTargetNode):
2919        (KJS::toJS):
2920        * bindings/js/kjs_dom.h:
2921        (KJS::DOMEventTargetNode::):
2922        * bindings/js/kjs_domnode.h: Had to break DOMNode into a separate
2923        header to avoid circular dependency in header includes. Gave it an
2924        old-school file name to keep distinguishing beteween old school and
2925        news school files easy.
2926        (KJS::DOMNode::impl):
2927        (KJS::DOMNode::classInfo):
2928        (KJS::DOMNode::):
2929        * bindings/js/kjs_window.cpp:
2930        (KJS::Window::getValueProperty):
2931        * bindings/scripts/CodeGeneratorJS.pm:
2932        * dom/DocumentType.idl:
2933        * dom/Entity.idl:
2934        * dom/Node.idl: Added.
2935        * dom/Notation.idl:
2936        * dom/ProcessingInstruction.idl:
2937
29382006-04-26  Geoffrey Garen  <ggaren@apple.com>
2939
2940        Reviewed by Darin.
2941
2942        Committing the project file change jhaygood suggesed in
2943        http://bugs.webkit.org/show_bug.cgi?id=8044
2944        WebKit Visual Studio 2005 project shouldn't use the SolutionDir
2945
2946        Instead of his patch, I used the following commands:
2947
2948        sed -e 's/$(SolutionDir)/$(ProjectDir)\\../g' Image\ Viewer/Image\
2949        Viewer.vcproj > Image\ Viewer/Image\ Viewer.vcproj_ && mv Image\
2950        Viewer/Image\ Viewer.vcproj_ Image\ Viewer/Image\ Viewer.vcproj
2951
2952        sed -e 's/$(SolutionDir)/$(ProjectDir)\\../g'
2953        WebCore/WebCore.vcproj > WebCore/WebCore.vcproj_ && mv
2954        WebCore/WebCore.vcproj_ WebCore/WebCore.vcproj
2955
2956        * Viewer.vcproj:
2957        * WebCore.vcproj/WebCore/WebCore.vcproj:
2958
29592006-04-25  Justin Garcia  <justin.garcia@apple.com>
2960
2961        Reviewed by harrison
2962
2963        <http://bugs.webkit.org/show_bug.cgi?id=8583>
2964        Moving paste code around and some small fixes
2965
2966        Moved code to make it easier to do the start merge after the fact,
2967        with moveParagraph, instead of in the middle of the paste operation.
2968
2969        * editing/CompositeEditCommand.cpp:
2970        (WebCore::CompositeEditCommand::moveParagraph):
2971        * editing/ReplaceSelectionCommand.cpp:
2972        (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand):
2973        (WebCore::ReplaceSelectionCommand::shouldMergeStart):
2974        Moved code to make this decision to its own function.  Moved special case
2975        checks to the top.  Added m_forceMergeStart to override the special cases
2976        because moveParagraph uses ReplaceSelectionCommand and expects a merge.
2977
2978        (WebCore::ReplaceSelectionCommand::shouldMergeEnd):
2979        No functional changes, just moved code here.
2980        (WebCore::ReplaceSelectionCommand::doApply):
2981        Do the end merge in the opposite direction.  Merging two paragraphs destroys
2982        the moved one's block level styles, and we prefer to use the styles of the
2983        one that was in the document, not the one that's being pasted.
2984
2985        * editing/ReplaceSelectionCommand.h:
2986        * editing/Selection.h:
2987        (WebCore::Selection::visibleStart): Added.
2988        (WebCore::Selection::visibleEnd): Added.
2989        * editing/htmlediting.cpp:
2990        (WebCore::enclosingList): Added.
2991        (WebCore::isMailBlockquote):
2992        Don't require a renderer so that this can be used on nodes in fragments.
2993
2994        * editing/htmlediting.h:
2995
29962006-04-25  Geoffrey Garen  <ggaren@apple.com>
2997
2998        Reviewed by Maciej.
2999
3000        - Removed special handling of attributes in the DOM. To match
3001        WinIE, we used to make all attributes available as properties of
3002        their elements in the DOM, but that has caused us more
3003        compatibility woes than it has solved, so, after talking with Darin
3004        and Maciej, I'm taking it out. (Firefox does not support it.)
3005
3006        A layout test regression caused by this change led me to do the
3007        following as well:
3008
3009        - Implemented DOM properties missing on EMBED elements: align, height,
3010        name, width, src, type. Since align, height, name, and width are
3011        common to all plugin elements, I factored them and some other common
3012        functionality out into a new abstract base class, HTMLPlugInElement.
3013
3014        - Removed extraneous attribute-to-style mappings on EMBED elements:
3015        valign, border. Why they were there in the first place is a question
3016        for the ages. Neither FF nor IE supports them.
3017
3018        * bindings/js/kjs_dom.cpp:
3019        (KJS::getRuntimeObject):
3020        * bindings/js/kjs_html.cpp:
3021        (KJS::):
3022        (KJS::JSHTMLElement::classInfo):
3023        (KJS::JSHTMLElement::accessors):
3024        (KJS::JSHTMLElement::embedGetter):
3025        (KJS::JSHTMLElement::embedSetter):
3026        * bindings/js/kjs_html.h:
3027        (KJS::JSHTMLElement::):
3028        * bindings/scripts/CodeGeneratorJS.pm:
3029        * dom/Element.idl:
3030        * html/html_objectimpl.cpp:
3031        (WebCore::HTMLPlugInElement::HTMLPlugInElement):
3032        (WebCore::HTMLPlugInElement::align):
3033        (WebCore::HTMLPlugInElement::setAlign):
3034        (WebCore::HTMLPlugInElement::height):
3035        (WebCore::HTMLPlugInElement::setHeight):
3036        (WebCore::HTMLPlugInElement::name):
3037        (WebCore::HTMLPlugInElement::setName):
3038        (WebCore::HTMLPlugInElement::width):
3039        (WebCore::HTMLPlugInElement::setWidth):
3040        (WebCore::HTMLPlugInElement::mapToEntry):
3041        (WebCore::HTMLPlugInElement::parseMappedAttribute):
3042        (WebCore::HTMLPlugInElement::checkDTD):
3043        (WebCore::HTMLAppletElement::HTMLAppletElement):
3044        (WebCore::HTMLAppletElement::~HTMLAppletElement):
3045        (WebCore::HTMLAppletElement::parseMappedAttribute):
3046        (WebCore::HTMLAppletElement::insertedIntoDocument):
3047        (WebCore::HTMLAppletElement::removedFromDocument):
3048        (WebCore::HTMLAppletElement::getInstance):
3049        (WebCore::HTMLAppletElement::closeRenderer):
3050        (WebCore::HTMLAppletElement::detach):
3051        (WebCore::HTMLEmbedElement::HTMLEmbedElement):
3052        (WebCore::HTMLEmbedElement::~HTMLEmbedElement):
3053        (WebCore::HTMLEmbedElement::getInstance):
3054        (WebCore::HTMLEmbedElement::mapToEntry):
3055        (WebCore::HTMLEmbedElement::parseMappedAttribute):
3056        (WebCore::HTMLEmbedElement::attach):
3057        (WebCore::HTMLEmbedElement::detach):
3058        (WebCore::HTMLEmbedElement::insertedIntoDocument):
3059        (WebCore::HTMLEmbedElement::removedFromDocument):
3060        (WebCore::HTMLEmbedElement::src):
3061        (WebCore::HTMLEmbedElement::setSrc):
3062        (WebCore::HTMLEmbedElement::type):
3063        (WebCore::HTMLEmbedElement::setType):
3064        (WebCore::HTMLObjectElement::HTMLObjectElement):
3065        (WebCore::HTMLObjectElement::~HTMLObjectElement):
3066        (WebCore::HTMLObjectElement::getInstance):
3067        (WebCore::HTMLObjectElement::parseMappedAttribute):
3068        (WebCore::HTMLObjectElement::rendererIsNeeded):
3069        (WebCore::HTMLObjectElement::attach):
3070        (WebCore::HTMLObjectElement::closeRenderer):
3071        (WebCore::HTMLObjectElement::detach):
3072        (WebCore::HTMLObjectElement::insertedIntoDocument):
3073        (WebCore::HTMLObjectElement::removedFromDocument):
3074        (WebCore::HTMLObjectElement::recalcStyle):
3075        * html/html_objectimpl.h:
3076        (WebCore::HTMLPlugInElement::endTagRequirement):
3077        (WebCore::HTMLAppletElement::tagPriority):
3078        (WebCore::HTMLEmbedElement::tagPriority):
3079        (WebCore::HTMLObjectElement::tagPriority):
3080
30812006-04-25  Beth Dakin  <bdakin@apple.com>
3082
3083        Reviewed by Maciej.
3084
3085        Fix for <rdar://problem/4518632> getComputedStyle returns 'auto'
3086        for dimensions like 'margin-left'
3087
3088        * css/CSSComputedStyleDeclaration.cpp:
3089        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): For
3090        margin and padding, to match Firefox we now go to the renderer to
3091        get the property value instead of calling valueForLength() on the
3092        style attribute. valueForLength() will return the string 'auto' if
3093        that was what was specified in the CSS, or a percentage if it was
3094        specified as a percent. But to match Firefox, we always want to
3095        return a pixel value for margin and padding.
3096
30972006-04-26  Mitz Pettel  <opendarwin.org@mitzpettel.com>
3098
3099        Reviewed by darin.  Landed by eseidel.
3100
3101        - fix http://bugs.webkit.org/show_bug.cgi?id=8452
3102          mangleme(0x58c22e11): Random crashes
3103
3104        Test: fast/frames/empty-cols-attribute.html
3105
3106        * platform/StringImpl.cpp:
3107        (WebCore::StringImpl::toLengthArray): If the string is empty, return 0
3108        but set len to 1. This gives the same behavior you get if you don't specify
3109        the attribute at all, matching WinIE and Firefox. Previously, the empty
3110        string resulted in len being set to 0 (and a memory smasher in
3111        RenderFrameSet::layout()).
3112        * rendering/render_frames.cpp:
3113        (WebCore::RenderFrameSet::layout): Added an assert.
3114
31152006-04-26  Oliver Hunt  <ojh16@student.canterbury.ac.nz>
3116
3117        Reviewed by eseidel.  Landed by eseidel.
3118
3119        * WebCore.xcodeproj/project.pbxproj:
3120        * kcanvas/KCanvasFilters.cpp:
3121        (WebCore::operator<<):
3122        * kcanvas/KCanvasFilters.h:
3123        (WebCore::KCComponentTransferFunction::KCComponentTransferFunction):
3124        * kcanvas/device/quartz/KCanvasFilterQuartz.h:
3125        * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
3126        (WebCore::getVectorForChannel):
3127        (WebCore::genImageFromTable):
3128        (WebCore::filterForComponentFunc):
3129        (WebCore::setParametersForComponentFunc):
3130        (WebCore::getFilterForFunc):
3131        (WebCore::KCanvasFEComponentTransferQuartz::getFunctionFilter):
3132        (WebCore::KCanvasFEComponentTransferQuartz::getCIFilter):
3133        * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
3134        (WebCore::KRenderingDeviceQuartz::createFilterEffect):
3135        * kcanvas/device/quartz/filters/WKComponentMergeFilter.cikernel: Added.
3136        * kcanvas/device/quartz/filters/WKComponentMergeFilter.h: Added.
3137        * kcanvas/device/quartz/filters/WKComponentMergeFilter.m: Added.
3138        (+[WKComponentMergeFilter initialize]):
3139        (+[WKComponentMergeFilter filterWithName:]):
3140        (-[WKComponentMergeFilter init]):
3141        (-[WKComponentMergeFilter outputImage]):
3142        * kcanvas/device/quartz/filters/WKDiscreteTransferFilter.cikernel: Added.
3143        * kcanvas/device/quartz/filters/WKDiscreteTransferFilter.h: Added.
3144        * kcanvas/device/quartz/filters/WKDiscreteTransferFilter.m: Added.
3145        (+[WKDiscreteTransferFilter initialize]):
3146        (+[WKDiscreteTransferFilter filterWithName:]):
3147        (-[WKDiscreteTransferFilter init]):
3148        (-[WKDiscreteTransferFilter outputImage]):
3149        * kcanvas/device/quartz/filters/WKGammaTransferFilter.cikernel: Added.
3150        * kcanvas/device/quartz/filters/WKGammaTransferFilter.h: Added.
3151        * kcanvas/device/quartz/filters/WKGammaTransferFilter.m: Added.
3152        (+[WKGammaTransferFilter initialize]):
3153        (+[WKGammaTransferFilter filterWithName:]):
3154        (-[WKGammaTransferFilter init]):
3155        (-[WKGammaTransferFilter outputImage]):
3156        * kcanvas/device/quartz/filters/WKIdentityTransferFilter.h: Added.
3157        * kcanvas/device/quartz/filters/WKIdentityTransferFilter.m: Added.
3158        (+[WKIdentityTransferFilter initialize]):
3159        (+[WKIdentityTransferFilter filterWithName:]):
3160        (-[WKIdentityTransferFilter init]):
3161        (-[WKIdentityTransferFilter outputImage]):
3162        * kcanvas/device/quartz/filters/WKLinearTransferFilter.cikernel: Added.
3163        * kcanvas/device/quartz/filters/WKLinearTransferFilter.h: Added.
3164        * kcanvas/device/quartz/filters/WKLinearTransferFilter.m: Added.
3165        (+[WKLinearTransferFilter initialize]):
3166        (+[WKLinearTransferFilter filterWithName:]):
3167        (-[WKLinearTransferFilter init]):
3168        (-[WKLinearTransferFilter outputImage]):
3169        * kcanvas/device/quartz/filters/WKTableTransferFilter.cikernel: Added.
3170        * kcanvas/device/quartz/filters/WKTableTransferFilter.h: Added.
3171        * kcanvas/device/quartz/filters/WKTableTransferFilter.m: Added.
3172        (+[WKTableTransferFilter initialize]):
3173        (+[WKTableTransferFilter filterWithName:]):
3174        (-[WKTableTransferFilter init]):
3175        (-[WKTableTransferFilter outputImage]):
3176        * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
3177        (SVGComponentTransferFunctionElement::parseMappedAttribute):
3178        (SVGComponentTransferFunctionElement::transferFunction):
3179
31802006-04-25  Eric Seidel  <eseidel@apple.com>
3181
3182        Reviewed by ggaren.
3183
3184        Make trunk match the branch.  Now nodes are fully removed
3185        from the tree before calling detach.  There is (thankfully) no
3186        good way to test this, as no one should depend on this behavior.
3187        This change was made are part of fixing:
3188        <rdar://problem/4427024> repro crash on www.formassembly.com in khtml::RenderBlock::addChildToFlow
3189        <rdar://problem/4233435> CrashTracer: 2698 crashes in Safari at com.apple.WebCore: khtml::RenderBlock::addChildToFlow + 156
3190        on the branch.
3191
3192        * dom/ContainerNode.cpp:
3193        (WebCore::ContainerNode::removeChildren):
3194
31952006-04-25  Maciej Stachowiak  <mjs@apple.com>
3196
3197        Reviewed by Adele.
3198
3199        - don't have a fini method, since trying to call it will actually call the subclass method
3200        and mess up the bridge count.
3201
3202        * bridge/mac/WebCoreFrameBridge.mm:
3203        (-[WebCoreFrameBridge dealloc]):
3204        (-[WebCoreFrameBridge finalize]):
3205
32062006-04-25  Steve Falkenburg  <sfalkenburg@apple.com>
3207
3208        Reviewed by eseidel.
3209
3210        No test case needed
3211
3212        * platform/win/TemporaryLinkStubs.cpp:
3213        (KWQFileButton::setFrameGeometry):
3214
32152006-04-25  Eric Seidel  <eseidel@apple.com>
3216
3217        Reviewed by mjs.
3218
3219        Fix reproducible crash in html parser code.
3220        http://bugs.webkit.org/show_bug.cgi?id=7137
3221
3222        Test: fast/parser/remove-current-node-parent.html
3223
3224        * html/HTMLParser.cpp:
3225        (WebCore::HTMLParser::handleError):
3226
32272006-04-25  Maciej Stachowiak  <mjs@apple.com>
3228
3229        Reviewed by Eric.
3230
3231        - fixed http://bugs.webkit.org/show_bug.cgi?id=8575
3232        New KWQFileButton leaks reported by buildbot
3233
3234        * kwq/KWQFileButton.mm:
3235        (KWQFileButton::KWQFileButton): Add a missing release
3236
32372006-04-24  David Hyatt  <hyatt@apple.com>
3238
3239        Fix for 8336, focus ring redrawing on top of itself.  Make sure
3240        not to include empty rects when doing the focus ring drawing, since
3241        that results in a draw with no clip set.
3242
3243        Reviewed by adele
3244
3245        * platform/mac/GraphicsContextMac.mm:
3246        (WebCore::GraphicsContext::drawFocusRing):
3247
32482006-04-24  Eric Seidel  <eseidel@apple.com>
3249
3250        Reviewed by ggaren.
3251
3252        Fix for 5th worst unresolved crasher:
3253        <rdar://problem/4129744> [REGRESSION]CrashTracer: ..400 crashes at com.apple.WebCore: DOM::NodeImpl::createRendererIfNeeded + 44
3254
3255        Test: fast/dom/remove-style-element.html
3256
3257        * dom/ContainerNode.cpp:
3258        (WebCore::ContainerNode::removeChildren):
3259
32602006-04-24  Eric Seidel  <eseidel@apple.com>
3261
3262        Reviewed by mjs.
3263
3264        Speculative fix for our 7th worst crasher.
3265        Also added ASSERTs to help us better understand the issue.
3266        <rdar://problem/4153404> CrashTracer: 2412 crashes in Safari at com.apple.WebCore: khtml::RenderStyle::RenderStyle[unified] + 44
3267
3268        * dom/Document.cpp:
3269        (WebCore::Document::recalcStyle):
3270        (WebCore::Document::setInPageCache):
3271        * dom/Document.h:
3272        * dom/Element.cpp:
3273        (WebCore::Element::recalcStyle):
3274
32752006-04-24  Adele Peterson  <adele@apple.com>
3276
3277        Reviewed by Hyatt.
3278
3279        Fix for <rdar://problem/4503438> REGRESSION (NativeTextField): Can't insert caret when
3280        selection is active in field (Business/Unit)
3281
3282        * css/html4.css: Added -webkit-user-select:text for input elements.
3283
32842006-04-24  Maciej Stachowiak  <mjs@apple.com>
3285
3286        Build fix:
3287
3288        - move some prematurely moved code back
3289
3290        * bridge/mac/WebCoreFrameBridge.h:
3291        * bridge/mac/WebCoreFrameBridge.mm:
3292        (-[WebCoreFrameBridge fini]):
3293
32942006-04-24  Maciej Stachowiak  <mjs@apple.com>
3295
3296        Reviewed by Darin.
3297
3298        - move more code from WebFrameBridge to WebCoreFrameBridge
3299
3300        * bridge/mac/WebCoreFrameBridge.h:
3301        * bridge/mac/WebCoreFrameBridge.mm:
3302        (-[WebCoreFrameBridge domain]):
3303        (-[WebCoreFrameBridge canTargetLoadInFrame:]):
3304        (-[WebCoreFrameBridge fini]):
3305        (-[WebCoreFrameBridge dealloc]):
3306        (-[WebCoreFrameBridge finalize]):
3307        (_getPreSmartSet):
3308        (_getPostSmartSet):
3309        (-[WebCoreFrameBridge isCharacterSmartReplaceExempt:isPreviousCharacter:]):
3310        (-[WebCoreFrameBridge _retrieveKeyboardUIModeFromPreferences:]):
3311        (-[WebCoreFrameBridge keyboardUIMode]):
3312
33132006-04-24  Adele Peterson  <adele@apple.com>
3314
3315        Reviewed by Tim O.
3316
3317        Fix to send textFieldDidBeginEditing on the first editing change instead of on focus.
3318        This matches our old behavior.
3319
3320        * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::dispatchFocusEvent):
3321        * rendering/RenderTextField.cpp: (WebCore::RenderTextField::subtreeHasChanged):
3322
33232006-04-24  Beth Dakin  <bdakin@apple.com>
3324
3325        Reviewed by Eric.
3326
3327        Fix for <rdar://problem/4513383> REGRESSION: Crash in
3328        WebCore::shouldEmitTabBeforeNode() when iterating through document
3329        text
3330
3331        * editing/TextIterator.cpp:
3332        (WebCore::shouldEmitTabBeforeNode): Need to nil-check the renderer.
3333
33342006-04-23  Geoffrey Garen  <ggaren@apple.com>
3335
3336        Reviewed by Maciej.
3337
3338        * bindings/scripts/CodeGeneratorJS.pm: Removed confusing 'JS' prefix
3339        from string descriptions of DOM prototypes, so the prototype for, e.g.,
3340        Document serializes as 'Document,' not 'JSDocument.'
3341
33422006-04-23  Geoffrey Garen  <ggaren@apple.com>
3343
3344        Reviewed by Darin.
3345
3346        - Took the larger snippets of C++ in the code generator and broke
3347        them into HERE documents in the hopes of improving readability.
3348
3349        * bindings/scripts/CodeGeneratorJS.pm: I indented variable names
3350        level with their corresponding HERE documents to clearly
3351        "sandwich" the HERE documents between opening and closing EOF
3352        statements.
3353
33542006-04-23  Maciej Stachowiak  <mjs@apple.com>
3355
3356        Reviewed by Darin.
3357
3358        - push WebFileButton and WebStringTruncator code down to WebCore
3359        http://bugs.webkit.org/show_bug.cgi?id=8552
3360
3361        * WebCore.exp:
3362        * WebCore.xcodeproj/project.pbxproj:
3363        * bridge/mac/WebCoreFrameBridge.h:
3364        * bridge/mac/WebCoreStringTruncator.h: Added.
3365        * bridge/mac/WebCoreStringTruncator.mm: Added.
3366        (stringWidth):
3367        (truncateString):
3368        (+[WebCoreStringTruncator widthOfString:font:]):
3369        * bridge/mac/WebCoreViewFactory.h:
3370        * kwq/KWQFileButton.h:
3371        * kwq/KWQFileButton.mm:
3372        (-[WebFileChooserButton initWithWidget::]):
3373        (-[WebCoreFileButton positionButton]):
3374        (-[WebCoreFileButton initWithWidget:]):
3375        (-[WebCoreFileButton initWithFrame:]):
3376        (-[WebCoreFileButton dealloc]):
3377        (-[WebCoreFileButton isFlipped]):
3378        (-[WebCoreFileButton drawRect:]):
3379        (-[WebCoreFileButton updateLabel]):
3380        (-[WebCoreFileButton setFilename:]):
3381        (-[WebCoreFileButton filename]):
3382        (-[WebCoreFileButton setFrameSize:]):
3383        (-[WebCoreFileButton bestVisualFrameSizeForCharacterCount:]):
3384        (-[WebCoreFileButton visualFrame]):
3385        (-[WebCoreFileButton setVisualFrame:]):
3386        (-[WebCoreFileButton baseline]):
3387        (-[WebCoreFileButton beginSheet]):
3388        (-[WebCoreFileButton chooseFilename:]):
3389        (-[WebCoreFileButton cancel]):
3390        (-[WebCoreFileButton chooseButtonPressed:]):
3391        (-[WebCoreFileButton mouseDown:]):
3392        (-[WebCoreFileButton acceptsFirstResponder]):
3393        (-[WebCoreFileButton becomeFirstResponder]):
3394        (-[WebCoreFileButton nextKeyView]):
3395        (-[WebCoreFileButton previousKeyView]):
3396        (-[WebCoreFileButton nextValidKeyView]):
3397        (-[WebCoreFileButton previousValidKeyView]):
3398        (-[WebCoreFileButton performClick]):
3399        (-[WebFileChooserButton initWithWidget:]):
3400        (-[WebFileChooserButton nextValidKeyView]):
3401        (-[WebFileChooserButton previousValidKeyView]):
3402        (-[WebFileChooserButton resignFirstResponder]):
3403        (KWQFileButton::KWQFileButton):
3404        (KWQFileButton::setFilename):
3405        (KWQFileButton::click):
3406        (KWQFileButton::sizeForCharacterWidth):
3407        (KWQFileButton::frameGeometry):
3408        (KWQFileButton::setFrameGeometry):
3409        (KWQFileButton::baselinePosition):
3410        (KWQFileButton::filenameChanged):
3411
34122006-04-23  Maciej Stachowiak  <mjs@apple.com>
3413
3414        Reviewed by Eric.
3415
3416        - remove WebCoreCookieAdapter, instead make mac implementation of
3417        CookieJar use Foundation directly.
3418
3419        * WebCore.exp:
3420        * WebCore.xcodeproj/project.pbxproj:
3421        * platform/mac/CookieJar.mm:
3422        (WebCore::cookies):
3423        (WebCore::setCookies):
3424        (WebCore::cookiesEnabled):
3425        * platform/mac/WebCoreCookieAdapter.h: Removed.
3426        * platform/mac/WebCoreCookieAdapter.m: Removed.
3427
34282006-04-21  Rob Buis  <buis@kde.org>
3429
3430        Reviewed by hyatt.  Landed by eseidel.
3431
3432        Fix for http://bugs.webkit.org/show_bug.cgi?id=8170:
3433        SVG CSS property values with extra items do not get treated
3434        as invalid (they should)
3435
3436        Fixes the handling of invalid svg css properties similar
3437        to how invalid html css properties are handled, ie. discard
3438        the property if there are more values in the value list than
3439        expected.
3440
3441        Test: svg/custom/invalid-css.svg
3442
3443        * ksvg2/css/SVGCSSParser.cpp:
3444        (WebCore::CSSParser::parseSVGValue):
3445
34462006-04-23  Michael Emmel  <mike.emmel@gmail.com>
3447
3448        Reviewed by mjs.  Landed by eseidel.
3449
3450        http://bugs.webkit.org/show_bug.cgi?id=8517
3451        No test necessary, no functional change.
3452
3453        * DerivedSources.make: use VPATH more consistently.
3454
34552006-04-23  Jon Shier  <jshier@iastate.edu>
3456
3457        Reviewed by ggaren.  Landed by eseidel.
3458
3459        - Fix for http://bugs.webkit.org/show_bug.cgi?id=8511
3460        onerror JS property does not register listener properly
3461
3462        Test: fast/dom/onerror-img.html
3463
3464        * bindings/js/kjs_dom.cpp:
3465        (KJS::DOMEventTargetNode::getValueProperty): changed khtmlErrorEvent to errorEvent.
3466        (KJS::DOMEventTargetNode::putValueProperty): ditto.
3467        * bindings/js/kjs_window.cpp:
3468        (KJS::Window::getValueProperty): ditto.
3469        (KJS::Window::put):
3470        * dom/EventNames.h: Removed khtmlError macro.
3471
34722006-04-23  Eric Seidel  <eseidel@apple.com>
3473
3474        Reviewed by hyatt.
3475
3476        Reproducible crasher with <li value=1234567890 type=A>
3477        http://bugs.webkit.org/show_bug.cgi?id=8542
3478
3479        Fixed our alphabetical list generation to match WinIE (not FireFox)
3480        Previously our alphabetical lists were completely wrong past 26 items.
3481
3482        Tests:
3483        * fast/lists/alpha-list-wrap.html
3484        * fast/lists/li-style-alpha-huge-value-crash.html
3485
3486        * rendering/render_list.cpp:
3487        (WebCore::toLetterString):
3488        (WebCore::toHebrew):
3489        (WebCore::RenderListMarker::calcMinMaxWidth):
3490
34912006-04-22  Geoffrey Garen  <ggaren@apple.com>
3492
3493        Reviewed by Darin.
3494
3495        - Finished autogeneration of Element
3496
3497        * bindings/js/kjs_dom.cpp: Removed DOMElement class
3498        * bindings/js/kjs_dom.h: ditto
3499        * bindings/scripts/CodeGeneratorJS.pm: added support for special
3500        attribute lookup that elements do
3501        * dom/Element.idl: added new attribute,
3502        "IncludeAttributesInPropertyLookup," which tells the code generator
3503        to include HTML element attributes in property lookup
3504
35052006-04-22  Michael Emmel  <mike.emmel@gmail.com>
3506
3507        Reviewed by Maciej.
3508
3509        - fix http://bugs.webkit.org/show_bug.cgi?id=8529
3510          Extra Qaulification in header
3511        - fix http://bugs.webkit.org/show_bug.cgi?id=8530
3512          Missing assert.h include
3513
3514        * rendering/RenderObject.h: Removed erroneous RenderObject::
3515        prefix from a member function name.
3516        * rendering/RenderText.h: Removed erroneous RenderText::
3517        prefix from a member function name.
3518
3519        * platform/Arena.cpp: Added <assert.h> to list of includes.
3520        * platform/KURL.cpp: Ditto.
3521        * platform/StringImpl.cpp: Ditto.
3522        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: Ditto.
3523        * platform/image-decoders/png/PNGImageDecoder.cpp: Ditto.
3524
35252006-04-22  Darin Adler  <darin@apple.com>
3526
3527        * doc: Added.
3528
35292006-04-22  Maciej Stachowiak  <mjs@apple.com>
3530
3531        Reviewed by Eric.
3532
3533        - push down a bunch of WebCoreFrameBridge code to C++ (plus some reformatting)
3534
3535        * bridge/mac/WebCoreFrameBridge.mm:
3536        (-[WebCoreFrameBridge isDescendantOfFrame:]):
3537        (-[WebCoreFrameBridge traverseNextFrameStayWithin:]):
3538        (-[WebCoreFrameBridge nextFrameWithWrap:]):
3539        (-[WebCoreFrameBridge previousFrameWithWrap:]):
3540        (+[WebCoreFrameBridge bridgeForDOMDocument:]):
3541        (-[WebCoreFrameBridge parent]):
3542        (-[WebCoreFrameBridge addData:]):
3543        (-[WebCoreFrameBridge didNotOpenURL:pageCache:]):
3544        (-[WebCoreFrameBridge restoreDocumentState]):
3545        (-[WebCoreFrameBridge _stringWithDocumentTypeStringAndMarkupString:]):
3546        (-[WebCoreFrameBridge nodesFromList:]):
3547        (-[WebCoreFrameBridge markupStringFromNode:nodes:]):
3548        (-[WebCoreFrameBridge markupStringFromRange:nodes:]):
3549        (-[WebCoreFrameBridge rangeByExpandingSelectionWithGranularity:]):
3550        (-[WebCoreFrameBridge rangeByAlteringCurrentSelection:direction:granularity:]):
3551        (-[WebCoreFrameBridge alterCurrentSelection:direction:granularity:]):
3552        (-[WebCoreFrameBridge rangeByAlteringCurrentSelection:verticalDistance:]):
3553        (-[WebCoreFrameBridge alterCurrentSelection:verticalDistance:]):
3554        (-[WebCoreFrameBridge replaceMarkedTextWithText:]):
3555        (-[WebCoreFrameBridge replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]):
3556        (-[WebCoreFrameBridge increaseSelectionListLevel]):
3557        (-[WebCoreFrameBridge decreaseSelectionListLevel]):
3558        (-[WebCoreFrameBridge insertLineBreak]):
3559        (-[WebCoreFrameBridge insertParagraphSeparator]):
3560        (-[WebCoreFrameBridge insertParagraphSeparatorInQuotedContent]):
3561        (-[WebCoreFrameBridge insertText:selectInsertedText:]):
3562        (-[WebCoreFrameBridge deleteSelectionWithSmartDelete:]):
3563        (-[WebCoreFrameBridge ensureSelectionVisible]):
3564        (-[WebCoreFrameBridge RenderObject::nodeInfoAtPoint:allowShadowContent:]):
3565        * page/Frame.cpp:
3566        (WebCore::Frame::nodeInfoAtPoint):
3567        (WebCore::Frame::hasSelection):
3568        (WebCore::Frame::documentTypeString):
3569        * page/Frame.h:
3570        * page/FrameTree.cpp:
3571        (WebCore::FrameTree::traverseNextWithWrap):
3572        (WebCore::FrameTree::traversePreviousWithWrap):
3573        (WebCore::FrameTree::deepLastChild):
3574        * page/FrameTree.h:
3575
35762006-04-22  Beth Dakin  <bdakin@apple.com>
3577
3578        Reviewed by Hyatt.
3579
3580        Fix for http://bugs.webkit.org/show_bug.cgi?id=6141
3581        DOMCSSPrimitiveValue is always returning values in pixels when
3582        using getComputedStyle:
3583
3584        getFloatValue() took a unit type as a parameter, ignored it, and
3585        returned m_value.num. This patch writes a second version of the
3586        function that actually converts m_value.num to the specified unites
3587        before returning it. Where a conversion is not required, I removed
3588        the unit type from the caller so that it would go directly to the
3589        inline version of the function.
3590
3591        * css/css_valueimpl.cpp:
3592        (WebCore::CSSPrimitiveValue::computeLengthFloat): Remove type
3593        parameter since a conversion is not needed.
3594        (WebCore::scaleFactorForConversion): Helper function for
3595        conversion.
3596        (WebCore::CSSPrimitiveValue::getFloatValue): This version of
3597        getFloatValue() takes a unit type parameter and converts
3598        m_value.num.
3599        * css/css_valueimpl.h:
3600        (WebCore::CSSPrimitiveValue::getFloatValue): This version does not
3601        take a parameter and just returns m_value.num.
3602        * css/cssparser.cpp:
3603        (WebCore::BorderImageParseContext::commitBorderImage): Remove type
3604        parameter since a conversion is not needed.
3605        * css/cssstyleselector.cpp:
3606        (WebCore::convertToLength): Same.
3607        (WebCore::CSSStyleSelector::applyProperty): Same.
3608        (WebCore::CSSStyleSelector::mapBackgroundSize): Same.
3609        (WebCore::CSSStyleSelector::mapBackgroundXPosition): Same.
3610        (WebCore::CSSStyleSelector::mapBackgroundYPosition): Same.
3611        * editing/ApplyStyleCommand.cpp:
3612        (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): Same.
3613        * ksvg2/css/SVGCSSStyleSelector.cpp:
3614        (WebCore::CSSStyleSelector::applySVGProperty): Same.
3615        * ksvg2/misc/KCanvasRenderingStyle.cpp:
3616        (WebCore::KSVGPainterFactory::cssPrimitiveToLength): Same.
3617
36182006-04-21  Geoffrey Garen  <ggaren@apple.com>
3619
3620        Reviewed by John.
3621
3622        - Fixed http://bugs.webkit.org/show_bug.cgi?id=8509
3623        javascript:document.importNode(null)
3624
3625        * dom/Document.cpp:
3626        (WebCore::Document::importNode): Throw an error if the node is null.
3627        This happens when the object provided in the JavaScript call is not
3628        a node.
3629        (WebCore::Document::adoptNode): Set the DOM exception code in all error
3630        cases instead of just a few, because that's what the spec requires.
3631
36322006-04-21  Geoffrey Garen  <ggaren@apple.com>
3633
3634        Reviewed by John.
3635
3636        - Fixed http://bugs.webkit.org/show_bug.cgi?id=8510
3637        submit event doesn't bubble - it's supposed to.
3638
3639        * html/HTMLElement.cpp:
3640        (WebCore::HTMLElement::parseMappedAttribute): Added recognition for the
3641        onsubmit attribute, so elements can use it
3642        * html/HTMLFormElement.cpp:
3643        (WebCore::HTMLFormElement::prepareSubmit): Changed bubbling attribute
3644        to 'true'
3645
36462006-04-21  Geoffrey Garen  <ggaren@apple.com>
3647
3648        Reviewed by TimO.
3649
3650        - Fixed: error event does not bubble
3651
3652        I discovered this bug while working on the "submit event does not
3653        bubble" bug. The DOM spec says the event should bubble, and that's how
3654        it works in Firefox.
3655
3656        The DOM Spec also says that the error event is "valid for
3657        OBJECT elements, BODY elements, and FRAMESET element." But it doesn't
3658        say "valid ONLY." Firefox supports it on all elements and web
3659        developers tend to think it will work for things like <img> and
3660        <script>, so I went whole hog here.
3661
3662        * html/HTMLElement.cpp:
3663        (WebCore::HTMLElement::parseMappedAttribute): Make onerror a mapped
3664        attribute for all elements, so containing elements can register for
3665        the event.
3666        * html/HTMLTokenizer.cpp:
3667        (WebCore::HTMLTokenizer::notifyFinished): make onerror bubble
3668        * html/html_headimpl.cpp:
3669        (WebCore::HTMLScriptElement::parseMappedAttribute): Remove special
3670        case for onerror because HTMLElement will take care of it
3671        (WebCore::HTMLScriptElement::notifyFinished): make onerror bubble
3672        * html/html_imageimpl.cpp:
3673        (WebCore::HTMLImageElement::parseMappedAttribute): Remove special
3674        case for onerror because HTMLElement will take care of it
3675
36762006-04-21  Adele Peterson  <adele@apple.com>
3677
3678        Test for: http://bugs.webkit.org/show_bug.cgi?id=8181
3679        REGRESSION: After tabbing in page's field, attempting to tab from Google toolbar search to page fails on first try
3680
3681        * manual-tests/tabbing-input-google.html: Added.
3682
36832006-04-21  Kevin M. Ollivier  <kevino@theolliviers.com>
3684
3685        Reviewed by Darin.
3686
3687        - http://bugs.webkit.org/show_bug.cgi?id=8507
3688          Compilation fixes for building on gcc 4.0.2, and without precomp headers
3689
3690        * platform/Cursor.h: Created a fallback case that typedefs PlatformCursor
3691        to void * if it isn't defined to anything else. (Useful to help get new ports
3692        initially compiling.)
3693
3694        * bindings/js/kjs_window.cpp:
3695        * rendering/RenderTextField.cpp:
3696        * rendering/RenderBox.cpp:
3697        Add missing headers to resolve issues when compiling without precompiled
3698        headers.
3699
3700        * rendering/RenderText.h: Declare the InlineTextBox class before
3701        friend declaration to resolve compilation issues with gcc 4.0.2.
3702
37032006-04-21  Adele Peterson  <adele@apple.com>
3704
3705        Reviewed by Darin.
3706
3707        Fix for: http://bugs.webkit.org/show_bug.cgi?id=8213
3708        REGRESSION: Can't tab out of text field if iframe comes after it
3709
3710        Test: fast/forms/tabbing-input-iframe.html
3711
3712        * bridge/mac/FrameMac.mm: (WebCore::FrameMac::nextKeyViewInFrame):
3713          If the next focusable node is a RenderWidget without a view, then continue in the loop.  We used to break out in this case.
3714          I also made some formatting changes and reorganized the function to make it easier to read.
3715
37162006-04-21  Adele Peterson  <adele@apple.com>
3717
3718        Reviewed by Beth.
3719
3720        Fix for: http://bugs.webkit.org/show_bug.cgi?id=8496
3721        REGRESSION: Dragging to select text around a text field causes the text field to scroll.
3722
3723        Test: manual-tests/text-field-autoscroll.html
3724
3725        * bridge/mac/FrameMac.mm: (WebCore::FrameMac::handleMouseMoveEvent): Start the frame's autoscroll timer
3726        even when we're calling over the bridge to handle the autoscroll.
3727        * page/Frame.cpp: (WebCore::Frame::stopAutoscrollTimer): Clear out pointer to layer.
3728
37292006-04-21  Geoffrey Garen  <ggaren@apple.com>
3730
3731        - And again.
3732
3733        * WebCore.vcproj/WebCore/WebCore.vcproj:
3734
37352006-04-21  Geoffrey Garen  <ggaren@apple.com>
3736
3737        - Futile attempt to fix Windows build.
3738
3739        * WebCore.vcproj/WebCore/WebCore.vcproj:
3740
37412006-04-20  Geoffrey Garen  <ggaren@apple.com>
3742
3743        Reviewed by Maciej.
3744
3745        - Added autogeneration of JS bindings for CSSRule, CSSValue,
3746        Event, and NodeFilter.
3747
3748        - Made related prototype objects hold the relevant constants, to
3749        match Mozilla and the DOM 2 spec. (Previously, only the related
3750        constructor objects held those constants, in accordance with the
3751        DOM 3 spec.)
3752
3753        - Fixed up remaining Windows build issues.
3754
3755        * DerivedSources.make: Added new autogenerated files
3756        * WebCore.xcodeproj/project.pbxproj: ditto
3757        * bindings/js/kjs_css.cpp:
3758        (KJS::DOMCSSRule::classInfo):
3759        (KJS::DOMCSSRule::getOwnPropertySlot): scope call to classInfo()
3760        because it's virtual and DOMCSSRule has a derrived class now.
3761        (KJS::DOMCSSRule::put): ditto
3762        (KJS::DOMCSSRuleFunc::callAsFunction):
3763        (KJS::toJS):
3764        * bindings/js/kjs_css.h:
3765        * bindings/js/kjs_events.cpp:
3766        (KJS::toJS):
3767        * bindings/js/kjs_events.h:
3768        * bindings/js/kjs_html.cpp:
3769        (KJS::OptionConstructorImp::OptionConstructorImp):
3770        * bindings/js/kjs_traversal.cpp:
3771        (KJS::toJS):
3772        * bindings/js/kjs_traversal.h:
3773        * bindings/js/kjs_window.cpp:
3774        (KJS::Window::getValueProperty): added CSSValue global object
3775        * bindings/js/kjs_window.h:
3776        (KJS::Window::):
3777        * bindings/scripts/CodeGeneratorJS.pm: Changed generator to write
3778        constants to prototype objects (previously only wrote constants to
3779        constructor objects)
3780        * css/CSSPrimitiveValue.idl: Removed LegacyParent since CSSValue now
3781        exists in IDL
3782        * css/CSSRule.idl: Added.
3783        * css/CSSValue.idl: Added.
3784        * css/css_ruleimpl.h:
3785        (WebCore::CSSRule::):
3786        * css/css_valueimpl.h:
3787        * dom/Event.idl: Added.
3788        * dom/MutationEvent.idl: Removed LegacyParent since Event now exists
3789        in IDL
3790        * dom/NodeFilter.idl: Added.
3791        * dom/UIEvent.idl: Removed LegacyParent since event now exists in IDL
3792        * dom/dom2_eventsimpl.h:
3793        (WebCore::Event::):
3794
37952006-04-21  Darin Adler  <darin@apple.com>
3796
3797        - one more attempt to fix Windows build
3798
3799        * platform/cairo/GraphicsContextCairo.cpp:
3800        (WebCore::GraphicsContext::fillRect): Update to use Color and match
3801        the similar function on GraphicsContextMac.
3802
38032006-04-21  Beth Dakin  <bdakin@apple.com>
3804
3805        Reviewed by Hyatt.
3806
3807        Fix for http://bugs.webkit.org/show_bug.cgi?id=8495
3808        REGRESSION: Sidebar on cnn.com is hosed
3809
3810        * platform/mac/ImageMac.mm:
3811        (WebCore::Image::drawTiled): Use the size of the destination rect,
3812        not the oneTileRect in the no-pattern case.
3813        * rendering/RenderBox.cpp:
3814        (WebCore::RenderBox::paintBackgroundExtended): Initialize
3815        scaledWidth and scaledHeight to the appropriate value (was wrong in
3816        scroll case), adjust position at appropriate times, and take out
3817        no-repeat clause for now since we don't have enough test cases yet
3818        to be sure we won't cause massive regressions.
3819
38202006-04-21  Darin Adler  <darin@apple.com>
3821
3822        - attempt to fix Windows build after my last check-in
3823
3824        * WebCore.vcproj/Image Viewer/ImageView.cpp: Changed calls to use the
3825        new IntRect-based API.
3826
3827        * html/CanvasPattern.cpp: (WebCore::CanvasPattern::CanvasPattern):
3828        Put appropriate ifdefs around the m_platformImage initializer.
3829
3830        * page/Frame.cpp: Make Frame::adjustPageHeight Mac-OS-X-only for now
3831        since it's used for printing and we don't have printing going on any
3832        other platforms yet.
3833
3834        * platform/cairo/GraphicsContextCairo.cpp: Take out constructor that
3835        takes only the "for printing" boolean for now.
3836
3837        * platform/cairo/ImageCairo.cpp: Include the GraphicsContext.h header.
3838
3839        * platform/win/TemporaryLinkStubs.cpp: (GraphicsContext::setShadow):
3840        Fix up this stub and remove the GraphicsContext empty constructor stub.
3841
38422006-04-21  Darin Adler  <darin@apple.com>
3843
3844        - fix build
3845
3846        * WebCore.xcodeproj/project.pbxproj: Replaced absolute path on my system
3847        with a build-result-relative path; also removed some source files from the
3848        list of resources to install!
3849
38502006-04-20  Darin Adler  <darin@apple.com>
3851
3852        Reviewed by Hyatt.
3853
3854        - make <canvas> element and related API behave more like the draft of
3855          the WhatWG Web Application specification, checking parameter validity
3856          and raising exceptions
3857        - changed HTMLCanvasElement bindings to be auto-generated, fixing all
3858          issues so we can generate bindings for classes drived from HTMLElement
3859        - change GraphicsContext API to use IntRect/Point/Size in more cases
3860        - change GraphicsContext so it is closer to truly wrapping a graphics
3861          context rather than representing the current NSGraphicsContext; there
3862          are still some things like text and rectangle fills that are tied to
3863          NSGraphicsContext, but we're most of the way there
3864        - removed Brush class since it just amounted to a color, using an RGBA32
3865          instead where we used to use a Brush
3866
3867        * DerivedSources.make: Added JSHTMLCanvasElement.h.
3868        * WebCore.xcodeproj/project.pbxproj: Added new files.
3869
3870        * bindings/js/JSCanvasRenderingContext2DBase.h: Added toJS.
3871        * bindings/js/JSCanvasRenderingContext2DBase.cpp:
3872        (WebCore::JSCanvasRenderingContext2DBaseProtoFunc::callAsFunction):
3873        Added exception code handling for strokeRect, drawImage, and createPattern.
3874        Added version of createPattern that takes a canvas. Use TYPE_MISMATCH_ERR
3875        instead of JavaScript TypeError when parameter is neither an image or canvas
3876        element. Adapt for new HTMLCanvasElement binding.
3877        (WebCore::toJS): Added. Converts context object to JS wrapper.
3878
3879        * bindings/js/JSHTMLElementWrapperFactory.h: Added.
3880        * bindings/js/JSHTMLElementWrapperFactory.cpp: Added. Creates a JavaScript
3881        wrapper for an arbitrary HTML element. Better than putting this all in the
3882        DOM node class toJS function.
3883
3884        * bindings/js/JSXMLSerializer.cpp: Tweaked to make it build.
3885        * bindings/js/kjs_dom.cpp: (KJS::toJS): Changed to call the
3886        JSHTMLElementWrapperFactory function createJSWrapper, instead
3887        of always creating a JSHTMLElement.
3888
3889        * bindings/js/kjs_html.h: Removed canvas-related stuff. Added HTMLElement
3890        prototype.
3891        * bindings/js/kjs_html.cpp:
3892        (KJS::JSHTMLElement::classInfo): Removed canvas element.
3893        (KJS::JSHTMLElement::accessors): Ditto.
3894        (KJS::JSHTMLElementProtoFunc::callAsFunction): Added, to help the auto-binding
3895        machiner cope with HTMLElement.
3896        (KJS::HTMLElementFunction::callAsFunction): Removed canvas element.
3897
3898        * bindings/scripts/CodeGeneratorJS.pm: Added types needed for HTMLCanvasElement.
3899
3900        * bridge/mac/FrameMac.mm: (WebCore::FrameMac::setDisplaysWithFocusAttributes):
3901        Changed to create a GraphicsContext with the new constructor that takes
3902        a CGContextRef.
3903        * bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge drawRect:]):
3904        Changed to create a GraphicsContext with the new constructor that takes
3905        a NSGraphicsContext.
3906        * page/Frame.cpp: (WebCore::Frame::adjustPageHeight): Changed to create a
3907        GraphicsContext with the new constructor that takes a CGContextRef.
3908
3909        * editing/SelectionController.cpp: (WebCore::SelectionController::paintCaret):
3910        Eliminated a use of obsolete class Brush.
3911
3912        * html/CanvasPattern.h:
3913        * html/CanvasPattern.cpp:
3914        (WebCore::CanvasPattern::parseRepetitionType): Added. Parses a repetition
3915        type. Different from the old logic in that it is case-sensitive and rejects
3916        anything other than null, empty string, or the four repeat types.
3917        (WebCore::CanvasPattern::CanvasPattern): Added constructor that takes
3918        a CGImageRef. Changed constructor to take two booleans instead of the repetition
3919        type string. It's the caller's responsibility to parse the string.
3920        (WebCore::CanvasPattern::~CanvasPattern): Release the CGImage.
3921        (WebCore::patternCallback): Handle the CGImage case. Also changed the code
3922        to create a GraphicsContext as needed and call the image drawing code with that.
3923        (WebCore::CanvasPattern::createPattern): Handle both the image element case and
3924        the canvas element case.
3925
3926        * html/CanvasRenderingContext2D.h:
3927        * html/CanvasRenderingContext2D.cpp:
3928        (WebCore::CanvasRenderingContext2D::State::State): Change line cap, line join,
3929        and global composite to store enum values instead of strings.
3930        (WebCore::CanvasRenderingContext2D::setLineWidth): Do nothing if width is NaN
3931        or <= 0.
3932        (WebCore::CanvasRenderingContext2D::lineCap): Return a string based on a
3933        stored enum, rather than returning a stored string.
3934        (WebCore::CanvasRenderingContext2D::setLineCap): Do nothing if the string is
3935        not one of the standard line cap types. Also case sensitive and stores enum
3936        rather than the string.
3937        (WebCore::CanvasRenderingContext2D::lineJoin): Return a string based on a
3938        stored enum, rather than returning a stored string.
3939        (WebCore::CanvasRenderingContext2D::setLineJoin): Do nothing if the string is
3940        not one of the standard line join types. Also case sensitive and stores enum
3941        rather than the string.
3942        (WebCore::CanvasRenderingContext2D::setMiterLimit): Do nothing if limit is NaN
3943        or <= 0.
3944        (WebCore::CanvasRenderingContext2D::setGlobalAlpha): Do nothing if alpha is NaN
3945        or < 0 or > 1.
3946        (WebCore::CanvasRenderingContext2D::globalCompositeOperation): Return a string
3947        based on a stored enum, rather than returning a stored string.
3948        (WebCore::CanvasRenderingContext2D::setGlobalCompositeOperation): Do nothing if
3949        the string is not one of the standard compositing modes. Also case sensitive and
3950        stores enum rather than the string.
3951        (WebCore::CanvasRenderingContext2D::arcTo): Generate INDEX_SIZE_ERR exception
3952        if radius is NaN or <= 0.
3953        (WebCore::CanvasRenderingContext2D::arc): Ditto.
3954        (WebCore::CanvasRenderingContext2D::rect): Generate INDEX_SIZE_ERR exception
3955        if width or height is NaN or <= 0.
3956        (WebCore::CanvasRenderingContext2D::clearRect): Ditto.
3957        (WebCore::CanvasRenderingContext2D::fillRect): Ditto.
3958        (WebCore::CanvasRenderingContext2D::strokeRect): Ditto, same for line width.
3959        Changed the case where the line width is not specified to share code with the
3960        case where it is.
3961        (WebCore::size): Renamed from imageSize, since C++ overloads based on parameter
3962        types anyway.
3963        (WebCore::CanvasRenderingContext2D::drawImage): Generate INDEX_SIZE_ERR exception
3964        if the source rect is not entirely inside the image rect, or if the width or height
3965        of either the source or destination rect is NaN or <= 0. Changed image drawing
3966        code to be platform-independent for the image element case, but not yet for the
3967        canvas case.
3968        (WebCore::CanvasRenderingContext2D::drawImageFromRect): Change code to parse the
3969        composite operation to use the new code shared with Image.
3970        (WebCore::CanvasRenderingContext2D::createPattern): Added code to parse the
3971        repetition type separately before creating the pattern. Added an overload for
3972        canvas elements.
3973        (WebCore::CanvasRenderingContext2D::drawingContext): Changed to return a
3974        GraphicsContext*.
3975        (WebCore::CanvasRenderingContext2D::platformContext): Added. Now does what
3976        drawingContext used to do.
3977
3978        * html/CanvasRenderingContext2D.idl: Added exception declarations as needed
3979        for changes above.
3980
3981        * html/HTMLCanvasElement.h:
3982        * html/HTMLCanvasElement.cpp:
3983        (WebCore::HTMLCanvasElement::HTMLCanvasElement): Changed m_drawingContext
3984        to be a GraphicsContext instead of a CGContextRef.
3985        (WebCore::HTMLCanvasElement::~HTMLCanvasElement): Ditto.
3986        (WebCore::HTMLCanvasElement::getContext): Removed special cases for null
3987        and empty string. Only give a 2D graphics context if the string is "2d".
3988        (WebCore::HTMLCanvasElement::reset): Updated for change to GraphicsContext
3989        from CGContextRef.
3990        (WebCore::HTMLCanvasElement::paint): Ditto.
3991        (WebCore::HTMLCanvasElement::createDrawingContext): Changed to create a
3992        GraphicsContext* instead of a CGContextRef.
3993        (WebCore::HTMLCanvasElement::drawingContext): Changed to return a
3994        GraphicsContext* instead of a CGContextRef.
3995        (WebCore::HTMLCanvasElement::createPlatformImage): Updated for changes above.
3996
3997        * html/HTMLCanvasElement.idl: Added.
3998
3999        * html/HTMLParser.h:
4000        * html/HTMLParser.cpp:
4001        (WebCore::HTMLParser::canvasCreateErrorCheck): Added. An attempt to implement the
4002        fallback behavior for canvas elements when JavaScript is off.
4003        (WebCore::HTMLParser::getNode): Sorted list of functions. Added case for canvas.
4004
4005        * html/html_imageimpl.h:
4006        * html/html_imageimpl.cpp:
4007        (WebCore::HTMLImageElement::HTMLImageElement): Changed m_compositeOperator to be
4008        an enum instead of a string.
4009        (WebCore::HTMLImageElement::parseMappedAttribute): Parse the enum here.
4010
4011        * kcanvas/KCanvasResources.h:
4012        * kcanvas/KCanvasResources.cpp: (WebCore::KCanvasMarker::draw): Changed to take a
4013        GraphicsContext parameter.
4014
4015        * kcanvas/RenderPath.h: Added GraphicsContext parameter to drawMarkersIfNeeded.
4016
4017        * kcanvas/RenderPath.cpp: (WebCore::RenderPath::paint):
4018        * kcanvas/RenderSVGImage.cpp: (WebCore::RenderSVGImage::paint):
4019        * kcanvas/RenderSVGText.cpp: (WebCore::RenderSVGText::paint):
4020        Changed to generate and use an appropriate GraphicsContext.
4021
4022        * kcanvas/device/quartz/KCanvasItemQuartz.h: Added GraphicsContext parameter to
4023        drawMarkersIfNeeded.
4024        * kcanvas/device/quartz/KCanvasItemQuartz.mm:
4025        (WebCore::DrawMarkersData::DrawMarkersData): Added GraphicsContext*.
4026        (WebCore::drawMarkerWithData): Pass along a GraphicsContext*.
4027        (WebCore::drawStartAndMidMarkers): Ditto.
4028        (WebCore::KCanvasItemQuartz::drawMarkersIfNeeded): Pass a long a GraphicsContext*.
4029
4030        * kcanvas/device/KRenderingDevice.h: Added a pure virtual createGraphicsContext
4031        to bridge back to a GraphicsContext. Long term that class will replace this one.
4032        * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
4033        * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
4034        (WebCore::KRenderingDeviceContextQuartz::createGraphicsContext): Added.
4035
4036        * ksvg2/svg/SVGMaskElement.cpp: (WebCore::SVGMaskElement::drawMaskerContent):
4037        Create and pass a GraphicsContext -- old code used the default constructor for
4038        GraphicsContext which meant "current context", and that no longer exists.
4039        * ksvg2/svg/SVGPatternElement.cpp:
4040        (WebCore::SVGPatternElement::drawPatternContentIntoTile): Ditto.
4041
4042        * platform/Brush.h: Removed.
4043        * platform/CompositeOperator.h: Added.
4044        * platform/CompositeOperator.cpp: Added.
4045
4046        * platform/Font.h: Changed calls to use IntPoint instead of pairs of ints.
4047        Also removed the const from all the uses of GraphicsContext*.
4048
4049        * platform/GraphicsContext.h: Eliminated default constructor and constructor
4050        that takes only a boolean. Replaced with constructors that take platform
4051        graphics contexts only. Replaced brush-related calls with fill color calls.
4052        Replaced use of Brush with use of Color. Changed Image::CompositeOperator to
4053        just plain CompositeOperator. Changed tuples of ints into IntRect and IntPoint.
4054        Moved setFocusRingClip and clearFocusRingClip out of ifdefs. Removed unused
4055        getCompositeOperation and string-based setCompositeOperation. Moved
4056        currentCGContext and the other setCompositeOperation out of the GraphicsContext
4057        class and made them global functions. Fixed platformContext so it won't always
4058        return the CGContextRef of the current NSGraphicsContext. Instead, it will
4059        return the appropriate CGContextRef for the GraphicsContext. This eliminates
4060        the need to use void* for the image-drawing functions.
4061
4062        * platform/GraphicsContext.cpp:
4063        (WebCore::GraphicsContextState::GraphicsContextState): Replaced Brush with
4064        an RGBA fill color.
4065        (WebCore::GraphicsContext::setFillColor): Renamed from setBrush.
4066        (WebCore::GraphicsContext::fillColor): Renamed from brush.
4067        (WebCore::GraphicsContext::drawImage): Changed to use IntRect.
4068        (WebCore::GraphicsContext::drawTiledImage): Moved here from GraphicsContextMac.mm.
4069        (WebCore::GraphicsContext::drawText): Changed to use IntPoint.
4070        (WebCore::GraphicsContext::drawHighlightForText): Ditto.
4071        (WebCore::GraphicsContext::drawLineForText): Ditto.
4072        (WebCore::GraphicsContext::drawLineForMisspelling): Ditto.
4073
4074        * platform/Image.h: Removed CompositeOperator and related functions.
4075        Removed void* context parameters from draw functions.
4076
4077        * platform/Image.cpp: Removed compositeOperatorFromString.
4078
4079        * platform/Widget.h: Added a GraphicsContext* return value from lockDrawingFocus
4080        that you pass back to unlockDrawingFocus (for deletion).
4081
4082        * platform/mac/FontMac.mm:
4083        (WebCore::Font::selectionRectForText): Changed parameter to point and removed
4084        const on GraphicsContext* parameter.
4085        (WebCore::Font::drawText): Ditto.
4086        (WebCore::Font::drawHighlightForText): Ditto.
4087        (WebCore::Font::drawLineForText): Ditto.
4088        (WebCore::Font::drawLineForMisspelling): Ditto.
4089        (WebCore::Font::misspellingLineThickness): Removed const.
4090
4091        * platform/mac/GraphicsContextMac.mm:
4092        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
4093        Added fields to store a CGContextRef and an NSGraphicsContext.
4094        (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
4095        Release both the CGContextRef and the NSGraphicsContext.
4096        (WebCore::GraphicsContext::GraphicsContext): Implement to set up both the
4097        CGContextRef and the NSGraphicsContext in one case, and only the CGContextRef
4098        in the other.
4099        (WebCore::GraphicsContext::savePlatformState): Implement for the CGContext-only
4100        case.
4101        (WebCore::GraphicsContext::restorePlatformState): Ditto.
4102        (WebCore::GraphicsContext::drawRect): Assert that the NS context is present
4103        and
4104        (WebCore::GraphicsContext::setColorFromFillColor): Renamed from
4105        setColorFromBrush.
4106        (WebCore::GraphicsContext::setColorFromPen): Added assertion.
4107        (WebCore::GraphicsContext::drawLine): Added assertion.
4108        (WebCore::GraphicsContext::drawEllipse): Get CGContext from the platformContext
4109        function instead of currentCGContext, and changed to use fillColor.
4110        (WebCore::GraphicsContext::drawArc): Ditto.
4111        (WebCore::GraphicsContext::drawConvexPolygon): Ditto.
4112        (WebCore::setCompositeOperation): Changed to global function and also changed
4113        to do the work here -- no need to use WebCoreImageRendererFactory.
4114        (WebCore::GraphicsContext::drawImage): Move most of this into GraphicsContext.cpp.
4115        Remove the void* context parameter. Changed to take rects instead of separate coordinates.
4116        (WebCore::GraphicsContext::fillRect): Changed to take color instead of Brush.
4117        (WebCore::GraphicsContext::addClip): Added assertion.
4118        (WebCore::GraphicsContext::addRoundedRectClip): Get CGContextRef from the platformContext
4119        function instead of currentCGContext.
4120        (WebCore::GraphicsContext::createRenderingDeviceContext): Ditto.
4121        (WebCore::GraphicsContext::beginTransparencyLayer): Ditto.
4122        (WebCore::GraphicsContext::endTransparencyLayer): Ditto.
4123        (WebCore::GraphicsContext::setShadow): Change to take size instead of x,y. Also get
4124        CGCOntextRef from the platformContext function instead of currentCGContext.
4125        (WebCore::GraphicsContext::clearShadow): Get CGContextRef from the platformContext
4126        function instead of currentCGContext.
4127        (WebCore::GraphicsContext::platformContext): Added. Returns m_data->m_cgContext.
4128
4129        * platform/mac/ImageMac.mm:
4130        (WebCore::fillSolidColorInRect): Updated for change in CompositeOperator type.
4131        (WebCore::Image::checkForSolidColor): Ditto.
4132        (WebCore::Image::draw): Removed void* context parameter and replaced it with
4133        a GraphicsContext* parameter. Renamed from drawInRect.
4134        (WebCore::Image::drawTiled): Ditto. Renamed from tileInRect and scaleAndTileInRect.
4135
4136        * platform/mac/PDFDocumentImage.h: Updated for change in CompositeOperator type.
4137        * platform/mac/PDFDocumentImage.mm: (WebCore::PDFDocumentImage::draw): Ditto.
4138
4139        * platform/mac/WidgetMac.mm:
4140        (WebCore::Widget::lockDrawingFocus): Changed to return a GraphicsContext*.
4141        (WebCore::Widget::unlockDrawingFocus): Changed to take a GraphicsContext*.
4142
4143        * rendering/InlineTextBox.cpp:
4144        (WebCore::InlineTextBox::selectionRect): Changed to pass IntPoint.
4145        (WebCore::InlineTextBox::paint): Changed to pass IntSize.
4146        (WebCore::InlineTextBox::paintSelection): More of the same.
4147        (WebCore::InlineTextBox::paintMarkedTextBackground): Ditto.
4148        (WebCore::InlineTextBox::paintDecoration): Ditto.
4149        (WebCore::InlineTextBox::paintSpellingMarker): Ditto.
4150        (WebCore::InlineTextBox::paintTextMatchMarker): Ditto.
4151        (WebCore::InlineTextBox::paintMarkedTextUnderline): Ditto.
4152        (WebCore::InlineTextBox::positionForOffset): Ditto.
4153        * rendering/RenderBlock.cpp:
4154        (WebCore::RenderBlock::fillHorizontalSelectionGap): Ditto.
4155        (WebCore::RenderBlock::fillVerticalSelectionGap): Ditto.
4156        (WebCore::RenderBlock::fillLeftSelectionGap): Ditto.
4157        (WebCore::RenderBlock::fillRightSelectionGap): Ditto.
4158        * rendering/RenderBox.cpp:
4159        (WebCore::RenderBox::paintBackgroundExtended): Ditto.
4160        (WebCore::RenderBox::outlineBox): Ditto.
4161        * rendering/RenderImage.cpp:
4162        (WebCore::RenderImage::paint): Ditto.
4163        * rendering/RenderLayer.cpp:
4164        (WebCore::setClip): Take out ifdefs. We'll do that inside GraphicsContext instead.
4165        (WebCore::restoreClip): Ditto.
4166        * rendering/RenderObject.cpp:
4167        (WebCore::RenderObject::drawBorder): More of the same.
4168        (WebCore::RenderObject::paintBorderImage): Ditto.
4169        * rendering/render_line.cpp:
4170        (WebCore::InlineFlowBox::paintDecorations): Ditto.
4171        (WebCore::EllipsisBox::paint): Ditto.
4172        * rendering/render_list.cpp:
4173        (WebCore::RenderListMarker::paint): Ditto.
4174
4175        * rendering/render_frames.cpp: (WebCore::RenderFrameSet::userResize): Set up a graphics
4176        context by calling lockDrawingFocus. Also changed a color here to be a constant.
4177
4178        * platform/cairo/GraphicsContextCairo.cpp:
4179        (WebCore::GraphicsContext::drawImage): Update for parameter type changes.
4180        (WebCore::GraphicsContext::drawScaledAndTiledImage):
4181        (WebCore::GraphicsContext::setFocusRingClip):
4182        (WebCore::GraphicsContext::clearFocusRingClip):
4183        * platform/cairo/ImageCairo.cpp:
4184        (WebCore::setCompositingOperation):
4185        (WebCore::Image::tileInRect):
4186        (WebCore::Image::scaleAndTileInRect):
4187
41882006-04-20  Mitz Pettel  <opendarwin.org@mitzpettel.com>
4189
4190        Reviewed by Darin.
4191
4192        WebCore part of:
4193        - fix http://bugs.webkit.org/show_bug.cgi?id=8276
4194          REGRESSION (NativeTextField): Pasting a Finder item into a text field results in
4195            a file: URL being pasted instead of just the file name
4196        - fix http://bugs.webkit.org/show_bug.cgi?id=8283
4197          REGRESSION: File's path doesn't appear after dragging file into input field
4198
4199        * bridge/mac/WebCoreFrameBridge.h:
4200        * bridge/mac/WebCoreFrameBridge.mm:
4201        (-[WebCoreFrameBridge isDragCaretRichlyEditable]): Added.
4202        * manual-tests/plain-text-paste.html: Added.
4203        * manual-tests/resources/plain-text-paste: Added.
4204        * manual-tests/resources/plain-text-paste/1.textClipping: Added.
4205        * manual-tests/resources/plain-text-paste/2.textClipping: Added.
4206        * manual-tests/resources/plain-text-paste/3.gif: Added.
4207        * manual-tests/resources/plain-text-paste/4.txt: Added.
4208        * manual-tests/resources/plain-text-paste/5.webloc: Added.
4209
42102006-04-20  Darin Adler  <darin@apple.com>
4211
4212        Reviewed by Adele.
4213
4214        - WebCore part of http://bugs.webkit.org/show_bug.cgi?id=8505
4215          eliminate WebCoreGraphics bridge, demonstrate new SystemInterface technique
4216
4217        * platform/mac/WebCoreGraphicsBridge.h: Removed.
4218        * platform/mac/WebCoreGraphicsBridge.m: Removed.
4219        * platform/mac/WebCoreSystemInterface.h: Added.
4220        * platform/mac/WebCoreSystemInterface.mm: Added.
4221
4222        * WebCore.exp: Add new SystemInterface globals, remove WebCoreGraphicsBridge.
4223
4224        * WebCore.xcodeproj/project.pbxproj: Updated for removed and added files.
4225        Sorted files.
4226
4227        * bridge/mac/FrameMac.mm: Removed unneeded include of WebCoreGraphicsBridge.h.
4228
4229        * platform/mac/ClipboardMac.mm: (WebCore::ClipboardMac::setDragImage):
4230        Moved code from WebGraphicsBridge here, using WebCoreSystemInterface so we can
4231        call wkSetDragImage.
4232
4233        * platform/mac/GraphicsContextMac.mm: (WebCore::GraphicsContext::drawFocusRing):
4234        Moved code from WebGraphicsBridge here, using WebCoreSystemInterface so we can
4235        call wkDrawFocusRing.
4236
4237        * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::paintTextField):
4238        Call wkDrawBezeledTextFieldCell from WebCoreSystemInterface instead of using
4239        WebGraphicsBridge to do the same thing.
4240
42412006-04-20  Adele Peterson  <adele@apple.com>
4242
4243        Reviewed by Hyatt.
4244
4245        Fix for http://bugs.webkit.org/show_bug.cgi?id=8273
4246        REGRESSION: Read only input text field renders at the wrong height when value attribute is not present
4247
4248        Test: fast/forms/input-readonly-empty.html
4249
4250        * rendering/RenderBlock.h: Added hasLineIfEmpty.
4251        * rendering/RenderBlock.cpp:
4252        (WebCore::RenderBlock::hasLineIfEmpty): Added.  Checks for rootEditableElement as well as
4253         a shadowNode who has an input element as a parent.
4254        (WebCore::RenderBlock::getBaselineOfLastLineBox): Calls hasLineIfEmpty instead of just checking for the rootEditableElement.
4255        * rendering/bidi.cpp: (WebCore::RenderBlock::layoutInlineChildren): ditto.
4256
42572006-04-20  Darin Adler  <darin@apple.com>
4258
4259        Reviewed by Timothy.
4260
4261        Removed TO_NODE_OFFSET and TO_NODE_ADDRESS macros. These can just be done inline with pointer math.
4262
4263        * platform/DeprecatedString.cpp:
4264        (allocateNode):
4265        (freeHandle):
4266
42672006-04-19  Adele Peterson  <adele@apple.com>
4268
4269        Rubber-stamped by Darin.
4270
4271        Removed optimizations recently added in setInnerHTML and setInnerText.  The setInnerHTML change broke a first-letter style test.
4272        The setInnerText change caused an empty text node to get added when setting inner text to an empty string.  The bug that this
4273        change went in with remains fixed.
4274
4275        * html/HTMLElement.cpp:
4276        (WebCore::HTMLElement::setInnerHTML):
4277        (WebCore::HTMLElement::setInnerText):
4278
42792006-04-19  Mitz Pettel  <opendarwin.org@mitzpettel.com>
4280
4281        Reviewed by Haytt.
4282
4283        - fix http://bugs.webkit.org/show_bug.cgi?id=6770
4284          REGRESSION: Incomplete repaint when block with clipping grows
4285
4286        * manual-tests/repaint-resized-overflow.html: Added.
4287        * rendering/RenderLayer.cpp:
4288        (WebCore::RenderLayer::RenderLayer):
4289        (WebCore::RenderLayer::computeRepaintRects): Set the m_repaintOverflowOnResize
4290        flag to true if our object itself needs layout or if we're an overflow
4291        and have a normal child that needs layout, in which case if we end up
4292        resizing it will be because of the child, and that child might have not repainted
4293        itself correctly during its own layout.
4294        (WebCore::RenderLayer::updateLayerPositions): Do a full repaint if
4295        m_repaintOverflowOnResize is set and we resized but didn't move.
4296        * rendering/RenderLayer.h:
4297
42982006-04-19  Mitz Pettel  <opendarwin.org@mitzpettel.com>
4299
4300        Reviewed by Hyatt.
4301
4302        - fix http://bugs.webkit.org/show_bug.cgi?id=8352
4303          CSS text-shadow does not repaint completely when changed
4304
4305        * manual-tests/dynamic-shadow.html: Added.
4306        * rendering/render_style.cpp:
4307        (WebCore::RenderStyle::diff): Changed to return Layout when text-shadow
4308        changes.
4309
43102006-04-19  Adele Peterson  <adele@apple.com>
4311
4312        Reviewed by Darin.
4313
4314        Added readOnly methods for HTMLInputElement and HTMLTextAreaElement so the DOM bindings can call
4315        a method with the same name.  This will make it easier to autogenerate the DOM bindings in the future.
4316
4317        * html/HTMLInputElement.h: (WebCore::HTMLInputElement::readOnly): Added. Calls isReadOnlyControl.
4318        * html/HTMLTextAreaElement.h: (WebCore::HTMLTextAreaElement::readOnly): ditto.
4319        * bindings/js/kjs_html.cpp:
4320        (KJS::JSHTMLElement::inputGetter): Calls readOnly instead of isReadOnlyControl.
4321        (KJS::JSHTMLElement::textAreaGetter): ditto.
4322        * bindings/objc/DOMHTML.mm:
4323        (-[DOMHTMLInputElement readOnly]): ditto.
4324        (-[DOMHTMLTextAreaElement readOnly]): Calls readOnly instead of getting the attribute directly.
4325        (-[DOMHTMLTextAreaElement setReadOnly:]): Calls setReadOnly instead of setting the attribute directly.
4326
43272006-04-19  Adele Peterson  <adele@apple.com>
4328
4329        Reviewed by Hyatt.
4330
4331        Fix for: http://bugs.webkit.org/show_bug.cgi?id=8297
4332        REGRESSION: Input element extends outside of DIV element at http://www.macdock.com/
4333
4334        * platform/Font.h: Added runRounding parameter to floatWidth.
4335        * platform/mac/FontMac.mm: (WebCore::Font::floatWidth): ditto.
4336        * platform/win/FontWin.cpp: (WebCore::Font::floatWidth): ditto.
4337        * rendering/RenderTextField.cpp: (WebCore::RenderTextField::calcMinMaxWidth):
4338          Use new floatWidth parameter to turn off run rounding.
4339
43402006-04-19  Adele Peterson  <adele@apple.com>
4341
4342        Reviewed by Beth.
4343
4344        Fix for Windows build.
4345
4346        * rendering/RenderThemeWin.cpp: (WebCore::RenderThemeWin::determineState):
4347        Use isReadOnlyControl instead of isReadOnly.
4348
4349 2006-04-19  Adele Peterson  <adele@apple.com>
4350
4351         Reviewed by Beth.
4352
4353         Fix to make readonly text fields have dimmed borders to match AppKit behavior.
4354
4355         Test: fast/forms/input-readonly-dimmed.html
4356
4357         * dom/Node.h: (WebCore::Node::isReadOnlyControl): Changed from const version of isReadOnly.
4358         * dom/Node.cpp:
4359         (WebCore::Node::isReadOnlyNode): Changed from isReadOnly.
4360         (WebCore::Node::setNodeValue): Uses isReadOnlyNode instead of isReadOnly.
4361         (WebCore::Node::checkSetPrefix): ditto.
4362         (WebCore::Node::checkAddChild): ditto.
4363         * dom/Attr.cpp: (WebCore::Attr::setValue): ditto.
4364         * dom/CharacterData.cpp:
4365         (WebCore::CharacterData::setData): ditto.
4366         (WebCore::CharacterData::appendData): ditto.
4367         (WebCore::CharacterData::checkCharDataOperation): ditto.
4368         * dom/ContainerNode.cpp: (WebCore::ContainerNode::removeChild): ditto.
4369         * dom/Element.cpp: (WebCore::Element::setAttribute): ditto.
4370         * dom/NamedAttrMap.cpp:
4371         (WebCore::NamedAttrMap::setNamedItem): ditto.
4372         (WebCore::NamedAttrMap::removeNamedItem): ditto.
4373         * dom/NamedAttrMap.h: (WebCore::NamedAttrMap::isReadOnlyNode): ditto.
4374         * dom/NamedNodeMap.h: (WebCore::NamedNodeMap::isReadOnlyNode): ditto.
4375         * dom/Range.cpp:
4376         (WebCore::Range::checkDeleteExtract): ditto.
4377         (WebCore::Range::containedByReadOnly): ditto.
4378         * dom/Text.cpp: (WebCore::Text::splitText): ditto.
4379         * dom/dom_xmlimpl.cpp: (WebCore::ProcessingInstruction::setData): ditto.
4380
4381         * bindings/js/kjs_html.cpp:
4382         (KJS::JSHTMLElement::inputGetter): Uses isReadOnlyControl instead of isReadOnly.
4383         (KJS::JSHTMLElement::textAreaGetter): ditto.
4384         * bindings/objc/DOMHTML.mm: (-[DOMHTMLInputElement readOnly]): ditto.
4385         * rendering/render_form.cpp:
4386         (WebCore::RenderLineEdit::updateFromElement): ditto.
4387         (WebCore::RenderTextArea::updateFromElement): ditto.
4388         * rendering/RenderTextField.cpp:
4389         (WebCore::RenderTextField::createDivStyle): ditto.
4390         (WebCore::RenderTextField::updateFromElement): ditto.
4391
4392         * html/HTMLGenericFormElement.cpp: (WebCore::HTMLGenericFormElement::parseMappedAttribute):
4393           When readonly attribute changes, update the theme so the control will repaint.
4394         * html/HTMLGenericFormElement.h: (WebCore::HTMLGenericFormElement::isReadOnlyControl): Renamed from readOnly.
4395         * html/HTMLInputElement.h: Removed isReadOnly, since isReadOnlyControl now exists on HTMLGenericFormElement.
4396         * rendering/RenderTheme.cpp: (WebCore::RenderTheme::isReadOnlyControl): Renamed from isReadOnly.
4397         * rendering/RenderTheme.h: (WebCore::): Added ReadOnlyState to ControlState enum.
4398         * rendering/RenderThemeMac.h: Removed NSTextFieldCell since it was only being used to store the enabled state.
4399           Removed setTextFieldState since it was updating the enabled state of the cell, which is only used in one place.
4400         * rendering/RenderThemeMac.mm:
4401         (WebCore::RenderThemeMac::RenderThemeMac): No longer initialized the NSTextFieldCell.
4402         (WebCore::RenderThemeMac::adjustRepaintRect): No longer calls setTextFieldState.
4403         (WebCore::RenderThemeMac::paintTextField): Uses the enabled state and the readonly state to determine whether to draw
4404          a dimmed version of the aqua border.
4405
44062006-04-19  Beth Dakin  <bdakin@apple.com>
4407
4408        Reviewed by Hyatt.
4409
4410        Fix for http://bugs.webkit.org/show_bug.cgi?id=8467 Block
4411        with percentage background-size doesn't repaint properly when it
4412        grows
4413
4414        * manual-tests/backgroundSizeRepaint.html: Added.
4415        * manual-tests/resources/apple.jpg: Added.
4416        * rendering/RenderObject.cpp:
4417        (WebCore::RenderObject::mustRepaintBackgroundOrBorder): We must
4418        return true if we have a percentage background-size.
4419
44202006-04-19  David Hyatt  <hyatt@apple.com>
4421
4422        Fix for a regression in the new text fields.  Don't allow the repaint
4423        rect created by dynamic line layout changes to spill out of an overflow
4424        area's clip region.
4425
4426        (There is no test, since we have no way of testing cases where we repaint
4427         too much rather than too little.)
4428
4429        Reviewed by darin
4430
4431        * rendering/bidi.cpp:
4432        (WebCore::RenderBlock::layoutInlineChildren):
4433
44342006-04-19  Mitz Pettel  <opendarwin.org@mitzpettel.com>
4435
4436        Fix for bug 8449, incomplete repaint of table cell that moved.  This
4437        fix also solves some of the textfield repainting problems (e.g., on
4438        google.com and lxr.mozilla.org).
4439
4440        Reviewed by hyatt
4441
4442        * manual-tests/table-cell-move.html: Added.
4443        * rendering/RenderCanvas.cpp:
4444        (WebCore::RenderCanvas::repaintViewRectangle):
4445        * rendering/RenderTableSection.cpp:
4446        (WebCore::RenderTableSection::layoutRows):
4447
44482006-04-19  Mitz Pettel  <opendarwin.org@mitzpettel.com>
4449
4450        Reviewed by Eric, landed by ap.
4451
4452        - fix http://bugs.webkit.org/show_bug.cgi?id=8469
4453          CRASH: WebCore::CSSParser::parseDashboardRegions when attr() is passed
4454
4455        Test: fast/css/dashboard-regions-attr-crash.html
4456
4457        * css/cssparser.cpp:
4458        (WebCore::CSSParser::parseDashboardRegions): Added null check for args.
4459
44602006-04-18  Rob Buis  <buis@kde.org>
4461
4462        Reviewed by eseidel & darin.  Landed by eseidel.
4463
4464        No automated tests possible (from javascript).
4465
4466        Fix for http://bugs.webkit.org/show_bug.cgi?id=6664:
4467        Inspector does not highlight SVG elements properly
4468
4469        Make sure RenderObject::absoluteBoundingBoxRect works for
4470        svg specific render objects by overriding absoluteRects.
4471        This fixes highlighting in the Inspector of svg shapes, paths,
4472        images and text.
4473
4474        * kcanvas/RenderPath.cpp:
4475        (WebCore::RenderPath::absoluteRects):
4476        * kcanvas/RenderPath.h:
4477        * kcanvas/RenderSVGImage.cpp:
4478        (WebCore::RenderSVGImage::getAbsoluteRepaintRect):
4479        (WebCore::RenderSVGImage::absoluteRects):
4480        * kcanvas/RenderSVGImage.h:
4481        * kcanvas/RenderSVGText.cpp:
4482        (WebCore::RenderSVGText::absoluteRects):
4483        * kcanvas/RenderSVGText.h:
4484
44852006-04-17  Rob Buis  <buis@kde.org>
4486
4487        Reviewed by eseidel.  Landed by eseidel.
4488
4489        Test: svg/custom/tref-update.svg
4490
4491        Fix for http://bugs.webkit.org/show_bug.cgi?id=6427:
4492        <tref> element not implemented
4493
4494        Implementation of <tref> element.
4495
4496        * WebCore.xcodeproj/project.pbxproj:
4497        * ksvg2/svg/SVGTRefElement.cpp: Added.
4498        (SVGTRefElement::SVGTRefElement):
4499        (SVGTRefElement::~SVGTRefElement):
4500        (SVGTRefElement::parseMappedAttribute):
4501        (SVGTRefElement::closeRenderer):
4502        (SVGTRefElement::childShouldCreateRenderer):
4503        (SVGTRefElement::createRenderer):
4504        * ksvg2/svg/SVGTRefElement.h: Added.
4505        (WebCore::SVGTRefElement::rendererIsNeeded):
4506        * ksvg2/svg/SVGTSpanElement.cpp:
4507        (SVGTSpanElement::childShouldCreateRenderer):
4508        * ksvg2/svg/SVGTextElement.cpp:
4509        (WebCore::SVGTextElement::childShouldCreateRenderer):
4510        * ksvg2/svg/svgtags.in:
4511
45122006-04-18  Darin Adler  <darin@apple.com>
4513
4514        * rendering/render_form.cpp: (WebCore::RenderSelect::updateFromElement):
4515        Roll out accidentally-landed change for bug 8398.
4516
45172006-04-18  Beth Dakin  <bdakin@apple.com>
4518
4519        Reviewed by Darin.
4520
4521        Fix for a leak exposed by background-size and detected by the
4522        layout tests.
4523
4524        * css/css_valueimpl.cpp:
4525        (WebCore::CSSPrimitiveValue::cleanup): We must deref pairs.
4526
45272006-04-18  Beth Dakin  <bdakin@apple.com>
4528
4529        Reviewed by Eric.
4530
4531        Build fix for Windows. Just a few typos from background-size patch.
4532
4533        * platform/cairo/GraphicsContextCairo.cpp:
4534        (WebCore::GraphicsContext::drawTiledImage):
4535        * platform/cairo/ImageCairo.cpp:
4536        (WebCore::Image::tileInRect):
4537
45382006-04-18  Beth Dakin  <bdakin@apple.com>
4539
4540        Reviewed by Hyatt.
4541
4542        Implementation of CSS3 background-size property. See
4543        http://bugs.webkit.org/show_bug.cgi?id=8353 for details.
4544
4545        * Viewer/ImageView.cpp: Adjust parameters to drawTiledImage()
4546        * css/CSSComputedStyleDeclaration.cpp: Add background-size
4547        * css/CSSPropertyNames.in: Same.
4548        * css/css_valueimpl.h: Add a constructor for Pair that takes the
4549        two halves of the pair.
4550        * css/cssparser.cpp: Parse background-size. Still need to take care
4551        of parsing the shorthand.
4552        * css/cssparser.h: Same.
4553        * css/cssstyleselector.cpp: Address background-size.
4554        * css/cssstyleselector.h: Same.
4555        * platform/GraphicsContext.h: drawTiledImage() now takes the
4556        tileSize so that it can appropriately scale.
4557        * platform/Image.h: Same as above, but for tileInRect()
4558        * platform/cairo/GraphicsContextCairo.cpp:
4559        (WebCore::GraphicsContext::drawTiledImage):
4560        * platform/cairo/ImageCairo.cpp:
4561        (WebCore::Image::tileInRect): Take care of scaling image in
4562        necessary in Cairo.
4563        * platform/mac/GraphicsContextMac.mm:
4564        (WebCore::GraphicsContext::drawTiledImage):
4565        * platform/mac/ImageMac.mm:
4566        (WebCore::Image::tileInRect): Take care of scaling image if
4567        necessary in CG.
4568        * rendering/RenderBox.cpp:
4569        (WebCore::RenderBox::paintBackgroundExtended): Compute appropriate
4570        scale if background-size is set. If no-repeat is set, just call
4571        drawImage() directly.
4572        * rendering/render_style.cpp: Add background-size to the style.
4573        (WebCore::m_next):
4574        (WebCore::BackgroundLayer::BackgroundLayer):
4575        (WebCore::BackgroundLayer::operator=):
4576        (WebCore::BackgroundLayer::operator==):
4577        (WebCore::BackgroundLayer::fillUnsetProperties):
4578        (WebCore::BackgroundLayer::cullEmptyLayers):
4579        * rendering/render_style.h: Same.
4580        (WebCore::BackgroundLayer::backgroundSize):
4581        (WebCore::BackgroundLayer::isBackgroundSizeSet):
4582        (WebCore::BackgroundLayer::setBackgroundSize):
4583        (WebCore::BackgroundLayer::clearBackgroundSize):
4584        (WebCore::RenderStyle::backgroundSize):
4585        (WebCore::RenderStyle::initialBackgroundSize):
4586
45872006-04-17  Justin Garcia  <justin.garcia@apple.com>
4588
4589        Reviewed by harrison
4590
4591        * editing/CompositeEditCommand.cpp:
4592        (WebCore::CompositeEditCommand::moveParagraph): The placeholder that's inserted
4593        to keep content from collapsing due to pruning was inserted at the position after
4594        the moved paragraph.  That's only appropriate when moving the paragraph backward
4595        into the previous paragraph.
4596
4597        * editing/ReplaceSelectionCommand.cpp:
4598        (WebCore::ReplaceSelectionCommand::doApply): The last paragraph of the incoming
4599        fragment should be merged with the paragraph after the end of the selection being pasted
4600        into even if the incoming fragment has only one block.   This fixes a bug and gets
4601        rid of a use of the info gathered during the test insertion.
4602
46032006-04-17  Adele Peterson  <adele@apple.com>
4604
4605        Reviewed by Darin.
4606
4607        Fix for http://bugs.webkit.org/show_bug.cgi?id=8407
4608        REGRESSION (NativeTextField): Leading and trailing spaces trimmed from text field value attribute
4609
4610        Test: fast/forms/input-spaces.html
4611
4612        * rendering/RenderTextField.cpp: (WebCore::RenderTextField::createDivStyle):
4613        Use white-space:pre for the inner div to avoid collapsing spaces in the text field.
4614
46152006-04-18  Mitz Pettel  <opendarwin.org@mitzpettel.com>
4616
4617        Reviewed by Darin.
4618
4619        - fix http://bugs.webkit.org/show_bug.cgi?id=8437
4620          iExploder(#293): Crash in StringImpl::hash()
4621
4622        * manual-tests/applet-param-no-name.html: Added.
4623        * rendering/RenderApplet.cpp:
4624        (WebCore::RenderApplet::createWidgetIfNecessary): Skip param elements with
4625        empty name.
4626
46272006-04-18  Darin Adler  <darin@apple.com>
4628
4629        - try to fix the Windows build
4630
4631        * platform/cairo/GraphicsContextCairo.cpp: (WebCore::setColor):
4632        Update for changes to getRGBA.
4633
46342006-04-17  Alexey Proskuryakov  <ap@nypop.com>
4635
4636        Reviewed by Darin.
4637
4638        - fix http://bugs.webkit.org/show_bug.cgi?id=8440
4639        iExploder(#3327): Crash in StringImpl::initWithQChar()
4640
4641        Test: fast/parser/number-sign-in-map-name.html
4642
4643        * html/html_imageimpl.cpp:
4644        (WebCore::HTMLMapElement::parseMappedAttribute): Fixed handling of names starting with a '#'.
4645
46462006-04-17  Adele Peterson  <adele@apple.com>
4647
4648        Reviewed by Darin.
4649
4650        Fix for: http://bugs.webkit.org/show_bug.cgi?id=8269
4651        REGRESSION: disabled text field does not display greyed-out text
4652
4653        * rendering/RenderTextField.cpp: (WebCore::RenderTextField::createDivStyle):
4654        For disabled text fields, lighten or darken text color based on background color.
4655        Tries to get as close as possible to logic in AppKit for old text fields.
4656        * platform/Color.h: Removed hsv and setHsv since they were just used within Color.cpp.
4657        * platform/Color.cpp:
4658        (WebCore::parseHexColor): Cleanup.
4659        (WebCore::differenceSquared): Added. Returns the difference squared of two colors.
4660        (WebCore::convertRGBToHSV): Added static function. Replaces hsv and setHSV, and fixes bug in old implementation of the algorithm.
4661        (WebCore::convertHSVToRGB): ditto.
4662        (WebCore::Color::light): No longer takes in a factor, since all callers use the same factor.  Uses new conversion functions.
4663        (WebCore::Color::dark): ditto.
4664        * rendering/InlineTextBox.cpp: Removed simpleDifferenceBetweenColors.
4665        (WebCore::correctedTextColor):  Uses differenceSquared instead of simpleDifferenceBetweenColors.
4666
46672006-04-17  David Hyatt  <hyatt@apple.com>
4668
4669        Fix for bug 8270, text highlights outside of textfield when it shouldn't.
4670
4671        Reviewed by darin
4672
4673        Added fast/forms/input-double-click-selection-gap-bug.html
4674
4675        * rendering/RenderBlock.cpp:
4676        (WebCore::RenderBlock::fillInlineSelectionGaps):
4677
46782006-04-17  David Hyatt  <hyatt@apple.com>
4679
4680        Fix for bug 8848, caret off by 1 pixel on numerous pixel tests.
4681
4682        Reviewed by darin
4683
4684        * rendering/InlineTextBox.cpp:
4685        (WebCore::InlineTextBox::positionForOffset):
4686        * rendering/RenderText.cpp:
4687        (WebCore::RenderText::caretRect):
4688
46892006-04-17  Timothy Hatcher  <timothy@apple.com>
4690
4691        Reviewed by Darin.
4692
4693        <rdar://problem/4506601> TOT WebCore fails to build ppc64
4694
4695        Switch many CG calls to use CGFloat for colors and gradients
4696
4697        * bindings/objc/DOMCSS.mm:
4698        (-[DOMRGBColor dealloc]): cast _internal to uintptr_t
4699        (-[DOMRGBColor finalize]): cast _internal to uintptr_t
4700        (-[DOMRGBColor red]): cast _internal to uintptr_t
4701        (-[DOMRGBColor green]): cast _internal to uintptr_t
4702        (-[DOMRGBColor blue]): cast _internal to uintptr_t
4703        (-[DOMRGBColor alpha]): cast _internal to uintptr_t
4704        (-[DOMRGBColor _color]): cast _internal to uintptr_t
4705        * bridge/mac/FrameMac.mm:
4706        (WebCore::regExpForLabels): use CFIndex as the type returned from indexOfObject:
4707        * bridge/mac/WebCoreFrameBridge.mm:
4708        (-[WebCoreFrameBridge baseWritingDirectionForSelectionStart]): workaround for <rdar://problem/4509035>
4709        * config.h: define CGFloat if it isn't defined already
4710        * html/CanvasGradient.cpp:
4711        (WebCore::CanvasGradient::addColorStop):
4712        (WebCore::gradientCallback):
4713        (WebCore::CanvasGradient::platformShading):
4714        * html/CanvasRenderingContext2D.cpp:
4715        (WebCore::CanvasRenderingContext2D::setShadow):
4716        (WebCore::CanvasRenderingContext2D::applyShadow):
4717        (WebCore::CanvasRenderingContext2D::applyStrokePattern):
4718        (WebCore::CanvasRenderingContext2D::applyFillPattern):
4719        * html/CanvasStyle.cpp:
4720        (WebCore::CanvasStyle::applyStrokeColor):
4721        (WebCore::CanvasStyle::applyFillColor):
4722        * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
4723        (WebCore::alphaImageForImage):
4724        (WebCore::KCanvasFEColorMatrixQuartz::getCIFilter):
4725        * kcanvas/device/quartz/KCanvasMaskerQuartz.mm:
4726        (WebCore::applyLuminanceToAlphaFilter):
4727        (WebCore::applyExpandAlphatoGrayscaleFilter):
4728        (WebCore::transformImageIntoGrayscaleMask):
4729        * kcanvas/device/quartz/KCanvasPathQuartz.mm:
4730        (WebCore::scratchContext):
4731        * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
4732        (WebCore::cgGradientCallback):
4733        (WebCore::CGShadingRefForLinearGradient):
4734        (WebCore::CGShadingRefForRadialGradient):
4735        (WebCore::KRenderingPaintServerGradientQuartz::updateQuartzGradientStopsCache):
4736        * kcanvas/device/quartz/KRenderingPaintServerQuartz.h:
4737        (WebCore::):
4738        * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
4739        (WebCore::KRenderingPaintServerPatternQuartz::setup):
4740        * kcanvas/device/quartz/QuartzSupport.mm:
4741        (WebCore::applyStrokeStyleToContext):
4742        * kwq/WebCoreAXObject.mm:
4743        (CreateCGColorIfDifferent):
4744        * platform/Color.cpp:
4745        (WebCore::Color::getRGBA): new name, was getRgbaF. getRGBA uses float and has a double overload
4746        * platform/Color.h:
4747        * platform/mac/ClipboardMac.h: no need to define NSDragOperation
4748        * platform/mac/ColorMac.mm:
4749        (+[WebCoreControlTintObserver WebCore]):
4750        * platform/mac/GraphicsContextMac.mm:
4751        (WebCore::GraphicsContext::drawLine):
4752        * platform/mac/ImageMac.mm:
4753        (WebCore::Image::checkForSolidColor):
4754        (WebCore::Image::tileInRect):
4755        (WebCore::Image::scaleAndTileInRect):
4756        * platform/mac/TextEncodingMac.cpp:
4757        (WebCore::TextEncoding::fromUnicode):
4758
47592006-04-17  Justin Garcia  <justin.garcia@apple.com>
4760
4761        Reviewed by darin
4762
4763        <http://bugs.webkit.org/show_bug.cgi?id=8402>
4764        Fix interchange newline handling and avoid use of test rendering info
4765
4766        * editing/ReplaceSelectionCommand.cpp:
4767        (WebCore::ReplaceSelectionCommand::doApply):
4768        Fixed bugs in handling of interchange newlines at the end of incoming
4769        fragments.  Removed the use of !fragment.isBlockFlow since it isn't
4770        correct and relies on information gathered during the test insertion, which
4771        we're trying to get rid of.
4772        * editing/VisiblePosition.h:
4773        (WebCore::VisiblePosition::rootEditableElement): Added for convenience.
4774
47752006-04-16  Mitz Pettel  <opendarwin.org@mitzpettel.com>
4776
4777        Reviewed by Darin.
4778
4779        - fix http://bugs.webkit.org/show_bug.cgi?id=8408
4780          Paint the highlight behind selected list markers
4781
4782        Test: fast/lists/markers-in-selection.html
4783
4784        * rendering/RenderObject.h: Added selectionColorImageOverlayAlpha constant -
4785        the maximum opacity of the selection color when painted over images.
4786        * rendering/render_list.cpp:
4787        (WebCore::RenderListMarker::RenderListMarker):
4788        (WebCore::RenderListMarker::paint): Paint the selection highlight
4789        if selected: over the marker for image markers, under the marker for all other
4790        markers.
4791        (WebCore::RenderListMarker::setSelectionState): Added.
4792        (WebCore::RenderListMarker::selectionRect): Added.
4793        (WebCore::RenderListMarker::selectionColor): Added. Ensures that the selection
4794        color is transparent for image markers.
4795        * rendering/render_list.h:
4796        (WebCore::RenderListMarker::selectionState):
4797        (WebCore::RenderListMarker::canBeSelectionLeaf):
4798        * rendering/render_replaced.cpp
4799        (WebCore::RenderReplaced::selectionColor): Changed to use the selectionColorImageOverlayAlpha
4800        constant.
4801
48022006-04-16  Mitz Pettel  <opendarwin.org@mitzpettel.com>
4803
4804        Reviewed by Darin.
4805
4806        - fix http://bugs.webkit.org/show_bug.cgi?id=8420
4807          iExploder(#12): Assertion failure in RenderContainer::removeChildNode
4808
4809        Test: fast/forms/button-inner-block-reuse.html
4810
4811        Buttons have a distinguished anonymous child that holds all their other
4812        descendants. Descendants ended up in a sibling anonymous block as the
4813        initial anonymous child was being reused to hold the initial part of an
4814        inline that got split.
4815
4816        * rendering/RenderInline.cpp:
4817        (WebCore::RenderInline::splitFlow): Check if the anonymous block's parent
4818        allows us to reuse it.
4819        * rendering/RenderObject.h:
4820        (WebCore::RenderObject::allowsReusingAnonymousChild): Added. Returns true.
4821        * rendering/render_button.h:
4822        (WebCore::RenderButton::allowsReusingAnonymousChild): Added. Returns false.
4823
48242006-04-16  Mitz Pettel  <opendarwin.org@mitzpettel.com>
4825
4826        Reviewed by Justin.
4827
4828        - fix http://bugs.webkit.org/show_bug.cgi?id=8394
4829          Editable region does not accept dropped text if there is no selection
4830
4831        Test: editing/pasteboard/drop-text-without-selection.html
4832
4833        * bridge/mac/WebCoreFrameBridge.mm:
4834        (-[WebCoreFrameBridge documentFragmentWithText:]): Changed to allow
4835        creating a fragment regardless of the selection.
4836
48372006-04-16  Mitz Pettel  <opendarwin.org@mitzpettel.com>
4838
4839        Reviewed by Darin.
4840
4841        - WebCore part of fix for http://bugs.webkit.org/show_bug.cgi?id=8324
4842          REGRESSION: textarea :focus not applied immediately
4843
4844        * bridge/mac/WebCoreFrameBridge.h:
4845        * kwq/KWQComboBox.mm:
4846        (-[KWQPopUpButton becomeFirstResponder]): Added call to formControlIsBecomingFirstResponder:.
4847        (-[KWQPopUpButton resignFirstResponder]): Cleaned up.
4848        * kwq/KWQListBox.mm: Ditto.
4849        (-[KWQTableView becomeFirstResponder]):
4850        (-[KWQTableView resignFirstResponder]):
4851        * kwq/KWQSlider.mm:
4852        (-[KWQSlider becomeFirstResponder]): Added call to formControlIsBecomingFirstResponder: and
4853        cleaned up.
4854        (-[KWQSlider resignFirstResponder]): Cleaned up.
4855        * platform/mac/WebCoreTextArea.mm:
4856        (-[WebCoreTextView becomeFirstResponder]): Added call to formControlIsBecomingFirstResponder:.
4857        (-[WebCoreTextView resignFirstResponder]): Cleaned up.
4858        * platform/mac/WebCoreTextField.mm:
4859        (-[KWQTextFieldController setHasFocus:]): Added call to formControlIsBecomingFirstResponder:.
4860        * manual-tests/textarea-focus.html: Added.
4861
48622006-04-16  Darin Adler  <darin@apple.com>
4863
4864        Reviewed by Adele and Justin.
4865
4866        - fix http://bugs.webkit.org/show_bug.cgi?id=8298
4867          REGRESSION: Crash occurs when attempting to drag selection into
4868          Depart/Return input fields at http://www.travelocity.com/
4869        - remove the mutation event listener that's installed all the time,
4870          since it slows things down a bit
4871
4872        Calling SelectionController::nodeWillBeRemoved from Document::notifyBeforeNodeRemoval
4873        fixes the crash, which was happening because the call that was removing the text
4874        node, removeChildren, does not send a "node removed" mutation event (it sends a
4875        "subtree modified" mutation event instead). So this change alone fixes the crash.
4876
4877        But I also changed setInnerText to not blow away the text node each time the value
4878        is changed, and that makes the test case behave even better -- you don't even lose
4879        the selection; it works as it did with the NSTextField-based text field.
4880
4881        * manual-tests/input-empty-on-focus.html: Added.
4882
4883        * page/Frame.h: Tweaked a few comments and functions related to selection.
4884        * page/Frame.cpp: (WebCore::Frame::dragCaret): Made non-const.
4885
4886        * dom/Document.cpp: (WebCore::Document::notifyBeforeNodeRemoval):
4887        Call nodeWillBeRemoved on the two selection controllers before removing
4888        a node from the document.
4889
4890        * editing/SelectionController.h: Tweak formatting. Remove MutationListener
4891        class and m_mutationListener field.
4892        * editing/SelectionController.cpp:
4893        (WebCore::SelectionController::SelectionController): Remove code to set up
4894        the mutation event listener.
4895        (WebCore::SelectionController::setSelection): Remove code to maintain the
4896        mutation event listener.
4897
4898        * html/HTMLElement.cpp:
4899        (WebCore::HTMLElement::setInnerHTML): In cases where the container has only a
4900        single child use replaceChild, and in cases where the HTML being inserted
4901        also has only a single child and both are text nodes use setData. It's common
4902        to use setInnerHTML to set something that's just text.
4903        (WebCore::HTMLElement::setInnerText): Same as above, but simpler since the
4904        thing we're replacing with is always text.
4905
49062006-04-16  Kevin Ollivier  <kevino@theolliviers.com>
4907
4908        Reviewed by Darin.
4909
4910        - fix http://bugs.webkit.org/show_bug.cgi?id=8417
4911          make-css-file-arrays.pl hangs when run on Linux
4912
4913        * css/make-css-file-arrays.pl: Remove the "-" parameter from the invocation of cpp,
4914        which means "send output to stdout". It's optional on Mac OS X, and is causing a
4915        hang on Linux.
4916        * rendering/RenderArena.cpp: Added a missing include of <assert.h>.
4917
49182006-04-15  Darin Adler  <darin@apple.com>
4919
4920        - removed references to a couple files that are obsolete
4921          but were still in the Windows project file
4922
4923        * WebCore.vcproj/WebCore/WebCore.vcproj: Remove kjs_views.h and .cpp.
4924
49252006-04-15  Mitz Pettel  <opendarwin.org@mitzpettel.com>
4926
4927        Reviewed by Maciej.
4928
4929        - fix http://bugs.webkit.org/show_bug.cgi?id=8405
4930          REGRESSION: Web Inspector's Style pane is blank
4931
4932        * bindings/js/kjs_window.cpp:
4933        (KJS::Window::isSafeScript): Use isEmpty() instead of isNull() for checking
4934        the domain to determine if the document in a local file.
4935
49362006-04-14  David Hyatt  <hyatt@apple.com>
4937
4938        CSS vendor-specific property/value cleanup.  Properly qualify background-clip,
4939        background-origin, border-image and the border-radius properties.  Make sure
4940        our overflow extensions of marquee and overlay are qualified as well.  Rename
4941        the -khtml- extension to -webkit.
4942
4943        Reviewed by beth
4944
4945        * bindings/js/kjs_css.cpp:
4946        (KJS::cssPropertyName):
4947        * bindings/objc/DOMCSS.mm:
4948        (-[DOMCSSStyleDeclaration _fontSizeDelta]):
4949        (-[DOMCSSStyleDeclaration _setFontSizeDelta:]):
4950        * bindings/objc/DOMHTML.mm:
4951        (-[DOMHTMLInputElement _setAutofilled:]):
4952        * bridge/mac/FrameMac.h:
4953        * bridge/mac/FrameMac.mm:
4954        * css/CSSComputedStyleDeclaration.cpp:
4955        (WebCore::):
4956        (WebCore::valueForTextAlign):
4957        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
4958        * css/CSSGrammar.y:
4959        * css/CSSPropertyNames.in:
4960        * css/CSSValueKeywords.in:
4961        * css/css_base.cpp:
4962        (WebCore::CSSSelector::extractPseudoType):
4963        * css/css_valueimpl.cpp:
4964        (WebCore::):
4965        * css/css_valueimpl.h:
4966        * css/cssparser.cpp:
4967        (WebCore::CSSParser::parseRule):
4968        (WebCore::CSSParser::parseValue):
4969        (WebCore::CSSParser::parseColor):
4970        (WebCore::CSSParser::parseDeclaration):
4971        (WebCore::CSSParser::parseBackgroundShorthand):
4972        (WebCore::CSSParser::parseBackgroundColor):
4973        (WebCore::CSSParser::parseBackgroundProperty):
4974        (WebCore::CSSParser::parseFontFamily):
4975        (WebCore::CSSParser::parseShadow):
4976        * css/cssstyleselector.cpp:
4977        (WebCore::CSSStyleSelector::applyDeclarations):
4978        (WebCore::CSSStyleSelector::applyProperty):
4979        (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
4980        * css/cssstyleselector.h:
4981        * css/html4.css:
4982        * css/quirks.css:
4983        * css/tokenizer.flex:
4984        * editing/ApplyStyleCommand.cpp:
4985        (WebCore::StyleChange::init):
4986        (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
4987        (WebCore::ApplyStyleCommand::removeInlineStyle):
4988        * editing/CompositeEditCommand.cpp:
4989        (WebCore::blockPlaceholderClassString):
4990        * editing/JSEditor.cpp:
4991        * editing/ReplaceSelectionCommand.cpp:
4992        (WebCore::ReplaceSelectionCommand::fixupNodeStyles):
4993        (WebCore::styleForNode):
4994        * editing/htmlediting.cpp:
4995        (WebCore::rebalanceWhitespaceInTextNode):
4996        * html/HTMLElement.cpp:
4997        (WebCore::HTMLElement::addHTMLAlignment):
4998        (WebCore::HTMLElement::setContentEditable):
4999        * html/html_blockimpl.cpp:
5000        (WebCore::HTMLDivElement::parseMappedAttribute):
5001        (WebCore::HTMLParagraphElement::parseMappedAttribute):
5002        (WebCore::HTMLMarqueeElement::parseMappedAttribute):
5003        * html/html_inlineimpl.cpp:
5004        (WebCore::HTMLFontElement::parseMappedAttribute):
5005        * html/html_tableimpl.cpp:
5006        (WebCore::HTMLTablePartElement::parseMappedAttribute):
5007        (WebCore::HTMLTableCellElement::parseMappedAttribute):
5008        * page/Frame.cpp:
5009        (WebCore::Frame::canMouseDownStartSelect):
5010        * page/Frame.h:
5011        * rendering/RenderObject.cpp:
5012        (WebCore::RenderObject::draggableNode):
5013
50142006-04-14  Eric Seidel  <eseidel@apple.com>
5015
5016        Reviewed by beth.
5017
5018        Fix win32 build.
5019
5020        * WebCore.vcproj/WebCore/WebCore.vcproj:
5021        * page/FramePrivate.h:
5022
50232006-04-04  Eric Seidel  <eseidel@apple.com>
5024
5025        Reviewed by darin.
5026
5027        Fix build-warnings in cairo code.
5028        http://bugs.webkit.org/show_bug.cgi?id=8176
5029
5030        * platform/cairo/cairo/src/cairo-win32-surface.c:
5031        (_cairo_win32_print_gdi_error):
5032        (_cairo_win32_surface_create_for_dc):
5033        (_composite_alpha_blend):
5034        (cairo_win32_surface_create):
5035        * platform/cairo/pixman/src/iccolor.c:
5036        (pixman_pixel_to_color):
5037
50382006-04-14  David Hyatt  <hyatt@apple.com>
5039
5040        Fix for 8333, make sure newlines in whitespace:pre (and friends) get
5041        line boxes created for them.  This resolves all the weird selection/navigation
5042        issues that arise by not creating lines (and thus not having navigable positions
5043        on those lines).
5044
5045        This checkin is also removing all of the layout test hacks that have piled
5046        up, so layout test results are being regenerated completely.
5047
5048        Reviewed by eric
5049
5050        * dom/Position.cpp:
5051        (WebCore::Position::downstream):
5052        * editing/CompositeEditCommand.cpp:
5053        (WebCore::CompositeEditCommand::moveParagraph):
5054        * editing/DeleteSelectionCommand.cpp:
5055        (WebCore::DeleteSelectionCommand::doApply):
5056        * editing/visible_units.cpp:
5057        (WebCore::startOfParagraph):
5058        (WebCore::endOfParagraph):
5059        * kwq/RenderTreeAsText.cpp:
5060        (getTagName):
5061        (operator<<):
5062        * rendering/InlineTextBox.cpp:
5063        (WebCore::InlineTextBox::selectionState):
5064        (WebCore::InlineTextBox::isLineBreak):
5065        (WebCore::InlineTextBox::nodeAtPoint):
5066        (WebCore::InlineTextBox::paint):
5067        (WebCore::InlineTextBox::offsetForPosition):
5068        (WebCore::InlineTextBox::positionForOffset):
5069        * rendering/InlineTextBox.h:
5070        * rendering/RenderBR.cpp:
5071        * rendering/RenderBR.h:
5072        * rendering/RenderText.cpp:
5073        (WebCore::RenderText::atLineWrap):
5074        (WebCore::RenderText::caretRect):
5075        (WebCore::RenderText::height):
5076        (WebCore::RenderText::inlineBox):
5077        * rendering/bidi.cpp:
5078        (WebCore::RenderBlock::computeHorizontalPositionsForLine):
5079        (WebCore::RenderBlock::layoutInlineChildren):
5080        (WebCore::RenderBlock::findNextLineBreak):
5081        * rendering/render_line.h:
5082        (WebCore::InlineBox::isLineBreak):
5083
50842006-04-13  Darin Adler  <darin@apple.com>
5085
5086        Reviewed by Geoff.
5087
5088        - moved a few things out of kwq and cleaned up the
5089          Java-applet-related renderers
5090
5091        * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for file location
5092        and name changes.
5093        * WebCore.xcodeproj/project.pbxproj: Ditto.
5094
5095        * kwq/JavaAppletWidget.h: Moved.
5096        * kwq/JavaAppletWidget.mm: Moved.
5097        * kwq/RegularExpression.cpp: Moved.
5098        * kwq/RegularExpression.h: Moved.
5099        * kwq/RenderTreeAsText.cpp: Moved.
5100        * kwq/RenderTreeAsText.h: Moved.
5101        * rendering/render_applet.cpp: Moved.
5102        * rendering/render_applet.h: Moved.
5103
5104        * bridge/JavaAppletWidget.h: Moved here.
5105        * bridge/mac/JavaAppletWidget.mm: Moved here.
5106        * platform/RegularExpression.cpp: Moved here.
5107        * platform/RegularExpression.h: Moved here.
5108        * rendering/RenderTreeAsText.cpp: Moved here.
5109        * rendering/RenderTreeAsText.h: Moved here.
5110
5111        * rendering/RenderApplet.h: Moved here and made changes.
5112        Removed unused element() function.
5113        * rendering/RenderApplet.cpp: Moved here and made changes.
5114        (WebCore::RenderApplet::RenderApplet): Changed parameter type to
5115        be more precise (HTMLAppletElement).
5116        (WebCore::RenderApplet::intrinsicWidth): Removed unnecessary type
5117        cast and simplified.
5118        (WebCore::RenderApplet::intrinsicHeight): Ditto.
5119        (WebCore::RenderApplet::createWidgetIfNecessary): Straightened out
5120        the if statements and changed to use node() instead of element().
5121        (WebCore::RenderApplet::layout): Removed unneeded check before
5122        calling createWidgetIfNecessary.
5123
5124        * rendering/RenderEmptyApplet.h: Moved here and made changes.
5125        Removed unneeded overrides of intrinsicWidth and intrinsicHeight.
5126        * rendering/RenderEmptyApplet.cpp: Moved here and made changes.
5127        (WebCore::RenderEmptyApplet::RenderEmptyApplet): Added code to
5128        set the intrinsic width and height.
5129
5130        * rendering/render_replaced.cpp:
5131        (WebCore::RenderWidget::RenderWidget): Initialize m_widget
5132        with contructor syntax.
5133        (WebCore::RenderWidget::paint): Changed _tx and _ty to be just
5134        tx and ty. Rearranged the code so the transparent wash will draw
5135        even if m_widget is 0.
5136
5137        * html/html_objectimpl.cpp: Update includes for new file names.
5138
51392006-04-12  Geoffrey Garen  <ggaren@apple.com>
5140
5141        Reviewed by Darin.
5142
5143        - Fixed <rdar://problem/4478467> document.defaultView should return
5144        the window object
5145
5146        Also made part of the window object autogenerated by IDL file.
5147
5148        * DerivedSources.make: Added /page to IDL file search path, added
5149        JSDOMWindow.h, removed kjs_views.lut.h
5150        * WebCore.xcodeproj/project.pbxproj: Added missing files, removed
5151        obsolete files
5152        * bindings/js/kjs_dom.cpp:
5153        * bindings/js/kjs_events.cpp:
5154        * bindings/js/kjs_proxy.cpp:
5155        (WebCore::KJSProxy::initScriptIfNeeded):
5156        * bindings/js/kjs_views.cpp: Removed.
5157        * bindings/js/kjs_views.h: Removed.
5158        * bindings/js/kjs_window.cpp: Removed document property -- it now
5159        belongs to JSDOMWindow. Added toJS and toDOMWindow.
5160        (KJS::Window::Window):
5161        (KJS::Window::impl):
5162        (KJS::Window::getValueProperty):
5163        (KJS::Window::clear): Added call to setPrototype to ensure
5164        that the prototype gets cleared during navigation. (Previously
5165        this wasn't an issue because the window object had no real prototype.)
5166        (WebCore::toJS):
5167        (WebCore::toDOMWindow):
5168        * bindings/js/kjs_window.h:
5169        (KJS::Window::):
5170        * bindings/objc/DOMCSS.mm: Added NULL checks for the AbstractView
5171        (Presumably this is an issue after the window is closed.) Typedef-ed
5172        AbstractView as DOMWindow. I could have just replaced AbstractView
5173        with DOMWindow, but I think it's clearer to say, "There's this thing
5174        called the AbstractView, but really it's just the window."
5175        (-[DOMDocument getComputedStyle::]):
5176        (-[DOMDocument getMatchedCSSRules::]):
5177        * bindings/objc/DOMViews.mm:
5178        * bindings/objc/DOMViewsInternal.h:
5179        * bindings/scripts/CodeGeneratorJS.pm: Removed unused
5180        GetLegacyImplementationIncludes. Added support for DOMWindow and new
5181        "DoNotCache" attribute. Replaced C macros with text because (1) it
5182        makes the generated source easier to read and debug and (2) it made
5183        it much easier to implement the DoNotCache attribute.
5184        * bindings/scripts/IDLParser.pm: Return a hash reference instead of
5185        a hash, because otherwise an interface with more than one attribute
5186        returns too many arguments to be processed.
5187        * bridge/mac/FrameMac.mm:
5188        * dom/AbstractView.cpp: Removed.
5189        * dom/AbstractView.h: Removed.
5190        * dom/Document.cpp:
5191        (WebCore::Document::Document):
5192        (WebCore::Document::defaultView):
5193        * dom/Document.h:
5194        * dom/Document.idl:
5195        * dom/KeyboardEvent.idl:
5196        * dom/MouseEvent.idl:
5197        * dom/Position.cpp:
5198        * dom/UIEvent.idl:
5199        * dom/dom2_eventsimpl.h:
5200        * page/DOMWindow.cpp: Added.
5201        (WebCore::DOMWindow::DOMWindow):
5202        (WebCore::DOMWindow::frame):
5203        (WebCore::DOMWindow::disconnectFrame):
5204        (WebCore::DOMWindow::document):
5205        (WebCore::DOMWindow::getComputedStyle):
5206        (WebCore::DOMWindow::getMatchedCSSRules):
5207        * page/DOMWindow.h: Added.
5208        * page/DOMWindow.idl: Added.
5209        * page/Frame.cpp:
5210        (WebCore::Frame::~Frame): Disconnect the new DOMWindow object in
5211        addition to the Window object. Maybe we can unify this in the future.
5212        (WebCore::Frame::tree):
5213        (WebCore::Frame::domWindow):
5214        * page/Frame.h:
5215        * page/FramePrivate.h:
5216
52172006-04-13  Alexey Proskuryakov  <ap@nypop.com>
5218
5219        Reviewed by Darin.
5220
5221        - fix http://bugs.webkit.org/show_bug.cgi?id=7602
5222        Only use fixupChar for entities
5223
5224        * html/HTMLTokenizer.cpp: Only use fixUpChar() when handling entities.
5225        (WebCore::HTMLTokenizer::parseSpecial):
5226        (WebCore::HTMLTokenizer::parseText):
5227        (WebCore::HTMLTokenizer::parseTag):
5228        (WebCore::HTMLTokenizer::write):
5229        * platform/StreamingTextDecoder.cpp:
5230        (WebCore::StreamingTextDecoder::convert): Remove the special case for Latin-1, because it is already handled
5231        via effectiveEncoding().
5232        * platform/StreamingTextDecoder.h: Remove convertLatin1().
5233
52342006-04-13  Darin Adler  <darin@apple.com>
5235
5236        * platform/mac/GraphicsContextMac.mm: Fix one no-SVG compile problem by adding
5237        a "using namespace std".
5238
52392006-04-12  Darin Adler  <darin@apple.com>
5240
5241        Rubber-stamped by Anders.
5242
5243        - fix Windows build
5244
5245        * WebCore.vcproj/Image\ Viewer/Image\ Viewer.vcproj: Add loader directory.
5246
5247        - use std::min/max exclusively intead of kMin/Max
5248        - eliminate KWQDef.h since all it had left in it was kMin/Max
5249
5250        * WebCore.vcproj/WebCore/WebCore.vcproj: Remove KWQDef.h.
5251        * WebCore.xcodeproj/project.pbxproj: Ditto.
5252
5253        * kwq/KWQDef.h: Removed.
5254
5255        * bridge/mac/FrameMac.mm:
5256        (WebCore::FrameMac::attributedString):
5257        * bridge/mac/WebCoreFrameBridge.mm:
5258        (-[WebCoreFrameBridge computePageRectsWithPrintWidthScaleFactor:printHeight:]):
5259        * css/cssstyleselector.cpp:
5260        (WebCore::CSSStyleSelector::applyProperty):
5261        (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize):
5262        (WebCore::CSSStyleSelector::fontSizeForKeyword):
5263        * dom/Document.cpp:
5264        (WebCore::Document::minimumLayoutDelay):
5265        (WebCore::Document::addMarker):
5266        * dom/StyledElement.cpp:
5267        (WebCore::StyledElement::addCSSColor):
5268        * dom/xml_tokenizer.cpp:
5269        (WebCore::OffsetBuffer::readOutBytes):
5270        * editing/ApplyStyleCommand.cpp:
5271        (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
5272        * editing/CompositeEditCommand.cpp:
5273        (WebCore::CompositeEditCommand::deleteInsignificantText):
5274        * editing/TextIterator.cpp:
5275        (WebCore::TextIterator::handleTextNode):
5276        (WebCore::TextIterator::handleTextBox):
5277        (WebCore::CharacterIterator::string):
5278        (WebCore::findPlainText):
5279        * editing/htmlediting.cpp:
5280        (WebCore::rangeCompliantEquivalent):
5281        * editing/markup.cpp:
5282        (WebCore::renderedText):
5283        * editing/visible_units.cpp:
5284        (WebCore::startOfParagraph):
5285        * html/HTMLSelectElement.cpp:
5286        (WebCore::HTMLSelectElement::parseMappedAttribute):
5287        * html/HTMLTokenizer.cpp:
5288        (WebCore::HTMLTokenizer::parseComment):
5289        (WebCore::HTMLTokenizer::parseEntity):
5290        (WebCore::HTMLTokenizer::parseTag):
5291        (WebCore::HTMLTokenizer::enlargeBuffer):
5292        (WebCore::HTMLTokenizer::enlargeScriptBuffer):
5293        * html/html_imageimpl.cpp:
5294        (WebCore::HTMLAreaElement::getRegion):
5295        * html/html_tableimpl.cpp:
5296        (WebCore::HTMLTableElement::parseMappedAttribute):
5297        * ksvg2/css/SVGCSSParser.cpp:
5298        (WebCore::CSSParser::parseSVGPaint):
5299        (WebCore::CSSParser::parseSVGColor):
5300        * kwq/KWQComboBox.mm:
5301        (QComboBox::sizeHint):
5302        * kwq/KWQListBox.mm:
5303        (QListBox::sizeForNumberOfLines):
5304        * kwq/KWQSlider.mm:
5305        (QSlider::setValue):
5306        * loader/Cache.cpp:
5307        (WebCore::Cache::setSize):
5308        * page/Frame.cpp:
5309        (WebCore::Frame::forceLayoutWithPageWidthRange):
5310        * platform/DeprecatedPtrListImpl.h:
5311        * platform/DeprecatedString.cpp:
5312        (ucstrcmp):
5313        * platform/DeprecatedString.h:
5314        * platform/DeprecatedValueListImpl.h:
5315        * platform/mac/GraphicsContextMac.mm:
5316        (WebCore::GraphicsContext::addRoundedRectClip):
5317        * platform/mac/WebCoreTextArea.mm:
5318        (-[WebCoreTextView _trackResizeFromMouseDown:]):
5319        * rendering/InlineTextBox.cpp:
5320        (WebCore::InlineTextBox::isSelected):
5321        (WebCore::InlineTextBox::selectionRect):
5322        (WebCore::InlineTextBox::placeEllipsisBox):
5323        (WebCore::InlineTextBox::selectionStartEnd):
5324        (WebCore::InlineTextBox::paintMarkedTextBackground):
5325        (WebCore::InlineTextBox::paintSpellingMarker):
5326        (WebCore::InlineTextBox::paintTextMatchMarker):
5327        (WebCore::InlineTextBox::paintMarkedTextUnderline):
5328        * rendering/RenderBlock.cpp:
5329        (WebCore::RenderBlock::overflowRect):
5330        (WebCore::RenderBlock::layoutBlock):
5331        (WebCore::RenderBlock::collapseMargins):
5332        (WebCore::RenderBlock::clearFloatsIfNeeded):
5333        (WebCore::RenderBlock::estimateVerticalPosition):
5334        (WebCore::RenderBlock::determineHorizontalPosition):
5335        (WebCore::RenderBlock::setCollapsedBottomMargin):
5336        (WebCore::RenderBlock::handleBottomOfBlock):
5337        (WebCore::RenderBlock::layoutBlockChildren):
5338        (WebCore::RenderBlock::fillVerticalSelectionGap):
5339        (WebCore::RenderBlock::fillLeftSelectionGap):
5340        (WebCore::RenderBlock::fillRightSelectionGap):
5341        (WebCore::RenderBlock::positionNewFloats):
5342        (WebCore::RenderBlock::nearestFloatBottom):
5343        (WebCore::RenderBlock::lowestPosition):
5344        (WebCore::RenderBlock::rightmostPosition):
5345        (WebCore::RenderBlock::leftmostPosition):
5346        (WebCore::RenderBlock::getClearDelta):
5347        (WebCore::RenderBlock::calcMinMaxWidth):
5348        (WebCore::RenderBlock::calcInlineMinMaxWidth):
5349        (WebCore::RenderBlock::calcBlocminMaxWidth):
5350        * rendering/RenderBlock.h:
5351        * rendering/RenderBox.cpp:
5352        (WebCore::RenderBox::calcBorderBoxWidth):
5353        (WebCore::RenderBox::calcBorderBoxHeight):
5354        (WebCore::RenderBox::calcContentBoxWidth):
5355        (WebCore::RenderBox::calcContentBoxHeight):
5356        (WebCore::RenderBox::paintRootBoxDecorations):
5357        (WebCore::RenderBox::paintBoxDecorations):
5358        (WebCore::RenderBox::calcWidth):
5359        (WebCore::RenderBox::calcWidthUsing):
5360        (WebCore::RenderBox::calcHeight):
5361        (WebCore::RenderBox::calcPercentageHeight):
5362        (WebCore::RenderBox::calcReplacedWidth):
5363        (WebCore::RenderBox::calcReplacedHeight):
5364        (WebCore::RenderBox::calcAbsoluteHorizontalValues):
5365        (WebCore::RenderBox::calcAbsoluteVerticalValues):
5366        * rendering/RenderCanvas.cpp:
5367        (WebCore::RenderCanvas::layout):
5368        * rendering/RenderFlexibleBox.cpp:
5369        (WebCore::RenderFlexibleBox::calcMinMaxWidth):
5370        (WebCore::RenderFlexibleBox::layoutHorizontalBox):
5371        (WebCore::RenderFlexibleBox::layoutVerticalBox):
5372        (WebCore::RenderFlexibleBox::allowedChildFlex):
5373        * rendering/RenderFlow.cpp:
5374        (WebCore::RenderFlow::paintLines):
5375        (WebCore::RenderFlow::lowestPosition):
5376        (WebCore::RenderFlow::rightmostPosition):
5377        (WebCore::RenderFlow::leftmostPosition):
5378        (WebCore::RenderFlow::paintOutlineForLine):
5379        * rendering/RenderImage.cpp:
5380        (WebCore::RenderImage::imageChanged):
5381        (WebCore::RenderImage::calcReplacedWidth):
5382        (WebCore::RenderImage::calcReplacedHeight):
5383        * rendering/RenderLayer.cpp:
5384        (WebCore::RenderLayer::scrollRectToVisible):
5385        (WebCore::RenderLayer::computeScrollDimensions):
5386        (WebCore::RenderLayer::updateScrollInfoAfterLayout):
5387        (WebCore::RenderLayer::absoluteBoundingBox):
5388        (WebCore::Marquee::marqueeSpeed):
5389        (WebCore::Marquee::computePosition):
5390        (WebCore::Marquee::timerFired):
5391        * rendering/RenderObject.cpp:
5392        (WebCore::RenderObject::drawBorder):
5393        (WebCore::RenderObject::paintBorderImage):
5394        (WebCore::RenderObject::paintBorder):
5395        (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
5396        * rendering/RenderTable.cpp:
5397        (WebCore::RenderTable::calcWidth):
5398        (WebCore::RenderTable::layout):
5399        (WebCore::RenderTable::paintBoxDecorations):
5400        * rendering/RenderTableCell.cpp:
5401        (WebCore::RenderTableCell::paintBackgroundsBehindCell):
5402        * rendering/RenderTableSection.cpp:
5403        (WebCore::RenderTableSection::layoutRows):
5404        (WebCore::RenderTableSection::lowestPosition):
5405        (WebCore::RenderTableSection::rightmostPosition):
5406        (WebCore::RenderTableSection::leftmostPosition):
5407        * rendering/RenderText.cpp:
5408        (WebCore::RenderText::caretRect):
5409        (WebCore::RenderText::calcMinMaxWidth):
5410        (WebCore::RenderText::minXPos):
5411        (WebCore::RenderText::width):
5412        (WebCore::RenderText::caretMinOffset):
5413        (WebCore::RenderText::caretMaxOffset):
5414        * rendering/bidi.cpp:
5415        (WebCore::RenderBlock::computeHorizontalPositionsForLine):
5416        (WebCore::RenderBlock::layoutInlineChildren):
5417        (WebCore::RenderBlock::checkLinesForOverflow):
5418        * rendering/render_form.cpp:
5419        (WebCore::RenderLineEdit::setSelectionStart):
5420        (WebCore::RenderLineEdit::setSelectionEnd):
5421        (WebCore::RenderLineEdit::setSelectionRange):
5422        (WebCore::RenderFieldset::layoutLegend):
5423        (WebCore::RenderFieldset::paintBoxDecorations):
5424        (WebCore::RenderSelect::layout):
5425        (WebCore::RenderTextArea::calcMinMaxWidth):
5426        (WebCore::RenderSlider::updateFromElement):
5427        * rendering/render_frames.cpp:
5428        (WebCore::RenderFrameSet::layout):
5429        * rendering/render_line.cpp:
5430        (WebCore::InlineFlowBox::placeBoxesHorizontally):
5431        (WebCore::InlineFlowBox::verticallyAlignBoxes):
5432        (WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
5433        (WebCore::InlineFlowBox::placeBoxesVertically):
5434        (WebCore::InlineFlowBox::paintBackgroundAndBorder):
5435        * rendering/render_line.h:
5436        (WebCore::RootInlineBox::selectionHeight):
5437        * rendering/render_list.cpp:
5438        (WebCore::RenderListItem::positionListMarker):
5439        * rendering/render_replaced.cpp:
5440        (WebCore::RenderReplaced::shouldPaint):
5441        * rendering/table_layout.cpp:
5442        (WebCore::FixedTableLayout::calcMinMaxWidth):
5443        (WebCore::AutoTableLayout::recalcColumn):
5444        (WebCore::AutoTableLayout::calcMinMaxWidth):
5445        (WebCore::AutoTableLayout::calcEffectiveWidth):
5446        (WebCore::AutoTableLayout::layout):
5447        Use min/max instead of kMin/kMax.
5448
54492006-04-12  Darin Adler  <darin@apple.com>
5450
5451        Rubber-stamped by Anders.
5452
5453        - get ready for some more de-KWQ-ing done by the renaming script in two ways
5454            1) stop using forwarding headers for things within WebCore
5455            2) remove a bit of unused stuff
5456
5457        * loader/CachedImage.h:
5458        * loader/CachedImage.cpp:
5459        * loader/DocLoader.cpp:
5460        * loader/DocLoader.h:
5461        * page/Frame.cpp:
5462        * xml/XSLTProcessor.cpp:
5463        Removed unused showAnimations functions and data. We can add back later if we need it.
5464        And if we do, we won't use a typedef from KHTMLSettings.
5465
5466        * ForwardingHeaders/java: Removed.
5467        * ForwardingHeaders/java/kjavaappletwidget.h: Removed.
5468        * ForwardingHeaders/khtml_settings.h: Removed.
5469        * ForwardingHeaders/kio: Removed.
5470        * ForwardingHeaders/kio/global.h: Removed.
5471        * ForwardingHeaders/ksslkeygen.h: Removed.
5472        * ForwardingHeaders/q3ptrlist.h: Removed.
5473        * ForwardingHeaders/q3valuelist.h: Removed.
5474        * ForwardingHeaders/qcombobox.h: Removed.
5475        * ForwardingHeaders/qfontmetrics.h: Removed.
5476        * ForwardingHeaders/qlineedit.h: Removed.
5477        * ForwardingHeaders/qmatrix.h: Removed.
5478        * ForwardingHeaders/qptrlist.h: Removed.
5479        * ForwardingHeaders/qptrqueue.h: Removed.
5480        * ForwardingHeaders/qregexp.h: Removed.
5481        * ForwardingHeaders/qscrollbar.h: Removed.
5482        * ForwardingHeaders/qtextedit.h: Removed.
5483        * ForwardingHeaders/qtextstream.h: Removed.
5484        * ForwardingHeaders/qvaluelist.h: Removed.
5485        * ForwardingHeaders/qwmatrix.h: Removed.
5486
5487        * WebCore+SVG/DOMList.h:
5488        * bindings/js/kjs_dom.cpp:
5489        * bindings/js/kjs_dom.h:
5490        * bindings/js/kjs_window.cpp:
5491        * css/css_stylesheetimpl.h:
5492        * css/css_valueimpl.cpp:
5493        * css/css_valueimpl.h:
5494        * css/cssstyleselector.cpp:
5495        * dom/CharacterData.cpp:
5496        * dom/Document.cpp:
5497        * dom/Document.h:
5498        * dom/EventTargetNode.cpp:
5499        * dom/Node.cpp:
5500        * editing/BreakBlockquoteCommand.h:
5501        * editing/htmlediting.cpp:
5502        * html/FormDataList.h:
5503        * html/HTMLKeygenElement.cpp:
5504        * html/HTMLTokenizer.h:
5505        * html/html_objectimpl.cpp:
5506        * kcanvas/KCanvasFilters.cpp:
5507        * kcanvas/KCanvasMatrix.cpp:
5508        * kcanvas/KCanvasMatrix.h:
5509        * kcanvas/KCanvasPath.cpp:
5510        * kcanvas/KCanvasPath.h:
5511        * kcanvas/KCanvasResources.cpp:
5512        * kcanvas/KCanvasTreeDebug.h:
5513        * kcanvas/RenderForeignObject.h:
5514        * kcanvas/RenderPath.h:
5515        * kcanvas/RenderSVGImage.h:
5516        * kcanvas/RenderSVGText.h:
5517        * kcanvas/device/KRenderingPaintServerGradient.cpp:
5518        * kcanvas/device/KRenderingPaintServerPattern.cpp:
5519        * kcanvas/device/KRenderingPaintServerSolid.cpp:
5520        * kcanvas/device/quartz/KCanvasItemQuartz.h:
5521        * kcanvas/device/quartz/KCanvasResourcesQuartz.h:
5522        * ksvg2/svg/SVGColor.cpp:
5523        * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
5524        * ksvg2/svg/SVGDocument.h:
5525        * ksvg2/svg/SVGFEBlendElement.cpp:
5526        * ksvg2/svg/SVGFEColorMatrixElement.cpp:
5527        * ksvg2/svg/SVGFEComponentTransferElement.cpp:
5528        * ksvg2/svg/SVGFECompositeElement.cpp:
5529        * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
5530        * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
5531        * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
5532        * ksvg2/svg/SVGFELightElement.cpp:
5533        * ksvg2/svg/SVGFEMergeElement.cpp:
5534        * ksvg2/svg/SVGFEOffsetElement.cpp:
5535        * ksvg2/svg/SVGFESpecularLightingElement.cpp:
5536        * ksvg2/svg/SVGFETileElement.cpp:
5537        * ksvg2/svg/SVGFETurbulenceElement.cpp:
5538        * ksvg2/svg/SVGFitToViewBox.cpp:
5539        * ksvg2/svg/SVGLengthList.cpp:
5540        * ksvg2/svg/SVGMatrix.h:
5541        * ksvg2/svg/SVGNumberList.cpp:
5542        * ksvg2/svg/SVGPreserveAspectRatio.cpp:
5543        * ksvg2/svg/SVGSVGElement.cpp:
5544        * ksvg2/svg/SVGStringList.cpp:
5545        * ksvg2/svg/SVGStyledElement.h:
5546        * ksvg2/svg/SVGStyledTransformableElement.cpp:
5547        * ksvg2/svg/SVGTransformable.cpp:
5548        * ksvg2/svg/SVGURIReference.h:
5549        * ksvg2/svg/svgpathparser.cpp:
5550        * kwq/KWQKHTMLSettings.h:
5551        * loader/Cache.h:
5552        * loader/CachedObject.h:
5553        * loader/Decoder.cpp:
5554        * loader/FormData.h:
5555        * loader/loader.h:
5556        * page/Frame.h:
5557        * page/FramePrivate.h:
5558        * platform/Font.cpp:
5559        * platform/SegmentedString.h:
5560        * platform/mac/FontMac.mm:
5561        * platform/mac/WebCoreTextField.mm:
5562        * rendering/RenderBlock.cpp:
5563        * rendering/RenderObject.cpp:
5564        * rendering/RenderTable.cpp:
5565        * rendering/RenderTableCell.cpp:
5566        * rendering/RenderTableCol.cpp:
5567        * rendering/RenderTableSection.cpp:
5568        * rendering/bidi.h:
5569        * rendering/break_lines.cpp:
5570        * rendering/render_applet.cpp:
5571        * rendering/render_form.cpp:
5572        * rendering/render_form.h:
5573        * rendering/render_frames.cpp:
5574        * rendering/render_style.h:
5575        * xml/xmlhttprequest.cpp:
5576        Updated includes.
5577
5578        * WebCore.xcodeproj/project.pbxproj: Resorted a couple things.
5579
55802006-04-12  Adele Peterson  <adele@apple.com>
5581
5582        Reviewed by Darin and Tim O.
5583
5584        WebCore part of fix for:
5585        http://bugs.webkit.org/show_bug.cgi?id=8061
5586        REGRESSION: New text fields need to send callbacks used by autocomplete
5587
5588        Fix for:
5589        http://bugs.webkit.org/show_bug.cgi?id=8156
5590        FrameMac::submitForm is busted after Vector changes
5591
5592        * bindings/objc/DOMHTML.mm:
5593        (-[DOMHTMLInputElement _rectOnScreen]): Use boundingBox method so this no longer relies on an NSTextField.
5594        The old code is no longer needed because this method was used by autocomplete, and that was not enabled for password or search fields.
5595        (-[DOMHTMLInputElement _replaceCharactersInRange:withString:selectingFromIndex:]): New implementation that uses setValue and setSelectionRange
5596        instead of NSTextField specific code.
5597        (-[DOMHTMLInputElement _selectedRange]): Creates range by calling selectionStart and selectionEnd on the input element.
5598        (-[DOMHTMLInputElement _setAutofilled:]): Provides a way for the autofill code to set a flag on the input element so
5599         it knows when its value is set by autofill.  This is how we change the background color.
5600        * bindings/objc/DOMPrivate.h: Removed _displayedValue, _setDisplayedValue, _setBackgroundColor since these are no
5601         longer needed for the new text field implementation, and aren't used for remaining NSView-style password and search fields.
5602         Added _setAutofilled method.
5603        * bridge/mac/FrameMac.h: Added virtual clearRecordedFormValues and recordFormValue.  These were moved into Frame.cpp recently, which broke
5604        how Safari asked to add form values to the keychain.
5605
5606        * bridge/mac/FrameMac.mm:
5607        (WebCore::createNSDictionary): Added. Converts a hashmap to an NSDictionary for m_formValuesAboutToBeSubmitted.  This is needed to fix the submit form bug.
5608        (WebCore::selectorForKeyEvent): Added.  This helper function converts key events into selectors that the autocomplete code needs to know about.
5609        (WebCore::FrameMac::FrameMac):
5610        (WebCore::FrameMac::submitForm): Convert saved form and formValues into DOMElement and NSMutableDictionary.
5611        (WebCore::FrameMac::textFieldDidBeginEditing): Added so the input element can send this notification over the bridge.
5612        (WebCore::FrameMac::textFieldDidEndEditing): ditto.
5613        (WebCore::FrameMac::textDidChangeInTextField): ditto.
5614        (WebCore::FrameMac::doTextFieldCommandFromEvent): ditto. Also calls selectorForKeyEvent.
5615        (WebCore::FrameMac::textWillBeDeletedInTextField): ditto.
5616        * page/Frame.cpp:
5617        (WebCore::Frame::textFieldDidBeginEditing): ditto.
5618        (WebCore::Frame::textFieldDidEndEditing): ditto.
5619        (WebCore::Frame::textDidChangeInTextField): ditto.
5620        (WebCore::Frame::doTextFieldCommandFromEvent): ditto.
5621        (WebCore::Frame::textWillBeDeletedInTextField): ditto.
5622        * page/Frame.h: ditto.
5623        * platform/PlatformString.h: (WebCore::String::replace): Added to use an existing version of StringImpl::replace.
5624
5625        * rendering/RenderTextField.cpp:
5626        (WebCore::RenderTextField::setSelectionRange): Setting the selection here should close the typing command.
5627        (WebCore::RenderTextField::subtreeHasChanged): Calls textDidChangeInTextField.
5628
5629        * dom/Document.cpp: (WebCore::Document::setFocusNode): Calls dispatchFocusEvent and dispatchBlurEvent instead of directly dispatching the events.  This gives the node a chance to do other work before dispatching the event.
5630
5631        * dom/EventTargetNode.cpp:
5632        (WebCore:: EventTargetNode::dispatchFocusEvent): Added.
5633        (WebCore:: EventTargetNode::dispatchBlurEvent): Added.
5634        * dom/EventTargetNode.h:
5635
5636        * html/HTMLInputElement.cpp:
5637        (WebCore::HTMLInputElement::init): initializes m_autofilled.
5638        (WebCore::HTMLInputElement::dispatchFocusEvent): Calls textFieldDidBeginEditing and then calls up to the base class
5639        (WebCore::HTMLInputElement::dispatchBlurEvent): Calls textFieldDidEndEditing and then calls up to the base class
5640        (WebCore::HTMLInputElement::defaultEventHandler): For keypress events, calls doTextFieldCommandFromEvent so the form delegate will
5641        have a chance to say whether or not it is going to handle the event.
5642       (WebCore::HTMLInputElement::isKeyboardFocusable): Uses isNonWidgetTextField instead of checking the inputType.
5643        (WebCore::HTMLInputElement::isMouseFocusable): ditto.
5644        (WebCore::HTMLInputElement::focus): ditto.
5645        (WebCore::HTMLInputElement::constrainValue): Uses isTextField instead of checking inputType.
5646        * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::submit): ditto.
5647        * html/HTMLInputElement.h:
5648        (WebCore::HTMLInputElement::isTextField): Added. Checks for TEXT, PASSWORD, and SEARCH
5649        (WebCore::HTMLInputElement::isNonWidgetTextField): Added.  Checks for all converted controls.
5650        (WebCore::HTMLInputElement::autofilled): Added.
5651        (WebCore::HTMLInputElement::setAutofilled): Added.
5652        * html/HTMLTextFieldInnerElement.cpp: (WebCore::HTMLTextFieldInnerElement::defaultEventHandler): Uses isNonWidgetTextField instead of checking the inputType.
5653
5654        * editing/DeleteSelectionCommand.cpp: (WebCore::DeleteSelectionCommand::doApply):
5655         If the deletion is occuring in a text field, call textWillBeDeletedInTextField so the frame can
5656         call across the bridge to notify the form delegate.
5657
5658        * css/css_base.cpp: (WebCore::CSSSelector::extractPseudoType): Added autofill string for "-khtml-autofill".
5659        * css/css_base.h: (WebCore::CSSSelector::): Added PseudoAutofill to enum.
5660        * css/cssstyleselector.cpp:
5661        (WebCore::CSSStyleSelector::checkOneSelector): Added case for PseudoAutofill that checks the input element's autofilled flag.
5662        (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): Changed  -webkit-focus-ring-color to -khtml-focus-ring-color for consistency.
5663        * css/html4.css: Added background-color and background-image for input:-khtml-autofill style.
5664         Changed -webkit-focus-ring-color to -khtml-focus-ring-color for consistency.
5665        * css/CSSValueKeywords.in: ditto.
5666        * css/cssparser.cpp:
5667        (WebCore::CSSParser::parseValue): ditto.
5668        (WebCore::CSSParser::parseShadow): ditto.
5669
56702006-04-12  Mitz Pettel  <opendarwin.org@mitzpettel.com>
5671
5672         Reviewed by hyatt
5673
5674         - fix http://bugs.webkit.org/show_bug.cgi?id=4855
5675           List item's bullets fail to redraw correctly after their style is set with JavaScript
5676
5677         * manual-tests/list-marker-repaint.html: Added.
5678         * rendering/RenderBlock.cpp:
5679         (WebCore::RenderBlock::layoutBlock): Call positionListMarker() after laying out
5680         the children.
5681         (WebCore::RenderBlock::calcInlineMinMaxWidth): Call calcWidth() on the child
5682         if we are going to use its marginLeft() or marginRight(), which is if they are
5683         given as a percentage or if the child is a list marker.
5684         * rendering/RenderBlock.h:
5685         (WebCore::RenderBlock::positionListMarker): Added this virtual function which
5686         RenderListItem implements and which is called from layoutBlock().
5687         * rendering/RenderFlow.cpp:
5688         (WebCore::RenderFlow::addFocusRingRects): Avoid adding focus rings around outside list
5689         markers. Previously it did not matter since the markers had zero width.
5690         * rendering/bidi.cpp:
5691         (WebCore::RenderBlock::findNextLineBreak): Outside list markers should not contribute
5692         to the line width, even now that they have width.
5693         * rendering/render_line.cpp:
5694         (WebCore::InlineFlowBox::placeBoxesHorizontally): Skip outside list markers.
5695         * rendering/render_list.cpp:
5696         (WebCore::RenderListItem::positionListMarker): Added.
5697         (WebCore::RenderListMarker::paint): Removed code that was used to right-align outside
5698         text markers, since that is achieved by margins now.
5699         (WebCore::RenderListMarker::calcMinMaxWidth): Changed the marker height to be the font height.
5700         Made the width of outside list markers non-zero and equal to the width of inside markers.
5701         Changed the width to include only the marker and not any padding. Increased the width of bullets
5702         by 2 to contain spillage due to antialiasing.
5703         (WebCore::RenderListMarker::calcWidth): Calculate horizontal margins. Padding that was
5704         previously included in the width is now part of the margins.
5705         (WebCore::RenderListMarker::getRelativeMarkerRect): Adjusted for the changes to width and
5706         margins.
5707         * rendering/render_list.h:
5708
57092006-04-12  Darin Adler  <darin@apple.com>
5710
5711        Rubber-stamped by Hyatt.
5712
5713        - moved some more files out of KWQ to more-permanent homes
5714
5715        * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for new locations.
5716        * WebCore.xcodeproj/project.pbxproj: Ditto.
5717
5718        * kwq/BlockExceptions.h: Removed.
5719        * kwq/BlockExceptions.mm: Removed.
5720        * kwq/ClipboardMac.h: Removed.
5721        * kwq/ClipboardMac.mm: Removed.
5722        * kwq/DeprecatedPtrList.h: Removed.
5723        * kwq/DeprecatedPtrListImpl.cpp: Removed.
5724        * kwq/DeprecatedPtrListImpl.h: Removed.
5725        * kwq/DeprecatedValueList.h: Removed.
5726        * kwq/DeprecatedValueListImpl.cpp: Removed.
5727        * kwq/DeprecatedValueListImpl.h: Removed.
5728        * kwq/WebCoreTextArea.h: Removed.
5729        * kwq/WebCoreTextArea.mm: Removed.
5730        * kwq/WebCoreTextField.h: Removed.
5731        * kwq/WebCoreTextField.mm: Removed.
5732        * platform/DeprecatedPtrList.h: Added.
5733        * platform/DeprecatedPtrListImpl.cpp: Added.
5734        * platform/DeprecatedPtrListImpl.h: Added.
5735        * platform/DeprecatedValueList.h: Added.
5736        * platform/DeprecatedValueListImpl.cpp: Added.
5737        * platform/DeprecatedValueListImpl.h: Added.
5738        * platform/mac/BlockExceptions.h: Added.
5739        * platform/mac/BlockExceptions.mm: Added.
5740        * platform/mac/ClipboardMac.h: Added.
5741        * platform/mac/ClipboardMac.mm: Added.
5742        * platform/mac/WebCoreTextArea.h: Added.
5743        * platform/mac/WebCoreTextArea.mm: Added.
5744        * platform/mac/WebCoreTextField.h: Added.
5745        * platform/mac/WebCoreTextField.mm: Added.
5746
57472006-04-12  David Harrison  <harrison@apple.com>
5748
5749        Reviewed by Darin.
5750
5751        <rdar://problem/4386640> AX: AXPreviousSentenceStartTextMarkerForTextMarker does not respect paragraph boundary
5752        <rdar://problem/4414575> AX: Dictionary popup cannot find some words on Dictionary.app
5753
5754        AXPreviousSentenceStartTextMarkerForTextMarker failed to stop at the beginning a block because
5755        SimplifiedBackwardsTextIterator::handleNonTextNode() emitted a space when exiting the block.
5756        Fixed by emitting a newline instead.
5757
5758        Word boundary failed to stop at the beginning of a block because no character at all was emitted
5759        when leaving the block, because the exitNode was checking specific html tags to decide whether the
5760        node is block, but the node was xml.  Fixed by using the node's renderer, if present.
5761
5762        (see related changes in WebKit)
5763
5764        Tests added:
5765        * editing/selection/extend-by-sentence-001.html: Added.
5766        * fast/dom/inner-text-001.html: Added.
5767
5768        * bridge/mac/WebCoreFrameBridge.h:
5769        * bridge/mac/WebCoreFrameBridge.mm:
5770        (-[WebCoreFrameBridge alterCurrentSelection:direction:granularity:]):
5771        Add sentence navigation/selection.
5772
5773        * editing/Selection.cpp:
5774        (WebCore::Selection::validate):
5775        Add sentence navigation/selection.
5776
5777        * editing/SelectionController.cpp:
5778        (WebCore::SelectionController::modifyExtendingRightForward):
5779        (WebCore::SelectionController::modifyMovingRightForward):
5780        (WebCore::SelectionController::modifyExtendingLeftBackward):
5781        (WebCore::SelectionController::modifyMovingLeftBackward):
5782        (WebCore::SelectionController::modify):
5783        Add sentence navigation/selection.
5784
5785        * editing/TextGranularity.h:
5786        (WebCore::):
5787        Add SentenceGranularity and SentenceBoundary.
5788
5789        * editing/TextIterator.cpp:
5790        (WebCore::isTableCell):
5791        (WebCore::shouldEmitTabBeforeNode):
5792        (WebCore::shouldEmitNewlineForNode):
5793        (WebCore::shouldEmitNewlinesBeforeAndAfterNode):
5794        (WebCore::shouldEmitExtraNewlineForNode):
5795        New utility functions that prefer renderers over html tag names.
5796
5797        (WebCore::TextIterator::handleNonTextNode):
5798        (WebCore::TextIterator::exitNode):
5799        (WebCore::SimplifiedBackwardsTextIterator::advance):
5800        Use new utility functions.
5801
5802        (WebCore::SimplifiedBackwardsTextIterator::handleNonTextNode):
5803        Use new utility functions.  Also emit linefeed instead of space,
5804        so sentence parsing works across block boundaries.
5805
5806        (WebCore::SimplifiedBackwardsTextIterator::exitNode):
5807        Use new utility functions.
5808
5809        (WebCore::SimplifiedBackwardsTextIterator::emitNewline):
5810        Renamed from emitNewlineForBROrText because it is not always for BR or text.
5811
5812        * editing/TextIterator.h:
5813        Renamed emitNewlineForBROrText to emitNewline.
5814
5815        * editing/visible_units.cpp:
5816        * editing/visible_units.h:
5817        (WebCore::previousBoundary):
5818        (WebCore::nextBoundary):
5819        (WebCore::previousSentencePosition):
5820        (WebCore::nextSentencePosition):
5821        Add sentence navigation/selection.
5822
58232006-04-12  Darin Adler  <darin@apple.com>
5824
5825        Rubber-stamped by Hyatt.
5826
5827        - moved Decoder and FormData classes into loader directory
5828          (Decoder, because it's part of the loading process.
5829           FormData, because it's used as a parameter when specifying
5830           what to load. Arguably either could be in page instead.)
5831        - moved Length.h from css to renderer, cause that's where Hyatt
5832          says it belongs
5833
5834        * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for new locations.
5835        * WebCore.xcodeproj/project.pbxproj: Ditto.
5836
5837        * khtml: Removed.
5838        * loader/Decoder.cpp: Added.
5839        * loader/Decoder.h: Added.
5840        * loader/FormData.cpp: Added.
5841        * loader/FormData.h: Added.
5842
5843        * css/Length.h: Removed.
5844        * rendering/Length.h: Added.
5845
5846        * bridge/mac/WebCoreEncodings.mm:
5847        * dom/Document.h:
5848        * kwq/KWQFormData.mm:
5849        * loader/CachedXBLDocument.cpp:
5850        * loader/CachedXSLStyleSheet.cpp:
5851        * page/ResourceRequest.h:
5852        * platform/TransferJobInternal.h:
5853        * xml/xmlhttprequest.cpp:
5854        Updated includes.
5855
58562006-04-12  Mitz Pettel  <opendarwin.org@mitzpettel.com>
5857
5858        Reviewed by darin
5859
5860        - fix http://bugs.webkit.org/show_bug.cgi?id=8337
5861          Incomplete repaint of inlines' outline during editing
5862
5863        * manual-tests/inline-outline-repaint.html: Added.
5864        * rendering/RenderBlock.cpp:
5865        (WebCore::RenderBlock::layoutBlock): Add the maximal outline width to the
5866        inlines' repaint rect.
5867
58682006-04-12  Justin Garcia  <justin.garcia@apple.com>
5869
5870        Reviewed by darin
5871
5872        <http://bugs.webkit.org/show_bug.cgi?id=8335>
5873        Implement execCommand(InsertHorizontalRule)
5874
5875        * editing/JSEditor.cpp:
5876
58772006-04-12  Darin Adler  <darin@apple.com>
5878
5879        Rubber-stamped by Hyatt.
5880
5881        - moved xsl files into xml directory, removed xbl files (for now)
5882
5883        * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for new locations.
5884        * WebCore.xcodeproj/project.pbxproj: Ditto.
5885        * khtml/xbl: Removed.
5886        * khtml/xsl: Removed.
5887        * xml/XSLStyleSheet.cpp: Added.
5888        * xml/XSLStyleSheet.h: Added.
5889        * xml/XSLTProcessor.cpp: Added.
5890        * xml/XSLTProcessor.h: Added.
5891
58922006-04-12  David Hyatt  <hyatt@apple.com>
5893
5894        Fix for 5283, make sure overflow doesn't paint on top of positioned elements.
5895
5896        Reviewed by beth
5897
5898        * kwq/RenderTreeAsText.cpp:
5899        (writeLayers):
5900        * rendering/RenderLayer.cpp:
5901        (WebCore::RenderLayer::RenderLayer):
5902        (WebCore::RenderLayer::~RenderLayer):
5903        (WebCore::RenderLayer::addChild):
5904        (WebCore::RenderLayer::removeChild):
5905        (WebCore::RenderLayer::paintLayer):
5906        (WebCore::RenderLayer::hitTestLayer):
5907        (WebCore::RenderLayer::dirtyOverflowList):
5908        (WebCore::RenderLayer::updateOverflowList):
5909        (WebCore::RenderLayer::collectLayers):
5910        (WebCore::RenderLayer::shouldBeOverflowOnly):
5911        (WebCore::RenderLayer::styleChanged):
5912        * rendering/RenderLayer.h:
5913        (WebCore::RenderLayer::isOverflowOnly):
5914        (WebCore::RenderLayer::overflowList):
5915
59162006-04-12  Darin Adler  <darin@apple.com>
5917
5918        * WebCore.xcodeproj/project.pbxproj: Turn SVG support back on.
5919        I accidentally checked in this file with SVG off last night.
5920
59212006-04-12  Darin Adler  <darin@apple.com>
5922
5923        - try to fix Windows build
5924
5925        * platform/TransferJobInternal.h: Declare HANDLE.
5926        * platform/image-decoders/gif/GIFImageReader.h: Include GIFImageDecoder.h.
5927        * rendering/RenderThemeWin.h: Declare HANDLE and HMODULE.
5928
59292006-04-12  Darin Adler  <darin@apple.com>
5930
5931        - another attempt to get things building
5932
5933        * bindings/js/kjs_proxy.cpp: Add "kjs_events.h" include, needed when not
5934        building SVG (so for Windows too).
5935        * editing/TextIterator.h: Add back include of Vector.h.
5936
59372006-04-11  Darin Adler  <darin@apple.com>
5938
5939        - try to fix Windows build
5940
5941        * html/HTMLCollection.h: Add back include of Vector.h.
5942        * page/Frame.h: Ditto.
5943        * platform/Timer.h: Ditto.
5944
5945        - more changes for no-SVG (not working yet though)
5946
5947        * editing/CompositeEditCommand.h: Added css_valueimpl.h include.
5948
59492006-04-11  Darin Adler  <darin@apple.com>
5950
5951        - try to fix no-SVG build
5952
5953        * kwq/RenderTreeAsText.cpp: Added back an include only needed for non-SVG.
5954        * rendering/RenderObject.h: Ditto.
5955
59562006-04-11  Darin Adler  <darin@apple.com>
5957
5958        - try to fix Windows build
5959
5960        * ForwardingHeaders/kxmlcore/HashForward.h: Removed.
5961        * dom/xml_tokenizer.h: Include another header instead of HashForward.h.
5962        * loader/Cache.h: Ditto.
5963        * page/Page.h: Ditto.
5964        * platform/TransferJob.h: Ditto.
5965
59662006-04-11  Justin Garcia  <justin.garcia@apple.com>
5967
5968        Reviewed by harrison
5969
5970        Fixes more instances of:
5971        <rdar://problem/3950559>
5972        CrashTracer: 2116 crashes in Mail at com.apple.WebCore: khtml::CompositeEditCommand::insertNodeAfter + 32
5973
5974        * editing/ReplaceSelectionCommand.cpp:
5975        (WebCore::ReplaceSelectionCommand::doApply): Do paragraph merging using moveParagraphs.
5976
59772006-04-11  Justin Garcia  <justin.garcia@apple.com>
5978
5979        Reviewed by harrison
5980
5981        Some setup for work on paste performance.
5982
5983        * editing/CompositeEditCommand.cpp:
5984        (WebCore::CompositeEditCommand::moveParagraph):
5985        Moved code from mergeParagraphs so that it can be used in ReplaceSelectionCommand.
5986        * editing/CompositeEditCommand.h:
5987        * editing/DeleteSelectionCommand.cpp:
5988        (WebCore::DeleteSelectionCommand::mergeParagraphs):
5989        (WebCore::DeleteSelectionCommand::doApply):
5990        * editing/VisiblePosition.cpp:
5991        (WebCore::VisiblePosition::init): Put the code that chooses m_deepPosition into initDeepPosition.
5992        (WebCore::VisiblePosition::initDeepPosition):
5993        Fixed a bug: don't fall through to the code that's only for positions inside unrendered space between blocks when
5994        downstream() is a candidate.  Added a comment about why the fall through code is necessary.
5995        * editing/VisiblePosition.h:
5996
59972006-04-11  John Sullivan  <sullivan@apple.com>
5998
5999        Reviewed by Darin Adler.
6000
6001        - fixed <rdar://problem/4509328> highlight all matches hangs when searching for tab character on www.google.com (and others)
6002
6003        For reasons not yet completely understood, searching for a tab character on some pages (Google, Amazon) finds a match
6004        with a non-collapsed range but then claims that the end visible position of the match is the original start visible
6005        position of the search range. This was causing the highlightAllMatches code to loop forever. Fixed the loop by
6006        checking for the non-advancing search range explicitly. I'm going to track down a reduction of the bogus
6007        search-for-tab issue, and write that up as a separate bug (that bug is not a regression; you can "find" a tab on
6008        google in Tiger also).
6009
6010        * page/Frame.cpp:
6011        (WebCore::Frame::highlightAllMatchesForString):
6012        break the loop if the search range hasn't advanced
6013
60142006-04-10  Darin Adler  <darin@apple.com>
6015
6016        Rubber-stamped by John Sullivan (except for pbxproj change).
6017
6018        - updated to use the new Forward.h and HashForward.h headers
6019        - moved the showTree debugging functions out of the WebCore
6020          namespace so they are easier to call from gdb, and renamed
6021          the showTree member functions so they don't get in the way;
6022          now you can do "call showTree(x)" in gdb and it just works
6023        - removed a lot of unneeded includes
6024
6025        * WebCore.xcodeproj/project.pbxproj: Fixed a lot of paths that
6026        were not relative to the enclosing group.
6027
6028        * ForwardingHeaders/kxmlcore/Forward.h: Added.
6029        * ForwardingHeaders/kxmlcore/HashForward.h: Added.
6030        * bindings/js/JSCanvasRenderingContext2DBase.cpp:
6031        * bindings/js/JSXMLHttpRequest.cpp:
6032        * bindings/js/JSXMLHttpRequest.h:
6033        * bindings/js/JSXSLTProcessor.h:
6034        * bindings/js/kjs_binding.h:
6035        * bindings/js/kjs_dom.cpp:
6036        * bindings/js/kjs_dom.h:
6037        * bindings/js/kjs_events.cpp:
6038        * bindings/js/kjs_events.h:
6039        * bindings/js/kjs_html.cpp:
6040        * bindings/js/kjs_navigator.cpp:
6041        * bindings/js/kjs_navigator.h:
6042        * bindings/js/kjs_proxy.cpp:
6043        * bindings/js/kjs_traversal.h:
6044        * bindings/js/kjs_window.cpp:
6045        * bindings/js/kjs_window.h:
6046        * bindings/objc/DOM.mm:
6047        * bindings/objc/DOMCSS.mm:
6048        * bindings/objc/DOMCore.h:
6049        * bindings/objc/DOMEvents.mm:
6050        * bindings/objc/DOMHTML.mm:
6051        * bindings/objc/DOMImplementationFront.h:
6052        * bindings/objc/DOMInternal.mm:
6053        * bindings/objc/DOMUtility.mm:
6054        * bindings/objc/DOMViews.mm:
6055        * bridge/BrowserExtension.h:
6056        * bridge/mac/BrowserExtensionMac.mm:
6057        * bridge/mac/FrameMac.h:
6058        * bridge/mac/FrameMac.mm:
6059        * bridge/mac/WebCoreFrameBridge.mm:
6060        * bridge/mac/WebCoreFrameNamespaces.mm:
6061        * bridge/mac/WebCoreJavaScript.mm:
6062        * bridge/win/PageWin.cpp:
6063        * css/CSSComputedStyleDeclaration.cpp:
6064        * css/css_base.h:
6065        * css/css_ruleimpl.h:
6066        * css/css_valueimpl.cpp:
6067        * css/cssparser.cpp:
6068        * css/cssparser.h:
6069        * css/cssstyleselector.cpp:
6070        * css/cssstyleselector.h:
6071        * dom/AbstractView.h:
6072        * dom/AtomicStringList.h:
6073        * dom/Attribute.cpp:
6074        * dom/Attribute.h:
6075        * dom/Comment.cpp:
6076        * dom/ContainerNode.cpp:
6077        * dom/DOMImplementation.cpp:
6078        * dom/DOMImplementation.h:
6079        * dom/Document.cpp:
6080        * dom/Document.h:
6081        * dom/Element.h:
6082        * dom/EventTargetNode.cpp:
6083        (WebCore::EventTargetNode::dump):
6084        (WebCore::forbidEventDispatch):
6085        (WebCore::allowEventDispatch):
6086        (WebCore::eventDispatchForbidden):
6087        * dom/EventTargetNode.h:
6088        (WebCore::EventTargetNode::postDispatchEventHandler):
6089        * dom/NamedAttrMap.h:
6090        * dom/Node.cpp:
6091        (WebCore::Node::showNode):
6092        (WebCore::Node::showTree):
6093        (WebCore::Node::showTreeAndMark):
6094        (showTree):
6095        * dom/Node.h:
6096        * dom/NodeList.cpp:
6097        * dom/NodeList.h:
6098        * dom/Position.cpp:
6099        (showTree):
6100        * dom/Position.h:
6101        * dom/Range.cpp:
6102        * dom/Range.h:
6103        * dom/StyledElement.cpp:
6104        * dom/StyledElement.h:
6105        * dom/dom2_eventsimpl.cpp:
6106        * dom/dom2_eventsimpl.h:
6107        * dom/dom2_traversalimpl.h:
6108        * dom/dom_xmlimpl.cpp:
6109        * dom/xml_tokenizer.cpp:
6110        * dom/xml_tokenizer.h:
6111        * editing/AppendNodeCommand.cpp:
6112        * editing/ApplyStyleCommand.cpp:
6113        * editing/ApplyStyleCommand.h:
6114        * editing/BreakBlockquoteCommand.cpp:
6115        * editing/CompositeEditCommand.cpp:
6116        * editing/CreateLinkCommand.cpp:
6117        * editing/DeleteFromTextNodeCommand.cpp:
6118        * editing/DeleteFromTextNodeCommand.h:
6119        * editing/DeleteSelectionCommand.cpp:
6120        * editing/EditCommand.cpp:
6121        * editing/EditCommand.h:
6122        * editing/HTMLInterchange.cpp:
6123        * editing/InsertIntoTextNodeCommand.cpp:
6124        * editing/InsertIntoTextNodeCommand.h:
6125        * editing/InsertLineBreakCommand.cpp:
6126        * editing/InsertNodeBeforeCommand.cpp:
6127        * editing/InsertParagraphSeparatorCommand.cpp:
6128        * editing/InsertTextCommand.cpp:
6129        * editing/JSEditor.cpp:
6130        * editing/JoinTextNodesCommand.cpp:
6131        * editing/MergeIdenticalElementsCommand.cpp:
6132        * editing/ModifySelectionListLevelCommand.cpp:
6133        * editing/MoveSelectionCommand.cpp:
6134        * editing/RebalanceWhitespaceCommand.h:
6135        * editing/RemoveCSSPropertyCommand.h:
6136        * editing/ReplaceSelectionCommand.cpp:
6137        * editing/ReplaceSelectionCommand.h:
6138        * editing/Selection.cpp:
6139        (WebCore::Selection::formatForDebugger):
6140        (WebCore::Selection::showTree):
6141        (showTree):
6142        * editing/Selection.h:
6143        * editing/SelectionController.cpp:
6144        (WebCore::SelectionController::formatForDebugger):
6145        (WebCore::SelectionController::showTree):
6146        (showTree):
6147        * editing/SelectionController.h:
6148        * editing/TextIterator.cpp:
6149        * editing/TextIterator.h:
6150        * editing/TypingCommand.cpp:
6151        * editing/TypingCommand.h:
6152        * editing/UnlinkCommand.cpp:
6153        * editing/VisiblePosition.cpp:
6154        (WebCore::isEqualIgnoringAffinity):
6155        (WebCore::VisiblePosition::formatForDebugger):
6156        (WebCore::VisiblePosition::showTree):
6157        (showTree):
6158        * editing/VisiblePosition.h:
6159        (WebCore::VisiblePosition::VisiblePosition):
6160        (WebCore::operator==):
6161        * editing/WrapContentsInDummySpanCommand.cpp:
6162        * editing/htmlediting.h:
6163        * editing/markup.cpp:
6164        * editing/markup.h:
6165        (WebCore::):
6166        * editing/visible_units.cpp:
6167        * html/CanvasGradient.cpp:
6168        * html/CanvasRenderingContext2D.h:
6169        * html/CanvasStyle.cpp:
6170        * html/CanvasStyle.h:
6171        * html/FormDataList.cpp:
6172        * html/FormDataList.h:
6173        * html/HTMLCollection.cpp:
6174        * html/HTMLCollection.h:
6175        * html/HTMLDocument.cpp:
6176        * html/HTMLDocument.h:
6177        * html/HTMLElement.cpp:
6178        * html/HTMLElementFactory.cpp:
6179        * html/HTMLElementFactory.h:
6180        * html/HTMLFormCollection.cpp:
6181        * html/HTMLFormElement.cpp:
6182        * html/HTMLFormElement.h:
6183        * html/HTMLInputElement.cpp:
6184        * html/HTMLParser.cpp:
6185        * html/HTMLSelectElement.cpp:
6186        * html/HTMLSelectElement.h:
6187        * html/HTMLTokenizer.cpp:
6188        * html/HTMLTokenizer.h:
6189        * html/html_baseimpl.cpp:
6190        * html/html_headimpl.h:
6191        * kcanvas/KCanvasCreator.cpp:
6192        * kcanvas/KCanvasFilters.h:
6193        * kcanvas/KCanvasPath.h:
6194        * kcanvas/KCanvasResources.h:
6195        * kcanvas/KCanvasTreeDebug.cpp:
6196        * kcanvas/RenderPath.cpp:
6197        * kcanvas/RenderPath.h:
6198        * kcanvas/device/KRenderingDevice.h:
6199        * kcanvas/device/KRenderingPaintServerGradient.h:
6200        * kcanvas/device/KRenderingPaintServerPattern.h:
6201        * kcanvas/device/KRenderingPaintServerSolid.h:
6202        * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
6203        * kcanvas/device/quartz/KCanvasMaskerQuartz.h:
6204        * kcanvas/device/quartz/KCanvasResourcesQuartz.h:
6205        * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
6206        * kcanvas/device/quartz/KRenderingPaintServerQuartz.h:
6207        * khtml/misc/decoder.cpp:
6208        * khtml/misc/decoder.h:
6209        * khtml/xsl/XSLStyleSheet.cpp:
6210        * khtml/xsl/XSLTProcessor.cpp:
6211        * khtml/xsl/XSLTProcessor.h:
6212        * ksvg2/css/SVGRenderStyle.h:
6213        * ksvg2/ecma/GlobalObject.cpp:
6214        * ksvg2/misc/KCanvasRenderingStyle.h:
6215        * ksvg2/misc/SVGDocumentExtensions.h:
6216        * ksvg2/svg/SVGAngle.h:
6217        * ksvg2/svg/SVGAnimateColorElement.h:
6218        * ksvg2/svg/SVGAnimatedColor.h:
6219        * ksvg2/svg/SVGAnimatedLengthList.h:
6220        * ksvg2/svg/SVGAnimatedNumberList.h:
6221        * ksvg2/svg/SVGAnimatedString.h:
6222        * ksvg2/svg/SVGAnimatedTransformList.h:
6223        * ksvg2/svg/SVGAnimationElement.h:
6224        * ksvg2/svg/SVGColor.h:
6225        * ksvg2/svg/SVGCursorElement.h:
6226        * ksvg2/svg/SVGHelper.h:
6227        * ksvg2/svg/SVGLength.h:
6228        * ksvg2/svg/SVGList.h:
6229        * ksvg2/svg/SVGPaint.h:
6230        * ksvg2/svg/SVGPathSeg.h:
6231        * ksvg2/svg/SVGPatternElement.h:
6232        * ksvg2/svg/SVGSVGElement.cpp:
6233        * ksvg2/svg/SVGSVGElement.h:
6234        * ksvg2/svg/SVGStringList.h:
6235        * ksvg2/svg/SVGTransform.h:
6236        * kwq/AccessibilityObjectCache.mm:
6237        * kwq/ClipboardMac.mm:
6238        * kwq/JavaAppletWidget.mm:
6239        * kwq/KWQComboBox.mm:
6240        * kwq/KWQEditCommand.mm:
6241        * kwq/KWQFileButton.mm:
6242        * kwq/KWQKHTMLSettings.h:
6243        * kwq/KWQKSSLKeyGen.mm:
6244        * kwq/KWQLoader.mm:
6245        * kwq/KWQPageState.mm:
6246        * kwq/KWQTextEdit.mm:
6247        * kwq/RegularExpression.h:
6248        * kwq/RenderTreeAsText.cpp:
6249        * kwq/RenderTreeAsText.h:
6250        * kwq/WebCoreAXObject.mm:
6251        * loader/Cache.cpp:
6252        * loader/Cache.h:
6253        * loader/CachedCSSStyleSheet.cpp:
6254        * loader/CachedObject.h:
6255        * loader/CachedScript.cpp:
6256        * loader/CachedXBLDocument.cpp:
6257        * loader/CachedXBLDocument.h:
6258        * loader/CachedXSLStyleSheet.cpp:
6259        * loader/CachedXSLStyleSheet.h:
6260        * loader/DocLoader.cpp:
6261        * page/Frame.cpp:
6262        * page/Frame.h:
6263        * page/FramePrivate.h:
6264        * page/FrameTree.cpp:
6265        * page/FrameTree.h:
6266        * page/FrameView.cpp:
6267        * page/FrameView.h:
6268        * page/Page.cpp:
6269        * page/Page.h:
6270        * page/Plugin.h:
6271        (WebCore::Plugin::Plugin):
6272        (WebCore::Plugin::view):
6273        * platform/Color.cpp:
6274        * platform/FloatRect.h:
6275        * platform/Font.cpp:
6276        * platform/Font.h:
6277        * platform/FontFamily.cpp:
6278        * platform/GraphicsContext.cpp:
6279        * platform/Image.cpp:
6280        * platform/Image.h:
6281        * platform/IntRect.h:
6282        * platform/KURL.cpp:
6283        * platform/KURL.h:
6284        * platform/SegmentedString.h:
6285        * platform/Shared.h:
6286        * platform/StreamingTextDecoder.cpp:
6287        * platform/StringImpl.cpp:
6288        * platform/StringImpl.h:
6289        * platform/TextEncoding.h:
6290        * platform/Timer.cpp:
6291        * platform/Timer.h:
6292        * platform/TransferJob.cpp:
6293        * platform/TransferJob.h:
6294        * platform/TransferJobInternal.h:
6295        * platform/cairo/GraphicsContextCairo.cpp:
6296        * platform/cairo/ImageCairo.cpp:
6297        * platform/cairo/ImageSourceCairo.cpp:
6298        * platform/image-decoders/gif/GIFImageReader.cpp:
6299        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
6300        * platform/mac/FontFamilyMac.mm:
6301        * platform/mac/FontMac.mm:
6302        * platform/mac/ImageMac.mm:
6303        * platform/mac/TextEncodingMac.cpp:
6304        * platform/mac/TransferJobMac.mm:
6305        * platform/win/FontPlatformDataWin.cpp:
6306        * platform/win/TransferJobWin.cpp:
6307        * rendering/RenderBlock.cpp:
6308        * rendering/RenderBlock.h:
6309        * rendering/RenderBox.cpp:
6310        * rendering/RenderBox.h:
6311        * rendering/RenderCanvas.cpp:
6312        * rendering/RenderCanvas.h:
6313        * rendering/RenderContainer.cpp:
6314        * rendering/RenderFlexibleBox.h:
6315        * rendering/RenderFlow.cpp:
6316        * rendering/RenderFlow.h:
6317        * rendering/RenderImage.cpp:
6318        * rendering/RenderImage.h:
6319        * rendering/RenderLayer.cpp:
6320        * rendering/RenderLayer.h:
6321        * rendering/RenderObject.cpp:
6322        (showTree):
6323        * rendering/RenderObject.h:
6324        * rendering/RenderTableCell.h:
6325        * rendering/RenderTableSection.h:
6326        * rendering/RenderText.cpp:
6327        * rendering/RenderText.h:
6328        * rendering/RenderTextField.cpp:
6329        * rendering/RenderTextFragment.h:
6330        * rendering/RenderTheme.h:
6331        * rendering/RenderThemeMac.mm:
6332        * rendering/RenderThemeWin.cpp:
6333        * rendering/bidi.cpp:
6334        * rendering/render_form.h:
6335        * rendering/render_line.cpp:
6336        (showTree):
6337        * rendering/render_line.h:
6338        * rendering/render_list.cpp:
6339        * rendering/render_replaced.cpp:
6340        * rendering/render_replaced.h:
6341        * rendering/render_style.cpp:
6342        * rendering/render_style.h:
6343        * xml/xmlhttprequest.h:
6344
63452006-04-10  Darin Adler  <darin@apple.com>
6346
6347        - try to fix the Windows build
6348
6349        * WebCore.vcproj/WebCore/WebCore.vcproj: Fix mistaken bad editing of
6350        AdditionalIncludeDirectories.
6351
63522006-04-10  David Hyatt  <hyatt@apple.com>
6353
6354        Make focus ring painting respect clips set by WebCore (e.g., overflow).
6355
6356        Reviewed by darin
6357
6358        * platform/GraphicsContext.h:
6359        * platform/mac/GraphicsContextMac.mm:
6360        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
6361        (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
6362        (WebCore::GraphicsContext::setFocusRingClip):
6363        (WebCore::GraphicsContext::clearFocusRingClip):
6364        (WebCore::GraphicsContext::drawFocusRing):
6365        * platform/mac/WebCoreGraphicsBridge.h:
6366        * platform/mac/WebCoreGraphicsBridge.m:
6367        (-[WebCoreGraphicsBridge drawFocusRingWithPath:radius:color:clipRect:]):
6368        * rendering/RenderLayer.cpp:
6369        (WebCore::setClip):
6370        (WebCore::restoreClip):
6371
63722006-04-10  Darin Adler  <darin@apple.com>
6373
6374        Reviewed by Geoff.
6375
6376        - death to khtml/ecma, long live bindings/js
6377
6378        * khtml/ecma: Removed. Moved all files to bindings/js.
6379
6380        * bindings/js/JSDOMParser.cpp: Added.
6381        * bindings/js/JSDOMParser.h: Added.
6382        * bindings/js/JSXMLHttpRequest.cpp: Added.
6383        * bindings/js/JSXMLHttpRequest.h: Added.
6384        * bindings/js/JSXMLSerializer.cpp: Added.
6385        * bindings/js/JSXMLSerializer.h: Added.
6386        * bindings/js/JSXSLTProcessor.cpp: Added.
6387        * bindings/js/JSXSLTProcessor.h: Added.
6388        * bindings/js/kjs_binding.cpp: Added.
6389        * bindings/js/kjs_binding.h: Added.
6390        * bindings/js/kjs_css.cpp: Added.
6391        * bindings/js/kjs_css.h: Added.
6392        * bindings/js/kjs_dom.cpp: Added.
6393        * bindings/js/kjs_dom.h: Added.
6394        * bindings/js/kjs_events.cpp: Added.
6395        * bindings/js/kjs_events.h: Added.
6396        * bindings/js/kjs_html.cpp: Added.
6397        * bindings/js/kjs_html.h: Added.
6398        * bindings/js/kjs_navigator.cpp: Added.
6399        * bindings/js/kjs_navigator.h: Added.
6400        * bindings/js/kjs_proxy.cpp: Added.
6401        * bindings/js/kjs_proxy.h: Added.
6402        * bindings/js/kjs_traversal.cpp: Added.
6403        * bindings/js/kjs_traversal.h: Added.
6404        * bindings/js/kjs_views.cpp: Added.
6405        * bindings/js/kjs_views.h: Added.
6406        * bindings/js/kjs_window.cpp: Added.
6407        * bindings/js/kjs_window.h: Added.
6408
6409        * DerivedSources.make: Removed khtml/ecma from directory list.
6410        * WebCore.vcproj/WebCore/WebCore.vcproj: Moved files from
6411        khtml/ecma to bindings/js.
6412        * WebCore.xcodeproj/project.pbxproj: Ditto.
6413
64142006-04-10  Darin Adler  <darin@apple.com>
6415
6416        Reviewed by Geoff.
6417
6418        - try to fix the Windows build
6419
6420        * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::reset):
6421        Put code to release m_drawingContext into an __APPLE__ ifdef.
6422
6423        * platform/win/TemporaryLinkStubs.cpp:
6424
64252006-04-10  Mitz Pettel  <opendarwin.org@mitzpettel.com>
6426
6427        Reviewed by Eric, landed by ap.
6428
6429        - fix http://bugs.webkit.org/show_bug.cgi?id=8295
6430          Dictionary pop-up panel targets the wrong word in a scrolled IFRAME
6431
6432        * kwq/WebCoreAXObject.mm:
6433        (-[WebCoreAXObject doAXTextMarkerForPosition:]): Removed the addition of scroll
6434        offsets, which is redundant for scrolled views, then changed the first view
6435        to be the document's scrolled view instead of its scroll view (all subsequent views were
6436        already scrolled views).
6437        * manual-tests/dictionary-scrolled-iframe.html: Added.
6438
64392006-04-09  Alexey Proskuryakov  <ap@nypop.com>
6440
6441        Reviewed by Darin.
6442
6443        - fix http://bugs.webkit.org/show_bug.cgi?id=7877
6444        XMLHttpRequest ignores username/password passed to open()
6445
6446        Test: http/tests/xmlhttprequest/basic-auth.html
6447
6448        * platform/KURL.cpp:
6449        (KURL::setUser): Enable a code path that handles non-empty user name -
6450        it was already present, but commented out and protected with an assertion.
6451        (KURL::setPass): Ditto.
6452
64532006-04-09  Darin Adler  <darin@apple.com>
6454
6455        Reviewed by Anders.
6456
6457        - fix http://bugs.webkit.org/show_bug.cgi?id=4884
6458          Canvas element breaks when RenderObject creation is deferred by external CSS
6459
6460        Test: fast/canvas/canvas-before-css.html
6461
6462        This patch makes us match the canvas documentation in Hixie's Web Applications
6463        draft as far as when the canvas is created and recreated and how it's sized.
6464        It also gets rid of the compositeOperation attribute of the canvas element.
6465        We can add that back if we need it. Anders points out that this specifically
6466        changes behavior for canvas elements where the size is set in CSS and not with
6467        width and height attributes. The CSS size now determines how big a box the canvas
6468        is rendered into, but has no effect on the size of the canvas's buffer.
6469
6470        * html/CanvasRenderingContext2D.h: Added overloads of drawImage that take
6471        HTMLCanvasElement, which is no longer derived from HTMLImageElement.
6472        * html/CanvasRenderingContext2D.cpp:
6473        (WebCore::imageSize): Renamed from imageOrCanvasSize. Now used for images only,
6474        because canvas is no longer derived from image.
6475        (WebCore::CanvasRenderingContext2D::drawImage): Split the implementation of this
6476        for image sources from the implementation for canvas sources.
6477        (WebCore::CanvasRenderingContext2D::willDraw): Changed to call a new willDraw
6478        function on the canvas element.
6479        (WebCore::CanvasRenderingContext2D::drawingContext): Changed to call drawingContext
6480        on the canvas element rather than the renderer.
6481
6482        * html/HTMLCanvasElement.h: Changed HTMLCanvasElement to derive from HTMLElement
6483        instead of HTMLImageElement. Added width, height, setWidth, setHeight, willDraw,
6484        paint, drawingContext, createDrawingContext, and reset functions. Added m_size,
6485        m_createdDrawingContext, m_data, and m_drawingContext data members. Removed
6486        mapToEntry, attach, detach, and isURLAttribute functins.
6487
6488        * html/HTMLCanvasElement.cpp:
6489        (WebCore::HTMLCanvasElement::HTMLCanvasElement): Added initializers for new m_size,
6490        m_createdDrawingContext, m_data, and m_drawingContext data members.
6491        (WebCore::HTMLCanvasElement::~HTMLCanvasElement): Free m_data and m_drawingContext.
6492        (WebCore::HTMLCanvasElement::parseMappedAttribute): Got rid of special case for
6493        srcAttr, which is no longer needed since we aren't deriving from HTMLImageElement.
6494        Added code that triggers a reset when either width or height is set.
6495        (WebCore::HTMLCanvasElement::createRenderer): Added code to set the intrinsic
6496        width and height of the renderer to the size of the element.
6497        (WebCore::HTMLCanvasElement::setHeight): Added. Sets the height attribute.
6498        (WebCore::HTMLCanvasElement::setWidth): Added. Sets the width attribute.
6499        (WebCore::HTMLCanvasElement::willDraw): Added. Tells the renderer to repaint.
6500        Also has FIXME mentioning we could dirty only the part that has changed in the future.
6501        (WebCore::HTMLCanvasElement::reset): Added. Sets the size of the canvas and discards
6502        the old buffer, which is an indirect way of resetting the buffer to transparent black.
6503        (WebCore::HTMLCanvasElement::paint): Added. Draws the canvas image into the graphics
6504        context that's passed in.
6505        (WebCore::HTMLCanvasElement::createDrawingContext): Added. Allocates a buffer for
6506        the bits, then creates a bitmap context for drawing into the buffer.
6507        (WebCore::HTMLCanvasElement::drawingContext): Added. Calls createDrawingContext if
6508        needed, then returns the current drawing context.
6509        (WebCore::HTMLCanvasElement::createPlatformImage): Changed to always call CGContextFlush
6510        and to create the image from the context in this class.
6511
6512        * rendering/RenderHTMLCanvas.h: Remove almost all of the contents of this file.
6513        Removed ~RenderHTMLCanvas, setNeedsImageUpdate, element, updateDrawnImage, drawingContext,
6514        createDrawingContext, and drawnImage functions and _drawingContext, _drawingContextData,
6515        _drawnImage, and _needsImageUpdate booleans. Changed RenderHTMLCanvas to derive from
6516        RenderReplaced instead of RenderImage.
6517
6518        * rendering/RenderHTMLCanvas.cpp:
6519        (WebCore::RenderHTMLCanvas::RenderHTMLCanvas): Changed to only initialize RenderReplaced.
6520        (WebCore::RenderHTMLCanvas::renderName): Moved this in here, since there's no good reason
6521        to have this virtual function inlined.
6522        (WebCore::RenderHTMLCanvas::paint): Changed implementation to use HTMLCanvasElement::paint
6523        instead ofcalling CGContextDrawImage directly.
6524        (WebCore::RenderHTMLCanvas::layout): Removed the code that detects changes in width and
6525        causes the drawing context to be recreated; instead, if the width and height changes we
6526        scale when we paint the canvas.
6527
6528        * bindings/js/JSCanvasRenderingContext2DBase.cpp:
6529        (WebCore::JSCanvasRenderingContext2DBaseProtoFunc::callAsFunction):
6530        Separated out handling for <canvas> vs. <img> elements in drawRect, since
6531        HTMLCanvasElement is no longer derived from HTMLImageElement.
6532
65332006-04-09  Rob Buis  <buis@kde.org>
6534
6535        Reviewed by eseidel.  Landed by eseidel.
6536
6537        Fix for http://bugs.webkit.org/show_bug.cgi?id=6027:
6538        Dirty rect invalidation issues in mozilla sample
6539
6540        Make sure the paths calculate the new bounding box and not
6541        use the cached bbox.
6542
6543        No automated test case possible.
6544
6545        * kcanvas/RenderPath.cpp:
6546        (WebCore::RenderPath::setPath):
6547
65482006-04-09  Rob Buis  <buis@kde.org>
6549
6550        Reviewed by darin.  Landed by eseidel.
6551
6552        Fix for http://bugs.webkit.org/show_bug.cgi?id=6930:
6553        % width/height on nested <svg> tags do not work
6554
6555        Set the context correctly for inner <svg>, so calculation of
6556        width/height for inner <svg> elements is done against the
6557        viewport element.
6558
6559        Test: svg/custom/inner-percent.svg
6560
6561        * ksvg2/svg/SVGSVGElement.cpp:
6562        (WebCore::SVGSVGElement::width):
6563        (WebCore::SVGSVGElement::height):
6564
65652006-04-08  Rob Buis  <buis@kde.org>
6566
6567        Reviewed by eseidel.  Landed by eseidel.
6568
6569        No automated test case possible.
6570
6571        Fix for http://bugs.webkit.org/show_bug.cgi?id=7531:
6572        hang in SVGPolygonElementImpl::toPathData in polygon test case
6573
6574        Make sure the points list is cleared, just like the path
6575        list is cleared first before (re)parsing.
6576
6577        * ksvg2/svg/SVGPolyElement.cpp:
6578        (SVGPolyElement::parseMappedAttribute):
6579
65802006-04-08  Darin Adler  <darin@apple.com>
6581
6582        Reviewed by Beth.
6583
6584        - fix http://bugs.webkit.org/show_bug.cgi?id=7622
6585          REGRESSION: New text fields should compute maxlength considering composed character sequences
6586
6587        Test: fast/forms/input-text-maxlength.html
6588        Test: fast/forms/input-text-paste-maxlength.html
6589
6590        * html/HTMLInputElement.h: Removed all friend classes (not needed any more). Renamed
6591        typeEnum to InputType. Made init() function private. Tweaked parameter names and formatting
6592        in many function declarations. Made canHaveSelection, selectionStart, and selectionEnd
6593        const. Made data members except for m_name private instead of protected. Added private
6594        functions constrainValue and recheckValue. Removed unused isEditable function.
6595
6596        * html/HTMLInputElement.cpp:
6597        (WebCore::numGraphemeClusters): Added.
6598        (WebCore::numCharactersInGraphemeClusters): Added.
6599        (WebCore::HTMLInputElement::isKeyboardFocusable): Use inputType() instead of using m_type
6600        directly.
6601        (WebCore::HTMLInputElement::isMouseFocusable): Ditto.
6602        (WebCore::HTMLInputElement::focus): Ditto.
6603        (WebCore::HTMLInputElement::setInputType): Added code to call constrainValue or recheckValue
6604        so we will enforce maxLen if changing from a type that doesn't have maxLen to one that does.
6605        (WebCore::HTMLInputElement::type): More-standard formatting for switch statement. Put
6606        cases into alphabetical order.
6607        (WebCore::HTMLInputElement::state): Changed switch statement to include all case values and
6608        not include a default case to take advantage of gcc's missing case warning.
6609        (WebCore::HTMLInputElement::restoreState): Ditto.
6610        (WebCore::HTMLInputElement::canHaveSelection): Ditto.
6611        (WebCore::HTMLInputElement::selectionStart): Ditto.
6612        (WebCore::HTMLInputElement::selectionEnd): Ditto.
6613        (WebCore::HTMLInputElement::setSelectionStart): Ditto.
6614        (WebCore::HTMLInputElement::setSelectionEnd): Ditto.
6615        (WebCore::HTMLInputElement::select): Ditto.
6616        (WebCore::HTMLInputElement::setSelectionRange): Ditto.
6617        (WebCore::HTMLInputElement::click): Ditto.
6618        (WebCore::HTMLInputElement::accessKeyAction): Ditto.
6619        (WebCore::HTMLInputElement::parseMappedAttribute): Use inputType() instead of using m_type
6620        directly. Added call to recheckValue when parsing a new value for the maxlength attribute.
6621        (WebCore::HTMLInputElement::rendererIsNeeded): Changed switch statement to include all case
6622        values and not include a default case to take advantage of gcc's missing case warning.
6623        (WebCore::HTMLInputElement::createRenderer): Ditto.
6624        (WebCore::HTMLInputElement::attach): Remove code to condition the value attribute when done
6625        parsing. This is now all handled by constrainValue and recheckValue as needed.
6626        (WebCore::HTMLInputElement::isSuccessfulSubmitButton): Use inputType() instead of using
6627        m_type directly.
6628        (WebCore::HTMLInputElement::appendFormData): Ditto. Rearranged code a little.
6629        (WebCore::HTMLInputElement::setChecked): Ditto.
6630        (WebCore::HTMLInputElement::setIndeterminate): Ditto.
6631        (WebCore::HTMLInputElement::value): Ditto. Call constrainValue when reading the value out
6632        of the value attribute.
6633        (WebCore::HTMLInputElement::valueWithDefault): Use inputType() instead of using
6634        m_type directly. Changed switch statement to include all case values and not include a
6635        default case to take advantage of gcc's missing case warning.
6636        (WebCore::HTMLInputElement::setValue): Ditto. Call constrainValue when storing a value.
6637        (WebCore::HTMLInputElement::setValueFromRenderer): Added an assertion.
6638        (WebCore::HTMLInputElement::storesValueSeparateFromAttribute): Use inputType() instead of
6639        using m_type directly.
6640        (WebCore::HTMLInputElement::preDispatchEventHandler): Ditto.
6641        (WebCore::HTMLInputElement::postDispatchEventHandler): Ditto.
6642        (WebCore::HTMLInputElement::defaultEventHandler): Ditto. Changed code to truncate inserted
6643        text in a BeforeTextInsertedEvent to use the new constrainValue function and also the
6644        numGraphemeClusters function, so it's based on grapheme clusters instead of characters and
6645        shares code.
6646        (WebCore::HTMLInputElement::constrainValue): Added.
6647        (WebCore::HTMLInputElement::recheckValue): Added.
6648
6649        * html/HTMLIsIndexElement.cpp: (WebCore::HTMLIsIndexElement::HTMLIsIndexElement):
6650        Removed unneeded code to set m_type to TEXT, which is already what it gets set to by
6651        the base class's constructor.
6652
6653        * html/HTMLGenericFormElement.h: Removed unused isEditable function.
6654        * html/HTMLGenericFormElement.cpp: Ditto.
6655        * html/HTMLTextAreaElement.h: Ditto.
6656        * html/HTMLTextAreaElement.cpp: Ditto.
6657
6658        * platform/StringImpl.cpp: (WebCore::StringImpl::truncate): Changed > to >= so that
6659        truncating to the size of the string does nothing, efficiently.
6660
6661        * rendering/RenderText.h: Added declaration of characterBreakIterator.
6662        * rendering/RenderText.cpp:
6663        (WebCore::characterBreakIterator): Made this public so it can be used in other files.
6664        Maybe we should also move it to another source file later. Also renamed to remove the
6665        "get" from the title.
6666        (WebCore::RenderText::previousOffset): Updated for name change.
6667        (WebCore::RenderText::nextOffset): Updated for name change.
6668
6669        * rendering/RenderTextField.cpp: (WebCore::RenderTextField::updateFromElement):
6670        Removed code to implement maxlength checking. That's handled entirely in the DOM now.
6671        Also moved down the code to get the value into a string so that it's done only in the
6672        case where the string is used.
6673
6674        * rendering/render_form.cpp: (WebCore::RenderFileButton::valueChanged): Use setValueFromRenderer
6675        instead of setting the value directly in the input element. We changed this for all the other
6676        types a while ago, and it works just as well for the input element.
6677
6678        * dom/BeforeTextInsertedEvent.h: Added setText function. Previously, clients changed the text
6679        by modifying the text object in place, but going forward we'd like to avoid that sort of thing.
6680
6681        * editing/ReplaceSelectionCommand.cpp: (WebCore::ReplacementFragment::ReplacementFragment):
6682        Changed code to assume clients will change the text in the event rather than mutating the
6683        text object itself. This is compatible with possible future changes to String to be copy
6684        on write.
6685        * editing/TypingCommand.cpp: (WebCore::TypingCommand::insertText): Ditto.
6686
66872006-04-07  Darin Adler  <darin@apple.com>
6688
6689        Reviewed by Hyatt.
6690
6691        - test for http://bugs.webkit.org/show_bug.cgi?id=8134
6692          REGRESSION: dragging down from the middle of a text field does not select to end of field
6693
6694        * editing/Selection.cpp:
6695        (WebCore::comparePositions): Added. Takes shadow content into account.
6696        (WebCore::Selection::validate): Changed to call comparePositions instead of calling
6697        Range::compareBoundaryPoints directly. Also removed unneeded code to redundantly set
6698        m_start and m_end to null and did a bit of reformatting.
6699
6700        - some tiny efficiency improvements to the tokenizer -- no measurable speedup, but removes
6701          a little bit of unneeded code
6702
6703        * html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::parseTag): Changed all the places
6704        that do "unsigned short x = *c" to "unsigned short x = c->unicode()" when c is a QChar,
6705        otherwise we do an unnecessary conversion to char (which requires a branch to see if
6706        the c fits in a char).
6707
67082006-04-07  Justin Garcia  <justin.garcia@apple.com>
6709
6710        Reviewed by harrison
6711
6712        Rolled the fix for 8250 back in and fixed a bug:
6713        The local variables for the first and last nodes in the fragment
6714        need to be reset when the fragment is changed for plaintext-only mode
6715        or a change from the beforetextinserted event handler.
6716
6717        * editing/ReplaceSelectionCommand.cpp:
6718        (WebCore::ReplacementFragment::ReplacementFragment):
6719
67202006-04-07  Maciej Stachowiak  <mjs@apple.com>
6721
6722        Reviewed by Darin.
6723
6724        - fixed REGRESSION: offsetParent on element with no offset parent crashes
6725
6726        * dom/Element.cpp:
6727        (WebCore::Element::offsetParent): Add missing null check.
6728
67292006-04-07  Justin Garcia  <justin.garcia@apple.com>
6730
6731        Reviewed by adele
6732
6733        maxlength truncation in text fields didn't work if the fragment was a
6734        single text node.
6735
6736        * editing/ReplaceSelectionCommand.cpp:
6737        (WebCore::ReplacementFragment::ReplacementFragment):
6738
67392006-04-07  Justin Garcia  <justin.garcia@apple.com>
6740
6741        Reviewed by harrison
6742
6743        <http://bugs.webkit.org/show_bug.cgi?id=8250>
6744        REGRESSION: Interchange newlines aren't passed with the khtmlBeforeTextInsertedEvent
6745
6746        * editing/ReplaceSelectionCommand.cpp:
6747        (WebCore::ReplacementFragment::ReplacementFragment):
6748        Interchange content removal happened before khtmlBeforeTextInsertedEvent was sent.
6749
67502006-04-07  Justin Garcia  <justin.garcia@apple.com>
6751
6752        Reviewed by adele
6753
6754        <http://bugs.webkit.org/show_bug.cgi?id=8219>
6755        REGRESSION: Two extra newlines added when pasting a single styled line into a plaintext-only region
6756
6757        * editing/ReplaceSelectionCommand.cpp:
6758        (WebCore::ReplacementFragment::ReplacementFragment):
6759        Converting the fragment to plaintext introduced an extraneous newline because
6760        the range passed to plainText ended after the paragraph containing the fragment
6761        built from the markup that TextEdit put on the paste board.  TextIterator will
6762        emit a newline when it exits a paragraph.
6763        Two extra newlines were added because the '\n' in the plaintext string turns
6764        into an interchange newline, which isn't removed because of 8250, and the
6765        interchange newline looks like inline content that requires the insertion of
6766        a paragraph separator during paste.
6767        Fixed by creating a range using VisiblePositions at the start and the end of
6768        the node that holds the fragment during paste's test rendering.
6769
67702006-04-06  Justin Garcia  <justin.garcia@apple.com>
6771
6772        Reviewed by harrison
6773
6774        <http://bugs.webkit.org/show_bug.cgi?id=8145>
6775        REGRESSION: Pasting text from TextEdit with a bold word into text field results in crash
6776
6777        * editing/AppendNodeCommand.cpp:
6778        (WebCore::AppendNodeCommand::doApply):
6779        Assert that the node will be placed somewhere that's contenteditable.
6780        * editing/InsertNodeBeforeCommand.cpp:
6781        (WebCore::InsertNodeBeforeCommand::doApply): Ditto
6782        * editing/JSEditor.cpp:
6783        Enabled insertHTML for plaintext-only regions since it's useful for debugging rich
6784        content pastes into the new text fields.
6785        * editing/ReplaceSelectionCommand.cpp:
6786        (WebCore::ReplaceSelectionCommand::doApply):
6787        1) After the first paragraph of the fragment has been merged with the first part of the
6788        paragraph where the paste occured, if the next node to be inserted is inline, we put it
6789        in a new paragraph because it was at the start of a paragraph in the fragment.  The change
6790        is to insert a paragraph separator if insertionPos.next() is null or outside of the current
6791        editable region.
6792        2) Before the paste begins, a paragraph separator is inserted in order to avoid
6793        nesting blocks from the fragment to be pasted inside the block where the paste will
6794        occur.  I made two fixes to the code that decides whether or not to insert the
6795        paragraph separator and added testcases for each.  Added a fixme because it appears that
6796        this code is also used to ensure that the aforementioned insertionPos will be at the end of
6797        a paragraph.  This code should only be about preventing nesting.
6798
67992006-04-06  Maciej Stachowiak  <mjs@apple.com>
6800
6801        Reviewed by Anders.
6802
6803        - Convert Element JS bindings to be almost completely autogenerated
6804        http://bugs.webkit.org/show_bug.cgi?id=8227
6805
6806        * dom/Element.idl: Declare full interface in IDL.
6807        * dom/Element.h:
6808        (WebCore::Element::tagQName): Renamed from tagName, so the real DOM
6809        method can be called tagName.
6810        (WebCore::Element::tagName): inline alias for nodeName.
6811        * dom/Element.cpp:
6812        (WebCore::Element::scrollByUnits): Moved logic from JS bindings to
6813        core DOM.
6814        (WebCore::Element::scrollByLines): ditto
6815        (WebCore::Element::scrollByPages): ditto
6816        (WebCore::Element::offsetLeft): ditto, plus make unrendered elements return 0 not undefined
6817        (WebCore::Element::offsetTop): ditto, plus make unrendered elements return 0 not undefined
6818        (WebCore::Element::offsetWidth): ditto, plus make unrendered elements return 0 not undefined
6819        (WebCore::Element::offsetHeight): ditto, plus make unrendered elements return 0 not undefined
6820        (WebCore::Element::offsetParent): ditto
6821        (WebCore::Element::clientWidth): ditto, plus make unrendered elements return 0 not undefined
6822        (WebCore::Element::clientHeight): ditto, plus make unrendered elements return 0 not undefined
6823        (WebCore::Element::scrollLeft): ditto
6824        (WebCore::Element::scrollTop): ditto
6825        (WebCore::Element::setScrollLeft): ditto
6826        (WebCore::Element::setScrollTop): ditto
6827        (WebCore::Element::scrollWidth): ditto, plus make unrendered elements return 0 not undefined
6828        (WebCore::Element::scrollHeight): ditto, plus make unrendered elements return 0 not undefined
6829
6830        * bindings/scripts/CodeGeneratorJS.pm: Added support for
6831        ConvertUndefinedToTrue, for benefit of scroll methods where
6832        omitted arguments should be treated as true.  However, maybe
6833        explicit overloading in the IDL would be a better long-term
6834        approach for optional arguments.
6835
6836        * khtml/ecma/kjs_binding.cpp:
6837        (KJS::valueToStringWithNullCheck): fixed formatting
6838        (KJS::valueToBooleanTreatUndefinedAsTrue): added for binding of scrollIntoView
6839        (isn't this lame?)
6840        * khtml/ecma/kjs_binding.h:
6841        (KJS::toJS): fixed formatting, added new stuff
6842        * khtml/ecma/kjs_dom.cpp:
6843        (KJS::DOMElement::getValueProperty): removed most of contents
6844        (KJS::DOMElement::putValueProperty): ditto
6845        (KJS::DOMElementProtoFunc::callAsFunction): ditto
6846
6847        * css/cssstyleselector.cpp:
6848        (WebCore::CSSStyleSelector::canShareStyleWithElement): updated for rename
6849        of tagName to tagQName
6850        (WebCore::CSSStyleSelector::checkOneSelector): ditto
6851        * dom/Document.cpp:
6852        (WebCore::Document::importNode): ditto
6853        * editing/ApplyStyleCommand.cpp:
6854        (WebCore::ApplyStyleCommand::removeInlineStyle): ditto
6855        (WebCore::areIdenticalElements): ditto
6856        * html/HTMLElement.cpp:
6857        (WebCore::HTMLElement::inEitherTagList): ditto
6858        (WebCore::HTMLElement::inInlineTagList): ditto
6859        (WebCore::HTMLElement::inBlockTagList): ditto
6860
68612006-04-06  Beth Dakin  <bdakin@apple.com>
6862
6863        Reviewed by Darin.
6864
6865        Fix for http://bugs.webkit.org/show_bug.cgi?id=8203
6866        REGRESSION: "Invite a friend" text field in GMail page spills out
6867        of table
6868
6869        RenderReplaced::calcMinMaxWidth() sets m_minWidth to 0 when the
6870        width is a percent, so this patch copies that behavior into
6871        RenderTextField::calcMinMaxWidth().
6872
6873        * rendering/RenderTextField.cpp:
6874        (WebCore::RenderTextField::calcMinMaxWidth):
6875
68762006-04-06  Darin Adler  <darin@apple.com>
6877
6878        - try to fix Windows build
6879
6880        * WebCore.vcproj/WebCore/WebCore.vcproj: Add JSDocument.cpp.
6881
68822006-04-05  Darin Adler  <darin@apple.com>
6883
6884        Reviewed by Adele.
6885
6886        - fix http://bugs.webkit.org/show_bug.cgi?id=8111
6887          REGRESSION (NativeTextField): first click in form field on weather.com leaves focus
6888          but no caret
6889
6890        Test: fast/forms/input-text-self-emptying-click.html
6891
6892        * page/MouseEventWithHitTestResults.h: Removed url, target, m_url and m_target,
6893        replacing them with isOverLink and m_isOverLink. Replaced innerNode with targetNode,
6894        and added logic to handle the case where the target node is removed from the document
6895        but the element the target node was in is still inside the document.
6896        * page/MouseEventWithHitTestResults.cpp: Added.
6897
6898        * WebCore.xcodeproj/project.pbxproj: Added MouseEventWithHitTestResults.cpp.
6899        * WebCore.vcproj/WebCore/WebCore.vcproj: Ditto.
6900
6901        * kwq/RenderTreeAsText.cpp: (nodePosition): Added a call to shadowParentNode so we
6902        correctly dump positions within shadow trees. This was needed to give a good result
6903        from my new test for this bug.
6904
6905        * dom/Document.cpp:
6906        (WebCore::Document::prepareMouseEvent): Update to pass fewer parameters to the
6907        constructor for MouseEventWithHitTestResults. Now takes isOverLink boolean, and no
6908        longer takes href and target parameters.
6909
6910        * page/Frame.cpp:
6911        (WebCore::Frame::handleMousePressEventDoubleClick): Use new name targetNode, instead
6912        of old name innerNode.
6913        (WebCore::Frame::handleMousePressEventTripleClick): Ditto.
6914        (WebCore::Frame::handleMousePressEventSingleClick): Ditto. Also change code to check
6915        if over a link to use !isOverLink instead of url.isNull.
6916        (WebCore::Frame::handleMousePressEvent): Ditto. Also remove unused "url" local variable.
6917        (WebCore::Frame::handleMouseMoveEvent): Ditto.
6918        (WebCore::Frame::handleMouseReleaseEvent): Ditto.
6919        (WebCore::Frame::passWidgetMouseDownEventToWidget): Ditto.
6920
6921        * bridge/mac/FrameMac.mm:
6922        (WebCore::FrameMac::handleMousePressEvent): Use new name targetNode, instead of old
6923        name innerNode.
6924        (WebCore::FrameMac::handleMouseMoveEvent): Ditto.
6925        (WebCore::FrameMac::passSubframeEventToSubframe): Ditto.
6926        (WebCore::FrameMac::sendContextMenuEvent): Ditto.
6927
6928        * page/FrameView.cpp:
6929        (WebCore::subframeForEvent): Use new name targetNode, instead of old name innerNode.
6930        (WebCore::FrameView::handleMousePressEvent): Ditto.
6931        (WebCore::FrameView::handleMouseDoubleClickEvent): Ditto.
6932        (WebCore::selectCursor): Ditto. Also change code to check if over a link to use
6933        isOverLink instead of !url.isNull.
6934        (WebCore::FrameView::handleMouseMoveEvent): Ditto.
6935        (WebCore::FrameView::handleMouseReleaseEvent): Ditto.
6936        (WebCore::FrameView::updateDragAndDrop): Ditto.
6937
69382006-04-05  Mitz Pettel  <opendarwin.org@mitzpettel.com>
6939
6940        Reviewed and landed by Maciej.
6941
6942        - fix http://bugs.webkit.org/show_bug.cgi?id=8184
6943          REGRESSION (r13655): Layer outline not clipped where it should be
6944
6945        * rendering/RenderLayer.cpp:
6946        (WebCore::RenderLayer::calculateRects): Reverted this part of the fix for bug 7943.
6947        The outlineRect should not be inflated.
6948
69492006-04-05  Rob Buis  <buis@kde.org>
6950
6951        Reviewed by Eric, landed by Maciej.
6952
6953        Fix for http://bugs.webkit.org/show_bug.cgi?id=7627:
6954        SVG from the W3C SVG 1.1 test suite (cubic01.svg) renders as all black
6955
6956        Fix this svg stylesheet to use strict-mode, as this makes sure
6957        class selecting is done correctly.
6958
6959        * ksvg2/svg/SVGStyleElement.cpp:
6960        (SVGStyleElement::childrenChanged):
6961
69622006-04-05  Justin Garcia  <justin.garcia@apple.com>
6963
6964        Reviewed by mjs
6965
6966        I forgot to convert one of the implicit remove/inserts to an explicit remove/insert,
6967        so we were hitting the assert I just added to InsertNodeBeforeCommand that checked for
6968        implicit removes.
6969
6970        * editing/ReplaceSelectionCommand.cpp:
6971        (WebCore::ReplaceSelectionCommand::doApply):
6972
69732006-04-05  Maciej Stachowiak  <mjs@apple.com>
6974
6975        Reviewed by Anders.
6976
6977        - autogenerate bindings for all of the methods and properties of Document
6978        http://bugs.webkit.org/show_bug.cgi?id=8163
6979
6980        - also removed document.actualEncoding since it is not in any spec
6981        or implemented by any other browser
6982
6983        * DerivedSources.make: add JSDocument.h to results
6984        * WebCore.xcodeproj/project.pbxproj: Added new files to project
6985        * bindings/scripts/CodeGeneratorJS.pm: Support for new stuff needed by Document.
6986        * dom/Document.cpp:
6987        (WebCore::Document::readyState): moved impl here from JS bindings
6988        (WebCore::Document::inputEncoding): ditto
6989        (WebCore::Document::defaultCharset): ditto
6990        (WebCore::Document::setCharset): ditto
6991        * dom/Document.h:
6992        (WebCore::Document::charset): added, synonym for inputEncoding.
6993        (WebCore::Document::characterSet): ditto
6994        * dom/Document.idl: Added. Full interface for the Document object.
6995        * khtml/ecma/JSXMLHttpRequest.cpp:
6996        (KJS::JSXMLHttpRequestProtoFunc::callAsFunction): JSDocument, not DOMDocument
6997        * khtml/ecma/JSXSLTProcessor.cpp:
6998        (KJS::XSLTProcessorProtoFunc::callAsFunction): ditto
6999        * khtml/ecma/kjs_binding.cpp:
7000        (KJS::jsStringOrFalse): Added this convenience for the method on Document
7001        that bizzarely returns false on failure and a string otherwise.
7002        * khtml/ecma/kjs_binding.h:
7003        * khtml/ecma/kjs_css.cpp:
7004        (KJS::toJS): renamed for consistency
7005        * khtml/ecma/kjs_css.h:
7006        * khtml/ecma/kjs_dom.cpp:
7007        - removed all traces of DOMDocument
7008        (KJS::toJS): JSDocument, not DOMDocument
7009        * khtml/ecma/kjs_dom.h:
7010        * khtml/ecma/kjs_html.cpp:
7011        (KJS::):
7012        (KJS::JSHTMLDocument::JSHTMLDocument): inherit from JSDocument
7013        (KJS::JSHTMLDocument::getOwnPropertySlot): ditto
7014        (KJS::JSHTMLDocument::put): ditto
7015        * khtml/ecma/kjs_html.h:
7016        * khtml/ecma/kjs_traversal.cpp:
7017        (KJS::toJS): added overloads
7018        (KJS::toNodeFilter): handle JS functions as well as impl NodeFilter objects
7019        * khtml/ecma/kjs_traversal.h:
7020        * platform/AtomicString.h:
7021        (WebCore::AtomicString::AtomicString): Allow implicit conversion from String.
7022
70232006-04-05  Justin Garcia  <justin.garcia@apple.com>
7024
7025        Reviewed by darin
7026
7027        <http://bugs.webkit.org/show_bug.cgi?id=8198>
7028        Hitting an assert on undo paste
7029
7030        ReplaceSelectionCommand was doing a combination of undoable and non-undoable
7031        removes from the ReplacementFragment.  On Undo Paste, the undoable removes
7032        couldn't be undone because the tree was in a different state than it was
7033        at the time of the remove.  This patch makes all the removes from the fragment
7034        non-undoable.  We could make them all undoable, but I can't think of any reason
7035        why we'd want the fragment to be reconstructed on an Undo Paste.
7036
7037        * editing/AppendNodeCommand.cpp:
7038        (WebCore::AppendNodeCommand::doApply):
7039        Assert that the node to append isn't already in a tree, since if it is, it will
7040        be removed in a non-undoable way.
7041        * editing/InsertNodeBeforeCommand.cpp:
7042        (WebCore::InsertNodeBeforeCommand::doApply): Ditto.
7043        * editing/ReplaceSelectionCommand.cpp:
7044        (WebCore::ReplaceSelectionCommand::doApply):
7045        Nodes were being moved from the fragment to the document with undoable inserts.
7046        Undoable inserts implicitly remove the node (in a non-undoable way) from its
7047        old location if it is already in a tree.  I now explicitly remove the nodes
7048        from the fragment before inserting them into the document to make it clear that
7049        they are being removed in a non-non-undoable way.  I also changed the one undoable
7050        remove from the fragment to a non-undoable remove.
7051        * editing/ReplaceSelectionCommand.h:
7052        Made ReplacementFragment's non-undoable removeNode public.
7053
70542006-04-05  Darin Adler  <darin@apple.com>
7055
7056        - fixed the build
7057
7058        * WebCore.xcodeproj/project.pbxproj: Oops! Resolved merge conflict.
7059
70602006-04-05  Darin Adler  <darin@apple.com>
7061
7062        Reviewed by Maciej.
7063
7064        - fix for http://bugs.webkit.org/show_bug.cgi?id=8049
7065          StringImpl hash traits deleted value creates an init routine for WebCore
7066          <rdar://problem/4442248> REGRESSION: WebCore has init routines (8049)
7067
7068        * platform/StringHash.h: Added. Moved hash functions and such for
7069        WebCore::String and friends into this file so we don't have to include
7070        the hash traits header everywhere. Changed hashing for WebCore::StringImpl
7071        and WebCore::String so that they use a raw pointer for the underlying
7072        storage type, taking advantage of the new feature added in JavaScriptCore.
7073
7074        * platform/AtomicString.h: Moved StrHash specialization to StringHash.h.
7075        * platform/PlatformString.h: Moved StrHash specialization to StringHash.h.
7076        * platform/StringImpl.h: Moved StrHash, CaseInsensitiveHash, and HashTraits
7077        to StringHash.h. Left DefaultHash behind so that you can't get the wrong
7078        hash function by accident if you forget to include "StringHash.h".
7079
7080        * platform/StringImpl.cpp: Added include of StringHash.h and removed
7081        RefPtr<StringImpl> HashTraits<RefPtr<StringImpl> >::_deleted, which is
7082        the object with a global initializer causing all the trouble!
7083
7084        * kwq/AccessibilityObjectCache.h: Changed hash function to be IntHash
7085        instead of PtrHash.
7086
7087        * dom/StyledElement.cpp: Changed MappedAttributeKeyTraits to inherit from
7088        the generic traits in KXMLCore so we get a StorageType. Also cleaned up a
7089        tiny bit by adding default values to the MappedAttributeKey constructor.
7090
7091        * platform/CharsetNames.cpp: Changed hash traits here to be a new
7092        TextEncodingIDHashTraits struct rather than defining new default traits
7093        for the integer type since more integer types have default traits in
7094        HashTraits.h now. Also added a specialization so this class will share
7095        the underlying implementation (since InvalidEncoding happens to be -1).
7096
7097        * bridge/mac/FrameMac.h:
7098        * dom/Document.h:
7099        * dom/xml_tokenizer.h:
7100        * khtml/xsl/XSLTProcessor.h:
7101        * kwq/JavaAppletWidget.h:
7102        * page/FramePrivate.h:
7103        * page/Page.cpp:
7104        * platform/AtomicString.cpp:
7105        * platform/TransferJob.h:
7106        * rendering/render_applet.h:
7107        Added include of StringHash.h.
7108
7109        * WebCore.xcodeproj/project.pbxproj: Added StringHash.h. Remove unneeded
7110        CREATE_HASH_TABLE variable in build settings. Re-sorted some file lists.
7111        Added quotes to the CREATE_HASH_TABLE initialization in the rule that
7112        builds generated files. Removed various unneeded build settings for that
7113        target as well.
7114
7115        * ForwardingHeaders/kxmlcore/HashTraits.h: Added.
7116
7117        - other minor cleanup
7118
7119        * bridge/mac/FrameMac.mm: Sorted includes.
7120        * dom/Node.cpp: Removed bogus symbol after #endif.
7121
7122        * khtml/xsl/XSLTProcessor.cpp: Sorted includes. Removed redundant using
7123        namespace WebCore.
7124        * loader/Cache.cpp: Ditto.
7125
71262006-04-05  Beth Dakin  <bdakin@apple.com>
7127
7128        Reviewed by Darin.
7129
7130        Fix for <rdar://problem/4502311> text-transform:capitalize needs to
7131        treat nbsp as a regular space when ICU changes
7132
7133        There will be future changes in ICU to match the Unicode 4.1
7134        standard which no longer recognizes &nbsp as a word separator. We
7135        need to work around this with text-transform:capitalize because
7136        words after non-breaking spaces still need to be capitalized.
7137
7138        No layout tests added because existing layout tests cover this.
7139
7140        * platform/StringImpl.cpp:
7141        (WebCore::StringImpl::capitalize): If the character is a non-
7142        breaking space, add a regular space to our temporary buffer,
7143        otherwise, just copy the character in.
7144
71452006-04-05  Alexey Proskuryakov  <ap@nypop.com>
7146
7147        Reviewed by Darin.
7148
7149        - fix http://bugs.webkit.org/show_bug.cgi?id=8110
7150          Define navigator.vendorSub (bcms.gov.uk doesn't allow access to login page)
7151
7152        Test: fast/dom/navigator-vendorSub.html
7153
7154        * khtml/ecma/kjs_navigator.cpp:
7155        (KJS::Navigator::getValueProperty): Return an empty string for vendorSub property.
7156        * khtml/ecma/kjs_navigator.h:
7157
71582006-04-04  Darin Adler  <darin@apple.com>
7159
7160        Reviewed by Justin (editing parts) and Adele (the rest).
7161
7162        - fix http://bugs.webkit.org/show_bug.cgi?id=8182
7163          some text-field-related layout tests are failing
7164
7165        The smart paste code was getting confused and adding extra spaces.
7166
7167        * editing/ReplaceSelectionCommand.cpp:
7168        (WebCore::ReplaceSelectionCommand::doApply): Use isStartOfParagraph instead of
7169        isStartOfLine.
7170        (WebCore::ReplaceSelectionCommand::removeLinePlaceholderIfNeeded): Ditto.
7171
7172        * editing/InsertParagraphSeparatorCommand.cpp: (WebCore::enclosingEmptyListItem):
7173        Change to call isStart/EndOfParagraph instead of Line.
7174
7175        * editing/InsertTextCommand.cpp: (WebCore::InsertTextCommand::input):
7176        Add a comment about how isStartOfLine is almost certainly wrong here.
7177
7178        - clean up some loose ends in the Frame class from the recent renaming
7179
7180        * page/Frame.h: Removed declarations of deleteMe1, deleteMe2, and
7181        handleMouseMoveEventPart2.
7182        * page/Frame.cpp: (WebCore::Frame::handleMouseMoveEvent): Removed
7183        handleMouseMoveEventPart2 by renaming it to handleMouseMoveEvent and removing
7184        handleMouseMoveEvent itself.
7185
7186        - invoke the makefile directly, removing the generate-derived-sources script
7187
7188        * WebCore.vcproj/WebCore/build-generated-files.sh: Call make directly.
7189        * WebCore.xcodeproj/project.pbxproj: Ditto.
7190        * generate-derived-sources: Removed.
7191
71922006-04-04  Adele Peterson  <adele@apple.com>
7193
7194        Reviewed by Justin.
7195
7196        - Fix for http://bugs.webkit.org/show_bug.cgi?id=8158
7197        REGRESSION: Clicking past RTL text in a new text field puts the caret on the wrong side of the text
7198
7199        Tests:
7200        editing/selection/caret-rtl.html
7201        editing/selection/caret-rtl-2.html
7202
7203        * rendering/RenderText.cpp: (WebCore::RenderText::positionForCoordinates):
7204        When calculating the position for the beginning or end of an InlineTextBox,
7205        we now use offsetForPosition instead of just using m_start and m_len, because
7206        offsetForPosition will take rtl text into account.  I also made some formatting
7207        changes.
7208
72092006-04-04  David Hyatt  <hyatt@apple.com>
7210
7211        Fix for bug 8065, inline blocks incorrectly loses spaces between them.
7212
7213        Reviewed by beth
7214
7215        * dom/Text.cpp:
7216        (WebCore::Text::rendererIsNeeded):
7217
72182006-04-04  Adele Peterson  <adele@apple.com>
7219
7220        Reviewed by Hyatt.
7221
7222        - Fix for:
7223        http://bugs.webkit.org/show_bug.cgi?id=8092
7224        REGRESSION (NativeTextField): table contents misaligned in Netflix queue
7225
7226        http://bugs.webkit.org/show_bug.cgi?id=8141
7227        REGRESSION: Native text field fails to wrap inside table
7228
7229        http://bugs.webkit.org/show_bug.cgi?id=8072
7230        REGRESSION: text fields at connect.apple.com spill out of the containing box
7231
7232        Test: fast/forms/input-table.html
7233
7234        Rewrote calcMinMaxWidth for text fields so it considers width,
7235        min-width, and max-width settings as well as the size attribute.
7236
7237        * rendering/RenderTextField.cpp: (WebCore::RenderTextField::calcMinMaxWidth):
7238
72392006-04-04  Beth Dakin  <bdakin@apple.com>
7240
7241        Reviewed by Darin.
7242
7243        This is a followup to my fix for <rdar://problem/4493218>
7244
7245        This patch re-names computeIntLength() and computeShortLength() to
7246        be computeLengthInt() and computeLengthShort(), respectively, to
7247        match the pre-existing computeLengthFloat(). This patch also adds
7248        the slightly confusing-ly named computeLengthIntForLength() which
7249        uses the max and min values of a 28-bit integer as bounds for
7250        overflow. This function is necessary because Length objects expect
7251        28-bit integers.
7252
7253        * css/css_valueimpl.cpp:
7254        (WebCore::CSSPrimitiveValue::computeLengthInt):
7255        (WebCore::CSSPrimitiveValue::computeLengthIntForLength):
7256        (WebCore::CSSPrimitiveValue::computeLengthShort):
7257        * css/css_valueimpl.h:
7258        * css/cssstyleselector.cpp:
7259        (WebCore::convertToLength):
7260        (WebCore::CSSStyleSelector::applyProperty):
7261        (WebCore::CSSStyleSelector::mapBackgroundXPosition):
7262        (WebCore::CSSStyleSelector::mapBackgroundYPosition):
7263
72642006-04-04  Timothy Hatcher  <timothy@apple.com>
7265
7266        Reviewed by Darin.
7267
7268        The Debug and Release frameworks are now built with install paths relative to the build products directory.
7269        This removes the need for other projects to build with -framework WebCore and -framework JavaScriptCore.
7270
7271        * WebCore.xcodeproj/project.pbxproj:
7272
72732006-04-04  Justin Garcia  <justin.garcia@apple.com>
7274
7275        Reviewed by darin
7276
7277        <http://bugs.webkit.org/show_bug.cgi?id=6608>
7278        REGRESSION: Line disappears when deleting
7279
7280        Rewrote moveNodesAfterNode to address these problems:
7281        It moved nodes without preserving their style.
7282        It traversed over siblings looking for a br to know when
7283        to stop merging.  If the br was burried inside a span, it
7284        wouldn't find it.  If the text is whitespace:pre, it wouldn't
7285        stop.
7286        In theory it would crash if the "enclosingInlineElements" of the start of the
7287        selection to delete and the end of the selection to delete were the
7288        same.  We think that this will fix these:
7289        <rdar://problems/3950559&4498113>
7290        CrashTracer: 2116 crashes in Mail at com.apple.WebCore: khtml::CompositeEditCommand::insertNodeAfter + 32
7291        CrashTracer: 1569 crashes in Mail at com.apple.WebCore: khtml::DeleteSelectionCommand::moveNodesAfterNode + 340
7292        But we haven't been able to construct a reproducible case.
7293
7294        * editing/CompositeEditCommand.cpp:
7295        (WebCore::CompositeEditCommand::removeNodeAndPruneAncestors): Moved from ReplaceSelectionCommand.
7296        (WebCore::CompositeEditCommand::prune): Ditto.
7297        * editing/CompositeEditCommand.h:
7298        * editing/DeleteSelectionCommand.cpp:
7299        (WebCore::DeleteSelectionCommand::mergeParagraphs):
7300        (WebCore::DeleteSelectionCommand::doApply):
7301        * editing/DeleteSelectionCommand.h:
7302        * editing/ReplaceSelectionCommand.cpp:
7303        (WebCore::ReplaceSelectionCommand::doApply):
7304        * editing/ReplaceSelectionCommand.h:
7305        (WebCore::):
7306        * editing/markup.cpp:
7307        (WebCore::createMarkup):
7308        Was crashing when passed a collapsed range.  I early return an empty string instead.
7309
73102006-04-04  John Sullivan  <sullivan@apple.com>
7311
7312        Reviewed by Adele Peterson.
7313
7314        - WebCore part of <rdar://problem/4498418> "Autosaved" searchterms are saved during private browsing
7315
7316        * bridge/mac/WebCoreSettings.h:
7317        * bridge/mac/WebCoreSettings.mm:
7318        (-[WebCoreSettings setPrivateBrowsingEnabled:]):
7319        (-[WebCoreSettings privateBrowsingEnabled]):
7320        Teach WebCoreSettings about private browsing (WebKit knew, but WebCore didn't)
7321
7322        * kwq/KWQKHTMLSettings.h:
7323        (KHTMLSettings::privateBrowsingEnabled):
7324        (KHTMLSettings::setPrivateBrowsingEnabled):
7325        Teach KHTMLSettings about private browsing
7326
7327        * kwq/KWQLineEdit.mm:
7328        Fix wrong class in a category method declaration; the compiler didn't seem to mind.
7329
7330        * kwq/WebCoreTextField.mm:
7331        (-[KWQSearchFieldCell _addStringToRecentSearches:]):
7332        Override this method to bail out if private browsing is enabled.
7333
73342006-04-04  Trey Matteson  <trey@usa.net>
7335
7336        Reviewed by Hyatt.
7337
7338        http://bugs.webkit.org/show_bug.cgi?id=7951
7339        REGRESSION: Safari crashes when printing a google map w/directions
7340
7341        Tests: none, because I believe it only happens when printing, due to the relayouts
7342
7343        * rendering/RenderTable.cpp:
7344        (WebCore::RenderTable::recalcSectionsIfNeeded): Add new utility to let the cells
7345        ensure the sections' grid data is up to date.
7346        * rendering/RenderTable.h:
7347        * rendering/RenderTableCell.cpp:
7348        (WebCore::RenderTableCell::calcMinMaxWidth):  Call above method.
7349
73502006-04-03  Justin Haygood <jhaygood@spsu.edu>
7351
7352        Reviewed by eseidel.  Landed by eseidel.
7353
7354        - WIN32: maximumScroll() is the maximum scroll delta, not the maximum scroll position. Update to use
7355          the real maximum scroll position.
7356        http://bugs.webkit.org/show_bug.cgi?id=8160
7357
7358        * platform/win/ScrollViewWin.cpp:
7359        (WebCore::ScrollView::updateScrollBars):
7360
73612006-04-04  Eric Seidel  <eseidel@apple.com>
7362
7363        Reviewed by andersca.
7364
7365        Work-around spaces-in-pathnames issue in gnumake on win32.
7366        http://bugs.webkit.org/show_bug.cgi?id=8173
7367
7368        * WebCore.vcproj/WebCore/build-generated-files.sh:
7369
73702006-04-03  Darin Adler  <darin@apple.com>
7371
7372        - tried to fix build again
7373
7374        * WebCore.xcodeproj/project.pbxproj: Removed JSStyleSheet files.
7375        * WebCore.vcproj/WebCore/WebCore.vcproj: Ditto.
7376
73772006-04-03  Darin Adler  <darin@apple.com>
7378
7379        - fixed properties on a bunch of files
7380          (removed allow-tabs and svn:executable from many)
7381
7382        * css/css_base.cpp:
7383        * html/html_headimpl.cpp:
7384        * khtml/ecma/kjs_traversal.cpp:
7385        * kwq/DeprecatedPtrListImpl.cpp:
7386        * kwq/DeprecatedValueListImpl.cpp:
7387        * loader/CachedScript.h:
7388        * platform/ArrayImpl.cpp:
7389        * platform/StringImpl.cpp:
7390        * rendering/DataRef.h:
7391        * rendering/RenderContainer.cpp:
7392        * rendering/RenderTableCell.cpp:
7393        * rendering/bidi.h:
7394        * rendering/render_list.cpp:
7395        * rendering/render_style.cpp:
7396        * rendering/table_layout.h:
7397        Converted tabs to spaces.
7398
73992006-04-03  Alexey Proskuryakov  <ap@nypop.com>
7400
7401        Reviewed by Darin.
7402
7403        - fix http://bugs.webkit.org/show_bug.cgi?id=7118
7404          Property values with extra items do not get treated as invalid (they should)
7405
7406        Tests: fast/css/invalidation-errors.html
7407               fast/css/invalidation-errors-2.html
7408               fast/css/invalidation-errors-3.html
7409
7410        * css/CSSGrammar.y: Rollback the properties added by parseValue() when it returns false.
7411        * css/cssparser.h: Moved shorthand counting to ShorthandScope, a new class in cssparser.cpp.
7412        * css/cssparser.cpp:
7413        (WebCore::CSSParser::rollbackLastProperties): Added.
7414        (WebCore::CSSParser::parseValue): Return false if there are too many properties in the list.
7415        (WebCore::CSSParser::parseBackgroundShorthand): Use ShorthandScope.
7416        (WebCore::CSSParser::parseShorthand): Ditto.
7417        (WebCore::CSSParser::parse4Values): Ditto.
7418
74192006-04-03  Darin Adler  <darin@apple.com>
7420
7421        - changed StyleSheet back to hand-generated since the generated toJS
7422          function was not making the right type of wrapper for CSS style sheets
7423          (fixes failing layout tests)
7424
7425        * DerivedSources.make: Removed JSStyleSheet.h.
7426        * css/StyleSheet.idl: Removed.
7427        * khtml/ecma/kjs_css.cpp: Added DOMStyleSheet back in.
7428        * khtml/ecma/kjs_css.h: Ditto.
7429
74302006-04-03  Darin Adler  <darin@apple.com>
7431
7432        - fixed Macintosh build
7433
7434        * WebCore.xcodeproj/project.pbxproj: Fixed paths of some files that were absolute
7435        paths from my machine.
7436
74372006-04-03  Darin Adler  <darin@apple.com>
7438
7439        - try to fix Windows build
7440
7441        * WebCore.vcproj/WebCore/WebCore.vcproj: Add three new generated files as source files.
7442
74432006-04-03  Darin Adler  <darin@apple.com>
7444
7445        Reviewed by Maciej.
7446
7447        - get RTL right for bug http://bugs.webkit.org/show_bug.cgi?id=8106
7448          REGRESSION (NativeTextField): New text fields don't scroll to the beginning when losing focus
7449
7450        * rendering/RenderTextField.cpp: (WebCore::RenderTextField::forwardEvent):
7451        Scroll to the right if RTL.
7452
74532006-04-03  Darin Adler  <darin@apple.com>
7454
7455        Reviewed by Maciej.
7456
7457        - http://bugs.webkit.org/show_bug.cgi?id=8147
7458          convert derived sources script to a Makefile
7459
7460        * DerivedSources.make: Added.
7461        * css/CSSPrimitiveValue.idl: Added.
7462        * css/Counter.idl: Added.
7463        * css/StyleSheet.idl: Added.
7464
7465        * WebCore.xcodeproj/project.pbxproj: Added new generated files, IDLs, and the makefile.
7466        * bindings/scripts/CodeGeneratorJS.pm:
7467
7468        * generate-derived-sources: Added license header. Removed most of the script, except for
7469        a single invocation of make.
7470
7471        * khtml/ecma/kjs_css.h: Removed DOMStyleSheet, DOMCSSPrimitiveValue,
7472        CSSPrimitiveValueConstructor, and DOMCounter.
7473        * khtml/ecma/kjs_css.cpp:
7474        (KJS::DOMCSSStyleSheet::DOMCSSStyleSheet): Changed to use JSStyleSheet as the base class.
7475        (KJS::DOMCSSStyleSheet::getOwnPropertySlot): Ditto.
7476        (KJS::DOMCSSValueProtoFunc::callAsFunction): Added.
7477        (KJS::toJS): Changed to use JSCSSPrimitiveValue.
7478        (KJS::DOMRGBColor::getValueProperty): Changed to call toJS instead of making a
7479        DOMCSSPrimitiveValue directly.
7480
74812006-04-03  Justin Garcia  <justin.garcia@apple.com>
7482
7483        Reviewed by harrison
7484
7485        <http://bugs.webkit.org/show_bug.cgi?id=8117>
7486        REGRESSION (NativeTextField): Drag and drop text within a text input field modifies page
7487
7488        The frame's selection is only set after all sub-commands have been
7489        performed.  When we send the khtmlBeforeTextInsertedEvent to the root
7490        editable element we were using frame->selection(), which may no longer
7491        be in the document.
7492
7493        Had to move the construction of the ReplacementFragment to when the
7494        replace operation is applied, because endingSelection isn't the
7495        endingSelection of the last operation when the replace operation
7496        is constructed.
7497
7498        * editing/ReplaceSelectionCommand.cpp:
7499        (WebCore::ReplacementFragment::ReplacementFragment):
7500        (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand):
7501        (WebCore::ReplaceSelectionCommand::doApply):
7502        * editing/ReplaceSelectionCommand.h:
7503
75042006-04-03  Beth Dakin  <bdakin@apple.com>
7505
7506        Reviewed by Hyatt.
7507
7508        Fix for <rdar://problem/4495644> crash when mousing over links at
7509        nationalrealestateinvestors.com in
7510        WebCore::RenderBlock::findNextLineBreak
7511
7512        This is a fix for a repro crasher where a rootLineBox had a stale
7513        pointer to a render object.
7514
7515        * rendering/RenderFlow.cpp:
7516        (WebCore::RenderFlow::dirtyLinesFromChangedChild): Only break from
7517        the function because of selfNeedsLayout() if we are not an inline
7518        flow, because if we are, we will not re-layout before bad things
7519        can happen.
7520
75212006-04-03  Timothy Hatcher  <timothy@apple.com>
7522
7523        Reviewed by Maciej.
7524
7525        Removing idl files and some scripts from the WebCore target to prevent
7526        them from being copied into the Resources.
7527
7528        * WebCore.xcodeproj/project.pbxproj:
7529
75302006-04-03  Dave Hyatt  <hyatt@apple.com>
7531
7532        Implement basic theme support on Win32.  Still much to do, but
7533        the backgrounds of buttons, textfields, checkboxes and radio
7534        controls now draw correctly.  Still work to do for the Classic look
7535        and to get the foreground defaults of the controls correct.
7536
7537        Reviewed by anders
7538
7539        * dom/Node.h:
7540        (WebCore::Node::isReadOnly):
7541        * html/HTMLInputElement.h:
7542        (WebCore::HTMLInputElement::isReadOnly):
7543        * platform/win/IntRectWin.cpp:
7544        (WebCore::IntRect::operator RECT):
7545        * rendering/RenderTheme.cpp:
7546        (WebCore::RenderTheme::isControlStyled):
7547        (WebCore::RenderTheme::stateChanged):
7548        (WebCore::RenderTheme::isReadOnly):
7549        (WebCore::RenderTheme::isHovered):
7550        * rendering/RenderTheme.h:
7551        (WebCore::RenderTheme::supportsHover):
7552        * rendering/RenderThemeMac.h:
7553        * rendering/RenderThemeMac.mm:
7554        (WebCore::RenderThemeMac::isControlStyled):
7555        * rendering/RenderThemeWin.cpp:
7556        (WebCore::m_textFieldTheme):
7557        (WebCore::RenderThemeWin::~RenderThemeWin):
7558        (WebCore::RenderThemeWin::close):
7559        (WebCore::RenderThemeWin::supportsFocus):
7560        (WebCore::RenderThemeWin::determineState):
7561        (WebCore::RenderThemeWin::getThemeData):
7562        (WebCore::RenderThemeWin::paintButton):
7563        (WebCore::RenderThemeWin::setCheckboxSize):
7564        (WebCore::RenderThemeWin::setRadioSize):
7565        (WebCore::RenderThemeWin::paintTextField):
7566        * rendering/RenderThemeWin.h:
7567        (WebCore::ThemeData::m_state):
7568        (WebCore::RenderThemeWin::supportsHover):
7569        (WebCore::RenderThemeWin::paintCheckbox):
7570        (WebCore::RenderThemeWin::paintRadio):
7571
75722006-04-03  Mitz Pettel  <opendarwin.org@mitzpettel.com>
7573
7574        Reviewed by Beth.
7575
7576        - fix http://bugs.webkit.org/show_bug.cgi?id=8085
7577          REGRESSION: Main menu positioned incorrectly on eia.org and fedex.com/us
7578
7579        Test: fast/dom/Element/offsetTop-table-cell.html
7580
7581        * rendering/RenderObject.cpp:
7582        (WebCore::RenderObject::offsetTop): Skip table rows when adding up
7583        the offsets, since a table cell's yPos() is relative to the table
7584        section, not the row.
7585
75862006-04-03  Mitz Pettel  <opendarwin.org@mitzpettel.com>
7587
7588        Test: fast/repaint/layer-outline.html fast/repaint/layer-outline-horizontal.html
7589
7590        Reviewed by Darin.
7591
7592        - fix http://bugs.webkit.org/show_bug.cgi?id=7943
7593          Layer outline does not repaint
7594
7595        * rendering/RenderLayer.cpp:
7596        (WebCore::RenderLayer::paintLayer): Use the outlineRect for the
7597        outline phase and do it only if the outlineRect isn't empty.
7598        (WebCore::RenderLayer::calculateRects): Actually add the outline width to the
7599        outline rect.
7600
76012006-04-03  Adele Peterson  <adele@apple.com>
7602
7603        Reviewed by Justin.
7604
7605        - Fix for http://bugs.webkit.org/show_bug.cgi?id=8104
7606        REGRESSION (NativeTextField): New text fields should not allow pasting newlines
7607
7608        Test: fast/forms/input-truncate-newline.html
7609
7610        * html/HTMLInputElement.cpp:
7611        (WebCore::minPosition): Added helper function.
7612        (WebCore::HTMLInputElement::defaultEventHandler): Searches for /r or /n and
7613         truncates the text to be inserted to the earliest newline.
7614
76152006-04-03  Alexey Proskuryakov  <ap@nypop.com>
7616
7617        Fixed a comment (forgot to save the file before the previous commit).
7618
7619        * xml/xmlhttprequest.cpp:
7620        (WebCore::XMLHttpRequest::open):
7621
76222006-04-03  Alexey Proskuryakov  <ap@nypop.com>
7623
7624        Reviewed by Darin.
7625
7626        - fix http://bugs.webkit.org/show_bug.cgi?id=8099
7627          REGRESSION: XMLHttpRequest lowercase post requests broken
7628
7629        Test: http/tests/xmlhttprequest/methods-lower-case.html
7630
7631        * xml/xmlhttprequest.cpp:
7632        (WebCore::XMLHttpRequest::open): Uppercase some HTTP method names, to match a Firefox quirk.
7633        (WebCore::XMLHttpRequest::send): Account for the above change.
7634
76352006-04-02  Graham Dennis  <Graham.Dennis@gmail.com>
7636
7637        Reviewed by Darin.
7638
7639        - fix http://bugs.webkit.org/show_bug.cgi?id=8032
7640          REGRESSION: Focus ring not completely redrawn after a Delete changes its size
7641
7642        * rendering/RenderObject.cpp:
7643        (WebCore::RenderObject::repaintAfterLayoutIfNeeded): When an element changes size, the
7644        delta rectangles that need to be invalidated must be inflated by the outline size to ensure
7645        that the previous outline is erased, and the space where the new outline is to be drawn is
7646        also invalidated. This behaviour is identical to the behaviour of borders that was fixed in
7647        bug 6301.
7648        * manual-tests/outline-repaint-glitch.html: Added. Manual testcase.
7649        This is just an outline version of border-repaint-glitch.html
7650
76512006-04-02  Trey Matteson  <trey@usa.net>
7652
7653        Reviewed by Maciej.
7654
7655        Support for fixing http://bugs.webkit.org/show_bug.cgi?id=8121
7656        REGRESSION: 404s are not displayed
7657
7658        * bridge/mac/WebCoreFrameBridge.mm:
7659        (-[WebCoreFrameBridge currentForm]): Nuke redundant nil check.
7660        (-[WebCoreFrameBridge frameElement]): Tweak to not rely on our document, which
7661        gives a correct result even at the start of our loading process.
7662        * bindings/objc/DOM.mm:
7663        (-[DOMDocument _ownerElement]): Nuke redundant nil check.
7664
76652006-04-02  David Kilzer  <ddkilzer@kilzer.net>
7666
7667        Reviewed by Maciej.
7668
7669        - Fix for http://bugs.webkit.org/show_bug.cgi?id=8079
7670        REGRESSION: Redraw from page cache does not show visited links
7671
7672        * page/Frame.cpp: (WebCore::Frame::reparseConfiguration): Added back
7673        updateStyleSelector call that was removed as part of the patch for bug 7907.
7674
76752006-04-02  Maciej Stachowiak  <mjs@apple.com>
7676
7677        Reviewed by Hyatt.
7678
7679        - fixed <rdar://problem/4198619> REGRESSION: tabbing through links fails after hitting text field w/ sys's "tab to all controls" off
7680        - fixed <rdar://problem/4463760> REGRESSION: Can't tab from old text field (like password fields) to new text field (6811)
7681        (http://bugs.webkit.org/show_bug.cgi?id=6811)
7682        - fixed tab and shift tab don't select the right things
7683        http://bugs.webkit.org/show_bug.cgi?id=5685
7684
7685        * bridge/mac/FrameMac.mm:
7686        (WebCore::FrameMac::nextKeyViewInFrame):
7687        * bridge/mac/WebCoreFrameBridge.h:
7688
76892006-04-02  Darin Adler  <darin@apple.com>
7690
7691        - add a few stubs to get Windows closer to building
7692
7693        * platform/win/TemporaryLinkStubs.cpp:
7694        (WebCore::focusRingColor):
7695        (WebCore::setFocusRingColorChangeFunction):
7696        (Frame::setNeedsReapplyStyles):
7697
76982006-04-02  Darin Adler  <darin@apple.com>
7699
7700        - fix the build
7701
7702        * WebCore.xcodeproj/project.pbxproj: Removed a bunch of files that should not have been
7703        mentioned at all, and a bunch of others that should be in the project but not in the target.
7704
77052006-04-02  Darin Adler  <darin@apple.com>
7706
7707        Reviewed by Adele.
7708
7709        - fix http://bugs.webkit.org/show_bug.cgi?id=8123
7710          focus ring on new text field doesn't look like the old one
7711
7712        - fix http://bugs.webkit.org/show_bug.cgi?id=7685
7713          Focus ring color should change to match graphite when system theme is graphite
7714
7715        - some cleanup to how we parse user agent style sheets
7716
7717        * css/CSSValueKeywords.in: Added -webkit-focus-ring-color.
7718
7719        * css/cssstyleselector.cpp:
7720        (WebCore::parseUASheet): Parse an array of chars instead of UTF-16.
7721        Cuts the size of the style sheet in half.
7722        (WebCore::CSSStyleSelector::applyProperty): Allow negative value for
7723        outline-offset. Changed shadow parsing to use getColorFromPrimitiveValue
7724        instead of repeating the same logic.
7725        (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): Added a case
7726        for the focus ring color.
7727        * rendering/render_style.h: (WebCore::RenderStyle::setOutlineOffset):
7728        Changed to allow negative values.
7729
7730        * css/html4.css: Removed a lot of excess spaces. Changed color of focus
7731        to -webkit-focus-ring-color. Changed width of focus to 5px.
7732        Added an outline-offset for <input type=text> of -2px.
7733
7734        * css/cssparser.cpp:
7735        (WebCore::CSSParser::parseValue): Added focus ring color as an outline color all
7736        the time, and as any other color when not in strict mode. I'm confused about what's
7737        best for this whole strict mode policy, and I may need advice on Hyatt to perfect
7738        this one later.
7739        (WebCore::CSSParser::parseColorFromValue): Removed code to pin r, g, and b because
7740        the functions in platform already take care of that. Kept the pinning of a, though
7741        because that's done in floating point before converting to an integer.
7742        (WebCore::CSSParser::parseShadow): Allow focus ring color when not in strict mode.
7743
7744        * bridge/mac/FrameMac.h: Eliminated the virtual detachFromView function.
7745        * bridge/mac/FrameMac.mm:
7746        (WebCore::FrameMac::FrameMac): Eliminated code to maintain the frame instances list.
7747        (WebCore::FrameMac::~FrameMac): Ditto.
7748        (WebCore::Frame::setNeedsReapplyStyles): Added.
7749
7750        * bridge/mac/WebCoreSettings.mm: (-[WebCoreSettings _updateAllViews]):
7751        * platform/mac/WebCoreTextRendererFactory.mm:
7752        (-[WebCoreTextRendererFactory clearCaches]):
7753        Changed to call the new Page::setNeedsReapplyStylesForSettingsChange instead of using the
7754        obsolete Frame::instances.
7755
7756        * page/Frame.h: Removed instances, mutableInstances, and detachFromView.
7757        * page/Frame.cpp: Ditto.
7758
7759        * page/FrameTree.cpp:
7760        (WebCore::FrameTree::~FrameTree): Call setView(0) instead of detachFromView().
7761        (WebCore::FrameTree::removeChild): Ditto.
7762
7763        * page/Page.h:
7764        * page/Page.cpp:
7765        (WebCore::Page::init): Added a set of pages instead of a page count. Also
7766        register a function for when the focus ring color changes the first time this
7767        is called.
7768        (WebCore::Page::~Page): Call setView(0) instead of detachFromView. Also update
7769        to manager the set of pages.
7770        (WebCore::Page::setNeedsReapplyStyles): Call setNeedsReapplyStyles on all frames.
7771        (WebCore::Page::setNeedsReapplyStylesForSettingsChange): Call setNeedsReapplyStyles
7772        on all frames with the passed-in settings.
7773
7774        * css/make-css-file-arrays.pl: Changed to run the C preprocessor on the
7775        input files and to generate an array of char instead of unsigned short.
7776
7777        * platform/PlatformString.h: Added a constructor that takes a char* and
7778        a length.
7779        * platform/String.cpp: (WebCore::String::String): Ditto.
7780
7781        * WebCore.xcodeproj/project.pbxproj: Just some tweaks; adding in a few files like
7782        the user agent style sheets.
7783
7784        * platform/Color.h: Removed all use of DeprecatedString. Cleaned up a bit.
7785        Added focusRingColor and setFocusRingColorChangeFunction.
7786        * platform/Color.cpp:
7787        (WebCore::makeRGB): Rewrote using max and min.
7788        (WebCore::makeRGBA): Ditto.
7789        (WebCore::parseHexColor): Cleaned up a bit; changed partway to String instead of
7790        DeprecatedString.
7791        (WebCore::Color::Color): Changed to use String and to call setNamedColor to save code.
7792        (WebCore::Color::setNamedColor): Changed to use String in the interface.
7793
7794        * platform/mac/ColorMac.mm:
7795        (WebCore::observeTheme): Added. Function used to start up the observer.
7796        (WebCore::setFocusRingColorChangeFunction): Added. Used to get a call back so we can
7797        update all the views when the color changes (including recomputing style to get the
7798        color change in).
7799        (WebCore::setFocusRingColorChangeFunction): Added. Returns one of the two focus
7800        ring colors. Both of these match what AppKit uses -- neither matches what we used
7801        to have in the html4.css file.
7802        (+[WebCoreControlTintObserver controlTintDidChange]): Added. Used to update when
7803        the appearance is changed from blue to graphite and back. We keep a global so we
7804        don't have to call over to AppKit every time; that's probably overkill but we need
7805        the obsever for the color change function anyway.
7806
78072006-04-02  Mitz Pettel  <opendarwin.org@mitzpettel.com>
7808
7809        Test: fast/inline-block/overflow-clip.html
7810
7811        Reviewed by Darin.
7812
7813        - fix http://bugs.webkit.org/show_bug.cgi?id=8118
7814          REGRESSION (r13595): Inline block's clipped overflow increases table row height
7815
7816        * rendering/render_line.cpp:
7817        (WebCore::InlineFlowBox::placeBoxesVertically): Don't look at interior overflow
7818        when calculating the contribution to the inline's vertical overflows.
7819
78202006-04-02  Eric Seidel  <eseidel@apple.com>
7821
7822        Reviewed by andersca.
7823
7824        Make WebCore safe against KJS::Node in JavaScriptCore private headers.
7825
7826        * editing/ReplaceSelectionCommand.h:
7827        * khtml/ecma/JSXMLSerializer.cpp:
7828        (KJS::XMLSerializerProtoFunc::callAsFunction):
7829        * khtml/ecma/JSXSLTProcessor.cpp:
7830        (KJS::XSLTProcessorProtoFunc::callAsFunction):
7831        * khtml/ecma/kjs_binding.cpp:
7832        (KJS::ScriptInterpreter::forgetDOMNodeForDocument):
7833        (KJS::ScriptInterpreter::putDOMNodeForDocument):
7834        * khtml/ecma/kjs_dom.cpp:
7835        (KJS::DOMNode::DOMNode):
7836        (KJS::DOMNode::mark):
7837        (KJS::DOMNode::getValueProperty):
7838        (KJS::DOMNode::putValueProperty):
7839        (KJS::DOMNodeProtoFunc::callAsFunction):
7840        (KJS::toNode):
7841        (KJS::DOMEventTargetNode::DOMEventTargetNode):
7842        (KJS::DOMDocumentProtoFunc::callAsFunction):
7843        (KJS::DOMElement::putValueProperty):
7844        (KJS::DOMElementProtoFunc::callAsFunction):
7845        (KJS::checkNodeSecurity):
7846        (KJS::toJS):
7847        (KJS::getRuntimeObject):
7848        (KJS::DOMNamedNodesCollection::DOMNamedNodesCollection):
7849        (KJS::DOMNamedNodesCollection::getOwnPropertySlot):
7850        * khtml/ecma/kjs_events.cpp:
7851        (KJS::JSLazyEventListener::JSLazyEventListener):
7852        (KJS::ClipboardProtoFunc::callAsFunction):
7853        * khtml/ecma/kjs_html.cpp:
7854        (KJS::JSHTMLDocument::namedItemGetter):
7855        (KJS::JSHTMLElement::framesetNameGetter):
7856        (KJS::JSHTMLElement::getOwnPropertySlot):
7857        (KJS::JSHTMLElement::pushEventHandlerScope):
7858        (KJS::JSHTMLCollection::callAsFunction):
7859        (KJS::JSHTMLCollection::getNamedItems):
7860        (KJS::JSHTMLSelectCollection::put):
7861        * khtml/ecma/kjs_traversal.cpp:
7862        (KJS::JSNodeFilterCondition::acceptNode):
7863        * khtml/ecma/kjs_window.cpp:
7864        (KJS::Window::put):
7865        * kwq/KWQPageState.mm:
7866        (-[KWQPageState WebCore::]):
7867
78682006-04-01  Darin Adler  <darin@apple.com>
7869
7870        Reviewed by Eric.
7871
7872        - removed a bunch of unneeded ForwardingHeaders and WebCore+SVG headers
7873
7874        * ForwardingHeaders/kcanvas: Removed.
7875        * ForwardingHeaders/kcanvas/KCanvas.h: Removed.
7876        * ForwardingHeaders/kdom: Removed.
7877        * ForwardingHeaders/kdom/DOMString.h: Removed.
7878        * ForwardingHeaders/kdom/Helper.h: Removed.
7879        * ForwardingHeaders/kdom/KDOMSettings.h: Removed.
7880        * ForwardingHeaders/kdom/Namespace.h: Removed.
7881        * ForwardingHeaders/kdom/cache: Removed.
7882        * ForwardingHeaders/kdom/cache/KDOMCachedImage.h: Removed.
7883        * ForwardingHeaders/kdom/cache/KDOMCachedObject.h: Removed.
7884        * ForwardingHeaders/kdom/cache/KDOMCachedObjectClient.h: Removed.
7885        * ForwardingHeaders/kdom/cache/KDOMCachedScript.h: Removed.
7886        * ForwardingHeaders/kdom/cache/KDOMLoader.h: Removed.
7887        * ForwardingHeaders/kdom/core: Removed.
7888        * ForwardingHeaders/kdom/core/DOMConfiguration.h: Removed.
7889        * ForwardingHeaders/kdom/core/DOMException.h: Removed.
7890        * ForwardingHeaders/kdom/core/DOMList.h: Removed.
7891        * ForwardingHeaders/kdom/core/DOMString.h: Removed.
7892        * ForwardingHeaders/kdom/core/NamedAttrMap.h: Removed.
7893        * ForwardingHeaders/kdom/core/ProcessingInstruction.h: Removed.
7894        * ForwardingHeaders/kdom/core/domattrs.h: Removed.
7895        * ForwardingHeaders/kdom/ecma: Removed.
7896        * ForwardingHeaders/kdom/ecma/GlobalObject.h: Removed.
7897        * ForwardingHeaders/kdom/events: Removed.
7898        * ForwardingHeaders/kdom/events/Event.h: Removed.
7899        * ForwardingHeaders/kdom/events/EventListener.h: Removed.
7900        * ForwardingHeaders/kdom/events/EventTarget.h: Removed.
7901        * ForwardingHeaders/kdom/events/KeyboardEvent.h: Removed.
7902        * ForwardingHeaders/kdom/events/MouseEvent.h: Removed.
7903        * ForwardingHeaders/kdom/events/UIEvent.h: Removed.
7904        * ForwardingHeaders/kdom/events/kdomevents.h: Removed.
7905        * ForwardingHeaders/kdom/kdom.h: Removed.
7906        * ForwardingHeaders/kdom/parser: Removed.
7907        * ForwardingHeaders/kdom/parser/KDOMParser.h: Removed.
7908        * ForwardingHeaders/ksvg2: Removed.
7909        * ForwardingHeaders/ksvg2/KSVGPart.h: Removed.
7910        * ForwardingHeaders/ksvg2/KSVGView.h: Removed.
7911        * ForwardingHeaders/ksvg2/css: Removed.
7912        * ForwardingHeaders/ksvg2/css/CSSPropertyNames.h: Removed.
7913        * ForwardingHeaders/ksvg2/css/CSSValueKeywords.h: Removed.
7914        * WebCore+SVG/KDOMHeaders.h: Removed.
7915        * WebCore+SVG/Namespace.h: Removed.
7916        * WebCore+SVG/kdom.h: Removed.
7917
7918        * WebCore.xcodeproj/project.pbxproj: Removed headers.
7919
7920        * kcanvas/KCanvasCreator.cpp:
7921        * kcanvas/KCanvasResources.cpp:
7922        * kcanvas/KCanvasTreeDebug.cpp:
7923        * kcanvas/RenderPath.cpp:
7924        * kcanvas/RenderSVGImage.cpp:
7925        * kcanvas/device/quartz/KCanvasItemQuartz.mm:
7926        * kcanvas/device/quartz/KCanvasMaskerQuartz.mm:
7927        * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
7928        * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
7929        * ksvg2/css/SVGCSSStyleSelector.cpp:
7930        * ksvg2/events/SVGZoomEvent.h:
7931        * ksvg2/misc/KCanvasRenderingStyle.cpp:
7932        * ksvg2/misc/KSVGTimeScheduler.cpp:
7933        * ksvg2/misc/SVGImageLoader.cpp:
7934        * ksvg2/svg/SVGAElement.cpp:
7935        * ksvg2/svg/SVGAnimationElement.cpp:
7936        * ksvg2/svg/SVGCircleElement.cpp:
7937        * ksvg2/svg/SVGClipPathElement.cpp:
7938        * ksvg2/svg/SVGCursorElement.cpp:
7939        * ksvg2/svg/SVGCursorElement.h:
7940        * ksvg2/svg/SVGDOMImplementation.cpp:
7941        * ksvg2/svg/SVGDocument.cpp:
7942        * ksvg2/svg/SVGDocument.h:
7943        * ksvg2/svg/SVGElement.cpp:
7944        * ksvg2/svg/SVGEllipseElement.cpp:
7945        * ksvg2/svg/SVGExternalResourcesRequired.cpp:
7946        * ksvg2/svg/SVGExternalResourcesRequired.h:
7947        * ksvg2/svg/SVGFEBlendElement.cpp:
7948        * ksvg2/svg/SVGFEColorMatrixElement.cpp:
7949        * ksvg2/svg/SVGFEComponentTransferElement.cpp:
7950        * ksvg2/svg/SVGFECompositeElement.cpp:
7951        * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
7952        * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
7953        * ksvg2/svg/SVGFEFloodElement.cpp:
7954        * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
7955        * ksvg2/svg/SVGFEImageElement.cpp:
7956        * ksvg2/svg/SVGFEImageElement.h:
7957        * ksvg2/svg/SVGFELightElement.cpp:
7958        * ksvg2/svg/SVGFEMergeElement.cpp:
7959        * ksvg2/svg/SVGFEOffsetElement.cpp:
7960        * ksvg2/svg/SVGFESpecularLightingElement.cpp:
7961        * ksvg2/svg/SVGFETileElement.cpp:
7962        * ksvg2/svg/SVGFETurbulenceElement.cpp:
7963        * ksvg2/svg/SVGFilterElement.cpp:
7964        * ksvg2/svg/SVGGradientElement.cpp:
7965        * ksvg2/svg/SVGHelper.cpp:
7966        * ksvg2/svg/SVGImageElement.cpp:
7967        * ksvg2/svg/SVGLangSpace.cpp:
7968        * ksvg2/svg/SVGLength.cpp:
7969        * ksvg2/svg/SVGLineElement.cpp:
7970        * ksvg2/svg/SVGLinearGradientElement.cpp:
7971        * ksvg2/svg/SVGList.h:
7972        * ksvg2/svg/SVGLocatable.cpp:
7973        * ksvg2/svg/SVGMarkerElement.cpp:
7974        * ksvg2/svg/SVGMarkerElement.h:
7975        * ksvg2/svg/SVGMaskElement.cpp:
7976        * ksvg2/svg/SVGPathElement.cpp:
7977        * ksvg2/svg/SVGPatternElement.cpp:
7978        * ksvg2/svg/SVGPolyElement.cpp:
7979        * ksvg2/svg/SVGPolygonElement.cpp:
7980        * ksvg2/svg/SVGPolylineElement.cpp:
7981        * ksvg2/svg/SVGRadialGradientElement.cpp:
7982        * ksvg2/svg/SVGRectElement.cpp:
7983        * ksvg2/svg/SVGSVGElement.cpp:
7984        * ksvg2/svg/SVGStopElement.cpp:
7985        * ksvg2/svg/SVGStyleElement.cpp:
7986        * ksvg2/svg/SVGStyledElement.cpp:
7987        * ksvg2/svg/SVGStyledLocatableElement.cpp:
7988        * ksvg2/svg/SVGStyledTransformableElement.cpp:
7989        * ksvg2/svg/SVGTextElement.cpp:
7990        * ksvg2/svg/SVGTransformable.cpp:
7991        * ksvg2/svg/SVGUseElement.cpp:
7992        * ksvg2/svg/SVGViewElement.cpp:
7993        Updated includes.
7994
79952006-04-01  Darin Adler  <darin@apple.com>
7996
7997        Reviewed by Maciej.
7998
7999        - fix http://bugs.webkit.org/show_bug.cgi?id=8089
8000          REGRESSION: Caret position is off in native text field with text-align:right
8001
8002        - fix http://bugs.webkit.org/show_bug.cgi?id=8082
8003          REGRESSION: Empty RTL text fields place the caret on the left side
8004
8005        Need a way to make a test for this. No obvious way at the moment.
8006
8007        * rendering/RenderFlow.cpp: (WebCore::RenderFlow::caretRect):
8008        Consider border, padding, and the width of the caret properly in the
8009        calculation of the caret's X position.
8010
8011        * rendering/RenderBox.cpp: (WebCore::RenderBox::caretRect):
8012        Fixed some similar issues and rewrote this function for clarity.
8013        However, I suspect this function was and remains broken and is almost
8014        never called.
8015
80162006-04-01  Darin Adler  <darin@apple.com>
8017
8018        Reviewed by Justin.
8019
8020        - fix http://bugs.webkit.org/show_bug.cgi?id=8106
8021          REGRESSION (NativeTextField): New text fields don't scroll to the beginning when losing focus
8022
8023        Test: fast/forms/input-text-scroll-left-on-blur.html
8024
8025        * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler): Pass blur events
8026        through to the RenderTextField, as well as mouse, drag, and wheel events.
8027        * rendering/RenderTextField.cpp: (WebCore::RenderTextField::forwardEvent): Scroll all the way to
8028        the left on a blur.
8029
8030        - unrelated small changes
8031
8032        * html/HTMLTextFieldInnerElement.cpp: Removed excess includes.
8033        (WebCore::HTMLTextFieldInnerElement::defaultEventHandler): Tweaked comments a bit.
8034
8035        * dom/Element.cpp:
8036        (WebCore::Element::scrollIntoView): Removed unneeded this-> before function call.
8037        (WebCore::Element::scrollIntoViewIfNeeded): Ditto.
8038
8039        * page/FrameView.cpp: (WebCore::FrameView::dispatchMouseEvent): Removed obsolete comment.
8040
80412006-03-31  Maciej Stachowiak  <mjs@apple.com>
8042
8043        Reviewed by Adele.
8044
8045        <rdar://problem/4497684> REGRESSION(NativeTextField): After undoing pasted text in a field, the field changes to only a few pixels in height (8096)
8046
8047        * editing/ReplaceSelectionCommand.cpp:
8048        (WebCore::ReplaceSelectionCommand::doApply): merge into start block when pasting into
8049        an empty editable subtree.
8050
80512006-04-01  Darin Adler  <darin@apple.com>
8052
8053        Reviewed by Maciej.
8054
8055        - fix http://bugs.webkit.org/show_bug.cgi?id=8063
8056          REGRESSION: double clicking in new text fields won't select whole words
8057
8058        Test: fast/forms/input-text-double-click.html
8059
8060        * editing/visible_units.cpp: (WebCore::nextBoundary): Set the end of the range by
8061        calling selectNodeContents rather than by calling setEndAfter. The problem with
8062        setEndAfter is that it doesn't do anything when the parent of the node is 0, and
8063        also it's not really what we want, since the boundary node is one with editable
8064        contents -- we want to stay inside the boundary node.
8065
8066        * editing/Selection.cpp: (WebCore::Selection::validate): Fix a tiny formatting glitch
8067        I noticed at the same time.
8068
80692006-03-31  John Sullivan  <sullivan@apple.com>
8070
8071        Reviewed by Tim Hatcher.
8072
8073        - fixed <rdar://problem/4372842> 10.4.4 Regression: control-clicking on a misspelled word
8074        doesn't select it or offer corrections (first click only)
8075
8076        * bridge/mac/FrameMac.mm:
8077        (WebCore::FrameMac::sendContextMenuEvent):
8078        Rolled in this one-line change that Hyatt wrote ages ago.
8079
80802006-03-31  Beth Dakin  <bdakin@apple.com>
8081
8082        Reviewed by John.
8083
8084        Fix for http://bugs.webkit.org/show_bug.cgi?id=8108
8085        REGRESSION (r13590-r13593): Floating table's cells don't paint
8086        their background
8087
8088        This is a regression from my painting patch yesterday. Just a silly
8089        error I didn't catch.
8090
8091        * rendering/RenderTable.cpp:
8092        (WebCore::RenderTable::paint): Change the phase of our new
8093        PaintInfo, not our old one.
8094
80952006-03-31  Tim Omernick  <timo@apple.com>
8096
8097        Reviewed by Adele.
8098
8099        <http://bugs.webkit.org/show_bug.cgi?id=7858>
8100        <rdar://problem/4483359> REGRESSION: New text field doesn't recognize the read only attribute
8101
8102        * rendering/RenderTextField.cpp:
8103        (WebCore::RenderTextField::createDivStyle):
8104        Set user modify based on the form element's readOnly().
8105        (WebCore::RenderTextField::updateFromElement):
8106        ditto
8107
81082006-03-31  Adele Peterson  <adele@apple.com>
8109
8110        Reviewed by Tim Omernick.
8111
8112        Updating shadowAncestorNode so it doesn't check for rootEditableElement.  Now we just walk
8113        up the tree to look for a shadowNode, and then we find the shadowParent.
8114
8115        * dom/Node.cpp: (WebCore::Node::shadowAncestorNode):
8116        * rendering/RenderTextField.cpp: (WebCore::RenderTextField::setSelectionRange):
8117         Updated assertion to check for shadowAncestorNode instead of rootEditableElement.
8118
81192006-03-31  Mitz Pettel  <opendarwin.org@mitzpettel.com>
8120
8121        Reviewed by John Sullivan.
8122
8123        - fix http://bugs.webkit.org/show_bug.cgi?id=8101
8124          REGSRESSION: Fix for bug 7031 causes 30 layout tests to fail
8125
8126        * rendering/render_line.cpp:
8127        (WebCore::InlineFlowBox::placeBoxesVertically): Change top and bottom positions
8128        only if childAffectsTopBottomPos is true.
8129        * rendering/RenderFlow.cpp:
8130        (WebCore::RenderFlow::paintLines): Redo a part of the patch for bug 7031 that
8131        wasn't committed with the rest of the patch.
8132
81332006-03-31  Mitz Pettel  <opendarwin.org@mitzpettel.com>
8134
8135        Reviewed by Darin, landed by Beth.
8136
8137        Fix for http://bugs.webkit.org/show_bug.cgi?id=8081
8138        REGRESSION: Drop-down menu has gap at top
8139
8140        * rendering/RenderBox.cpp:
8141        (WebCore::RenderBox::calcAbsoluteVerticalValues): When calculating
8142        the hypothetical vertical position in normal flow, skip table rows
8143        in the ancestor chain, since a table cell's Y position is relative
8144        to the table section, not the row.
8145
81462006-03-31  Dave Hyatt <hyatt@apple.com>
8147
8148        Fix the border drawing for themes on Win32.
8149
8150        Reviewed by adele
8151
8152        * rendering/RenderBox.cpp:
8153        (WebCore::RenderBox::paintBoxDecorations):
8154        * rendering/RenderTheme.cpp:
8155        (WebCore::RenderTheme::paintBorderOnly):
8156        * rendering/RenderTheme.h:
8157
81582006-03-31  Darin Adler  <darin@apple.com>
8159
8160        Reviewed by John Sullivan.
8161
8162        * khtml/ecma/kjs_binding.cpp: Added names for VALIDATION_ERR and
8163        TYPE_MISMATCH_ERR; new DOM Level 3 errors that need to be listed in
8164        the mapping from error code to error name.
8165
8166        * dom/Element.idl: Removed comment from bad old days where we had to
8167        touch these files to make them rebuild.
8168
81692006-03-30  Maciej Stachowiak  <mjs@apple.com>
8170
8171        - fixed Windows build breakage from previous change
8172
8173        * platform/ScrollView.h:
8174        * platform/win/FontWin.cpp:
8175        (WebCore::Font::drawLineForText):
8176        * platform/win/ScrollViewWin.cpp:
8177        (WebCore::ScrollView::scrollOffset):
8178        (WebCore::ScrollView::scrollBy):
8179
81802006-03-30  Maciej Stachowiak  <mjs@apple.com>
8181
8182        Reviewed by Eric.
8183
8184        - various Point / Size related cleanup
8185
8186        First, I clarified the semantics of some operations to keep a
8187        better distinction between IntPoint and IntSize:
8188
8189        * platform/IntPoint.h:
8190        (WebCore::IntPoint::move): new convenience to move a point by separate
8191        x and y deltas.
8192        (WebCore::operator+=): You can't add a point to a point, you can only add
8193        a size to a point.
8194        (WebCore::operator+): ditto
8195        (WebCore::operator-): point - point = size; point - size = point
8196        (WebCore::operator-=): only allow subtracting a size for the mutating version
8197        * platform/IntRect.h:
8198        (WebCore::IntRect::move): tweaked to use IntPoint::move, also, move by an IntSize,
8199        not an IntPoint.
8200        * platform/IntSize.h:
8201        (WebCore::IntSize::shrunkTo): analog to expandedTo
8202        (WebCore::IntSize::clampNegativeToZero): a handy helper
8203        (WebCore::operator-): Added unary minus operator
8204
8205        Made the same changes for FloatPoint:
8206
8207        * platform/FloatPoint.h:
8208        (WebCore::FloatPoint::move):
8209        (WebCore::operator+=):
8210        (WebCore::operator-=):
8211        (WebCore::operator+):
8212        (WebCore::operator-):
8213        * platform/FloatRect.h:
8214        (WebCore::FloatRect::move):
8215        * platform/FloatSize.h:
8216        (WebCore::operator-):
8217
8218        Then I changed a bunch of stuff to pass around IntPoint instead of separate x and y
8219        coordinates. The main one was:
8220
8221        * platform/ScrollView.h:
8222        * platform/mac/ScrollViewMac.mm:
8223        (WebCore::ScrollView::scrollOffset): new method, return an IntSize
8224        (WebCore::ScrollView::contentsToViewport): take and return an IntPoint
8225        (WebCore::ScrollView::viewportToContents): take and return an IntPoint
8226        * platform/win/ScrollViewWin.cpp:
8227        (WebCore::ScrollView::updateContents): handle things in terms of scrollOffset,
8228        not scrollPoint
8229        (WebCore::ScrollView::visibleContentRect):
8230        (WebCore::ScrollView::contentsX):
8231        (WebCore::ScrollView::contentsY):
8232        (WebCore::ScrollView::viewportToContents):
8233        (WebCore::ScrollView::contentsToViewport):
8234        (WebCore::scrollOffset):
8235        (WebCore::ScrollView::maximumScroll):
8236        (WebCore::ScrollView::scrollBy):
8237        (WebCore::ScrollView::updateScrollBars):
8238
8239        The rest is mainly updates for these changes.
8240
8241        * bridge/mac/FrameMac.h:
8242        * bridge/mac/FrameMac.mm:
8243        (WebCore::FrameMac::eventMayStartDrag):
8244        (WebCore::FrameMac::dragHysteresisExceeded):
8245        (WebCore::FrameMac::handleMouseMoveEvent):
8246        (WebCore::FrameMac::mouseDown):
8247        (WebCore::FrameMac::shouldDragAutoNode):
8248        (WebCore::FrameMac::sendContextMenuEvent):
8249        * bridge/mac/WebCoreFrameBridge.mm:
8250        (-[WebCoreFrameBridge isPointInsideSelection:]):
8251        * dom/EventTargetNode.cpp:
8252        (WebCore::EventTargetNode::dispatchMouseEvent):
8253        (WebCore::EventTargetNode::dispatchWheelEvent):
8254        * khtml/ecma/kjs_window.cpp:
8255        (KJS::WindowFunc::callAsFunction):
8256        * page/Frame.cpp:
8257        (WebCore::Frame::shouldDragAutoNode):
8258        (WebCore::Frame::isPointInsideSelection):
8259        (WebCore::Frame::selectClosestWordFromMouseEvent):
8260        (WebCore::Frame::handleMousePressEventDoubleClick):
8261        (WebCore::Frame::handleMousePressEventTripleClick):
8262        (WebCore::Frame::handleMousePressEventSingleClick):
8263        (WebCore::Frame::handleMouseMoveEventPart2):
8264        (WebCore::Frame::handleMouseReleaseEvent):
8265        * page/Frame.h:
8266        * page/FrameView.cpp:
8267        (WebCore::FrameView::dispatchDragEvent):
8268        (WebCore::FrameView::prepareMouseEvent):
8269        (WebCore::FrameView::handleWheelEvent):
8270        * rendering/RenderLayer.cpp:
8271        (WebCore::RenderLayer::scrollRectToVisible):
8272        * rendering/RenderObject.cpp:
8273        (WebCore::RenderObject::draggableNode):
8274        * rendering/RenderObject.h:
8275        (WebCore::RenderObject::positionForPoint):
8276        * rendering/render_list.cpp:
8277        (WebCore::RenderListMarker::paint):
8278
82792006-03-30  Maciej Stachowiak  <mjs@apple.com>
8280
8281        - fixed windows build
8282
8283        * platform/win/TemporaryLinkStubs.cpp:
8284        (Widget::unlockDrawingFocus):
8285
82862006-03-31  Eric Seidel  <eseidel@apple.com>
8287
8288        Reviewed by mjs.
8289
8290        A bit more code cleanup.
8291
8292        * bridge/mac/WebCoreScriptDebugger.mm:
8293        (-[WebCoreScriptCallFrame evaluateWebScript:]):
8294        * html/HTMLFormElement.cpp:
8295        (WebCore::HTMLFormElement::submit):
8296        * html/HTMLInputElement.cpp:
8297        (WebCore::HTMLInputElement::setValue):
8298        * kwq/WebCoreTextField.mm:
8299        (-[KWQTextFieldController textView:shouldHandleEvent:]):
8300        (-[KWQSecureTextField selectText:]):
8301        * page/Frame.cpp:
8302        (WebCore::Frame::submitForm):
8303        * platform/Widget.h:
8304        * platform/mac/WidgetMac.mm:
8305        * rendering/render_frames.cpp:
8306        (WebCore::RenderFrameSet::userResize):
8307
83082006-03-30  Maciej Stachowiak  <mjs@apple.com>
8309
8310        Reviewed by Eric.
8311
8312        * bridge/mac/FrameMac.mm:
8313        (WebCore::FrameMac::wheelEvent):
8314        (WebCore::FrameMac::eventMayStartDrag):
8315        (WebCore::FrameMac::handleMouseMoveEvent):
8316        (WebCore::FrameMac::sendContextMenuEvent):
8317        * bridge/mac/WebCoreFrameBridge.mm:
8318        (-[WebCoreFrameBridge RenderObject::nodeInfoAtPoint:allowShadowContent:]):
8319        * dom/Document.cpp:
8320        (WebCore::Document::elementFromPoint):
8321        (WebCore::Document::prepareMouseEvent):
8322        * dom/Document.h:
8323        * kwq/WebCoreAXObject.mm:
8324        (-[WebCoreAXObject doAXTextMarkerForPosition:]):
8325        (-[WebCoreAXObject accessibilityHitTest:]):
8326        * manual-tests/frame-hover.html: Added.
8327        * manual-tests/resources/hover-subframe-1.html: Added.
8328        * manual-tests/resources/hover-subframe-2.html: Added.
8329        * page/Frame.cpp:
8330        (WebCore::Frame::isPointInsideSelection):
8331        * page/FrameView.cpp:
8332        (WebCore::FrameView::prepareMouseEvent):
8333        (WebCore::FrameView::handleWheelEvent):
8334        * platform/IntRect.h:
8335        (WebCore::IntRect::contains):
8336        * rendering/RenderLayer.cpp:
8337        (WebCore::isSubframeCanvas):
8338        (WebCore::frameVisibleRect):
8339        (WebCore::RenderLayer::hitTest):
8340        (WebCore::shouldApplyImplicitCapture):
8341        (WebCore::RenderLayer::hitTestLayer):
8342        * rendering/RenderLayer.h:
8343
83442006-03-30  Mitz Pettel  <opendarwin.org@mitzpettel.com>
8345
8346        Tests: fast/repaint/flexible-box-overflow.html fast/repaint/flexible-box-overflow-horizontal.html
8347
8348        Reviewed by Darin.
8349
8350        - fix http://bugs.webkit.org/show_bug.cgi?id=8056
8351          Flexible boxes do not repaint their top, left and children's overflows
8352
8353        * rendering/RenderBlock.cpp:
8354        (WebCore::RenderBlock::layoutBlockChildren):
8355        * rendering/RenderFlexibleBox.cpp:
8356        (WebCore::FlexBoxIterator::next):
8357        (WebCore::RenderFlexibleBox::layoutHorizontalBox): Update top overflow when
8358        determining vertical positions. Update horizontal overflows after horizontal
8359        positions are determined.
8360        (WebCore::RenderFlexibleBox::layoutVerticalBox):  Update left overflow when
8361        determining horizontal positions. Update vertical overflows after vertical
8362        positions are determined.
8363        (WebCore::RenderFlexibleBox::allowedChildFlex):
8364
83652006-03-30  Mitz Pettel  <opendarwin.org@mitzpettel.com>
8366
8367        Tests: fast/repaint/text-shadow.html fast/repaint/text-shadow-horizontal.html
8368
8369        Reviewed by Darin.
8370
8371        - fix http://bugs.webkit.org/show_bug.cgi?id=7301
8372          Text shadow does not repaint correctly
8373
8374        * rendering/InlineTextBox.cpp:
8375        (WebCore::InlineTextBox::paint): Paint the text box if it is within the maximum
8376        possible horizontal shadow overflow of the damage rect.
8377        * rendering/InlineTextBox.h: Removed unused function checkVerticalPoint().
8378        * rendering/RenderFlow.cpp:
8379        (WebCore::RenderFlow::paintLines): Use the vertical overflows instead of the
8380        selection vertical bounds.
8381        (WebCore::RenderFlow::hitTestLines):
8382        * rendering/render_line.cpp:
8383        (WebCore::InlineFlowBox::placeBoxesHorizontally): Include overflow due to text shadow
8384        in leftPosition and rightPosition and keep track of the maximum horizontal shadow
8385        on the inline.
8386        (WebCore::InlineFlowBox::verticallyAlignBoxes):
8387        (WebCore::InlineFlowBox::placeBoxesVertically): Include overflow due to shadow and
8388        inline-blocks' overflow in topPosition and bottomPosition but not in the selection
8389        vertical bounds.
8390        (WebCore::RootInlineBox::selectionTop):
8391        * rendering/render_line.h:
8392        (WebCore::InlineFlowBox:::InlineRunBox):
8393        (WebCore::InlineFlowBox::setVerticalSelectionPositions):
8394        (WebCore::InlineFlowBox::maxHorizontalShadow):
8395        (WebCore::RootInlineBox::setVerticalSelectionPositions):
8396        (WebCore::RootInlineBox::selectionBottom):
8397        (WebCore::RootInlineBox::selectionHeight):
8398
83992006-03-30  Beth Dakin  <bdakin@apple.com>
8400
8401        Reviewed by Hyatt.
8402
8403        Fix for <rdar://problem/4472371> REGRESSION(417.9-TOT): Focus ring
8404        around link in overflow:auto div isn't clipped to div
8405
8406        Focus rings around the children off overflow:auto divs were not
8407        being appropriately clipped because they were being painted with
8408        the div's outlineRect, when they should be painted separately. This
8409        patch adds two new PaintPhases -- PaintPhaseSelfOutline and
8410        PaintPhaseChildOutlines -- to address this problem.
8411
8412        This patch also changes the name of PaintAction back to PaintPhase.
8413        Because Hyatt said so.
8414
8415        * kcanvas/KCanvasResources.cpp:
8416        (WebCore::KCanvasMarker::draw):
8417        * kcanvas/RenderPath.cpp:
8418        (WebCore::RenderPath::paint):
8419        * kcanvas/RenderSVGImage.cpp:
8420        (WebCore::RenderSVGImage::paint):
8421        * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
8422        (WebCore::KCanvasContainerQuartz::paint):
8423        * ksvg2/svg/SVGMaskElement.cpp:
8424        (WebCore::SVGMaskElement::drawMaskerContent):
8425        * ksvg2/svg/SVGPatternElement.cpp:
8426        (WebCore::SVGPatternElement::drawPatternContentIntoTile):
8427        * rendering/InlineTextBox.cpp:
8428        (WebCore::InlineTextBox::paint):
8429        * rendering/RenderBlock.cpp:
8430        (WebCore::RenderBlock::paint):
8431        (WebCore::RenderBlock::paintChildren):
8432        (WebCore::RenderBlock::paintObject):
8433        (WebCore::RenderBlock::paintFloats):
8434        (WebCore::RenderBlock::paintEllipsisBoxes):
8435        (WebCore::RenderBlock::paintSelection):
8436        * rendering/RenderBox.cpp:
8437        (WebCore::RenderBox::setStyle):
8438        * rendering/RenderCanvas.cpp:
8439        (WebCore::RenderCanvas::paint):
8440        * rendering/RenderFlow.cpp:
8441        (WebCore::RenderFlow::paintLines):
8442        * rendering/RenderHTMLCanvas.cpp:
8443        (WebCore::RenderHTMLCanvas::paint):
8444        * rendering/RenderImage.cpp:
8445        (WebCore::RenderImage::paint):
8446        * rendering/RenderLayer.cpp:
8447        (WebCore::RenderLayer::paintLayer):
8448        * rendering/RenderObject.cpp:
8449        (WebCore::RenderObject::maximalOutlineSize):
8450        * rendering/RenderObject.h:
8451        (WebCore::):
8452        (WebCore::RenderObject::PaintInfo::PaintInfo):
8453        * rendering/RenderTable.cpp:
8454        (WebCore::RenderTable::paint):
8455        * rendering/RenderTableCell.cpp:
8456        (WebCore::RenderTableCell::paint):
8457        * rendering/RenderTableRow.cpp:
8458        (WebCore::RenderTableRow::paint):
8459        * rendering/RenderTableSection.cpp:
8460        (WebCore::RenderTableSection::paint):
8461        * rendering/render_button.cpp:
8462        (WebCore::RenderButton::paintObject):
8463        * rendering/render_line.cpp:
8464        (WebCore::InlineBox::paint):
8465        (WebCore::InlineFlowBox::paint):
8466        (WebCore::InlineFlowBox::paintBackgroundAndBorder):
8467        (WebCore::RootInlineBox::paintEllipsisBox):
8468        * rendering/render_list.cpp:
8469        (WebCore::RenderListMarker::paint):
8470        * rendering/render_replaced.cpp:
8471        (WebCore::RenderReplaced::shouldPaint):
8472        (WebCore::RenderWidget::paint):
8473
84742006-03-30  Tim Omernick  <timo@apple.com>
8475
8476        Manual test case for the Java aspect of <rdar://problem/4212626> REGRESSION: LIVECONNECT:
8477        JavaScript type for Java Strings is function, not object
8478
8479        * manual-tests/java-string-object-type.html: Added.
8480        * manual-tests/resources/StringTypeTest.class: Added.
8481        * manual-tests/resources/StringTypeTest.java: Added.
8482
84832006-03-30  Eric Seidel  <eseidel@apple.com>
8484
8485        Reviewed by hyatt.
8486
8487        Fix text form controls, and add basic submit support!
8488
8489        * bridge/win/FrameWin.cpp:
8490        (WebCore::FrameWin::submitForm):
8491        * bridge/win/FrameWin.h:
8492        * platform/win/KeyEventWin.cpp:
8493        (WebCore::keyIdentifierForWindowsKeyCode):
8494        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
8495        * platform/win/TemporaryLinkStubs.cpp:
8496        (FrameWin::incomingReferrer):
8497        * platform/win/TransferJobWin.cpp:
8498        (WebCore::TransferJob::start):
8499
85002006-03-30  Adele Peterson  <adele@apple.com>
8501
8502        Reviewed by Justin.
8503
8504        - Fix for http://bugs.webkit.org/show_bug.cgi?id=8083
8505        REGRESSION: Repro crash when dragging to select over a new text field
8506
8507        * editing/Selection.cpp: (WebCore::Selection::adjustForEditableContent):
8508        When searching for non-editable content, if the end of the selection is in a
8509        shadow tree, then we need to jump out of that first.
8510
85112006-03-30  Justin Garcia  <justin.garcia@apple.com>
8512
8513        Reviewed by darin
8514
8515        http://bugs.webkit.org/show_bug.cgi?id=6989
8516        REGRESSION: Plain-text mode needed for contenteditable area used in new text field
8517
8518        * bridge/mac/WebCoreFrameBridge.h:
8519        * bridge/mac/WebCoreFrameBridge.mm:
8520        (-[WebCoreFrameBridge isSelectionEditable]):
8521        (-[WebCoreFrameBridge isSelectionRichlyEditable]):
8522        * css/CSSComputedStyleDeclaration.cpp:
8523        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
8524        * css/CSSValueKeywords.in:
8525        * css/cssparser.cpp:
8526        (WebCore::CSSParser::parseValue):
8527        * dom/Node.cpp:
8528        (WebCore::Node::isContentRichlyEditable):
8529        * dom/Node.h:
8530        * editing/EditCommand.cpp:
8531        (WebCore::EditCommand::apply):
8532        * editing/JSEditor.cpp:
8533        * editing/ReplaceSelectionCommand.cpp:
8534        (WebCore::ReplacementFragment::ReplacementFragment):
8535        (WebCore::ReplaceSelectionCommand::doApply):
8536        * editing/Selection.h:
8537        (WebCore::Selection::rootEditableElement):
8538        (WebCore::Selection::isContentEditable):
8539        (WebCore::Selection::isContentRichlyEditable):
8540        * editing/SelectionController.h:
8541        (WebCore::SelectionController::rootEditableElement):
8542        (WebCore::SelectionController::isContentEditable):
8543        (WebCore::SelectionController::isContentRichlyEditable):
8544        * html/HTMLElement.cpp:
8545        (WebCore::HTMLElement::isContentEditable):
8546        (WebCore::HTMLElement::contentEditable):
8547        (WebCore::HTMLElement::setContentEditable):
8548        * rendering/RenderTextField.cpp:
8549        (WebCore::RenderTextField::createDivStyle):
8550        * rendering/render_style.h:
8551        (WebCore::):
8552
85532006-03-30  David Harrison  <harrison@apple.com>
8554
8555        Reviewed by Justin.
8556
8557        <rdar://problem/4444693> REGRESSION: Deleting empty lines causes quoted text to mistakenly get "unquoted"
8558
8559        * editing/DeleteSelectionCommand.cpp:
8560        (WebCore::DeleteSelectionCommand::handleGeneralDelete):
8561        Formatting.
8562        (WebCore::DeleteSelectionCommand::moveNodesAfterNode):
8563        Generalize check that preserves nesting when deleting to the beginning of an ancestor block.
8564
8565        * editing/deleting/delete-block-merge-contents-022.html: Added.
8566        * editing/deleting/delete-block-merge-contents-023.html: Added.
8567        * editing/deleting/delete-block-merge-contents-024.html: Added.
8568
85692006-03-30  Mitz Pettel  <opendarwin.org@mitzpettel.com>
8570
8571        Reviewed by Darin.
8572
8573        - Test for http://bugs.webkit.org/show_bug.cgi?id=8076
8574          REGRESSION: native text fields are reversed on "visual Hebrew" pages
8575
8576        * fast/forms/visual-hebrew-text-field-expected.checksum: Added.
8577        * fast/forms/visual-hebrew-text-field-expected.png: Added.
8578        * fast/forms/visual-hebrew-text-field-expected.txt: Added.
8579        * fast/forms/visual-hebrew-text-field.html: Added.
8580
85812006-03-30  Alexey Proskuryakov  <ap@nypop.com>
8582
8583        Reviewed by John Sullivan.
8584
8585        - fix http://bugs.webkit.org/show_bug.cgi?id=8051
8586          Empty forms are submitted incorrectly
8587
8588        Test: fast/forms/empty-get.html
8589
8590        * platform/KURL.cpp:
8591        (KURL::setQuery): Add a question mark for empty query strings, too.
8592
85932006-03-30  Dave Hyatt <hyatt@apple.com>
8594
8595        Roll out the fix to 7102 and reopen it to get Spinneret working
8596        again.
8597
8598        Reviewed by justin
8599
8600        * page/Frame.cpp:
8601        (WebCore::Frame::didOpenURL):
8602        (WebCore::Frame::receivedFirstData):
8603        (WebCore::Frame::begin):
8604
86052006-03-30  Dave Hyatt <hyatt@apple.com>
8606
8607        Land support for JPEG image decoding on Win32.
8608
8609        * WebCore.vcproj/WebCore/WebCore.vcproj:
8610        * platform/cairo/ImageSourceCairo.cpp:
8611        (WebCore::createDecoder):
8612        (WebCore::ImageSource::frameHasAlphaAtIndex):
8613        * platform/image-decoders/ImageDecoder.h:
8614        (WebCore::RGBA32Buffer::setRGBA):
8615        (WebCore::ImageDecoder::supportsAlpha):
8616        * platform/image-decoders/gif/GIFImageDecoder.cpp:
8617        (WebCore::GIFImageDecoder::haveDecodedRow):
8618        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
8619        (WebCore::JPEGImageReader::JPEGImageReader):
8620        (WebCore::JPEGImageReader::close):
8621        (WebCore::JPEGImageReader::skipBytes):
8622        (WebCore::JPEGImageReader::decode):
8623        (WebCore::JPEGImageReader::info):
8624        (WebCore::JPEGImageReader::samples):
8625        (WebCore::JPEGImageReader::decoder):
8626        (WebCore::error_exit):
8627        (WebCore::init_source):
8628        (WebCore::skip_input_data):
8629        (WebCore::fill_input_buffer):
8630        (WebCore::term_source):
8631        (WebCore::JPEGImageDecoder::decode):
8632        (WebCore::JPEGImageDecoder::outputScanlines):
8633        (WebCore::JPEGImageDecoder::jpegComplete):
8634        * platform/image-decoders/jpeg/JPEGImageDecoder.h:
8635        (WebCore::JPEGImageDecoder::supportsAlpha):
8636        (WebCore::JPEGImageDecoder::setSize):
8637        * platform/image-decoders/png/PNGImageDecoder.cpp:
8638        (WebCore::PNGImageDecoder::rowAvailable):
8639
86402006-03-29  Justin Garcia  <justin.garcia@apple.com>
8641
8642        Reviewed by darin
8643
8644        <http://bugs.webkit.org/show_bug.cgi?id=8067>
8645        REGRESSION: selectionRect includes next/previous replaced elements
8646        Also fixes: <rdar://problems/4402375&4474871&4492934>
8647
8648        In the case where a selection starts at the end or ends at the start
8649        of o, o->selectionState() != SelectionNone, but o isn't really selected.
8650        Constraining the selection with upstream and downstream eliminates these
8651        types of endpoints, but constraining endpoints that occur at the
8652        start or end of a paragraph creates positions inside containers - some
8653        of which the selection painting code isn't equipped to handle.
8654
8655        * dom/Document.cpp:
8656        (WebCore::Document::updateSelection):
8657        * rendering/render_replaced.cpp:
8658        (WebCore::RenderReplaced::shouldPaint):
8659        (WebCore::RenderReplaced::selectionRect):
8660        (WebCore::RenderReplaced::setSelectionState):
8661        (WebCore::RenderWidget::setSelectionState):
8662
86632006-03-29  Adele Peterson  <adele@apple.com>
8664
8665        Reviewed by Hyatt.
8666
8667        - Fix for http://bugs.webkit.org/show_bug.cgi?id=6986
8668        Switch to use new text field implementation for <input type="text">
8669
8670        * css/html4.css: Added default style info for new text fields.
8671        * rendering/RenderTextField.cpp:
8672        (WebCore::RenderTextField::createDivStyle): Added an extra 1px of padding on the left & right to match Win IE & the latest Mozilla.
8673        (WebCore::RenderTextField::updateFromElement): Removed some outdated comments.  Cleaned up the way we add text nodes to the div.
8674        (WebCore::RenderTextField::setSelectionStart): Tweaked selection code to better match Mozilla behavior.
8675        (WebCore::RenderTextField::setSelectionEnd): ditto.
8676        (WebCore::RenderTextField::select): Cleaned this up by having it call setSelectionRange.
8677        (WebCore::RenderTextField::setSelectionRange): Calls updateLayout now in case this is called in an onload handler, and no other layout has occurred.
8678        (WebCore::RenderTextField::calcMinMaxWidth): Use floatWidth to calculate the width of the "0" character.
8679        * rendering/RenderTheme.cpp: (WebCore::RenderTheme::isControlStyled): If the text field's specified border is different from
8680         the default border, then treat the control as styled, so the engine knows to turn off the aqua appearance.
8681        * rendering/RenderThemeMac.mm:
8682        (WebCore::RenderThemeMac::paintTextField): return false so the engine knows not to try to draw the border.
8683        (WebCore::RenderThemeMac::adjustTextFieldStyle): text field style info has been moved to html4.css.
8684         We also add intrinsic margins here if the font size is large enough.
8685        * html/HTMLTextFieldInnerElement.cpp: (WebCore::HTMLTextFieldInnerElement::defaultEventHandler):
8686         No longer check for appearance. All text fields with m_type == TEXT will use the new implementation.
8687        * html/HTMLInputElement.cpp:
8688        (WebCore::HTMLInputElement::isKeyboardFocusable): ditto.
8689        (WebCore::HTMLInputElement::focus): ditto.
8690        (WebCore::HTMLInputElement::selectionStart): ditto.
8691        (WebCore::HTMLInputElement::selectionEnd): ditto.
8692        (WebCore::HTMLInputElement::setSelectionStart): ditto.
8693        (WebCore::HTMLInputElement::setSelectionEnd): ditto.
8694        (WebCore::HTMLInputElement::select): ditto.
8695        (WebCore::HTMLInputElement::setSelectionRange): ditto.
8696        (WebCore::HTMLInputElement::createRenderer): ditto.
8697        (WebCore::HTMLInputElement::defaultEventHandler): ditto.
8698        (WebCore::HTMLInputElement::isMouseFocusable): Added.  Old text fields relied on the widget to provide a focus policy.
8699         A text field that is focusable should be mouse focusable, and shouldn't need to ask the base class.
8700        * html/HTMLInputElement.h: Added isMouseFocusable.
8701        * html/HTMLGenericFormElement.cpp: (WebCore::HTMLGenericFormElement::isMouseFocusable):
8702         Removed specific text field code since that is now done in HTMLInputElement::isMouseFocusable.
8703        * dom/Document.cpp: (WebCore::Document::clearSelectionIfNeeded): Check that the new selection is does not have a shadowAncestorNode that is focused.
8704
87052006-03-29  Darin Adler  <darin@apple.com>
8706
8707        Reviewed by Eric.
8708
8709        - fix http://bugs.webkit.org/show_bug.cgi?id=8026
8710          A particular animated SVG crashes in filter code
8711          <rdar://problem/4494775> A particular animated SVG crashes in filter code
8712
8713        - fix some code that is not handling references correctly for GC
8714
8715        Test: svg/custom/empty-merge.svg
8716
8717        * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
8718        (WebCore::KCanvasFilterQuartz::KCanvasFilterQuartz): Use KWQRetainNSRelease to
8719        properly retain a reference to an Objective-C object in a C++ class.
8720        (WebCore::KCanvasFilterQuartz::~KCanvasFilterQuartz): Use KWQRelease instead of
8721        release.
8722        (WebCore::KCanvasFilterQuartz::prepareFilter): Use KWQRetain instead of retain.
8723        (WebCore::KCanvasFilterQuartz::applyFilter): Use KWQRelease instead of release.
8724        (WebCore::KCanvasFilterQuartz::imageForName): Use objectForKey: instead of
8725        valueForKey: on the dictionary to sidestep a bug in valueForKey: on empty strings
8726        and because what we're doing with a dictionary here has nothing to do with
8727        key value encoding.
8728
8729        * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
8730        (WebCore::KRenderingDeviceContextQuartz::~KRenderingDeviceContextQuartz):
8731        Use KWQRelease instead of release.
8732        (WebCore::KRenderingDeviceContextQuartz::nsGraphicsContext): Use KWQRetain
8733        instead of retain to properly retain a reference to an Objective-C object
8734        in a C++ class.
8735
8736        * platform/mac/ImageMac.mm:
8737        (WebCore::Image::invalidateNativeData): Use CFRelease instead of release.
8738        (WebCore::Image::getNSImage): Use KWQRetainNSRelease to properly retain
8739        a reference to an Objective-C object in a C++ class.
8740
87412006-03-29  Geoffrey Garen  <ggaren@apple.com>
8742
8743        Reviewed by Darin.
8744
8745        - WebCore side of fix for <rdar://problem/4308243> 8F36 Regression:
8746        crash in malloc_consolidate if you use a .PAC file
8747
8748        (1) To ensure thread-safe deallocation, set the "unsafe to destroy on
8749        non-main threads" bit in the DOMObject constructor.
8750
8751        (2) Made all binding objects inherit from DOMObject, because the
8752        WebCore data structures they wrap are not thread-safe. "DOMObject" is
8753        a slightly awkward name for things like the Window object, but the
8754        DOM spec is considering adding a Window object, and creating a whole
8755        new base class for this purpose seemed like overkill.
8756
8757        * khtml/ecma/JSDOMParser.h:
8758        * khtml/ecma/JSXMLHttpRequest.h:
8759        * khtml/ecma/JSXMLSerializer.cpp:
8760        (KJS::XMLSerializerConstructorImp::XMLSerializerConstructorImp):
8761        * khtml/ecma/JSXMLSerializer.h:
8762        * khtml/ecma/JSXSLTProcessor.h:
8763        * khtml/ecma/kjs_binding.h:
8764        (KJS::DOMObject::DOMObject): Unset the "safe to collect on non-main
8765        threads bit" to ensure thread-safe deallocation.
8766        * khtml/ecma/kjs_html.h:
8767        * khtml/ecma/kjs_navigator.cpp:
8768        (KJS::Navigator::Navigator):
8769        (KJS::PluginBase::PluginBase):
8770        * khtml/ecma/kjs_navigator.h:
8771        * khtml/ecma/kjs_proxy.cpp:
8772        * khtml/ecma/kjs_window.cpp:
8773        (KJS::History::History):
8774        (KJS::FrameArray::FrameArray):
8775        (KJS::Screen::Screen):
8776        (KJS::Window::Window):
8777        (KJS::BarInfo::BarInfo):
8778        * khtml/ecma/kjs_window.h:
8779
87802006-03-29  Geoffrey Garen  <ggaren@apple.com>
8781
8782        Reviewed by Darin.
8783
8784        - Fixed <rdar://problem/4477126> TOT REGRESSION: with release
8785        build, maps.google.com zoom slider always zooms fully out
8786
8787        There were 2 problems: (1) A syntax error in the UIEvent IDL file
8788        prevented some things from showing up in the bindings; (2)
8789        MouseEvent had a duplicate isSimulated property that shadowed
8790        MouseRelatedEvent's isSimulated property, and MouseEvent failed to
8791        initialize MouseRelatedEvent's isSimulated property.
8792
8793        * dom/UIEvent.idl:
8794        * dom/dom2_eventsimpl.cpp:
8795        (WebCore::MouseRelatedEvent::MouseRelatedEvent):
8796        (WebCore::MouseEvent::MouseEvent):
8797        * dom/dom2_eventsimpl.h:
8798
87992006-03-29  Tim Omernick  <timo@apple.com>
8800
8801        Reviewed by Darin.
8802
8803        * html/HTMLInputElement.cpp:
8804        (WebCore::HTMLInputElement::setInputType):
8805        If the input type is dynamically changed, reevaluate whether the element maintains its state
8806        (this decision is based on the input's type).  Fixes an assertion error when leaving a page
8807        with a text field that had been dynamically changed to a password field.
8808
88092006-03-29  Alexey Proskuryakov  <ap@nypop.com>
8810
8811        Reviewed by Darin.
8812
8813        - http://bugs.webkit.org/show_bug.cgi?id=8055
8814          Fix most CSS grammar conflicts.
8815
8816        Gets the number of shift/reduce and reduce/reduce conflicts down from 37+4 to 7+0.
8817
8818        I have fixed the reduce/reduce conflicts, then noticed that two of the fixes
8819        were already made in KDE tree (the other two are different because declaration
8820        blocks are described in quite different ways). Shift/reduce fixes are just
8821        merged from KDE, r332845 by Michael Matz.
8822
8823        * css/CSSGrammar.y:
8824
88252006-03-29  Alexey Proskuryakov  <ap@nypop.com>
8826
8827        Reviewed by Darin.
8828
8829        - fix http://bugs.webkit.org/show_bug.cgi?id=7157
8830          An asterisk in a CSS property name breaks CSS handling
8831          (Many layout problems at letras.terra.com.br)
8832
8833        Test: fast/css/error-in-last-decl.html
8834
8835        * css/CSSGrammar.y: Added a rule for the case when the last CSS rule
8836          has a syntax error, and doesn't end with a semicolon.
8837
88382006-03-29  Darin Adler  <darin@apple.com>
8839
8840        Reviewed by Anders.
8841
8842        - another cut at fixing the buildbot
8843
8844        * generate-derived-sources: Fix if statement that was always following
8845        the Windows case. I believe this is the main problem.
8846
8847        * WebCore.xcodeproj/project.pbxproj: Added CharsetData.h and added CharsetData.cpp
8848        to the target.
8849        * WebCore.vcproj/WebCore/WebCore.vcproj: Similar changes.
8850
8851        * platform/CharsetData.h: Added.
8852        * platform/CharsetNames.cpp: Moved the actual character set data out into a
8853        separate source file instead of include a .cpp file.
8854
8855        * platform/make-charset-table.pl: Changed to generate a file that can stand alone.
8856
88572006-03-29  Darin Adler  <darin@apple.com>
8858
8859        - an attempt to fix the buildbot
8860
8861        * platform/mac/mac-encodings.txt: Touched this file so the character encodings
8862        files will be regenerated.
8863
88642006-03-29  Darin Adler  <darin@apple.com>
8865
8866        - a quick cut at fixing the windows build
8867
8868        * WebCore.vcproj/WebCore/WebCore.vcproj: Added a few recently-added files.
8869
88702006-03-29  Maciej Stachowiak  <mjs@apple.com>
8871
8872        Reviewed by Anders.
8873
8874        - fixed  <rdar://problem/4454976> repro crash in -[NSTextView(NSSharing) setSelectedRanges:affinity:stillSelecting:] when navigating
8875
8876        Also fixed other issues with contains. The problem that caused the bug was:
8877        - contains should return true for the element itself, unlike isAncestor
8878
8879        Other problems I fixed:
8880        - contains shouldn't be present on non-Element nodes
8881        - contains should return false when passed a non-Element node
8882        - contains should return false when passed a non-Node
8883
8884        * bindings/scripts/CodeGeneratorJS.pm: Handle Element as a parameter.
8885        * dom/Element.cpp:
8886        (WebCore::Element::contains): Added new implementation.
8887        * dom/Element.h: Added prototype for contains.
8888        * dom/Element.idl: Added IDL declaration for contains.
8889        * khtml/ecma/kjs_dom.cpp:
8890        (KJS::DOMNodeProtoFunc::callAsFunction): Added old wrong contains().
8891
88922006-03-28  Beth Dakin  <bdakin@apple.com>
8893
8894        Reviewed by Maciej
8895
8896        Fix for <rdar://problem/4493218> repro crash in
8897        khtml::RenderBlock::repaintFloatingDescendants with giant
8898        cellspacing value
8899
8900        Some callers of CSSPrimitiveValue::computeLength() expect an int,
8901        and others a short. This patch splits computeLength() into
8902        computeIntLength() and computeShortLength() so that the appropriate
8903        bounds can be checked.
8904
8905        * css/css_valueimpl.cpp:
8906        (WebCore::CSSPrimitiveValue::computeIntLength): Return 0 if not
8907        within int bounds.
8908        (WebCore::CSSPrimitiveValue::computeShortLength): Return 0 if not
8909        within short bounds.
8910        * css/css_valueimpl.h:
8911        * css/cssstyleselector.cpp:
8912        (WebCore::convertToLength): Switch to appropriate computeLength()
8913        call.
8914        (WebCore::CSSStyleSelector::applyProperty): Same.
8915        (WebCore::CSSStyleSelector::mapBackgroundXPosition): Same.
8916        (WebCore::CSSStyleSelector::mapBackgroundYPosition): Same.
8917        * rendering/RenderBlock.cpp:
8918        (WebCore::RenderBlock::repaintFloatingDescendants): Nil check
8919        m_floatingObjects and add an assertion. This is not necessary for
8920        the fix, it is just because we are not sure that it is safe not to
8921        nil-check, and we want to prevent potential problems in release
8922        builds, and catch them with the assertion in debug builds.
8923        (WebCore::RenderBlock::addOverhangingFloats): Same as above.
8924
89252006-03-28  Alexey Proskuryakov  <ap@nypop.com>
8926
8927        Reviewed by Maciej.
8928
8929        - fix http://bugs.webkit.org/show_bug.cgi?id=4616
8930          Setting nodeValue on a textnode with collapsed whitespace only has no visual effect
8931
8932        Test: fast/dom/space-to-text.html
8933
8934        * dom/CharacterData.cpp:
8935        (WebCore::CharacterData::setData): Create a renderer if it's needed, but missing.
8936        (WebCore::CharacterData::appendData): Ditto.
8937        (WebCore::CharacterData::insertData): Ditto.
8938        (WebCore::CharacterData::replaceData): Ditto.
8939
89402006-03-28  Tim Omernick  <timo@apple.com>
8941
8942        Reviewed by Maciej.
8943
8944        <rdar://problem/4454976> repro crash in -[NSTextView(NSSharing) setSelectedRanges:affinity:stillSelecting:] when navigating
8945        to another page while selecting inside textarea inside iframe
8946
8947        * kwq/WebCoreTextArea.mm:
8948        (-[WebCoreTextArea mouseDown:]):
8949        Guard super's -mouseDown: with calls to Widget::beforeMouseDown() and Widget::afterMouseDown().
8950        Other widgets do this to protect against being removed from the page and deallocated while handling
8951        mouse down events.
8952        (-[WebCoreTextView mouseDown:]):
8953        ditto
8954
8955        * manual-tests/textarea-iframe-navigation.html: Added.
8956        * manual-tests/textarea-iframe-navigation2.html: Added.
8957        Manual test case for this fix.
8958
89592006-03-28  Eric Seidel  <eseidel@apple.com>
8960
8961        Reviewed by darin.
8962
8963        <rdar://problem/4402170> CrashTracer: 499 crashes in Safari at com.apple.WebCore: DOM::DocumentImpl::open + 16
8964
8965        * dom/Document.cpp:
8966        (WebCore::Document::write): Fix unreproducible infinite recursion.
8967
89682006-03-28  Eric Seidel  <eseidel@apple.com>
8969
8970        Reviewed by darin.
8971
8972        Remove global initializers.
8973
8974        * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
8975        * ksvg2/svg/SVGAngle.cpp:
8976        * ksvg2/svg/SVGColor.cpp:
8977        * ksvg2/svg/SVGLength.cpp:
8978
89792006-03-28  Eric Seidel  <eseidel@apple.com>
8980
8981        Reviewed by darin.
8982
8983        Switch UIEvent, MouseEvent and KeyboardEvent over to
8984        be new auto-generated bindings.
8985        http://bugs.webkit.org/show_bug.cgi?id=7928
8986
8987        Updated test: fast/dom/prototype-chain.html
8988
8989        * WebCore.xcodeproj/project.pbxproj:
8990        * bindings/objc/DOMEvents.mm:
8991        (-[DOMEvent ::]):
8992        (-[DOMMouseEvent initMouseEvent:::::::::::::::]):
8993        * bindings/scripts/CodeGeneratorJS.pm:
8994        * dom/EventTargetNode.cpp:
8995        (WebCore::EventTargetNode::dispatchMouseEvent):
8996        * dom/KeyboardEvent.idl: Added.
8997        * dom/MouseEvent.idl: Added.
8998        * dom/UIEvent.idl: Added.
8999        * dom/WheelEvent.idl:
9000        * dom/dom2_eventsimpl.cpp:
9001        (WebCore::MouseEvent::MouseEvent):
9002        (WebCore::MouseEvent::initMouseEvent):
9003        * dom/dom2_eventsimpl.h:
9004        (WebCore::MouseEvent::relatedTarget):
9005        (WebCore::MouseEvent::clipboard):
9006        * generate-derived-sources:
9007        * khtml/ecma/kjs_dom.cpp:
9008        (KJS::toEventTargetNode):
9009        * khtml/ecma/kjs_dom.h:
9010        * khtml/ecma/kjs_events.cpp:
9011        (KJS::toJS):
9012        * khtml/ecma/kjs_events.h:
9013
90142006-03-28  Darin Adler  <darin@apple.com>
9015
9016        Reviewed by Eric.
9017
9018        - replace getDocument with document in a few places that Geoff missed
9019
9020        * WebCore.xcodeproj/project.pbxproj:
9021        * dom/Attr.cpp:
9022        (WebCore::Attr::createTextChild):
9023        (WebCore::Attr::setValue):
9024        (WebCore::Attr::cloneNode):
9025        * dom/Attribute.cpp:
9026        (WebCore::Attribute::createAttrIfNeeded):
9027        * dom/Element.cpp:
9028        (WebCore::Element::cloneNode):
9029        (WebCore::inHTMLDocument):
9030        (WebCore::Element::setAttribute):
9031        (WebCore::Element::setAttributeMap):
9032        (WebCore::Element::createStyleForRenderer):
9033        (WebCore::Element::createRenderer):
9034        (WebCore::Element::recalcStyle):
9035        (WebCore::Element::dispatchAttrRemovalEvent):
9036        (WebCore::Element::dispatchAttrAdditionEvent):
9037        (WebCore::Element::updateId):
9038        (WebCore::Element::removeAttributeNode):
9039        (WebCore::Element::focus):
9040        (WebCore::Element::blur):
9041        * dom/NamedAttrMap.cpp:
9042        (WebCore::inHTMLDocument):
9043        (WebCore::NamedAttrMap::setNamedItem):
9044        * dom/NamedMappedAttrMap.cpp:
9045        (WebCore::NamedMappedAttrMap::parseClassAttribute):
9046        * dom/StyledElement.cpp:
9047        (WebCore::StyledElement::createInlineStyleDecl):
9048        (WebCore::StyledElement::parseMappedAttribute):
9049        (WebCore::StyledElement::createMappedDecl):
9050
9051        - added missing include that seems to be breaking the Windows build
9052
9053        * platform/String.cpp: Include <stdarg.h>.
9054
90552006-03-28  Geoffrey Garen  <ggaren@apple.com>
9056
9057        Reviewed by Beth.
9058
9059        - Global replace of getDocument() with document(). Darin suggested this
9060        in his review of my EventTargetNode patch. It matches the style of
9061        methods like ownerDocument().
9062
9063        - Changed getDocument() to document(); changed data member document to
9064        m_document; changed stack variable document to doc.
9065
9066        * bindings/objc/DOM.mm:
9067        (-[DOMNode ownerDocument]):
9068        (-[DOMNode KJS::Bindings::]):
9069        (-[DOMElement _getURLAttribute:]):
9070        * bindings/objc/DOMHTML.mm:
9071        (-[DOMHTMLElement titleDisplayString]):
9072        (-[DOMHTMLInputElement altDisplayString]):
9073        (-[DOMHTMLAnchorElement blur]):
9074        (-[DOMHTMLAnchorElement focus]):
9075        (-[DOMHTMLImageElement altDisplayString]):
9076        (-[DOMHTMLAppletElement altDisplayString]):
9077        (-[DOMHTMLAreaElement altDisplayString]):
9078        * bindings/objc/DOMInternal.mm:
9079        (-[WebScriptObject _initializeScriptDOMNodeImp]):
9080        * bridge/mac/FrameMac.mm:
9081        (WebCore::FrameMac::attributedString):
9082        * bridge/mac/FrameViewMac.mm:
9083        (WebCore::FrameView::updateDashboardRegions):
9084        * bridge/mac/WebCoreFrameBridge.mm:
9085        (-[WebCoreFrameBridge initSubframeWithRenderer:]):
9086        (-[WebCoreFrameBridge setSelectedDOMRange:affinity:closeTyping:]):
9087        (-[WebCoreFrameBridge smartDeleteRangeForProposedRange:]):
9088        * css/CSSComputedStyleDeclaration.cpp:
9089        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
9090        * css/css_base.cpp:
9091        (WebCore::StyleBase::baseURL):
9092        * css/css_stylesheetimpl.cpp:
9093        (WebCore::CSSStyleSheet::CSSStyleSheet):
9094        * css/cssstyleselector.cpp:
9095        (WebCore::CSSStyleSelector::initForStyleResolve):
9096        (WebCore::CSSStyleSelector::canShareStyleWithElement):
9097        (WebCore::CSSStyleSelector::locateSharedStyle):
9098        (WebCore::CSSStyleSelector::createStyleForElement):
9099        (WebCore::CSSStyleSelector::createPseudoStyleForElement):
9100        (WebCore::CSSStyleSelector::adjustRenderStyle):
9101        (WebCore::CSSStyleSelector::styleRulesForElement):
9102        (WebCore::CSSStyleSelector::checkOneSelector):
9103        (WebCore::CSSStyleSelector::applyProperty):
9104        (WebCore::CSSStyleSelector::mapBackgroundImage):
9105        (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
9106        * dom/AbstractView.cpp:
9107        (WebCore::AbstractView::AbstractView):
9108        * dom/CDATASection.cpp:
9109        (WebCore::CDATASection::cloneNode):
9110        (WebCore::CDATASection::createNew):
9111        * dom/CharacterData.cpp:
9112        (WebCore::CharacterData::setData):
9113        (WebCore::CharacterData::insertData):
9114        (WebCore::CharacterData::deleteData):
9115        (WebCore::CharacterData::replaceData):
9116        (WebCore::CharacterData::dispatchModifiedEvent):
9117        * dom/Comment.cpp:
9118        (WebCore::Comment::cloneNode):
9119        * dom/ContainerNode.cpp:
9120        (WebCore::ContainerNode::insertBefore):
9121        (WebCore::ContainerNode::replaceChild):
9122        (WebCore::ContainerNode::removeChild):
9123        (WebCore::ContainerNode::appendChild):
9124        (WebCore::ContainerNode::addChild):
9125        (WebCore::ContainerNode::getUpperLeftCorner):
9126        (WebCore::dispatchChildInsertionEvents):
9127        (WebCore::dispatchChildRemovalEvents):
9128        * dom/DOMImplementation.cpp:
9129        (WebCore::DOMImplementation::createDocument):
9130        * dom/Document.cpp:
9131        (WebCore::Document::Document):
9132        (WebCore::Document::~Document):
9133        (WebCore::Document::createDocumentFragment):
9134        (WebCore::Document::adoptNode):
9135        (WebCore::Document::createElementNS):
9136        (WebCore::Document::nodeAbsIndex):
9137        (WebCore::Document::setFocusNode):
9138        (WebCore::Document::topDocument):
9139        * dom/DocumentFragment.cpp:
9140        (WebCore::DocumentFragment::cloneNode):
9141        * dom/EventTargetNode.cpp:
9142        (WebCore::EventTargetNode::~EventTargetNode):
9143        (WebCore::EventTargetNode::insertedIntoDocument):
9144        (WebCore::EventTargetNode::removedFromDocument):
9145        (WebCore::EventTargetNode::addEventListener):
9146        (WebCore::EventTargetNode::removeEventListener):
9147        (WebCore::EventTargetNode::dispatchGenericEvent):
9148        (WebCore::EventTargetNode::dispatchEvent):
9149        (WebCore::EventTargetNode::dispatchSubtreeModifiedEvent):
9150        (WebCore::EventTargetNode::dispatchWindowEvent):
9151        (WebCore::EventTargetNode::dispatchUIEvent):
9152        (WebCore::EventTargetNode::dispatchKeyEvent):
9153        (WebCore::EventTargetNode::dispatchMouseEvent):
9154        (WebCore::EventTargetNode::dispatchWheelEvent):
9155        (WebCore::EventTargetNode::removeHTMLEventListener):
9156        * dom/Node.cpp:
9157        (WebCore::Node::Node):
9158        (WebCore::Node::setDocument):
9159        (WebCore::Node::setChanged):
9160        (WebCore::Node::checkSetPrefix):
9161        (WebCore::Node::checkAddChild):
9162        (WebCore::Node::attach):
9163        (WebCore::Node::detach):
9164        (WebCore::Node::createRendererIfNeeded):
9165        (WebCore::Node::rendererIsNeeded):
9166        (WebCore::Node::getElementsByTagNameNS):
9167        (WebCore::Node::ownerDocument):
9168        (WebCore::Node::setTextContent):
9169        * dom/Node.h:
9170        (WebCore::Node::document):
9171        (WebCore::Node::inDocument):
9172        * dom/NodeList.cpp:
9173        (WebCore::NodeList::itemById):
9174        * dom/Position.cpp:
9175        (WebCore::Position::documentElement):
9176        * dom/Range.cpp:
9177        (WebCore::Range::commonAncestorContainer):
9178        (WebCore::Range::setStart):
9179        (WebCore::Range::setEnd):
9180        (WebCore::Range::compareBoundaryPoints):
9181        (WebCore::Range::insertNode):
9182        (WebCore::Range::text):
9183        (WebCore::Range::setStartAfter):
9184        (WebCore::Range::setEndBefore):
9185        (WebCore::Range::setEndAfter):
9186        (WebCore::Range::surroundContents):
9187        (WebCore::Range::setStartBefore):
9188        (WebCore::rangeOfContents):
9189        * dom/Text.cpp:
9190        (WebCore::Text::cloneNode):
9191        (WebCore::Text::createNew):
9192        * dom/dom2_eventsimpl.cpp:
9193        (WebCore::MouseRelatedEvent::receivedTarget):
9194        * dom/dom2_traversalimpl.cpp:
9195        (WebCore::NodeIterator::NodeIterator):
9196        * dom/dom_elementimpl.cpp:
9197        (WebCore::Attribute::createAttrIfNeeded):
9198        (WebCore::Attr::createTextChild):
9199        (WebCore::Attr::setValue):
9200        (WebCore::Attr::cloneNode):
9201        (WebCore::Element::cloneNode):
9202        (WebCore::inHTMLDocument):
9203        (WebCore::Element::setAttribute):
9204        (WebCore::Element::setAttributeMap):
9205        (WebCore::Element::createStyleForRenderer):
9206        (WebCore::Element::createRenderer):
9207        (WebCore::Element::recalcStyle):
9208        (WebCore::Element::dispatchAttrRemovalEvent):
9209        (WebCore::Element::dispatchAttrAdditionEvent):
9210        (WebCore::Element::updateId):
9211        (WebCore::Element::removeAttributeNode):
9212        (WebCore::Element::focus):
9213        (WebCore::Element::blur):
9214        (WebCore::NamedAttrMap::setNamedItem):
9215        (WebCore::NamedMappedAttrMap::parseClassAttribute):
9216        (WebCore::StyledElement::createInlineStyleDecl):
9217        (WebCore::StyledElement::parseMappedAttribute):
9218        (WebCore::StyledElement::createMappedDecl):
9219        * dom/dom_xmlimpl.cpp:
9220        (WebCore::EntityReference::cloneNode):
9221        (WebCore::ProcessingInstruction::cloneNode):
9222        (WebCore::ProcessingInstruction::checkStyleSheet):
9223        (WebCore::ProcessingInstruction::sheetLoaded):
9224        (WebCore::ProcessingInstruction::setStyleSheet):
9225        * dom/xml_tokenizer.cpp:
9226        (WebCore::XMLTokenizer::XMLTokenizer):
9227        * editing/ReplaceSelectionCommand.cpp:
9228        (WebCore::ReplacementFragment::ReplacementFragment):
9229        (WebCore::ReplaceSelectionCommand::fixupNodeStyles):
9230        (WebCore::styleForNode):
9231        * editing/Selection.cpp:
9232        (WebCore::Selection::toRange):
9233        * editing/SelectionController.cpp:
9234        (WebCore::SelectionController::~SelectionController):
9235        (WebCore::SelectionController::setSelection):
9236        (WebCore::SelectionController::xPosForVerticalArrowNavigation):
9237        (WebCore::SelectionController::frame):
9238        (WebCore::SelectionController::layout):
9239        (WebCore::SelectionController::needsCaretRepaint):
9240        * editing/TextIterator.cpp:
9241        (WebCore::TextIterator::range):
9242        (WebCore::SimplifiedBackwardsTextIterator::range):
9243        * editing/VisiblePosition.cpp:
9244        (WebCore::VisiblePosition::init):
9245        (WebCore::makeRange):
9246        * editing/markup.cpp:
9247        (WebCore::startMarkup):
9248        (WebCore::shouldSelfClose):
9249        (WebCore::markup):
9250        (WebCore::createMarkup):
9251        * editing/visible_units.cpp:
9252        (WebCore::previousBoundary):
9253        (WebCore::nextBoundary):
9254        (WebCore::previousLinePosition):
9255        (WebCore::nextLinePosition):
9256        (WebCore::inSameDocument):
9257        * html/HTMLCollection.cpp:
9258        (WebCore::HTMLCollection::HTMLCollection):
9259        (WebCore::HTMLCollection::resetCollectionInfo):
9260        * html/HTMLElement.cpp:
9261        (WebCore::HTMLElement::nodeName):
9262        (WebCore::HTMLElement::cloneNode):
9263        (WebCore::HTMLElement::innerText):
9264        (WebCore::HTMLElement::createContextualFragment):
9265        (WebCore::HTMLElement::setInnerText):
9266        (WebCore::HTMLElement::setOuterText):
9267        (WebCore::HTMLElement::isContentEditable):
9268        (WebCore::HTMLElement::contentEditable):
9269        (WebCore::HTMLElement::toString):
9270        (WebCore::HTMLElement::childAllowed):
9271        (WebCore::HTMLElement::setHTMLEventListener):
9272        * html/HTMLFormElement.cpp:
9273        (WebCore::HTMLFormElement::formWouldHaveSecureSubmission):
9274        (WebCore::HTMLFormElement::attach):
9275        (WebCore::HTMLFormElement::insertedIntoDocument):
9276        (WebCore::HTMLFormElement::removedFromDocument):
9277        (WebCore::HTMLFormElement::formData):
9278        (WebCore::HTMLFormElement::prepareSubmit):
9279        (WebCore::HTMLFormElement::submit):
9280        (WebCore::HTMLFormElement::reset):
9281        (WebCore::HTMLFormElement::parseMappedAttribute):
9282        (WebCore::HTMLFormElement::registerFormElement):
9283        (WebCore::HTMLFormElement::removeFormElement):
9284        * html/HTMLGenericFormElement.cpp:
9285        (WebCore::HTMLGenericFormElement::attach):
9286        (WebCore::HTMLGenericFormElement::insertedIntoTree):
9287        (WebCore::HTMLGenericFormElement::isKeyboardFocusable):
9288        * html/HTMLInputElement.cpp:
9289        (WebCore::HTMLInputElement::~HTMLInputElement):
9290        (WebCore::HTMLInputElement::isKeyboardFocusable):
9291        (WebCore::HTMLInputElement::focus):
9292        (WebCore::HTMLInputElement::setInputType):
9293        (WebCore::HTMLInputElement::parseMappedAttribute):
9294        (WebCore::HTMLInputElement::attach):
9295        (WebCore::HTMLInputElement::setChecked):
9296        (WebCore::HTMLInputElement::preDispatchEventHandler):
9297        (WebCore::HTMLInputElement::defaultEventHandler):
9298        (WebCore::HTMLInputElement::src):
9299        * html/HTMLKeygenElement.cpp:
9300        (WebCore::HTMLKeygenElement::appendFormData):
9301        * html/HTMLLabelElement.cpp:
9302        (WebCore::HTMLLabelElement::formElement):
9303        * html/HTMLOptionElement.cpp:
9304        (WebCore::HTMLOptionElement::text):
9305        (WebCore::HTMLOptionElement::setText):
9306        * html/HTMLParser.cpp:
9307        (WebCore::HTMLParser::HTMLParser):
9308        * html/HTMLSelectElement.cpp:
9309        (WebCore::HTMLSelectElement::~HTMLSelectElement):
9310        * html/HTMLTextAreaElement.cpp:
9311        (WebCore::HTMLTextAreaElement::~HTMLTextAreaElement):
9312        (WebCore::HTMLTextAreaElement::setDefaultValue):
9313        * html/HTMLTokenizer.cpp:
9314        (WebCore::HTMLTokenizer::HTMLTokenizer):
9315        * html/html_baseimpl.cpp:
9316        (WebCore::HTMLBodyElement::createLinkDecl):
9317        (WebCore::HTMLBodyElement::mapToEntry):
9318        (WebCore::HTMLBodyElement::parseMappedAttribute):
9319        (WebCore::HTMLBodyElement::insertedIntoDocument):
9320        (WebCore::HTMLFrameElement::isURLAllowed):
9321        (WebCore::HTMLFrameElement::openURL):
9322        (WebCore::HTMLFrameElement::attach):
9323        (WebCore::HTMLFrameElement::close):
9324        (WebCore::HTMLFrameElement::contentFrame):
9325        (WebCore::HTMLFrameElement::frameWidth):
9326        (WebCore::HTMLFrameElement::frameHeight):
9327        (WebCore::HTMLFrameSetElement::parseMappedAttribute):
9328        (WebCore::HTMLIFrameElement::parseMappedAttribute):
9329        (WebCore::HTMLIFrameElement::insertedIntoDocument):
9330        (WebCore::HTMLIFrameElement::removedFromDocument):
9331        (WebCore::HTMLIFrameElement::attach):
9332        (WebCore::HTMLIFrameElement::src):
9333        * html/html_blockimpl.cpp:
9334        (WebCore::HTMLParagraphElement::checkDTD):
9335        * html/html_headimpl.cpp:
9336        (WebCore::HTMLBaseElement::removedFromDocument):
9337        (WebCore::HTMLBaseElement::process):
9338        (WebCore::HTMLLinkElement::setDisabledState):
9339        (WebCore::HTMLLinkElement::parseMappedAttribute):
9340        (WebCore::HTMLLinkElement::process):
9341        (WebCore::HTMLLinkElement::setStyleSheet):
9342        (WebCore::HTMLLinkElement::sheetLoaded):
9343        (WebCore::HTMLLinkElement::href):
9344        (WebCore::HTMLMetaElement::process):
9345        (WebCore::HTMLScriptElement::childrenChanged):
9346        (WebCore::HTMLScriptElement::parseMappedAttribute):
9347        (WebCore::HTMLScriptElement::insertedIntoDocument):
9348        (WebCore::HTMLScriptElement::evaluateScript):
9349        (WebCore::HTMLScriptElement::setText):
9350        (WebCore::HTMLScriptElement::src):
9351        (WebCore::HTMLStyleElement::insertedIntoDocument):
9352        (WebCore::HTMLStyleElement::removedFromDocument):
9353        (WebCore::HTMLStyleElement::childrenChanged):
9354        (WebCore::HTMLStyleElement::sheetLoaded):
9355        (WebCore::HTMLTitleElement::insertedIntoDocument):
9356        (WebCore::HTMLTitleElement::removedFromDocument):
9357        (WebCore::HTMLTitleElement::childrenChanged):
9358        (WebCore::HTMLTitleElement::setText):
9359        * html/html_imageimpl.cpp:
9360        (WebCore::HTMLImageLoader::~HTMLImageLoader):
9361        (WebCore::HTMLImageLoader::updateFromElement):
9362        (WebCore::HTMLImageLoader::notifyFinished):
9363        (WebCore::HTMLImageElement::parseMappedAttribute):
9364        (WebCore::HTMLImageElement::insertedIntoDocument):
9365        (WebCore::HTMLImageElement::removedFromDocument):
9366        (WebCore::HTMLImageElement::width):
9367        (WebCore::HTMLImageElement::height):
9368        (WebCore::HTMLImageElement::src):
9369        (WebCore::HTMLMapElement::~HTMLMapElement):
9370        (WebCore::HTMLMapElement::parseMappedAttribute):
9371        (WebCore::HTMLAreaElement::href):
9372        * html/html_inlineimpl.cpp:
9373        (WebCore::HTMLAnchorElement::isKeyboardFocusable):
9374        (WebCore::HTMLAnchorElement::defaultEventHandler):
9375        (WebCore::HTMLAnchorElement::href):
9376        (WebCore::HTMLAnchorElement::blur):
9377        (WebCore::HTMLAnchorElement::focus):
9378        * html/html_objectimpl.cpp:
9379        (WebCore::HTMLAppletElement::parseMappedAttribute):
9380        (WebCore::HTMLAppletElement::insertedIntoDocument):
9381        (WebCore::HTMLAppletElement::removedFromDocument):
9382        (WebCore::HTMLAppletElement::createRenderer):
9383        (WebCore::HTMLAppletElement::getAppletInstance):
9384        (WebCore::HTMLEmbedElement::getEmbedInstance):
9385        (WebCore::HTMLEmbedElement::parseMappedAttribute):
9386        (WebCore::HTMLEmbedElement::rendererIsNeeded):
9387        (WebCore::HTMLEmbedElement::insertedIntoDocument):
9388        (WebCore::HTMLEmbedElement::removedFromDocument):
9389        (WebCore::HTMLObjectElement::getObjectInstance):
9390        (WebCore::HTMLObjectElement::parseMappedAttribute):
9391        (WebCore::HTMLObjectElement::rendererIsNeeded):
9392        (WebCore::HTMLObjectElement::insertedIntoDocument):
9393        (WebCore::HTMLObjectElement::removedFromDocument):
9394        (WebCore::HTMLObjectElement::updateDocNamedItem):
9395        (WebCore::HTMLParamElement::parseMappedAttribute):
9396        * html/html_tableimpl.cpp:
9397        (WebCore::HTMLTableElement::createTHead):
9398        (WebCore::HTMLTableElement::createTFoot):
9399        (WebCore::HTMLTableElement::createCaption):
9400        (WebCore::HTMLTableElement::insertRow):
9401        (WebCore::HTMLTableElement::addChild):
9402        (WebCore::HTMLTableElement::mapToEntry):
9403        (WebCore::HTMLTableElement::parseMappedAttribute):
9404        (WebCore::HTMLTableElement::additionalAttributeStyleDecl):
9405        (WebCore::HTMLTableElement::getSharedCellDecl):
9406        (WebCore::HTMLTablePartElement::mapToEntry):
9407        (WebCore::HTMLTablePartElement::parseMappedAttribute):
9408        (WebCore::HTMLTableSectionElement::insertRow):
9409        (WebCore::HTMLTableRowElement::insertCell):
9410        * khtml/ecma/kjs_dom.cpp:
9411        (KJS::DOMNode::~DOMNode):
9412        (KJS::DOMNode::mark):
9413        (KJS::DOMElement::getValueProperty):
9414        (KJS::DOMElementProtoFunc::callAsFunction):
9415        (KJS::checkNodeSecurity):
9416        (KJS::toJS):
9417        * khtml/ecma/kjs_html.cpp:
9418        (KJS::JSHTMLElement::implementsCall):
9419        (KJS::JSHTMLElement::bodyGetter):
9420        (KJS::JSHTMLElement::anchorGetter):
9421        (KJS::JSHTMLElement::getValueProperty):
9422        (KJS::JSHTMLElement::bodySetter):
9423        * khtml/ecma/kjs_traversal.cpp:
9424        (KJS::JSNodeFilterCondition::acceptNode):
9425        * khtml/ecma/kjs_views.cpp:
9426        (KJS::DOMAbstractViewProtoFunc::callAsFunction):
9427        * khtml/xbl/xbl_binding.cpp:
9428        (XBL::XBLBindingChain::failed):
9429        (XBL::m_nextBinding):
9430        (XBL::XBLBinding::setXBLDocument):
9431        * khtml/xbl/xbl_protobinding.cpp:
9432        (XBL::XBLPrototypeBinding::document):
9433        * khtml/xsl/XSLStyleSheet.cpp:
9434        (WebCore::XSLStyleSheet::XSLStyleSheet):
9435        * khtml/xsl/XSLTProcessor.cpp:
9436        (WebCore::XSLTProcessor::createDocumentFromSource):
9437        (WebCore::xmlDocPtrFromNode):
9438        (WebCore::XSLTProcessor::transformToString):
9439        * ksvg2/svg/SVGAElement.cpp:
9440        (SVGAElement::defaultEventHandler):
9441        * ksvg2/svg/SVGAnimateColorElement.cpp:
9442        (SVGAnimateColorElement::handleTimerEvent):
9443        * ksvg2/svg/SVGAnimateElement.cpp:
9444        (SVGAnimateElement::handleTimerEvent):
9445        * ksvg2/svg/SVGAnimateTransformElement.cpp:
9446        (SVGAnimateTransformElement::handleTimerEvent):
9447        * ksvg2/svg/SVGAnimationElement.cpp:
9448        (SVGAnimationElement::closeRenderer):
9449        * ksvg2/svg/SVGClipPathElement.cpp:
9450        (SVGClipPathElement::canvasResource):
9451        * ksvg2/svg/SVGElement.cpp:
9452        (WebCore::SVGElement::addSVGEventListener):
9453        * ksvg2/svg/SVGGradientElement.cpp:
9454        (SVGGradientElement::rebuildStops):
9455        * ksvg2/svg/SVGHelper.cpp:
9456        (SVGHelper::PercentageOfViewport):
9457        * ksvg2/svg/SVGLinearGradientElement.cpp:
9458        (SVGLinearGradientElement::buildGradient):
9459        * ksvg2/svg/SVGPatternElement.cpp:
9460        (WebCore::SVGPatternElement::fillAttributesFromReferencePattern):
9461        * ksvg2/svg/SVGRadialGradientElement.cpp:
9462        (WebCore::SVGRadialGradientElement::buildGradient):
9463        * ksvg2/svg/SVGSVGElement.cpp:
9464        (WebCore::SVGSVGElement::setCurrentScale):
9465        (WebCore::SVGSVGElement::addSVGWindowEventListner):
9466        * ksvg2/svg/SVGSetElement.cpp:
9467        (SVGSetElement::handleTimerEvent):
9468        * ksvg2/svg/SVGStyleElement.cpp:
9469        (SVGStyleElement::childrenChanged):
9470        * ksvg2/svg/SVGStyledElement.cpp:
9471        (WebCore::SVGStyledElement::canvas):
9472        * ksvg2/svg/SVGTitleElement.cpp:
9473        (WebCore::SVGTitleElement::closeRenderer):
9474        (WebCore::SVGTitleElement::insertedIntoDocument):
9475        (WebCore::SVGTitleElement::removedFromDocument):
9476        (WebCore::SVGTitleElement::childrenChanged):
9477        * ksvg2/svg/SVGUseElement.cpp:
9478        (SVGUseElement::closeRenderer):
9479        * kwq/WebCoreAXObject.mm:
9480        (-[WebCoreAXObject accessibilityPerformAction:]):
9481        (-[WebCoreAXObject accessibilityAttributeValue:]):
9482        * page/Frame.cpp:
9483        (WebCore::parentFromOwnerRenderer):
9484        (WebCore::Frame::frameForNode):
9485        (WebCore::Frame::clearDocumentFocus):
9486        * page/FrameView.cpp:
9487        (WebCore::FrameView::dispatchMouseEvent):
9488        * rendering/RenderBox.cpp:
9489        (WebCore::RenderBox::setStyle):
9490        * rendering/RenderCanvas.cpp:
9491        (WebCore::RenderCanvas::RenderCanvas):
9492        (WebCore::RenderCanvas::paintBoxDecorations):
9493        (WebCore::RenderCanvas::repaintViewRectangle):
9494        * rendering/RenderImage.cpp:
9495        (WebCore::RenderImage::imageMap):
9496        * rendering/RenderLayer.cpp:
9497        (WebCore::RenderLayer::setHasHorizontalScrollbar):
9498        (WebCore::RenderLayer::setHasVerticalScrollbar):
9499        * rendering/RenderObject.cpp:
9500        (WebCore::RenderObject::createObject):
9501        (WebCore::RenderObject::RenderObject):
9502        (WebCore::RenderObject::isRoot):
9503        (WebCore::RenderObject::backslashAsCurrencySymbol):
9504        * rendering/RenderObject.h:
9505        (WebCore::RenderObject::document):
9506        * rendering/RenderTheme.cpp:
9507        (WebCore::RenderTheme::isFocused):
9508        * rendering/render_applet.cpp:
9509        (WebCore::RenderApplet::createWidgetIfNecessary):
9510        * rendering/render_replaced.cpp:
9511        (WebCore::RenderWidget::RenderWidget):
9512        (WebCore::RenderWidget::focusIn):
9513        (WebCore::RenderWidget::focusOut):
9514
95152006-03-28  Darin Adler  <darin@apple.com>
9516
9517        Reviewed by Geoff.
9518
9519        - added a build step that checks for init routines
9520
9521        * WebCore.xcodeproj/project.pbxproj: Deleted now-unused custom build rule that
9522        was replaced by the generate-derived-sources script a while back. Added a custom
9523        build phase that invokes the check-for-global-initializers script.
9524
95252006-03-28  Timothy Hatcher  <timothy@apple.com>
9526
9527        Reviewed by Maciej.
9528
9529        Moved the derived sources script to an agregate target. Fixes internal builds.
9530
9531        * WebCore.xcodeproj/project.pbxproj:
9532        * generate-derived-sources: was missing a use of $CREATE_HASH_TABLE
9533
95342006-03-28  Eric Seidel  <eseidel@apple.com>
9535
9536        Reviewed by hyatt.
9537
9538        Build fix.
9539
9540        * dom/xml_tokenizer.cpp:
9541        (WebCore::XMLTokenizer::error):
9542
95432006-03-28  Michael Emmel  <mike.emmel@gmail.com>
9544
9545        Reviewed, tweaked, landed by Darin.
9546
9547        - fix http://bugs.webkit.org/show_bug.cgi?id=8023
9548          Attribute.h missing class predeclaration
9549
9550        * dom/Attribute.h: Add declarations for classes so that the friend
9551        declaration is not the only one. There's an issue with either an earlier
9552        or later version of gcc, which is why we see this only on certain platforms.
9553
9554        * dom/Attr.cpp:
9555        (WebCore::Attr::Attr):
9556        (WebCore::Attr::~Attr):
9557        * dom/NamedAttrMap.cpp:
9558        (WebCore::NamedAttrMap::clearAttributes):
9559        (WebCore::NamedAttrMap::addAttribute):
9560        (WebCore::NamedAttrMap::removeAttribute):
9561        Change places where practical to use attr() instead of m_impl in the vain
9562        hope of removing the need for the friend declarations.
9563
95642006-03-27  Eric Seidel  <eseidel@apple.com>
9565
9566        Reviewed by darin.
9567
9568        Replace more DeprecatedString with String.
9569        Add String::sprintf() and String::number()
9570        http://bugs.webkit.org/show_bug.cgi?id=8009
9571
9572        * bindings/objc/DOMHTML.mm:
9573        (-[DOMHTMLTextAreaElement setCols:]):
9574        (-[DOMHTMLTextAreaElement setRows:]):
9575        (-[DOMHTMLOListElement setStart:]):
9576        (-[DOMHTMLPreElement setWidth:]):
9577        (-[DOMHTMLImageElement setHeight:]):
9578        (-[DOMHTMLImageElement setHspace:]):
9579        (-[DOMHTMLImageElement setVspace:]):
9580        (-[DOMHTMLImageElement setWidth:]):
9581        (-[DOMHTMLObjectElement setHspace:]):
9582        (-[DOMHTMLObjectElement setTabIndex:]):
9583        (-[DOMHTMLObjectElement setVspace:]):
9584        (-[DOMHTMLAppletElement setHspace:]):
9585        (-[DOMHTMLAppletElement setVspace:]):
9586        (-[DOMHTMLAreaElement setTabIndex:]):
9587        (-[DOMHTMLTableColElement setSpan:]):
9588        (-[DOMHTMLTableCellElement setColSpan:]):
9589        (-[DOMHTMLTableCellElement setRowSpan:]):
9590        (-[DOMHTMLEmbedElement setHeight:]):
9591        (-[DOMHTMLEmbedElement setWidth:]):
9592        * bindings/objc/DOMInternal.mm:
9593        (String::String):
9594        * css/CSSComputedStyleDeclaration.cpp:
9595        (WebCore::numberAsString):
9596        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
9597        * css/css_valueimpl.cpp:
9598        (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
9599        (WebCore::CSSPrimitiveValue::cssText):
9600        * dom/Position.cpp:
9601        (WebCore::Position::formatForDebugger):
9602        * dom/Range.cpp:
9603        (WebCore::Range::formatForDebugger):
9604        * dom/StyledElement.cpp:
9605        (WebCore::StyledElement::addCSSColor):
9606        * dom/xml_tokenizer.cpp:
9607        (WebCore::XMLTokenizer::error):
9608        * editing/ApplyStyleCommand.cpp:
9609        (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
9610        * html/HTMLGenericFormElement.cpp:
9611        (WebCore::HTMLGenericFormElement::findMatchingState):
9612        (WebCore::HTMLGenericFormElement::setTabIndex):
9613        * html/HTMLInputElement.cpp:
9614        (WebCore::HTMLInputElement::setMaxLength):
9615        (WebCore::HTMLInputElement::setSize):
9616        * html/HTMLSelectElement.cpp:
9617        (WebCore::HTMLSelectElement::setSize):
9618        * html/HTMLTextAreaElement.cpp:
9619        (WebCore::HTMLTextAreaElement::setCols):
9620        (WebCore::HTMLTextAreaElement::setRows):
9621        * html/html_baseimpl.cpp:
9622        (WebCore::HTMLBodyElement::insertedIntoDocument):
9623        * html/html_blockimpl.cpp:
9624        (WebCore::HTMLHRElement::parseMappedAttribute):
9625        (WebCore::HTMLPreElement::setWidth):
9626        * html/html_imageimpl.cpp:
9627        (WebCore::HTMLImageElement::width):
9628        (WebCore::HTMLImageElement::height):
9629        (WebCore::HTMLImageElement::setBorder):
9630        (WebCore::HTMLImageElement::setHeight):
9631        (WebCore::HTMLImageElement::setHspace):
9632        (WebCore::HTMLImageElement::setVspace):
9633        (WebCore::HTMLImageElement::setWidth):
9634        (WebCore::HTMLAreaElement::setTabIndex):
9635        * html/html_inlineimpl.cpp:
9636        (WebCore::HTMLAnchorElement::setTabIndex):
9637        * html/html_listimpl.cpp:
9638        (WebCore::HTMLOListElement::setStart):
9639        (WebCore::HTMLLIElement::setValue):
9640        * html/html_objectimpl.cpp:
9641        (WebCore::HTMLObjectElement::setTabIndex):
9642        * html/html_tableimpl.cpp:
9643        (WebCore::HTMLTableElement::parseMappedAttribute):
9644        (WebCore::HTMLTableCellElement::setColSpan):
9645        (WebCore::HTMLTableCellElement::setRowSpan):
9646        (WebCore::HTMLTableColElement::setSpan):
9647        * khtml/ecma/kjs_window.cpp:
9648        (KJS::Window::isSafeScript):
9649        (KJS::Location::getValueProperty):
9650        * ksvg2/css/SVGCSSParser.cpp:
9651        (WebCore::CSSParser::parseSVGPaint):
9652        (WebCore::CSSParser::parseSVGColor):
9653        * ksvg2/svg/SVGAngle.cpp:
9654        (SVGAngle::setValueAsString):
9655        (SVGAngle::valueAsString):
9656        * ksvg2/svg/SVGAngle.h:
9657        * ksvg2/svg/SVGLength.cpp:
9658        (SVGLength::setValueAsString):
9659        (SVGLength::valueAsString):
9660        * ksvg2/svg/SVGLength.h:
9661        * ksvg2/svg/SVGPathSeg.h:
9662        (WebCore::SVGPathSeg::pathSegTypeAsLetter):
9663        (WebCore::SVGPathSeg::toString):
9664        * ksvg2/svg/SVGPathSegArc.h:
9665        (WebCore::SVGPathSegArcAbs::pathSegTypeAsLetter):
9666        (WebCore::SVGPathSegArcAbs::toString):
9667        (WebCore::SVGPathSegArcRel::pathSegTypeAsLetter):
9668        (WebCore::SVGPathSegArcRel::toString):
9669        * ksvg2/svg/SVGPathSegClosePath.h:
9670        (WebCore::SVGPathSegClosePath::pathSegTypeAsLetter):
9671        (WebCore::SVGPathSegClosePath::toString):
9672        * ksvg2/svg/SVGPathSegCurvetoCubic.h:
9673        (WebCore::SVGPathSegCurvetoCubicAbs::pathSegTypeAsLetter):
9674        (WebCore::SVGPathSegCurvetoCubicAbs::toString):
9675        (WebCore::SVGPathSegCurvetoCubicRel::pathSegTypeAsLetter):
9676        (WebCore::SVGPathSegCurvetoCubicRel::toString):
9677        * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.h:
9678        (WebCore::SVGPathSegCurvetoCubicSmoothAbs::pathSegTypeAsLetter):
9679        (WebCore::SVGPathSegCurvetoCubicSmoothAbs::toString):
9680        (WebCore::SVGPathSegCurvetoCubicSmoothRel::pathSegTypeAsLetter):
9681        (WebCore::SVGPathSegCurvetoCubicSmoothRel::toString):
9682        * ksvg2/svg/SVGPathSegCurvetoQuadratic.h:
9683        (WebCore::SVGPathSegCurvetoQuadraticAbs::pathSegTypeAsLetter):
9684        (WebCore::SVGPathSegCurvetoQuadraticAbs::toString):
9685        (WebCore::SVGPathSegCurvetoQuadraticRel::pathSegTypeAsLetter):
9686        (WebCore::SVGPathSegCurvetoQuadraticRel::toString):
9687        * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.h:
9688        (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::pathSegTypeAsLetter):
9689        (WebCore::SVGPathSegCurvetoQuadraticSmoothAbs::toString):
9690        (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::pathSegTypeAsLetter):
9691        (WebCore::SVGPathSegCurvetoQuadraticSmoothRel::toString):
9692        * ksvg2/svg/SVGPathSegLineto.h:
9693        (WebCore::SVGPathSegLinetoAbs::pathSegTypeAsLetter):
9694        (WebCore::SVGPathSegLinetoAbs::toString):
9695        (WebCore::SVGPathSegLinetoRel::pathSegTypeAsLetter):
9696        (WebCore::SVGPathSegLinetoRel::toString):
9697        * ksvg2/svg/SVGPathSegLinetoHorizontal.h:
9698        (WebCore::SVGPathSegLinetoHorizontalAbs::pathSegTypeAsLetter):
9699        (WebCore::SVGPathSegLinetoHorizontalAbs::toString):
9700        (WebCore::SVGPathSegLinetoHorizontalRel::pathSegTypeAsLetter):
9701        (WebCore::SVGPathSegLinetoHorizontalRel::toString):
9702        * ksvg2/svg/SVGPathSegLinetoVertical.h:
9703        (WebCore::SVGPathSegLinetoVerticalAbs::pathSegTypeAsLetter):
9704        (WebCore::SVGPathSegLinetoVerticalAbs::toString):
9705        (WebCore::SVGPathSegLinetoVerticalRel::pathSegTypeAsLetter):
9706        (WebCore::SVGPathSegLinetoVerticalRel::toString):
9707        * ksvg2/svg/SVGPathSegMoveto.h:
9708        (WebCore::SVGPathSegMovetoAbs::pathSegTypeAsLetter):
9709        (WebCore::SVGPathSegMovetoAbs::toString):
9710        (WebCore::SVGPathSegMovetoRel::pathSegTypeAsLetter):
9711        (WebCore::SVGPathSegMovetoRel::toString):
9712        * ksvg2/svg/SVGPolyElement.cpp:
9713        (SVGPolyElement::notifyAttributeChange):
9714        * ksvg2/svg/SVGStopElement.cpp:
9715        (SVGStopElement::parseMappedAttribute):
9716        * ksvg2/svg/SVGUseElement.cpp:
9717        (SVGUseElement::closeRenderer):
9718        * platform/AtomicString.h:
9719        (WebCore::AtomicString::toInt):
9720        * platform/Color.cpp:
9721        (WebCore::Color::name):
9722        * platform/Color.h:
9723        * platform/PlatformString.h:
9724        * platform/String.cpp:
9725        (WebCore::String::sprintf):
9726        (WebCore::String::number):
9727        * platform/StringImpl.cpp:
9728        (WebCore::StringImpl::StringImpl):
9729        (WebCore::StringImpl::initWithChar):
9730        (WebCore::StringImpl::initWithQChar):
9731        (WebCore::StringImpl::containsOnlyWhitespace):
9732        * platform/mac/KeyEventMac.mm:
9733        (WebCore::keyIdentifierForKeyEvent):
9734        * rendering/render_form.cpp:
9735        (WebCore::RenderSlider::updateFromElement):
9736        (WebCore::RenderSlider::valueChanged):
9737
97382006-03-28  Justin Garcia  <justin.garcia@apple.com>
9739
9740        Reviewed by mjs
9741
9742        <http://bugs.webkit.org/attachment.cgi?id=7322>
9743        REGRESSION: Select All does not highlight table if it's last in the document
9744
9745        * rendering/RenderCanvas.cpp:
9746        (WebCore::rendererAfterPosition):
9747        Added, returns the render object that a pre-order traversal over a range
9748        of render objects ending at the input position should stop at.
9749        (WebCore::RenderCanvas::selectionRect):
9750        Stop at rendererAfterPosition(m_selectionEnd, m_selectionEndPos), moved code
9751        for traversal to nextInPreOrder. Also, the travesal doesn't need to fetch the
9752        next object before doing work, since the work it does will never change what
9753        the next object in the traversal will be.
9754        (WebCore::RenderCanvas::setSelection): Ditto.
9755        * rendering/RenderObject.cpp:
9756        (WebCore::RenderObject::nextInPreOrder): Renamed from nextRenderer, cleaned up the logic a little.
9757        (WebCore::RenderObject::nextInPreOrderAfterChildren): Added.
9758        (WebCore::RenderObject::previousInPreOrder): Renamed from previousRenderer.
9759        (WebCore::RenderObject::childAt): Added.
9760        * rendering/RenderObject.h:
9761        * rendering/RenderText.cpp:
9762        (WebCore::RenderText::setText):
9763
97642006-03-28  Maciej Stachowiak  <mjs@apple.com>
9765
9766        Reviewed by Justin.
9767
9768        - fixed <rdar://problem/4483851> REGRESSION: parse mode gets set to strict after going back from non-HTML content (7102)
9769
9770        Reshuffled things to arrange for m_doc to be cleared somewhat earlier than before.
9771
9772        * page/Frame.cpp:
9773        (WebCore::Frame::didOpenURL):
9774        (WebCore::Frame::receivedFirstData):
9775        (WebCore::Frame::begin):
9776        (WebCore::Frame::endIfNotLoading):
9777        * manual-tests/accidental-strict-mode.html: Added. I don't think an
9778        automated test is possible.
9779
97802006-03-28  Eric Seidel  <eseidel@apple.com>
9781
9782        Reviewed by mjs.
9783
9784        Convert a couple DeprecatedPtrList<T> to Vector<T*> and HashSet<T*>
9785
9786        * bridge/mac/FrameMac.h:
9787        * bridge/mac/FrameMac.mm:
9788        (WebCore::regExpForLabels):
9789        (WebCore::FrameMac::addPluginRootObject):
9790        (WebCore::FrameMac::cleanupPluginRootObjects):
9791        * loader/Cache.cpp:
9792        (WebCore::Cache::init):
9793        (WebCore::Cache::clear):
9794        (WebCore::Cache::remove):
9795        * loader/Cache.h:
9796        * loader/DocLoader.cpp:
9797        (WebCore::DocLoader::DocLoader):
9798        (WebCore::DocLoader::~DocLoader):
9799
98002006-03-27  Eric Seidel  <eseidel@apple.com>
9801
9802        Reviewed by mjs.
9803
9804        Give StringImpl a little privacy.
9805        http://bugs.webkit.org/show_bug.cgi?id=8022
9806
9807        * dom/CharacterData.cpp:
9808        (WebCore::CharacterData::length):
9809        (WebCore::CharacterData::appendData):
9810        (WebCore::CharacterData::replaceData):
9811        (WebCore::CharacterData::checkCharDataOperation):
9812        (WebCore::CharacterData::rendererIsNeeded):
9813        * dom/Range.cpp:
9814        (WebCore::Range::compareBoundaryPoints):
9815        * dom/Text.cpp:
9816        (WebCore::Text::splitText):
9817        * html/HTMLTokenizer.cpp:
9818        (WebCore::HTMLTokenizer::processToken):
9819        * platform/AtomicString.cpp:
9820        (WebCore::operator==):
9821        * platform/String.cpp:
9822        (WebCore::String::operator[]):
9823        (WebCore::String::length):
9824        (WebCore::String::percentage):
9825        (WebCore::String::unicode):
9826        (WebCore::String::deprecatedString):
9827        (WebCore::String::isEmpty):
9828        * platform/StringImpl.cpp:
9829        (WebCore::equal):
9830        (WebCore::equalIgnoringCase):
9831        * platform/StringImpl.h:
9832        * rendering/InlineTextBox.cpp:
9833        (WebCore::InlineTextBox::selectionRect):
9834        (WebCore::InlineTextBox::paint):
9835        (WebCore::InlineTextBox::paintSelection):
9836        (WebCore::InlineTextBox::paintMarkedTextBackground):
9837        (WebCore::InlineTextBox::paintTextMatchMarker):
9838        (WebCore::InlineTextBox::offsetForPosition):
9839        (WebCore::InlineTextBox::positionForOffset):
9840        * rendering/RenderText.cpp:
9841        (WebCore::RenderText::widthFromCache):
9842        (WebCore::RenderText::calcMinMaxWidth):
9843        (WebCore::RenderText::width):
9844
98452006-03-27  Maciej Stachowiak  <mjs@apple.com>
9846
9847        Reviewed by Beth.
9848
9849        - fixed <rdar://problem/4279765> REGRESSION: "More..." links on flickr groups pages have hover issues (flickr.com)
9850
9851        * rendering/RenderBlock.cpp:
9852        (WebCore::RenderBlock::floatRect): Rewrote in terms of rects, and made it consider child floatRects
9853        as well as their overflowRects.
9854        * platform/IntRect.h:
9855        (WebCore::unionRect): useful helper
9856        * platform/FloatRect.h:
9857        (WebCore::unionRect): added same for FloatRect just because
9858
98592006-03-27  Darin Adler  <darin@apple.com>
9860
9861        Based on a patch by Michael Emmel <mike.emmel@gmail.com>.
9862
9863        - fix http://bugs.webkit.org/show_bug.cgi?id=8012
9864          TransferJob.cpp includes non-existent "String.h" (capital S)
9865
9866        * platform/TransferJob.cpp: Remove unneeded include of "String.h".
9867
98682006-03-27  David Harrison  <harrison@apple.com>
9869
9870        Reviewed by Darin.
9871
9872        <rdar://problem/4427002> REGRESSION: VoiceOver doesn't read heading level text in Safari (Range selectNodeContents broken)
9873
9874        Better fix than previous checkin, since maxDeepOffset is really an editing hack.
9875
9876        * editing/selection/selectNodeContents-textNode.html: Added.
9877
9878        * dom/Range.cpp:
9879        (WebCore::Range::selectNodeContents):
9880        Use maxOffset if offsetInCharacters, otherwise use childNodeCount.
9881
98822006-03-27  Darin Adler  <darin@apple.com>
9883
9884        Based on a patch by Michael Emmel <mike.emmel@gmail.com>.
9885
9886        - fix compilation for Linux
9887          http://bugs.webkit.org/show_bug.cgi?id=8013
9888
9889        * rendering/render_style.h: Add declaration of CSSStyleSelector. Also tweaked
9890        formatting a bit and removed some extraneous WebCore:: prefixes.
9891
98922006-03-27  John Sullivan  <sullivan@apple.com>
9893
9894        Reviewed by Darin Adler and Tim Omernick
9895
9896        - fixed <rdar://problem/4406505> REGRESSION: (japanese text) Clauses is unexpectedly
9897        confirmed while typing on Safari.
9898
9899        * bindings/objc/DOMHTML.mm:
9900        (-[DOMHTMLInputElement _displayedValue]):
9901        Avoid calling stringValue on the focused NSTextField. This will soon be obsolete, but
9902        for now it fixes this regression.
9903
99042006-03-27  Alexander Kellett  <lypanov@kde.org>
9905
9906        Reviewed by darin
9907
9908        Implement the IE extension insertAdjacentElement
9909        http://bugs.webkit.org/show_bug.cgi?id=6520
9910
9911        * bindings/scripts/CodeGeneratorJS.pm:
9912        * dom/Element.cpp:
9913        (WebCore::ElementImpl::insertAdjacentElement):
9914        * dom/Element.h:
9915        * dom/Element.idl:
9916
99172006-03-27  David Harrison  <harrison@apple.com>
9918
9919        Reviewed by Tim Hatcher.
9920
9921        <rdar://problem/4427002> REGRESSION: VoiceOver doesn't read heading level text in Safari (Range selectNodeContents broken)
9922
9923        Range::selectNodeContents() was erroneously using childNodeCount, which is always 0 for text
9924        nodes.  Turns out that [WebCoreAXObject textUnderElement] is the only code that ends up calling
9925        selectNodeContents on a text node.
9926
9927        Test cases added: None.  Manual AX testing is way too awkward, and automated testing
9928        is not possible.  See following bug...
9929            <rdar://problem/4256882> Need automated testing support for accessibility APIs
9930
9931        * dom/Range.cpp:
9932        (WebCore::Range::selectNodeContents):
9933        Use maxDeepOffset instead of childNodeCount, so that text node content is selected.
9934
99352006-03-27  Graham Dennis  <Graham.Dennis@gmail.com>
9936
9937        Reviewed by darin
9938
9939        <http://bugs.webkit.org/show_bug.cgi?id=7868>
9940        REGRESSION: Extraneous focus ring drawn at the end of the page
9941
9942        * platform/GraphicsContext.cpp:
9943        (WebCore::GraphicsContext::addFocusRingRect): Don't add a focus ring for an empty rect.
9944
99452006-03-27  Maciej Stachowiak  <mjs@apple.com>
9946
9947        Reviewed by Anders.
9948
9949        - fixed <rdar://problem/4489745> REGRESSION: Safari crashes at to display http://www.lgphilips-lcd.com/
9950
9951        * manual-tests/empty-script-crash.html: Added.
9952
99532006-03-27  Maciej Stachowiak  <mjs@apple.com>
9954
9955        Build fix:
9956
9957        - reverted fix for <rdar://problem/4362396> capturing listeners do not fire on the target node
9958        It turns out that the behavior we had was standards-compliant and
9959        Moz will be changing to match.
9960
9961        Also added a note so this doesn't get reverted again.
9962
9963        * dom/EventTargetNode.cpp:
9964        (WebCore::EventTargetNode::dispatchGenericEvent):
9965
99662006-03-26  Justin Garcia  <justin.garcia@apple.com>
9967
9968        Reviewed by darn
9969
9970        <http://bugs.webkit.org/show_bug.cgi?id=7974>
9971        Add EditActions and WebUndoActions for CreateLink and Unlink
9972
9973        * bridge/mac/WebCoreFrameBridge.h:
9974        * editing/CreateLinkCommand.h:
9975        (WebCore::CreateLinkCommand::editingAction):
9976        * editing/EditAction.h:
9977        * editing/UnlinkCommand.h:
9978        (WebCore::UnlinkCommand::editingAction):
9979
99802006-03-26  Eric Seidel  <eseidel@apple.com>
9981
9982        Reviewed by mjs.
9983
9984        Fix win32 build.
9985
9986        * WebCore.vcproj/WebCore/WebCore.vcproj:
9987        * editing/CompositeEditCommand.cpp:
9988        * editing/InsertTextCommand.cpp:
9989        * generate-derived-sources:
9990
99912006-03-26  Eric Seidel  <eseidel@apple.com>
9992
9993        * dom/Element.cpp: fix include case, fixing build.
9994
99952006-03-25  Mitz Pettel  <opendarwin.org@mitzpettel.com>
9996
9997        Reviewed by darin.  Landed by eseidel.
9998
9999        - fix http://bugs.webkit.org/show_bug.cgi?id=7916
10000          Box repaint rect does not include the left overflow
10001
10002        * manual-tests/left-overflow-repaint.html: Added.
10003        * rendering/RenderBlock.cpp:
10004        (WebCore::RenderBlock::overflowRect): Changed m_overflowWidth and m_overflowHeight
10005        to overflowWidth() and overflowHeight() since RenderTable overrides the latter.
10006        * rendering/RenderBox.cpp:
10007        (WebCore::RenderBox::getAbsoluteRepaintRect): Include top and left overflows.
10008        * rendering/RenderFlow.cpp:
10009        (WebCore::RenderFlow::getAbsoluteRepaintRect): Removed redundant code.
10010        * rendering/RenderTableCell.cpp: Removed subclass implementation of
10011        getAbsoluteRepaintRect().
10012        * rendering/RenderTableCell.h:
10013        * rendering/bidi.cpp:
10014        (WebCore::RenderBlock::layoutInlineChildren): Include left overflow in repaint rect.
10015
100162006-03-25  Eric Seidel  <eseidel@apple.com>
10017
10018        Reviewed by andersca.
10019
10020        Build fix.
10021
10022        * bindings/scripts/CodeGeneratorJS.pm: include Element.h
10023
100242006-03-25  Eric Seidel  <eseidel@apple.com>
10025
10026        Reviewed by andersca.
10027
10028        Split dom_elementimpl.* into multiple files (one per class).
10029        http://bugs.webkit.org/show_bug.cgi?id=7978
10030
10031        * ForwardingHeaders/kdom/core/Attr.h: Removed.
10032        * ForwardingHeaders/kdom/core/Element.h: Removed.
10033        * ForwardingHeaders/kdom/core/XMLElement.h: Removed.
10034        * WebCore.xcodeproj/project.pbxproj:
10035        * bindings/objc/DOM.mm:
10036        * bindings/objc/DOMHTML.mm:
10037        * bindings/scripts/CodeGeneratorJS.pm:
10038        * dom/AbstractView.cpp:
10039        * dom/Attr.cpp: Added.
10040        * dom/Attr.h: Added.
10041        * dom/Attribute.cpp: Added.
10042        * dom/Attribute.h: Added.
10043        * dom/CSSMappedAttributeDeclaration.cpp: Added.
10044        * dom/CSSMappedAttributeDeclaration.h: Added.
10045        * dom/DOMImplementation.cpp:
10046        * dom/Document.h:
10047        * dom/DocumentType.cpp:
10048        * dom/Element.cpp: Added.
10049        (WebCore::Element::Element):
10050        (WebCore::Element::~Element):
10051        * dom/Element.h: Added.
10052        * dom/EventNames.cpp:
10053        * dom/EventTargetNode.cpp:
10054        * dom/MappedAttribute.cpp: Added.
10055        * dom/MappedAttribute.h: Added.
10056        * dom/MappedAttributeEntry.h: Added.
10057        (WebCore::):
10058        * dom/NameNodeList.cpp:
10059        (WebCore::NameNodeList::NameNodeList):
10060        (WebCore::NameNodeList::item):
10061        (WebCore::NameNodeList::nodeMatches):
10062        * dom/NamedAttrMap.cpp: Added.
10063        * dom/NamedAttrMap.h: Added.
10064        * dom/NamedMappedAttrMap.cpp: Added.
10065        (WebCore::NamedMappedAttrMap::NamedMappedAttrMap):
10066        * dom/NamedMappedAttrMap.h: Added.
10067        * dom/Node.cpp:
10068        * dom/NodeList.cpp:
10069        * dom/Position.cpp:
10070        * dom/StyledElement.cpp: Added.
10071        * dom/StyledElement.h: Added.
10072        * dom/dom_elementimpl.cpp: Removed.
10073        * dom/dom_elementimpl.h: Removed.
10074        * editing/BreakBlockquoteCommand.cpp:
10075        * editing/CompositeEditCommand.cpp:
10076        * editing/DeleteFromTextNodeCommand.cpp:
10077        * editing/DeleteSelectionCommand.cpp:
10078        * editing/InsertLineBreakCommand.cpp:
10079        * editing/InsertParagraphSeparatorCommand.cpp:
10080        * editing/InsertTextCommand.cpp:
10081        * editing/MergeIdenticalElementsCommand.cpp:
10082        * editing/ModifySelectionListLevelCommand.cpp:
10083        * editing/MoveSelectionCommand.cpp:
10084        * editing/RemoveCSSPropertyCommand.cpp:
10085        * editing/RemoveNodeAttributeCommand.cpp:
10086        * editing/Selection.cpp:
10087        * editing/SelectionController.cpp:
10088        * editing/SetNodeAttributeCommand.cpp:
10089        * editing/SplitElementCommand.cpp:
10090        * editing/SplitTextNodeContainingElementCommand.cpp:
10091        * editing/TextIterator.cpp:
10092        * editing/TypingCommand.cpp:
10093        * editing/VisiblePosition.cpp:
10094        * editing/visible_units.cpp:
10095        * html/HTMLElement.h:
10096        * html/HTMLTokenizer.h:
10097        * html/html_baseimpl.cpp:
10098        * kcanvas/RenderSVGImage.cpp:
10099        * khtml/ecma/kjs_views.cpp:
10100        * khtml/ecma/kjs_window.cpp:
10101        (KJS::Window::getValueProperty):
10102        * khtml/xbl/xbl_binding_manager.cpp:
10103        * khtml/xbl/xbl_tokenizer.cpp:
10104        * ksvg2/misc/SVGImageLoader.cpp:
10105        * ksvg2/svg/SVGAElement.cpp:
10106        * ksvg2/svg/SVGAnimateTransformElement.cpp:
10107        * ksvg2/svg/SVGAnimationElement.cpp:
10108        * ksvg2/svg/SVGCircleElement.cpp:
10109        * ksvg2/svg/SVGClipPathElement.cpp:
10110        * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
10111        * ksvg2/svg/SVGCursorElement.cpp:
10112        * ksvg2/svg/SVGElement.cpp:
10113        (WebCore::SVGElement::SVGElement):
10114        * ksvg2/svg/SVGElement.h:
10115        * ksvg2/svg/SVGEllipseElement.cpp:
10116        * ksvg2/svg/SVGExternalResourcesRequired.cpp:
10117        * ksvg2/svg/SVGFEBlendElement.cpp:
10118        * ksvg2/svg/SVGFEColorMatrixElement.cpp:
10119        * ksvg2/svg/SVGFEComponentTransferElement.cpp:
10120        * ksvg2/svg/SVGFECompositeElement.cpp:
10121        * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
10122        * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
10123        * ksvg2/svg/SVGFEFloodElement.cpp:
10124        * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
10125        * ksvg2/svg/SVGFEImageElement.cpp:
10126        * ksvg2/svg/SVGFELightElement.cpp:
10127        * ksvg2/svg/SVGFEMergeElement.cpp:
10128        * ksvg2/svg/SVGFEMergeNodeElement.cpp:
10129        * ksvg2/svg/SVGFEOffsetElement.cpp:
10130        * ksvg2/svg/SVGFESpecularLightingElement.cpp:
10131        * ksvg2/svg/SVGFETileElement.cpp:
10132        * ksvg2/svg/SVGFETurbulenceElement.cpp:
10133        * ksvg2/svg/SVGFilterElement.cpp:
10134        * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp:
10135        * ksvg2/svg/SVGFitToViewBox.cpp:
10136        * ksvg2/svg/SVGGradientElement.cpp:
10137        * ksvg2/svg/SVGImageElement.cpp:
10138        * ksvg2/svg/SVGLangSpace.cpp:
10139        * ksvg2/svg/SVGLineElement.cpp:
10140        * ksvg2/svg/SVGLinearGradientElement.cpp:
10141        * ksvg2/svg/SVGMarkerElement.cpp:
10142        * ksvg2/svg/SVGMaskElement.cpp:
10143        * ksvg2/svg/SVGPathElement.cpp:
10144        * ksvg2/svg/SVGPatternElement.cpp:
10145        * ksvg2/svg/SVGPolyElement.cpp:
10146        * ksvg2/svg/SVGRadialGradientElement.cpp:
10147        * ksvg2/svg/SVGRectElement.cpp:
10148        * ksvg2/svg/SVGSVGElement.cpp:
10149        * ksvg2/svg/SVGScriptElement.cpp:
10150        * ksvg2/svg/SVGStopElement.cpp:
10151        * ksvg2/svg/SVGStyledElement.cpp:
10152        * ksvg2/svg/SVGStyledTransformableElement.cpp:
10153        * ksvg2/svg/SVGSwitchElement.cpp:
10154        * ksvg2/svg/SVGTests.cpp:
10155        * ksvg2/svg/SVGTextContentElement.cpp:
10156        * ksvg2/svg/SVGTextPositioningElement.cpp:
10157        * ksvg2/svg/SVGTransformable.cpp:
10158        * ksvg2/svg/SVGURIReference.cpp:
10159        * ksvg2/svg/SVGUseElement.cpp:
10160        * ksvg2/svg/SVGViewElement.cpp:
10161        * ksvg2/svg/SVGZoomAndPan.cpp:
10162        * kwq/WebCoreTextArea.mm:
10163        * platform/Widget.h:
10164        * rendering/RenderBlock.cpp:
10165        * rendering/RenderCanvas.cpp:
10166        * rendering/RenderContainer.cpp:
10167        * rendering/RenderObject.cpp:
10168        * rendering/RenderTextField.cpp:
10169        * rendering/RenderThemeMac.mm:
10170        * rendering/bidi.cpp:
10171        * rendering/render_replaced.cpp:
10172
101732006-03-25  Eric Seidel  <eseidel@apple.com>
10174
10175        Reviewed by mjs.
10176
10177        Fix RenderStyle creation to avoid floating RenderStyle objects.
10178        This also fixes a bug, were SVG to ever start sharing RenderStyles
10179        between elements, code would have crashed as there were improperly
10180        paired style->deref() statements in SVG code.
10181        http://bugs.webkit.org/show_bug.cgi?id=7976
10182
10183        No test possible (no functionality change).
10184
10185        * css/cssstyleselector.cpp:
10186        (WebCore::CSSStyleSelector::createStyleForElement):
10187        (WebCore::CSSStyleSelector::createPseudoStyleForElement):
10188        * css/cssstyleselector.h:
10189        * dom/Node.cpp:
10190        (WebCore::Node::createRendererIfNeeded):
10191        (WebCore::Node::createStyleForRenderer):
10192        * dom/Node.h:
10193        * dom/dom_elementimpl.cpp:
10194        (WebCore::Element::createStyleForRenderer):
10195        (WebCore::Element::recalcStyle):
10196        * dom/dom_elementimpl.h:
10197        * ksvg2/svg/SVGClipPathElement.cpp:
10198        (SVGClipPathElement::canvasResource):
10199        * ksvg2/svg/SVGFEFloodElement.cpp:
10200        (SVGFEFloodElement::filterEffect):
10201        * ksvg2/svg/SVGGradientElement.cpp:
10202        (SVGGradientElement::rebuildStops):
10203        * rendering/RenderObject.cpp:
10204        (WebCore::RenderObject::createObject):
10205        (WebCore::RenderObject::RenderObject):
10206        (WebCore::selectStartNode):
10207        (WebCore::RenderObject::draggableNode):
10208        (WebCore::RenderObject::getPseudoStyle):
10209
102102006-03-23  Eric Seidel  <eseidel@apple.com>
10211
10212        Reviewed by mjs.
10213
10214        Shave .2% on PLT by removing bogus strcmp.
10215        http://bugs.webkit.org/show_bug.cgi?id=7938
10216
10217        Test: fast/parser/tag-with-exclamation-point.html
10218
10219        * html/HTMLTokenizer.cpp:
10220        (WebCore::HTMLTokenizer::parseTag): remove bogus strcmp
10221
102222006-03-25  Justin Garcia  <justin.garcia@apple.com>
10223
10224        Reviewed by harrison
10225
10226        <http://bugs.webkit.org/show_bug.cgi?id=7683>
10227        TinyMCE: execCommand("Unlink") unimplemented
10228
10229        Added code to push partially selected anchor elements down before
10230        creating or removing links to create fully selected chunks that can be removed.
10231        Changed __create_link_command_h__ to CreateLinkCommand_h
10232        Gave styled element application/removal its own ApplyStyleCommand constructor.
10233        Still need to add new EditActions (7974).
10234
10235        * WebCore.xcodeproj/project.pbxproj:
10236        * editing/ApplyStyleCommand.cpp:
10237        (WebCore::ApplyStyleCommand::ApplyStyleCommand):
10238        (WebCore::ApplyStyleCommand::applyBlockStyle):
10239        (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
10240        * editing/ApplyStyleCommand.h:
10241        * editing/CompositeEditCommand.cpp:
10242        (WebCore::CompositeEditCommand::applyStyle):
10243        (WebCore::CompositeEditCommand::applyStyledElement):
10244        (WebCore::CompositeEditCommand::removeStyledElement):
10245        (WebCore::enclosingAnchorElement):
10246        (WebCore::CompositeEditCommand::pushAnchorElementDown):
10247        (WebCore::CompositeEditCommand::pushPartiallySelectedAnchorElementsDown):
10248        * editing/CompositeEditCommand.h:
10249        * editing/CreateLinkCommand.cpp:
10250        (WebCore::CreateLinkCommand::doApply):
10251        * editing/CreateLinkCommand.h:
10252        * editing/JSEditor.cpp:
10253        * editing/Selection.cpp:
10254        (WebCore::Selection::selectionFromContentsOfNode):
10255        * editing/Selection.h:
10256        * editing/UnlinkCommand.cpp: Added.
10257        (WebCore::UnlinkCommand::UnlinkCommand):
10258        (WebCore::UnlinkCommand::doApply):
10259        * editing/UnlinkCommand.h: Added.
10260        * page/Frame.cpp:
10261        (WebCore::Frame::selectContentsOfNode):
10262        (WebCore::Frame::computeAndSetTypingStyle):
10263        (WebCore::Frame::applyStyle):
10264        (WebCore::Frame::applyParagraphStyle):
10265
102662006-03-24  Justin Garcia  <justin.garcia@apple.com>
10267
10268        Reviewed by harrison
10269
10270        <http://bugs.webkit.org/show_bug.cgi?id=7955>
10271        REGRESSION: Content with an interchange newline lost when pasted at the end of the document
10272
10273        There's no safe place in the document to keep the fragment while pasting, so I avoid
10274        isProbablyBlock by saving whether or not something was blockFlow during the test
10275        insertion.
10276
10277        * editing/ReplaceSelectionCommand.cpp:
10278        (WebCore::ReplacementFragment::ReplacementFragment):
10279        (WebCore::ReplacementFragment::~ReplacementFragment):
10280        (WebCore::ReplacementFragment::firstChild):
10281        (WebCore::ReplacementFragment::lastChild):
10282        (WebCore::ReplacementFragment::mergeStartNode):
10283        (WebCore::ReplacementFragment::enclosingBlock):
10284        (WebCore::ReplacementFragment::insertFragmentForTestRendering):
10285        (WebCore::ReplacementFragment::restoreTestRenderingNodesToFragment):
10286        (WebCore::ReplacementFragment::isBlockFlow):
10287        (WebCore::ReplaceSelectionCommand::fixupNodeStyles):
10288        (WebCore::styleForNode):
10289        (WebCore::ReplacementFragment::saveRenderingInfo):
10290        (WebCore::ReplacementFragment::removeUnrenderedNodes):
10291        (WebCore::ReplacementFragment::renderedBlocks):
10292        (WebCore::ReplacementFragment::removeStyleNodes):
10293        (WebCore::RenderingInfo::RenderingInfo):
10294        (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand):
10295        (WebCore::ReplaceSelectionCommand::doApply):
10296        * editing/ReplaceSelectionCommand.h:
10297        (WebCore::RenderingInfo::isBlockFlow):
10298        (WebCore::ReplacementFragment::renderingInfo):
10299        (WebCore::ReplacementFragment::nodes):
10300
103012006-03-24  Eric Seidel  <eseidel@apple.com>
10302
10303        Reviewed by justing.
10304
10305        * generate-derived-sources: fix clean builds on mac.
10306
103072006-03-24  Darin Adler  <darin@apple.com>
10308
10309        Reviewed by Dave Harrison.
10310
10311        - fix http://bugs.webkit.org/show_bug.cgi?id=7942
10312          nightlies after r13387 break js createcontextualfragment
10313
10314        Test: fast/dom/Range/create-contextual-fragment.html
10315
10316        * dom/Range.idl: Add createContextualFragment.
10317
103182006-03-24  Eric Seidel  <eseidel@apple.com>
10319
10320        Reviewed by mjs.
10321
10322        Fix win32 build.
10323        Unify mac/win dependency handling.
10324        Fix class vs. struct linker problem for win32.
10325
10326        * WebCore.vcproj/WebCore/WebCore.vcproj: Add DerivedSources
10327        * WebCore.vcproj/WebCore/build-generated-files.sh:
10328        * bridge/win/BrowserExtensionWin.h:
10329        * bridge/win/FrameWin.h:
10330        * generate-derived-sources:
10331        * kwq/AccessibilityObjectCache.h:
10332        * platform/GraphicsContext.cpp:
10333        (WebCore::GraphicsContext::createGraphicsContextPrivate):
10334        (WebCore::GraphicsContext::destroyGraphicsContextPrivate):
10335        * platform/GraphicsContext.h:
10336        * platform/cairo/GraphicsContextCairo.cpp:
10337        * platform/mac/GraphicsContextMac.mm:
10338        * platform/win/TemporaryLinkStubs.cpp:
10339        (QLineEdit::selectedText):
10340        (FrameWin::createPlugin):
10341        (BrowserExtensionWin::setTypedIconURL):
10342
103432006-03-23  Darin Adler  <darin@apple.com>
10344
10345        Reviewed by Adele.
10346
10347        - fix <rdar://problem/4484787> KWQAccObject dangles under GC
10348
10349        * kwq/AccessibilityObjectCache.h: Moved AccessibilityObjectCache into the WebCore
10350        namespace. Renamed accObject to get, removed setAccObject, renamed removeAccObject
10351        to remove, removed getAccObjectID, renamed removeAXObjectID to removeAXID, change
10352        from CF dictionaries to HashMap and HashSet.
10353        * kwq/AccessibilityObjectCache.mm:
10354        (WebCore::AccessibilityObjectCache::~AccessibilityObjectCache): Detach all objects
10355        and call CFRelease on all of them.
10356        (WebCore::AccessibilityObjectCache::get): Call CFRetain on objects before putting
10357        them in the HashMap, rather than assuming that retain == CFRetain. This is what
10358        fixes the GC issue.
10359        (WebCore::AccessibilityObjectCache::remove): Detach and call CFRelease when removing.
10360        (WebCore::AccessibilityObjectCache::getAXID): Change to use a single global variable
10361        for the AXIDs, which makes it so we won't reuse the same AXID as much as we did before.
10362        (WebCore::AccessibilityObjectCache::removeAXID): Updated to use HashSet.
10363        (WebCore::AccessibilityObjectCache::textMarkerForVisiblePosition): Updated for other changes.
10364        (WebCore::AccessibilityObjectCache::visiblePositionForTextMarker): Ditto.
10365        (WebCore::AccessibilityObjectCache::childrenChanged): Ditto.
10366        (WebCore::AccessibilityObjectCache::postNotificationToTopWebArea): Ditto.
10367        (WebCore::AccessibilityObjectCache::postNotification): Ditto.
10368
10369        * bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge accessibilityTree]):
10370        Change to use functions by new names.
10371
10372        * dom/Document.h: AccessibilityObjectCache is now in the WebCore namespace.
10373        getAccObjectCache and ownerElement are const member functions, and m_accCache
10374        is a mutable data member.
10375        * dom/Document.cpp:
10376        (WebCore::Document::getAccObjectCache): Make const.
10377        (WebCore::Document::ownerElement): Make const.
10378
10379        * kwq/WebCoreAXObject.h: Changed WebCoreAXID to WebCore::AXID.
10380        * kwq/WebCoreAXObject.mm:
10381        (-[WebCoreAXObject anchorElement]): Update for function name change.
10382        (-[WebCoreAXObject firstChild]): Ditto.
10383        (-[WebCoreAXObject lastChild]): Ditto.
10384        (-[WebCoreAXObject previousSibling]): Ditto.
10385        (-[WebCoreAXObject nextSibling]): Ditto.
10386        (-[WebCoreAXObject parentObject]): Ditto.
10387        (-[WebCoreAXObject accessibilityAttributeValue:]): Ditto.
10388        (-[WebCoreAXObject doAXUIElementForTextMarker:]): Ditto.
10389        (AXLinkElementForNode): Ditto.
10390        (AXAttributedStringAppendReplaced): Ditto.
10391        (-[WebCoreAXObject accessibilityHitTest:]): Ditto.
10392        (-[WebCoreAXObject _accessibilityParentForSubview:]): Ditto.
10393        (-[WebCoreAXObject accessibilityFocusedUIElement]): Ditto.
10394        (-[WebCoreAXObject axObjectID]): Change field name to m_id.
10395        (-[WebCoreAXObject setAXObjectID:]): Ditto.
10396        (-[WebCoreAXObject removeAXObjectID]): Ditto.
10397
10398        * rendering/RenderContainer.cpp:
10399        (WebCore::RenderContainer::removeChildNode): Remove ifdefs.
10400        (WebCore::RenderContainer::appendChildNode): Ditto.
10401        (WebCore::RenderContainer::insertChildNode): Ditto.
10402        * rendering/RenderObject.cpp: (WebCore::RenderObject::remove): Ditto.
10403
104042006-03-23  Darin Adler  <darin@apple.com>
10405
10406        Reviewed by Maciej.
10407
10408        - fix http://bugs.webkit.org/show_bug.cgi?id=7726
10409          REGRESSION: orbitz calendar fails (JavaScript function serialization/parsing)
10410
10411        Test: fast/js/function-names.html
10412
10413        * dom/Document.h: Add function name parameter to createHTMLEventListener.
10414        * dom/Document.cpp:
10415        (WebCore::Document::createHTMLEventListener): Pass function name when calling
10416        createHTMLEventHandler.
10417        (WebCore::Document::setHTMLWindowEventListener): Pass attribute name as function name
10418        when calling createHTMLEventListener.
10419
10420        * html/HTMLElement.cpp: (WebCore::HTMLElement::setHTMLEventListener): Pass attribute
10421        name as function name when calling createHTMLEventListener.
10422
10423        * khtml/ecma/kjs_events.h: Add a function name parameter to JSLazyEventListener.
10424        * khtml/ecma/kjs_events.cpp:
10425        (KJS::JSLazyEventListener::JSLazyEventListener): Take and store a function name.
10426        (KJS::JSLazyEventListener::parseCode): Pass function name when constructing the function.
10427
10428        * khtml/ecma/kjs_proxy.h: Add a function name parameter to createHTMLEventHandler and
10429        createSVGEventHandler.
10430        * khtml/ecma/kjs_proxy.cpp:
10431        (WebCore::KJSProxy::createHTMLEventHandler): Pass function name when creating
10432        a JSLazyEventListener.
10433        (WebCore::KJSProxy::createSVGEventHandler): Ditto.
10434
10435        * ksvg2/events/JSSVGLazyEventListener.h: Add a function name parameter to
10436        JSSVGLazyEventListener.
10437        * ksvg2/events/JSSVGLazyEventListener.cpp:
10438        (WebCore::JSSVGLazyEventListener::JSSVGLazyEventListener): Pass the function name
10439        on to the base class constructor.
10440
10441        * ksvg2/misc/SVGDocumentExtensions.h: Add function name parameter to createSVGEventListener.
10442        * ksvg2/misc/SVGDocumentExtensions.cpp:
10443        (WebCore::SVGDocumentExtensions::createSVGEventListener): Pass function name when
10444        calling createSVGEventHandler.
10445
10446        * ksvg2/svg/SVGElement.cpp: (WebCore::SVGElement::addSVGEventListener):
10447        * ksvg2/svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::addSVGWindowEventListner):
10448        Pass attribute name as function name when calling createSVGEventListener.
10449
10450        * WebCore.xcodeproj/project.pbxproj: Moved generation script to the top.
10451
104522006-03-23  Tim Omernick  <timo@apple.com>
10453
10454        Reviewed by Darin.
10455
10456        <http://bugs.webkit.org/show_bug.cgi?id=7691>
10457        REGRESSION: imdb.com search button looks wrong because "Submit" is drawn
10458
10459        * html/HTMLInputElement.cpp:
10460        (WebCore::HTMLInputElement::valueWithDefault):
10461        Only use the default button title if no title was specified; previously we'd use the default
10462        button title if the specified title was empty, which is not what Firefox does.
10463
104642006-03-23  Darin Adler  <darin@apple.com>
10465
10466        Reviewed by Beth.
10467
10468        - fix <rdar://problem/4335038> REGRESSION: when max-height is none, height value is ignored
10469
10470        * css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::applyProperty):
10471        For max-height of none, set it to Length(undefinedLength, Fixed), which
10472        is the correct value (same as the default). Also did some formatting fixes
10473        to the height section.
10474
104752006-03-23  Beth Dakin  <bdakin@apple.com>
10476
10477        Reviewed by Darin
10478
10479        Fix for http://bugs.webkit.org/show_bug.cgi?id=6431
10480        REGRESSION: style change where :hover changes only an :after style
10481        doesn't work
10482
10483        * dom/Node.cpp:
10484        (WebCore::Node::diff): Need to call diff() on the before and after
10485        styles if we have them.
10486
104872006-03-23  Adele Peterson  <adele@apple.com>
10488
10489        Reviewed by Hyatt.
10490
10491        - Fix for http://bugs.webkit.org/show_bug.cgi?id=7935
10492        <rdar://problem/4489010>
10493        Infinite recursion in table code when button or new text fields get display:table-row
10494
10495        Test:
10496        fast/forms/button-table-styles.html
10497
10498        * rendering/RenderTheme.cpp: (WebCore::RenderTheme::adjustStyle):
10499        The theme should disallow table display styles form elements.
10500
105012006-03-23  Darin Adler  <darin@apple.com>
10502
10503        * generate-derived-sources: Tweaked formatting a tiny bit and removed a stray
10504        touch that was left in here.
10505
105062006-03-23  Eric Seidel  <eseidel@apple.com>
10507
10508        Reviewed by mjs.
10509
10510        REGRESSION: Dashed borders paint with the wrong phase
10511        http://bugs.webkit.org/show_bug.cgi?id=7879
10512
10513        Test: Already covered by css1/box_properties/border_style.html
10514
10515        * platform/cairo/GraphicsContextCairo.cpp:
10516        (WebCore::GraphicsContext::drawLine):
10517        * platform/mac/GraphicsContextMac.mm:
10518        (WebCore::GraphicsContext::drawLine):
10519
105202006-03-22  Maciej Stachowiak  <mjs@apple.com>
10521
10522        Reviewed by Eric.
10523
10524        * generate-derived-sources: Suppress warning.
10525
105262006-03-22  Maciej Stachowiak  <mjs@apple.com>
10527
10528        * generate-derived-sources: Added svn:executable property.
10529
105302006-03-22  Maciej Stachowiak  <mjs@apple.com>
10531
10532        Reviewed by Eric.
10533
10534        Handle dependencies for derived sources properly.
10535
10536        - Made a new generate-derived-sources script that does all the dependency checking
10537        and source generation.
10538        - Put this script in a subtarget instead of a phase.
10539        - Made derived sources go in the build root, not a source root.
10540        - Added derived sources to the project.
10541        - Removed files whose sole purpose was to include and compile derived sources,
10542        just compile those directly now.
10543        - Tweaked the IDL code generator so it can handle one IDL at a time, to make
10544        it easier to get the dependencies right.
10545
10546        * generate-derived-sources: Added.
10547        * WebCore.xcodeproj/project.pbxproj:
10548        * bindings/js/JSDOMCore.cpp: Removed.
10549        * bindings/js/JSDOMEvents.cpp: Removed.
10550        * bindings/js/JSDOMHTML.cpp: Removed.
10551        * bindings/scripts/CodeGenerator.pm:
10552        * bindings/scripts/CodeGeneratorJS.pm:
10553        * bindings/scripts/generate-bindings.pl:
10554        * css/UserAgentStyleSheets.cpp: Removed.
10555        * dom/Range.cpp:
10556        (WebCore::Range::~Range):
10557        * dom/Range.h:
10558        * khtml/ecma/kjs_css.cpp:
10559        (KJS::DOMStyleSheet::DOMStyleSheet):
10560        (KJS::DOMStyleSheetList::DOMStyleSheetList):
10561        (KJS::DOMCSSRuleList::DOMCSSRuleList):
10562        (KJS::DOMCSSRule::DOMCSSRule):
10563        * khtml/ecma/kjs_css.h:
10564
105652006-03-22  Justin Garcia  <justin.garcia@apple.com>
10566
10567        Reviewed by harrison
10568
10569        <http://bugs.webkit.org/show_bug.cgi?id=7904>
10570        Avoid a layout after test insertion and remove isProbablyBlock
10571
10572        * editing/ReplaceSelectionCommand.cpp:
10573        (WebCore::ReplacementFragment::ReplacementFragment):
10574        (WebCore::ReplacementFragment::~ReplacementFragment):
10575        (WebCore::ReplacementFragment::firstChild):
10576        (WebCore::ReplacementFragment::lastChild):
10577        (WebCore::ReplacementFragment::mergeStartNode):
10578        (WebCore::ReplacementFragment::enclosingBlock):
10579        (WebCore::ReplacementFragment::insertFragmentForTestRendering):
10580        (WebCore::ReplacementFragment::computeAndStoreNodeStyles):
10581        (WebCore::ReplacementFragment::removeUnrenderedNodes):
10582        (WebCore::ReplacementFragment::renderedBlocks):
10583        (WebCore::ReplacementFragment::removeStyleNodes):
10584        (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand):
10585        (WebCore::ReplaceSelectionCommand::doApply):
10586        * editing/ReplaceSelectionCommand.h:
10587        (WebCore::ReplacementFragment::root):
10588
105892006-03-22  Eric Seidel  <eseidel@apple.com>
10590
10591        Reviewed by hyatt.
10592
10593        Fix attribute mutation events to not fire for "style" attributes.
10594        We lazily update style attributes, so sending mutation events for them makes no sense anymore.
10595        <rdar://problem/4474910> repro assertion failure @ apple.com/store: !eventDispatchForbidden()
10596
10597        Test: fast/events/delayed-style-mutation-event-crash.html
10598
10599        * dom/dom_elementimpl.cpp:
10600        (WebCore::Element::dispatchAttrRemovalEvent): add assert
10601        (WebCore::Element::dispatchAttrAdditionEvent): add assert
10602        (WebCore::NamedAttrMap::addAttribute):
10603
106042006-03-22  Eric Seidel  <eseidel@apple.com>
10605
10606        Reviewed by darin.
10607
10608        Remove more DeprecatedString usage.
10609        http://bugs.webkit.org/show_bug.cgi?id=7882
10610
10611        * bridge/mac/FrameMac.mm:
10612        (WebCore::FrameMac::attributedString):
10613        (WebCore::FrameMac::fontForSelection):
10614        (WebCore::FrameMac::tokenizerProcessedData):
10615        (WebCore::FrameMac::registerCommandForUndoOrRedo):
10616        (WebCore::FrameMac::markMisspellings):
10617        (WebCore::FrameMac::respondToChangedSelection):
10618        (WebCore::FrameMac::dashboardRegionsDictionary):
10619        (WebCore::FrameMac::dragSourceMovedTo):
10620        * css/CSSGrammar.y:
10621        * css/css_valueimpl.h:
10622        * css/cssparser.cpp:
10623        (WebCore::CSSParser::CSSParser):
10624        (WebCore::CSSParser::parseValue):
10625        (WebCore::CSSParser::parseColor):
10626        (WebCore::CSSParser::parseDeclaration):
10627        (WebCore::CSSParser::validUnit):
10628        (WebCore::CSSParser::parseShorthand):
10629        (WebCore::CSSParser::parseContent):
10630        (WebCore::skipCommaInDashboardRegion):
10631        (WebCore::CSSParser::parseDashboardRegions):
10632        (WebCore::CSSParser::parseShape):
10633        (WebCore::CSSParser::parseFont):
10634        (WebCore::CSSParser::parseFontFamily):
10635        (WebCore::CSSParser::parseColorFromValue):
10636        (WebCore::yyerror):
10637        (WebCore::CSSParser::lex):
10638        (WebCore::CSSParser::text):
10639        * css/cssparser.h:
10640        (WebCore::deprecatedString):
10641        * css/cssstyleselector.cpp:
10642        (WebCore::CSSStyleSelector::applyProperty):
10643        * khtml/ecma/kjs_dom.cpp:
10644        (KJS::DOMDocument::getValueProperty):
10645        * ksvg2/css/SVGCSSParser.cpp:
10646        (WebCore::CSSParser::parseSVGPaint):
10647        (WebCore::CSSParser::parseSVGColor):
10648        * ksvg2/svg/SVGAnimationElement.cpp:
10649        (SVGAnimationElement::parseMappedAttribute):
10650        * rendering/RenderBlock.cpp:
10651        (WebCore::RenderBlock::layoutPositionedObjects):
10652        (WebCore::RenderBlock::positionNewFloats):
10653        (WebCore::RenderBlock::newLine):
10654        * rendering/RenderCanvas.cpp:
10655        (WebCore::RenderCanvas::absolutePosition):
10656        (WebCore::RenderCanvas::paint):
10657        * rendering/RenderFlexibleBox.cpp:
10658        (WebCore::RenderFlexibleBox::layoutBlock):
10659        * rendering/RenderObject.h:
10660        * rendering/bidi.cpp:
10661        (WebCore::RenderBlock::bidiReorderLine):
10662        (WebCore::RenderBlock::layoutInlineChildren):
10663        * rendering/render_form.cpp:
10664        (WebCore::RenderFieldset::paintBoxDecorations):
10665        * rendering/render_style.h:
10666        (WebCore::RenderStyle::setDashboardRegion):
10667        * rendering/table_layout.cpp:
10668        (WebCore::AutoTableLayout::calcEffectiveWidth):
10669        (WebCore::AutoTableLayout::insertSpanCell):
10670        (WebCore::AutoTableLayout::layout):
10671        (WebCore::AutoTableLayout::calcPercentages):
10672
106732006-03-22  Tim Omernick  <timo@apple.com>
10674
10675        Reviewed by Kevin Decker.
10676
10677        Part of <rdar://problem/4351664> REGRESSION (420+): extra URL in b/f list - navigating back to previous page fails at apple.com/retail/)
10678        This also fixes <rdar://problem/4477821> REGRESSION (10.4.5-TOT): meta tag specifying refresh is being added to history.
10679
10680        * bridge/mac/FrameMac.h:
10681        * bridge/mac/FrameMac.mm:
10682        Removed redirectionTimerFired().  This was added as attempt to fix <http://bugs.webkit.org/show_bug.cgi?id=7058>.  The
10683        aim was to cause Safari and WebKit to update their loading status after a redirect.  Unfortunately, the fix had a bad side
10684        effect.  Calling -reportClientRedirectCancelled: on a successful redirect causes WebKit to forget that the redirect was supposed
10685        to lock history (i.e. reuse the current back/forward entry for the new page).  The end result was that intermediate "quick" redirects
10686        were creating back/forward entries when they should not have been.  See 4351664.  That fix was almost correct, in that we do need to
10687        notify the frame load delegate when a redirect ends, either because it succeeded or because it was cancelled.  However, this is the
10688        wrong place to do it.  WebCore's redirect notification logic did not need to change to fix 7058.  The never-ending spinning indicators
10689        problem was actually caused by a bug at the WebKit level.
10690
10691        * manual-tests/redirectHistory: Added.
10692        * manual-tests/redirectHistory/redir-1.html: Added.
10693        * manual-tests/redirectHistory/redir-2.html: Added.
10694        * manual-tests/redirectHistory/redir-3.html: Added.
10695        Manual test case.  I couldn't figure out how to create a layout test for this, because it involves navigation through history and
10696        it was unclear how/when to tell DumpRenderTree to dump its output.
10697
106982006-03-22  Eric Seidel  <eseidel@apple.com>
10699
10700        Reviewed by darin.
10701
10702        Replace more DeprecatedString with String.
10703        http://bugs.webkit.org/show_bug.cgi?id=7907
10704
10705        * WebCore+SVG/kdom.h:
10706        * bindings/objc/DOMHTML.mm:
10707        (-[DOMHTMLDocument _createDocumentFragmentWithMarkupString:baseURLString:]):
10708        * bridge/BrowserExtension.h:
10709        * bridge/mac/BrowserExtensionMac.h:
10710        * bridge/mac/BrowserExtensionMac.mm:
10711        (WebCore::BrowserExtensionMac::setTypedIconURL):
10712        * bridge/mac/FrameMac.h:
10713        * bridge/mac/FrameMac.mm:
10714        (WebCore::FrameMac::searchForLabelsBeforeElement):
10715        (WebCore::nsArray):
10716        (WebCore::FrameMac::createPlugin):
10717        (WebCore::FrameMac::bindingRootObject):
10718        (WebCore::FrameMac::windowScriptObject):
10719        (WebCore::FrameMac::windowScriptNPObject):
10720        (WebCore::FrameMac::partClearedInBegin):
10721        (WebCore::FrameMac::openURLFromPageCache):
10722        * bridge/mac/WebCoreFrameBridge.mm:
10723        (-[WebCoreFrameBridge openURL:reload:contentType:refresh:lastModified:pageCache:]):
10724        (-[WebCoreFrameBridge scrollToAnchor:]):
10725        (-[WebCoreFrameBridge URLWithAttributeString:]):
10726        (-[WebCoreFrameBridge highlightAllMatchesForString:caseSensitive:]):
10727        * bridge/mac/WebCoreScriptDebugger.mm:
10728        (-[WebCoreScriptCallFrame evaluateWebScript:]):
10729        * bridge/mac/WebCoreSettings.mm:
10730        (-[WebCoreSettings _updateAllViews]):
10731        (-[WebCoreSettings setStandardFontFamily:]):
10732        (-[WebCoreSettings setMinimumFontSize:]):
10733        (-[WebCoreSettings setMinimumLogicalFontSize:]):
10734        (-[WebCoreSettings setDefaultFontSize:]):
10735        (-[WebCoreSettings setDefaultFixedFontSize:]):
10736        (-[WebCoreSettings setUserStyleSheetLocation:]):
10737        * css/CSSComputedStyleDeclaration.cpp:
10738        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
10739        * css/CSSGrammar.y:
10740        * css/css_stylesheetimpl.cpp:
10741        (WebCore::MediaList::setMediaText):
10742        * css/css_valueimpl.cpp:
10743        (WebCore::quoteStringIfNeeded):
10744        * css/cssparser.cpp:
10745        (WebCore::CSSParser::parseColor):
10746        * css/cssstyleselector.cpp:
10747        (WebCore::CSSStyleSelector::CSSStyleSelector):
10748        * css/cssstyleselector.h:
10749        * dom/Document.cpp:
10750        (WebCore::Document::resetActiveLinkColor):
10751        (WebCore::Document::nextState):
10752        (WebCore::Document::setUserStyleSheet):
10753        (WebCore::Document::processHttpEquiv):
10754        (WebCore::Document::recalcStyleSelector):
10755        * dom/Document.h:
10756        (WebCore::Document::userStyleSheet):
10757        (WebCore::Document::setPrintStyleSheet):
10758        (WebCore::Document::printStyleSheet):
10759        * editing/markup.cpp:
10760        (WebCore::createMarkup):
10761        (WebCore::createFragmentFromMarkup):
10762        (WebCore::createFragmentFromText):
10763        * editing/markup.h:
10764        * html/CanvasRenderingContext2D.cpp:
10765        (WebCore::CanvasRenderingContext2D::setGlobalCompositeOperation):
10766        * html/HTMLTokenizer.cpp:
10767        (WebCore::HTMLTokenizer::scriptHandler):
10768        * html/html_baseimpl.cpp:
10769        (WebCore::HTMLFrameElement::openURL):
10770        (WebCore::HTMLFrameElement::attach):
10771        * html/html_headimpl.cpp:
10772        (WebCore::HTMLLinkElement::process):
10773        (WebCore::HTMLLinkElement::setStyleSheet):
10774        * html/html_headimpl.h:
10775        * html/html_imageimpl.cpp:
10776        (WebCore::HTMLImageElement::parseMappedAttribute):
10777        * html/html_imageimpl.h:
10778        (WebCore::HTMLImageElement::compositeOperator):
10779        * html/html_objectimpl.cpp:
10780        (WebCore::HTMLAppletElement::createRenderer):
10781        * ksvg2/svg/SVGStringList.cpp:
10782        (SVGStringList::reset):
10783        * kwq/AccessibilityObjectCache.h:
10784        * kwq/AccessibilityObjectCache.mm:
10785        (AccessibilityObjectCache::textMarkerForVisiblePosition):
10786        (AccessibilityObjectCache::postNotificationToTopWebArea):
10787        (AccessibilityObjectCache::postNotification):
10788        * kwq/ClipboardMac.mm:
10789        (WebCore::cocoaTypeFromMIMEType):
10790        * kwq/KWQKHTMLSettings.h:
10791        (KHTMLSettings::userStyleSheetLocation):
10792        (KHTMLSettings::setUserStyleSheetLocation):
10793        * kwq/KWQLineEdit.h:
10794        * kwq/KWQLineEdit.mm:
10795        (QLineEdit::selectedText):
10796        * loader/CachedCSSStyleSheet.cpp:
10797        (WebCore::CachedCSSStyleSheet::ref):
10798        * page/Frame.cpp:
10799        (WebCore::UserStyleSheetLoader::setStyleSheet):
10800        (WebCore::Frame::jScriptEnabled):
10801        (WebCore::Frame::javaEnabled):
10802        (WebCore::Frame::pluginsEnabled):
10803        (WebCore::Frame::receivedFirstData):
10804        (WebCore::Frame::begin):
10805        (WebCore::Frame::setUserStyleSheet):
10806        (WebCore::Frame::requestObject):
10807        (WebCore::Frame::loadPlugin):
10808        (WebCore::Frame::referrer):
10809        (WebCore::Frame::lastModified):
10810        (WebCore::Frame::reparseConfiguration):
10811        (WebCore::Frame::handleMousePressEventSingleClick):
10812        (WebCore::Frame::appliedEditing):
10813        (WebCore::Frame::unappliedEditing):
10814        (WebCore::Frame::reappliedEditing):
10815        * page/Frame.h:
10816        * page/FramePrivate.h:
10817        (WebCore::FramePrivate::FramePrivate):
10818        * platform/AtomicString.h:
10819        (WebCore::AtomicString::AtomicString):
10820        * platform/DeprecatedString.cpp:
10821        (DeprecatedString::replace):
10822        * platform/GraphicsContext.h:
10823        * platform/Image.h:
10824        * platform/KURL.cpp:
10825        * platform/KURL.h:
10826        * platform/PlatformString.h:
10827        (WebCore::String::String):
10828        (WebCore::String::replace):
10829        * platform/String.cpp:
10830        (WebCore::operator+):
10831        * platform/StringImpl.cpp:
10832        (WebCore::StringImpl::remove):
10833        (WebCore::parseLength):
10834        (WebCore::StringImpl::replace):
10835        * platform/StringImpl.h:
10836        * platform/mac/GraphicsContextMac.mm:
10837        (WebCore::GraphicsContext::setCompositeOperation):
10838        * rendering/RenderHTMLCanvas.cpp:
10839        (WebCore::RenderHTMLCanvas::paint):
10840        * rendering/render_form.cpp:
10841        (WebCore::RenderSelect::updateFromElement):
10842        * rendering/render_frames.cpp:
10843        (WebCore::isURLAllowed):
10844        (WebCore::mapClassIdToServiceType):
10845        (WebCore::RenderPartObject::updateWidget):
10846        * rendering/render_style.h:
10847        (WebCore::RenderStyle::setDashboardRegion):
10848        * xml/xmlhttprequest.cpp:
10849        (WebCore::getCharset):
10850        (WebCore::XMLHttpRequest::send):
10851        (WebCore::XMLHttpRequest::overrideMIMEType):
10852
108532006-03-22  Beth Dakin  <bdakin@apple.com>
10854
10855        Reviewed by Hyatt
10856
10857        Fix for <rdar://problem/4471984> repro crash CSS position for html/
10858        table=relative causes crash when hiding table
10859
10860        * css/cssstyleselector.cpp:
10861        (WebCore::CSSStyleSelector::adjustRenderStyle): If an object is
10862        positioned, relatively positioned, or transparent, it should always
10863        have auto indexing. Auto z-index for the root should always be 0.
10864        * rendering/RenderLayer.cpp:
10865        (WebCore::RenderLayer::removeChild): This is not part of the bug
10866        fix; just using a local variable that was created for the stacking
10867        context instead of recalculating it.
10868
108692006-03-22  David Hyatt  <hyatt@apple.com>
10870
10871        Fix for residual style problem where form elements lose their connection
10872        to a degenerate table form because of a residual style fixup.  This is
10873        Radar bug #4330765.
10874
10875        Reviewed by eric
10876
10877        * khtml/html/HTMLFormElement.cpp:
10878        (WebCore::HTMLFormElement::HTMLFormElement):
10879        * khtml/html/HTMLFormElement.h:
10880        (WebCore::HTMLFormElement::setPreserveFormConnectionAcrossRemove):
10881        (WebCore::HTMLFormElement::preserveFormConnectionAcrossRemove):
10882        * khtml/html/HTMLGenericFormElement.cpp:
10883        (WebCore::HTMLGenericFormElement::removedFromTree):
10884        * khtml/html/htmlparser.cpp:
10885        (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
10886
108872006-03-22  Mitz Pettel  <opendarwin.org@mitzpettel.com>
10888
10889        Reviewed by Adele.
10890
10891        - fix http://bugs.webkit.org/show_bug.cgi?id=7747
10892          REGRESSION: Background tab/window auto-refresh in GMail will take focus.
10893
10894        * manual-tests/named-window-blank-target.html: Added.
10895        * manual-tests/resources/named-window-blank-target-step2.html: Added.
10896        * manual-tests/resources/named-window-blank-target-step3.html: Added.
10897        * manual-tests/resources/named-window-blank-target-step4.html: Added.
10898        * page/FrameTree.cpp:
10899        (WebCore::FrameTree::find): If the given name is empty, just return our frame,
10900        even if it has a name.
10901
109022006-03-22  Darin Adler  <darin@apple.com>
10903
10904        Reviewed by Adele.
10905
10906        - fix http://bugs.webkit.org/show_bug.cgi?id=7143
10907          <rdar://problem/4483856> REGRESSION (417.8-TOT): onclick handler cannot call a function named OnClick (7143)
10908
10909        Test: fast/dom/Element/onclick-case.html
10910
10911        We discussed this with Maciej. In the long run we may need to remove the "all attributes
10912        show up as properties in JavaScript" feature entirely. Gecko does not do it, and it's
10913        not really the same thing IE does either.
10914
10915        * khtml/ecma/kjs_dom.cpp:
10916        (KJS::DOMElement::attributeGetter): Use getAttributeNS so we're case sensitive.
10917        (KJS::DOMElement::getOwnPropertySlot): Ditto.
10918
109192006-03-22  Eric Seidel  <eseidel@apple.com>
10920
10921        Reviewed by beth.
10922
10923        <rdar://problem/4486417> REGRESSION: Mail linked against TOT WebKit crashes when composing a message
10924
10925        No test possible.
10926
10927        * bridge/mac/WebCoreSettings.mm:
10928        (-[WebCoreSettings init]): call AtomicString::init()
10929
109302006-03-21  Darin Adler  <darin@apple.com>
10931
10932        - fix buildbot (and everyone else)
10933
10934        * bindings/js/JSDOMCore.cpp: Touch, because Adele's change adds a virtual function,
10935        and Xcode doesn't know this needs recompiling.
10936        * bindings/js/JSDOMEvents.cpp: Ditto.
10937        * bindings/js/JSDOMHTML.cpp: Ditto.
10938
109392006-03-21  Justin Haygood and Bjoern Graf  <jhaygood@spsu.edu> <bjoern.graf@gmail.com>
10940
10941        Reviewed by Eric and Darin.
10942
10943        - get Windows building again
10944
10945        * WebCore.vcproj/WebCore/WebCore.vcproj:
10946        * bridge/win/FrameWin.cpp:
10947        (WebCore::FrameWin::userAgent):
10948        * bridge/win/FrameWin.h:
10949        * platform/GraphicsContext.h:
10950        * platform/cairo/ImageCairo.cpp:
10951        (WebCore::Image::supportsType):
10952        * platform/win/TemporaryLinkStubs.cpp:
10953        (FrameWin::mimeTypeForFileName):
10954        (FrameWin::objectContentType):
10955        (FrameWin::createPlugin):
10956        (FrameWin::overrideMediaType):
10957        (FrameWin::passSubframeEventToSubframe):
10958        (FrameWin::createFrame):
10959        (FrameWin::incomingReferrer):
10960
109612006-03-21  Mitz Pettel  <opendarwin.org@mitzpettel.com>
10962
10963        Reviewed by Darin.
10964
10965        - fix http://bugs.webkit.org/show_bug.cgi?id=7884
10966          REGRESSION: Selecting a custom style sheet crashes 20/3 nightly
10967
10968        * page/Frame.cpp:
10969        (WebCore::UserStyleSheetLoader::setStyleSheet): This was calling the function
10970        that sets the stylesheet URL, passing it the actual stylesheet.
10971        (WebCore::Frame::begin):
10972        (WebCore::Frame::setUserStyleSheetLocation): Renamed the version of
10973        setUserStyleSheet() that takes a URL to this.
10974        (WebCore::Frame::reparseConfiguration):
10975        * page/Frame.h:
10976
109772006-03-21  Adele Peterson  <adele@apple.com>
10978
10979        Reviewed by Darin.
10980
10981        - Fix for
10982        http://bugs.webkit.org/show_bug.cgi?id=6813
10983        elementAtPoint needs to return input element when clicking on new text field
10984        http://bugs.webkit.org/show_bug.cgi?id=7799
10985        New text fields don't respect the disabled attribute
10986
10987        - Tests:
10988        fast/forms/input-appearance-disabled.html
10989        fast/forms/input-appearance-elementFromPoint.html
10990        fast/forms/input-appearance-preventDefault.html
10991
10992        * bridge/mac/WebCoreFrameBridge.h: Added allowShadowContent parameter to getInnerNonSharedNode so new elementAtPoint method in WebKit can call this.
10993        * bridge/mac/WebCoreFrameBridge.mm:
10994        (-[WebCoreFrameBridge getInnerNonSharedNode:innerNode:URLElement:atPoint:allowShadowContent:]): Passes allowShadowContent parameter to nodeInfoAtPoint.
10995        (-[WebCoreFrameBridge _visiblePositionForPoint:]): Updated to call nodeInfoAtPoint allowing shadow content.
10996        (-[WebCoreFrameBridge RenderObject::nodeInfoAtPoint:allowShadowContent:]): Added allowShadowContent parameter.
10997
10998        * dom/Node.h:
10999        (WebCore::Node::isShadowNode): Added.
11000        (WebCore::Node::shadowParentNode): Added.
11001        * dom/Node.cpp: (WebCore::Node::shadowAncestorNode): Added.  If an ancestor is a shadow node, return its shadow parent node.
11002        * html/HTMLTextFieldInnerElement.h: (WebCore::HTMLTextFieldInnerElement::isShadowNode): Added.
11003
11004        * dom/Document.cpp: (WebCore::Document::elementFromPoint): Gets the shadowAncestorNode (so we get the input element, and not the inner div).
11005        * html/HTMLInputElement.cpp:
11006        (WebCore::HTMLInputElement::isKeyboardFocusable): If text fields are focusable, then they should be keyboard focusable.  This works for the
11007        old text fields because HTMLGenericFormElement::isKeyboardFocusable does the right thing for RenderWidgets.  That's not needed for the new form
11008        elements.
11009        (WebCore::HTMLInputElement::defaultEventHandler): let the renderer forward drag, mouse, and wheel events.
11010
11011        * page/FrameView.cpp:
11012        (WebCore::FrameView::updateDragAndDrop): Send drag events to the shadowAncestorNode.
11013        (WebCore::FrameView::dispatchMouseEvent): Send mouse events to the shadowAncestorNode.
11014        (WebCore::FrameView::handleWheelEvent): Send wheel events to the shadowAncestorNode.
11015
11016        * rendering/RenderTextField.cpp: (WebCore::RenderTextField::forwardEvent): forwards events to the inner div element.
11017        * rendering/RenderTextField.h: Added forwardEvent method.
11018
11019        * kwq/WebCoreAXObject.mm:
11020        (-[WebCoreAXObject accessibilityHitTest:]): Gets the  shadowAncestorNode (so we get the input element, and not the inner div).
11021        (-[WebCoreAXObject role]): Gets the right role for text fields, since we no longer get that from AppKit.
11022        (-[WebCoreAXObject roleDescription]): Gets the right description for text fields.
11023
110242006-03-21  Darin Adler  <darin@apple.com>
11025
11026        Reviewed by Tim O.
11027
11028        - fixed <rdar://problem/4251515> REGRESSION: listing tag broken in TOT
11029
11030        Test: fast/html/listing.html
11031
11032        * html/HTMLNames.h: Add listing tag.
11033
11034        * bindings/objc/DOM.mm: (+[DOMNode _nodeWith:]):
11035        * bridge/mac/FrameMac.mm: (WebCore::FrameMac::attributedString):
11036        * css/html4.css:
11037        * editing/ReplaceSelectionCommand.cpp: (WebCore::isProbablyBlock):
11038        * editing/TextIterator.cpp:
11039        (WebCore::TextIterator::handleNonTextNode):
11040        (WebCore::TextIterator::exitNode):
11041        (WebCore::SimplifiedBackwardsTextIterator::handleNonTextNode):
11042        * editing/markup.cpp:
11043        (WebCore::startMarkup):
11044        (WebCore::createMarkup):
11045        * html/HTMLElement.cpp: (WebCore::blockTagList):
11046        * html/HTMLElementFactory.cpp:
11047        (WebCore::addTag):
11048        (WebCore::createFunctionMap):
11049        (WebCore::HTMLElementFactory::createHTMLElement):
11050        * html/HTMLParser.cpp: (WebCore::HTMLParser::isAffectedByResidualStyle):
11051        * html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::parseTag):
11052        * khtml/ecma/kjs_html.cpp:
11053        (KJS::JSHTMLElement::classInfo):
11054        (KJS::JSHTMLElement::accessors):
11055        Add listing tags everywhere pre tags are listed.
11056
110572006-03-21  Maciej Stachowiak  <mjs@apple.com>
11058
11059        Reviewed by Darin.
11060
11061        - fix horrible build fallout from my attr fix
11062
11063        * bindings/js/JSCanvasRenderingContext2DBase.cpp:
11064        * bindings/js/JSDOMCore.cpp:
11065        * bindings/js/JSDOMEvents.cpp:
11066        * bindings/js/JSDOMHTML.cpp:
11067        * bindings/scripts/CodeGeneratorJS.pm:
11068
110692006-03-21  Beth Dakin  <bdakin@apple.com>
11070
11071        Reviewed by Maciej
11072
11073        Fix for http://bugs.webkit.org/show_bug.cgi?id=7223
11074        Reproducible crash when tabbing to a frame that has not been loaded
11075
11076        * bridge/mac/FrameMac.mm:
11077        (WebCore::FrameMac::nextKeyViewInFrame): When a renderer doesn't
11078        have a widget, skip it in the focus loop.
11079
110802006-03-20  Eric Seidel  <eseidel@apple.com>
11081
11082        Reviewed by mjs.
11083
11084        Fix a unsafe static cast causing intermittent crashes.
11085        <rdar://problem/4411663> crash at KXMLCore::RefPtr<WebCore::DOMStringImpl>::get() const + 20 (RefPtr.h:45)
11086
11087        Test: fast/dom/NodeList/item-by-id-with-no-document.html
11088
11089        * dom/NodeList.cpp:
11090        (WebCore::NodeList::itemById): fix unsafe static cast.
11091
110922006-03-20  Maciej Stachowiak  <mjs@apple.com>
11093
11094        - touch this file in hopes of fixing build
11095
11096        * bindings/js/JSDOMCore.cpp:
11097
110982006-03-20  Maciej Stachowiak  <mjs@apple.com>
11099
11100        Reviewed by Anders.
11101
11102        - fixed <rdar://problem/4446749> 10.4.4: safari crash in DOM::NamedAttrMapImpl::setNamedItem
11103
11104        * bindings/scripts/CodeGeneratorJS.pm: Add a framework for typechecking method
11105        arguments. For now only use it for parameters of type Attr.
11106        * dom/Element.idl: Arbitrary change to make it regenerate.
11107        * dom/dom_elementimpl.cpp:
11108        (WebCore::Element::setAttributeNode): ASSERT that attr is not null
11109        * khtml/ecma/kjs_dom.cpp:
11110        (KJS::toAttr): add bool ok parameter
11111        * khtml/ecma/kjs_dom.h:
11112
111132006-03-20  Eric Seidel  <eseidel@apple.com>
11114
11115        * ksvg2/css/SVGCSSParser.h: Removed unused file.
11116
111172006-03-20  Eric Seidel  <eseidel@apple.com>
11118
11119        Reviewed by mjs.
11120
11121        Fix tokenizer crash when document.open() is called from an external script:
11122        <rdar://problem/4483882> REGRESSION (417.8-TOT): crash at yourmovies.com.au in WebCore::HTMLTokenizer::reset() + 92 (7818)
11123
11124        * dom/Document.cpp:
11125        (WebCore::Document::open): Check to make sure the current tokenizer isn't executing a script
11126        * dom/xml_tokenizer.h:
11127        (WebCore::Tokenizer::executingScript): Add a way for others to know if scripts are executing.
11128        * html/HTMLTokenizer.cpp:
11129        (WebCore::HTMLTokenizer::scriptExecution): Wire into existing m_executingScript member var.
11130        * html/HTMLTokenizer.h:
11131        (WebCore::HTMLTokenizer::executingScript):
11132        * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
11133        (WebCore::KCanvasFilterQuartz::prepareFilter): Unrelated code cleanup.
11134
111352006-03-20  Justin Garcia  <justin.garcia@apple.com>
11136
11137        Reviewed by darin
11138
11139        <rdar://problem/3997958>
11140        REGRESSION (Mail): Mail takes half of forever to paste >1500 lines - replaceSelectionWithNode
11141
11142        * dom/Position.cpp:
11143        (WebCore::Position::upstream): Avoid calling previous() when we know that
11144        it will 1) end the search and 2) be expensive to compute.
11145        (WebCore::Position::downstream): Removed some dead code.
11146        (WebCore::Position::inRenderedText): Return false for offsets inside composed characters.
11147        * dom/Position.h:
11148        * editing/VisiblePosition.cpp:
11149        (WebCore::VisiblePosition::init): If there are two visually equivalent candidates, we choose
11150        the one that occurs first in document order.  Using upstream() to find the one that occurs first is
11151        much faster than the old code.
11152
111532006-03-20  Eric Seidel  <eseidel@apple.com>
11154
11155        Reviewed by adele & ggaren.
11156
11157        Added new cachePluginDataIfNecessary function to update
11158        plugins and mimes arrays.  Made sure to call this in
11159        constructor as well as refresh.  The crash was caused by
11160        a refresh rendering a "plugins" object invalid.
11161        Changed existing test case to depend on this new correct behavior.
11162
11163        <rdar://problem/4480571> Safari crashed at exit at KXMLCore::deleteAllValues + 24
11164
11165        * khtml/ecma/kjs_navigator.cpp:
11166        (KJS::PluginBase::cachePluginDataIfNecessary):
11167        (KJS::PluginBase::PluginBase):
11168        (KJS::PluginBase::~PluginBase):
11169        (KJS::PluginBase::refresh):
11170
111712006-03-20  Adele Peterson  <adele@apple.com>
11172
11173        Reviewed by Justin.
11174
11175        * rendering/RenderTextField.cpp: (WebCore::RenderTextField::visiblePositionForIndex):
11176        When calculating the VisiblePosition for the first position in the text field, it
11177        makes more sense for the position to have a downstream affinity.
11178
111792006-03-20  Maciej Stachowiak  <mjs@apple.com>
11180
11181        Reviewed by Adele.
11182
11183        <rdar://problem/4362396> REGRESSION: (417-420) stopPropagation is not working for click event listener (onclick works fine)
11184
11185        * dom/EventTargetNode.cpp:
11186        (WebCore::EventTargetNode::dispatchGenericEvent): make sure to fire capturing listeners
11187        as well as bubbling ones on the target.
11188
111892006-03-20  Maciej Stachowiak  <mjs@apple.com>
11190
11191        Reviewed by Darin.
11192
11193        <rdar://problem/4458568> WebCore should not disclose https referrers
11194
11195        * bridge/mac/WebCoreFrameBridge.mm:
11196        (-[WebCoreFrameBridge canLoadURL:fromReferrer:hideReferrer:]):
11197        Don't send https URLs as referrers to non-secure http sites.
11198
111992006-03-20  Darin Adler  <darin@apple.com>
11200
11201        Reviewed by Geoff.
11202
11203        - http://bugs.webkit.org/show_bug.cgi?id=7867
11204          get rid of macro hacks for DOM, KDOM, KSVG, khtml, DOMString, QString
11205
11206        * config.h: Remove the defines for DOM, KDOM, KSVG, khtml, DOMString, QString,
11207        and qstring().
11208
11209        * WebCore.xcodeproj/project.pbxproj: Pass in WebCore instead of KSVG as the
11210        namespace for SVG names.
11211        * ksvg2/scripts/make_names.pl: Made a couple changes to trick the SVG names into
11212        recompiling, since they are in a different namespace now.
11213
11214        * ForwardingHeaders/kjs/identifier.h: Added.
11215
11216        * dom/PlatformWheelEvent.idl: Removed.
11217        * dom/WheelEvent.idl: Added. This file was renamed by accident.
11218
11219        * bindings/js/JSDOMCore.cpp:
11220        * bindings/js/JSDOMEvents.cpp:
11221        * bindings/js/JSDOMHTML.cpp:
11222        * dom/Attr.idl:
11223        * dom/CharacterData.idl:
11224        * dom/DOMImplementation.idl:
11225        * dom/DocumentType.idl:
11226        * dom/Element.idl:
11227        * dom/Entity.idl:
11228        * dom/MutationEvent.idl:
11229        * dom/Notation.idl:
11230        * dom/ProcessingInstruction.idl:
11231        * dom/Text.idl:
11232        * html/CanvasGradient.idl:
11233        * html/CanvasPattern.idl:
11234        * html/CanvasRenderingContext2D.idl:
11235        Touched, to get CodeGeneratorJS.pm changes to take effect.
11236
11237        * css/CSSGrammar.y:
11238        * css/css_valueimpl.cpp: (WebCore::propertyID):
11239        Changed calls to get CSS property values to use an explicit SVG:: namespace,
11240        to match what the script writes out.
11241
11242        * khtml/ecma/kjs_binding.h: Added forward declaration of WebCore::String.
11243
11244        * ksvg2/scripts/cssmakeget rid of macro hacks for DOM, KDOM, KSVG, khtml, DOMString, QString
11245          props: Made this compile with warnings and strict turned on.
11246        Really just a trick to get properties to recompile, which turned out to be unneeded.
11247        * ksvg2/scripts/cssmakevalues: Ditto.
11248
11249        * ksvg2/svg/SVGAElement.cpp:
11250        (SVGAElement::parseMappedAttribute):
11251        (SVGAElement::defaultEventHandler):
11252        * ksvg2/svg/SVGAnimateTransformElement.cpp:
11253        (SVGAnimateTransformElement::parseMappedAttribute):
11254        * ksvg2/svg/SVGAnimationElement.cpp:
11255        (SVGAnimationElement::parseMappedAttribute):
11256        * ksvg2/svg/SVGClipPathElement.cpp:
11257        (SVGClipPathElement::parseMappedAttribute):
11258        * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
11259        (SVGComponentTransferFunctionElement::parseMappedAttribute):
11260        * ksvg2/svg/SVGExternalResourcesRequired.cpp:
11261        (SVGExternalResourcesRequired::parseMappedAttribute):
11262        * ksvg2/svg/SVGFEBlendElement.cpp:
11263        (SVGFEBlendElement::parseMappedAttribute):
11264        * ksvg2/svg/SVGFEColorMatrixElement.cpp:
11265        (SVGFEColorMatrixElement::parseMappedAttribute):
11266        * ksvg2/svg/SVGFEComponentTransferElement.cpp:
11267        (SVGFEComponentTransferElement::parseMappedAttribute):
11268        * ksvg2/svg/SVGFECompositeElement.cpp:
11269        (SVGFECompositeElement::parseMappedAttribute):
11270        * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
11271        (WebCore::SVGFEDiffuseLightingElement::parseMappedAttribute):
11272        * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
11273        (SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
11274        (SVGFEDisplacementMapElement::stringToChannel):
11275        (SVGFEDisplacementMapElement::parseMappedAttribute):
11276        (SVGFEDisplacementMapElement::filterEffect):
11277        * ksvg2/svg/SVGFEDisplacementMapElement.h:
11278        * ksvg2/svg/SVGFEFloodElement.cpp:
11279        (SVGFEFloodElement::parseMappedAttribute):
11280        * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
11281        (SVGFEGaussianBlurElement::parseMappedAttribute):
11282        * ksvg2/svg/SVGFEImageElement.cpp:
11283        (SVGFEImageElement::parseMappedAttribute):
11284        * ksvg2/svg/SVGFELightElement.cpp:
11285        (SVGFELightElement::parseMappedAttribute):
11286        * ksvg2/svg/SVGFEMergeNodeElement.cpp:
11287        (SVGFEMergeNodeElement::parseMappedAttribute):
11288        * ksvg2/svg/SVGFEOffsetElement.cpp:
11289        (SVGFEOffsetElement::parseMappedAttribute):
11290        * ksvg2/svg/SVGFESpecularLightingElement.cpp:
11291        (SVGFESpecularLightingElement::parseMappedAttribute):
11292        * ksvg2/svg/SVGFETileElement.cpp:
11293        (SVGFETileElement::parseMappedAttribute):
11294        * ksvg2/svg/SVGFETurbulenceElement.cpp:
11295        (SVGFETurbulenceElement::parseMappedAttribute):
11296        * ksvg2/svg/SVGFilterElement.cpp:
11297        (SVGFilterElement::parseMappedAttribute):
11298        * ksvg2/svg/SVGGradientElement.cpp:
11299        (SVGGradientElement::parseMappedAttribute):
11300        * ksvg2/svg/SVGMaskElement.cpp:
11301        (WebCore::SVGMaskElement::parseMappedAttribute):
11302        * ksvg2/svg/SVGPolyElement.cpp:
11303        (SVGPolyElement::parseMappedAttribute):
11304        * ksvg2/svg/SVGStopElement.cpp:
11305        (SVGStopElement::parseMappedAttribute):
11306        * ksvg2/svg/SVGStyledElement.cpp:
11307        (WebCore::SVGStyledElement::parseMappedAttribute):
11308        * ksvg2/svg/SVGTests.cpp:
11309        (WebCore::SVGTests::parseMappedAttribute):
11310        * ksvg2/svg/SVGTextContentElement.cpp:
11311        (SVGTextContentElement::parseMappedAttribute):
11312        * ksvg2/svg/SVGTextPositioningElement.cpp:
11313        (SVGTextPositioningElement::parseMappedAttribute):
11314        * ksvg2/svg/SVGViewElement.cpp:
11315        (SVGViewElement::parseMappedAttribute):
11316        * ksvg2/svg/SVGZoomAndPan.cpp:
11317        (SVGZoomAndPan::parseMappedAttribute):
11318        Changed code that converts an AtomicString to a String to do it in a
11319        more-efficient fashion that works even with all the new conversions.
11320
11321        * page/Frame.cpp:
11322        (WebCore::getString): Removed unneeded .deprecatedString().
11323        (WebCore::Frame::begin): Removed the only use of QSTRING_NULL.
11324
11325        * platform/AtomicString.h: Added conversion to and from KJS::Identifier
11326        and KJS::UString.
11327        * platform/AtomicString.cpp:
11328        (WebCore::AtomicString::add): Added overloads for Identifier and UString.
11329        (WebCore::AtomicString::operator Identifier): Added.
11330        (WebCore::AtomicString::operator UString): Added.
11331
11332        * platform/DeprecatedString.h: Added conversion to and from KJS::Identifier
11333        and KJS::UString.
11334        * platform/DeprecatedString.cpp:
11335        (DeprecatedString::DeprecatedString): Added overloads for Identifier and UString.
11336        (DeprecatedString::operator Identifier): Added.
11337        (DeprecatedString::operator UString): Added.
11338
11339        * platform/PlatformString.h: Added conversion to and from KJS::Identifier
11340        and KJS::UString.
11341        * platform/String.cpp:
11342        (WebCore::String::String): Added overloads for Identifier and UString.
11343        (WebCore::String::operator Identifier): Added.
11344        (WebCore::String::operator UString): Added.
11345
11346        * platform/StringImpl.h: Added constructors that take KJS::Identifier
11347        and KJS::UString
11348        * platform/StringImpl.cpp:
11349        (WebCore::getWordBreakIterator): Changed a use of UChar to say ::UChar
11350        instead because of ambiguity with KJS::UChar.
11351        (WebCore::StringImpl::StringImpl): Added overloads for Identifier and String.
11352
11353        * bindings/js/JSCanvasRenderingContext2DBase.cpp:
11354        (WebCore::JSCanvasRenderingContext2DBaseProtoFunc::callAsFunction):
11355        (WebCore::toHTMLCanvasStyle):
11356        * bindings/scripts/CodeGeneratorJS.pm:
11357        * bridge/mac/WebCoreFrameBridge.mm:
11358        (aeDescFromJSValue):
11359        (-[WebCoreFrameBridge stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
11360        * dom/QualifiedName.cpp:
11361        (WebCore::QualifiedName::toString):
11362        * khtml/ecma/JSDOMParser.cpp:
11363        (KJS::DOMParserProtoFunc::callAsFunction):
11364        * khtml/ecma/JSXMLHttpRequest.cpp:
11365        (KJS::JSXMLHttpRequestProtoFunc::callAsFunction):
11366        * khtml/ecma/JSXSLTProcessor.cpp:
11367        (KJS::XSLTProcessorProtoFunc::callAsFunction):
11368        * khtml/ecma/kjs_binding.cpp:
11369        (KJS::valueToStringWithNullCheck):
11370        * khtml/ecma/kjs_css.cpp:
11371        (KJS::cssPropertyName):
11372        (KJS::DOMCSSStyleDeclaration::put):
11373        (KJS::DOMCSSStyleDeclarationProtoFunc::callAsFunction):
11374        (KJS::DOMStyleSheetList::nameGetter):
11375        (KJS::DOMStyleSheetList::getOwnPropertySlot):
11376        (KJS::DOMMediaList::put):
11377        (KJS::KJS::DOMMediaListProtoFunc::callAsFunction):
11378        (KJS::DOMCSSStyleSheetProtoFunc::callAsFunction):
11379        (KJS::DOMCSSRule::putValueProperty):
11380        (KJS::DOMCSSRuleFunc::callAsFunction):
11381        (KJS::DOMCSSValue::put):
11382        (KJS::DOMCSSPrimitiveValueProtoFunc::callAsFunction):
11383        * khtml/ecma/kjs_dom.cpp:
11384        (KJS::DOMNode::putValueProperty):
11385        (KJS::DOMNode::toString):
11386        (KJS::DOMNodeProtoFunc::callAsFunction):
11387        (KJS::DOMEventTargetNodeProtoFunc::callAsFunction):
11388        (KJS::DOMNodeList::nameGetter):
11389        (KJS::DOMNodeList::getOwnPropertySlot):
11390        (KJS::DOMDocument::putValueProperty):
11391        (KJS::DOMDocumentProtoFunc::callAsFunction):
11392        (KJS::DOMElement::attributeGetter):
11393        (KJS::DOMElement::getOwnPropertySlot):
11394        (KJS::DOMNamedNodeMap::nameGetter):
11395        (KJS::DOMNamedNodeMap::getOwnPropertySlot):
11396        (KJS::DOMNamedNodeMapProtoFunc::callAsFunction):
11397        (KJS::DOMNamedNodesCollection::getOwnPropertySlot):
11398        * khtml/ecma/kjs_events.cpp:
11399        (KJS::JSAbstractEventListener::handleEvent):
11400        (KJS::DOMEvent::getValueProperty):
11401        (KJS::DOMEventProtoFunc::callAsFunction):
11402        (KJS::DOMUIEventProtoFunc::callAsFunction):
11403        (KJS::DOMMouseEventProtoFunc::callAsFunction):
11404        (KJS::DOMKeyboardEventProtoFunc::callAsFunction):
11405        (KJS::Clipboard::putValueProperty):
11406        (KJS::ClipboardProtoFunc::callAsFunction):
11407        * khtml/ecma/kjs_html.cpp:
11408        (KJS::HTMLDocFunction::callAsFunction):
11409        (KJS::JSHTMLDocument::namedItemGetter):
11410        (KJS::JSHTMLDocument::getOwnPropertySlot):
11411        (KJS::JSHTMLDocument::putValueProperty):
11412        (KJS::JSHTMLElement::framesetNameGetter):
11413        (KJS::JSHTMLElement::getOwnPropertySlot):
11414        (KJS::HTMLElementFunction::callAsFunction):
11415        (KJS::JSHTMLElement::putValueProperty):
11416        (KJS::JSHTMLCollection::callAsFunction):
11417        (KJS::JSHTMLCollection::getNamedItems):
11418        (KJS::HTMLCollectionProtoFunc::callAsFunction):
11419        (KJS::OptionConstructorImp::construct):
11420        * khtml/ecma/kjs_navigator.cpp:
11421        (KJS::Plugins::nameGetter):
11422        (KJS::Plugins::getOwnPropertySlot):
11423        (KJS::MimeTypes::nameGetter):
11424        (KJS::MimeTypes::getOwnPropertySlot):
11425        (KJS::Plugin::nameGetter):
11426        (KJS::Plugin::getOwnPropertySlot):
11427        * khtml/ecma/kjs_proxy.cpp:
11428        (WebCore::KJSProxy::evaluate):
11429        * khtml/ecma/kjs_range.cpp:
11430        (KJS::DOMRangeProtoFunc::callAsFunction):
11431        * khtml/ecma/kjs_views.cpp:
11432        (KJS::DOMAbstractViewProtoFunc::callAsFunction):
11433        * khtml/ecma/kjs_window.cpp:
11434        (KJS::parseModalDialogFeatures):
11435        (KJS::showModalDialog):
11436        (KJS::Window::childFrameGetter):
11437        (KJS::Window::namedFrameGetter):
11438        (KJS::Window::namedItemGetter):
11439        (KJS::Window::getOwnPropertySlot):
11440        (KJS::Window::put):
11441        (KJS::WindowFunc::callAsFunction):
11442        (KJS::ScheduledAction::execute):
11443        (KJS::Window::installTimeout):
11444        (KJS::FrameArray::nameGetter):
11445        (KJS::FrameArray::getOwnPropertySlot):
11446        (KJS::Location::put):
11447        (KJS::LocationFunc::callAsFunction):
11448        (KJS::SelectionFunc::callAsFunction):
11449        Removed explicit calls to domString(), sometimes replacing with explicit calls to the
11450        String() constructor. Other similar changes for AtomicString and DeprecatedString use.
11451
114522006-03-20  Eric Seidel  <eseidel@apple.com>
11453
11454        Reviewed by darin.
11455
11456        Remove many, many uses of DeprecatedString.
11457        Fix various style issues throughout the touched code.
11458
11459        * bindings/objc/DOM.mm:
11460        (-[DOMRange _text]):
11461        * bridge/mac/BrowserExtensionMac.mm:
11462        (WebCore::BrowserExtensionMac::createNewWindow):
11463        * bridge/mac/FrameMac.h:
11464        (WebCore::FrameMac::bridge):
11465        (WebCore::FrameMac::markedTextRange):
11466        (WebCore::Mac):
11467        * bridge/mac/FrameMac.mm:
11468        (WebCore::FrameMac::openURLRequest):
11469        (WebCore::FrameMac::searchForLabelsAboveCell):
11470        (WebCore::FrameMac::searchForLabelsBeforeElement):
11471        (WebCore::FrameMac::matchLabelsAgainstElement):
11472        (WebCore::FrameMac::findString):
11473        (WebCore::FrameMac::submitForm):
11474        (WebCore::FrameMac::urlSelected):
11475        (WebCore::FrameMac::objectContentType):
11476        (WebCore::FrameMac::createPlugin):
11477        (WebCore::FrameMac::createFrame):
11478        (WebCore::FrameMac::setTitle):
11479        (WebCore::FrameMac::setStatusBarText):
11480        (WebCore::FrameMac::advanceToNextMisspelling):
11481        (WebCore::FrameMac::userAgent):
11482        (WebCore::FrameMac::mimeTypeForFileName):
11483        (WebCore::FrameMac::openURLFromPageCache):
11484        (WebCore::FrameMac::incomingReferrer):
11485        (WebCore::FrameMac::attributedString):
11486        (WebCore::FrameMac::overrideMediaType):
11487        (WebCore::FrameMac::shouldClose):
11488        * bridge/mac/WebCoreFrameBridge.mm:
11489        (-[WebCoreFrameBridge _documentTypeString]):
11490        (-[WebCoreFrameBridge selectedString]):
11491        (-[WebCoreFrameBridge stringForRange:]):
11492        (-[WebCoreFrameBridge advanceToNextMisspelling]):
11493        (-[WebCoreFrameBridge advanceToNextMisspellingStartingJustBeforeSelection]):
11494        (-[WebCoreFrameBridge domain]):
11495        * bridge/mac/WebCoreSettings.mm:
11496        (-[WebCoreSettings setStandardFontFamily:]):
11497        (-[WebCoreSettings setFixedFontFamily:]):
11498        (-[WebCoreSettings setSerifFontFamily:]):
11499        (-[WebCoreSettings setSansSerifFontFamily:]):
11500        (-[WebCoreSettings setCursiveFontFamily:]):
11501        (-[WebCoreSettings setFantasyFontFamily:]):
11502        (-[WebCoreSettings setUserStyleSheetLocation:]):
11503        (-[WebCoreSettings setDefaultTextEncoding:]):
11504        * css/css_valueimpl.cpp:
11505        (WebCore::quoteStringIfNeeded):
11506        * css/cssstyleselector.cpp:
11507        (WebCore::CSSStyleSelector::CSSStyleSelector):
11508        (WebCore::CSSStyleSelector::setEncodedURL):
11509        (WebCore::cleanpath):
11510        (WebCore::checkPseudoState):
11511        (WebCore::CSSStyleSelector::styleForElement):
11512        (WebCore::CSSStyleSelector::styleRulesForElement):
11513        (WebCore::convertToLength):
11514        (WebCore::colorForCSSValue):
11515        (WebCore::CSSStyleSelector::applyProperty):
11516        (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
11517        * css/cssstyleselector.h:
11518        * dom/CDATASection.cpp:
11519        (WebCore::CDATASection::toString):
11520        * dom/Document.cpp:
11521        (WebCore::Document::recalcStyle):
11522        * dom/Document.h:
11523        (WebCore::Document::baseTarget):
11524        (WebCore::Document::setBaseTarget):
11525        * dom/dom_elementimpl.cpp:
11526        (WebCore::Element::openTagStartToString):
11527        * dom/xml_tokenizer.cpp:
11528        (WebCore::handleElementAttributes):
11529        (WebCore::XMLTokenizer::startElementNs):
11530        * editing/SelectionController.cpp:
11531        (WebCore::SelectionController::type):
11532        * editing/TextIterator.cpp:
11533        (WebCore::TextIterator::advance):
11534        (WebCore::TextIterator::handleTextBox):
11535        (WebCore::TextIterator::handleNonTextNode):
11536        (WebCore::TextIterator::exitNode):
11537        (WebCore::SimplifiedBackwardsTextIterator::advance):
11538        (WebCore::SimplifiedBackwardsTextIterator::handleTextNode):
11539        (WebCore::CharacterIterator::advance):
11540        (WebCore::WordAwareIterator::advance):
11541        (WebCore::WordAwareIterator::length):
11542        (WebCore::WordAwareIterator::characters):
11543        (WebCore::CircularSearchBuffer::CircularSearchBuffer):
11544        (WebCore::CircularSearchBuffer::append):
11545        (WebCore::TextIterator::rangeFromLocationAndLength):
11546        (WebCore::findPlainText):
11547        * editing/TextIterator.h:
11548        * html/HTMLFormElement.cpp:
11549        (WebCore::HTMLFormElement::formData):
11550        * khtml/ecma/kjs_navigator.cpp:
11551        (KJS::Navigator::getValueProperty):
11552        * khtml/ecma/kjs_proxy.cpp:
11553        (WebCore::KJSProxy::initScriptIfNeeded):
11554        * khtml/ecma/kjs_window.cpp:
11555        (KJS::Location::getValueProperty):
11556        * ksvg2/misc/KCanvasRenderingStyle.cpp:
11557        (WebCore::KSVGPainterFactory::fillPaintServer):
11558        (WebCore::KSVGPainterFactory::strokePaintServer):
11559        * ksvg2/svg/SVGAngle.cpp:
11560        (SVGAngle::calculate):
11561        (SVGAngle::setValueAsString):
11562        (SVGAngle::valueAsString):
11563        (SVGAngle::convertToSpecifiedUnits):
11564        (SVGAngle::shortestArcBisector):
11565        * ksvg2/svg/SVGAngle.h:
11566        * ksvg2/svg/SVGAnimationElement.cpp:
11567        (SVGAnimationElement::targetElement):
11568        (SVGAnimationElement::parseMappedAttribute):
11569        (SVGAnimationElement::parseClockValue):
11570        (SVGAnimationElement::targetAttribute):
11571        (SVGAnimationElement::setTargetAttribute):
11572        (SVGAnimationElement::detectAnimationMode):
11573        (SVGAnimationElement::calculateCurrentValueItem):
11574        (SVGAnimationElement::calculateRelativeTimePercentage):
11575        * ksvg2/svg/SVGColor.cpp:
11576        (SVGColor::setRGBColor):
11577        * ksvg2/svg/SVGDOMImplementation.cpp:
11578        (svgFeatureSet):
11579        (SVGDOMImplementation::self):
11580        (SVGDOMImplementation::hasFeature):
11581        (SVGDOMImplementation::createDocumentType):
11582        (SVGDOMImplementation::createDocument):
11583        * ksvg2/svg/SVGDOMImplementation.h:
11584        * ksvg2/svg/SVGPaint.cpp:
11585        (SVGPaint::cssText):
11586        * ksvg2/svg/SVGPathSegClosePath.h:
11587        (WebCore::SVGPathSegClosePath::toString):
11588        * ksvg2/svg/SVGPreserveAspectRatio.cpp:
11589        (SVGPreserveAspectRatio::parsePreserveAspectRatio):
11590        (SVGPreserveAspectRatio::getCTM):
11591        * ksvg2/svg/SVGStopElement.cpp:
11592        (SVGStopElement::parseMappedAttribute):
11593        * ksvg2/svg/SVGStyleElement.cpp:
11594        (SVGStyleElement::childrenChanged):
11595        * ksvg2/svg/SVGURIReference.cpp:
11596        (SVGURIReference::getTarget):
11597        * kwq/ClipboardMac.mm:
11598        (WebCore::ClipboardMac::setData):
11599        (WebCore::ClipboardMac::types):
11600        (WebCore::ClipboardMac::setEffectAllowed):
11601        (WebCore::cocoaOpFromIEOp):
11602        (WebCore::IEOpFromCocoaOp):
11603        (WebCore::ClipboardMac::sourceOperation):
11604        (WebCore::ClipboardMac::destinationOperation):
11605        * kwq/KWQCString.cpp:
11606        (DeprecatedCString::append):
11607        * kwq/KWQKHTMLSettings.h:
11608        (KHTMLSettings::stdFontName):
11609        (KHTMLSettings::fixedFontName):
11610        (KHTMLSettings::serifFontName):
11611        (KHTMLSettings::sansSerifFontName):
11612        (KHTMLSettings::cursiveFontName):
11613        (KHTMLSettings::fantasyFontName):
11614        (KHTMLSettings::minFontSize):
11615        (KHTMLSettings::minLogicalFontSize):
11616        (KHTMLSettings::mediumFontSize):
11617        (KHTMLSettings::mediumFixedFontSize):
11618        (KHTMLSettings::autoLoadImages):
11619        (KHTMLSettings::isJavaScriptEnabled):
11620        (KHTMLSettings::JavaScriptCanOpenWindowsAutomatically):
11621        (KHTMLSettings::isJavaEnabled):
11622        (KHTMLSettings::isPluginsEnabled):
11623        (KHTMLSettings::encoding):
11624        (KHTMLSettings::userStyleSheet):
11625        (KHTMLSettings::shouldPrintBackgrounds):
11626        (KHTMLSettings::textAreasAreResizable):
11627        (KHTMLSettings::setStdFontName):
11628        (KHTMLSettings::setFixedFontName):
11629        (KHTMLSettings::setSerifFontName):
11630        (KHTMLSettings::setSansSerifFontName):
11631        (KHTMLSettings::setCursiveFontName):
11632        (KHTMLSettings::setFantasyFontName):
11633        (KHTMLSettings::setMinFontSize):
11634        (KHTMLSettings::setMinLogicalFontSize):
11635        (KHTMLSettings::setMediumFontSize):
11636        (KHTMLSettings::setMediumFixedFontSize):
11637        (KHTMLSettings::setAutoLoadImages):
11638        (KHTMLSettings::setIsJavaScriptEnabled):
11639        (KHTMLSettings::setIsJavaEnabled):
11640        (KHTMLSettings::setArePluginsEnabled):
11641        (KHTMLSettings::setJavaScriptCanOpenWindowsAutomatically):
11642        (KHTMLSettings::setEncoding):
11643        (KHTMLSettings::setUserStyleSheet):
11644        (KHTMLSettings::setShouldPrintBackgrounds):
11645        (KHTMLSettings::setTextAreasAreResizable):
11646        * kwq/KWQLoader.mm:
11647        (KWQServeSynchronousRequest):
11648        * kwq/KWQTextStream.cpp:
11649        (QTextStream::QTextStream):
11650        (QTextStream::operator<<):
11651        (QTextStream::precision):
11652        * kwq/KWQTextStream.h:
11653        * kwq/RenderTreeAsText.cpp:
11654        (operator<<):
11655        (quoteAndEscapeNonPrintables):
11656        (writeTextRun):
11657        (write):
11658        (writeSelection):
11659        * loader/Cache.cpp:
11660        (WebCore::Cache::init):
11661        (WebCore::Cache::requestImage):
11662        (WebCore::Cache::requestStyleSheet):
11663        (WebCore::Cache::preloadStyleSheet):
11664        (WebCore::Cache::requestScript):
11665        (WebCore::Cache::preloadScript):
11666        (WebCore::Cache::requestXSLStyleSheet):
11667        (WebCore::Cache::requestXBLDocument):
11668        (WebCore::Cache::remove):
11669        * loader/Cache.h:
11670        * loader/CachedCSSStyleSheet.cpp:
11671        (WebCore::CachedCSSStyleSheet::error):
11672        * loader/CachedCSSStyleSheet.h:
11673        * loader/CachedImage.cpp:
11674        (WebCore::CachedImage::error):
11675        * loader/CachedImage.h:
11676        * loader/CachedObject.h:
11677        * loader/CachedScript.cpp:
11678        (WebCore::CachedScript::checkNotify):
11679        (WebCore::CachedScript::error):
11680        * loader/CachedScript.h:
11681        * loader/CachedXBLDocument.cpp:
11682        (WebCore::CachedXBLDocument::error):
11683        * loader/CachedXBLDocument.h:
11684        * loader/CachedXSLStyleSheet.cpp:
11685        (WebCore::CachedXSLStyleSheet::error):
11686        * loader/CachedXSLStyleSheet.h:
11687        * loader/DocLoader.cpp:
11688        (WebCore::DocLoader::DocLoader):
11689        (WebCore::DocLoader::~DocLoader):
11690        (WebCore::DocLoader::needReload):
11691        (WebCore::DocLoader::requestImage):
11692        (WebCore::DocLoader::requestStyleSheet):
11693        (WebCore::DocLoader::requestScript):
11694        (WebCore::DocLoader::requestXSLStyleSheet):
11695        (WebCore::DocLoader::requestXBLDocument):
11696        (WebCore::DocLoader::setAutoloadImages):
11697        (WebCore::DocLoader::setShowAnimations):
11698        (WebCore::DocLoader::removeCachedObject):
11699        * loader/loader.cpp:
11700        (WebCore::Loader::receivedAllData):
11701        (WebCore::Loader::receivedResponse):
11702        * page/Frame.cpp:
11703        (WebCore::UserStyleSheetLoader::setStyleSheet):
11704        (WebCore::Frame::didOpenURL):
11705        (WebCore::Frame::setMetaRefreshEnabled):
11706        (WebCore::Frame::setAutoloadImages):
11707        (WebCore::Frame::autoloadImages):
11708        (WebCore::Frame::clear):
11709        (WebCore::Frame::receivedFirstData):
11710        (WebCore::Frame::begin):
11711        (WebCore::Frame::write):
11712        (WebCore::Frame::baseTarget):
11713        (WebCore::Frame::completeURL):
11714        (WebCore::Frame::scheduleRedirection):
11715        (WebCore::Frame::scheduleLocationChange):
11716        (WebCore::Frame::scheduleHistoryNavigation):
11717        (WebCore::Frame::changeLocation):
11718        (WebCore::Frame::redirectionTimerFired):
11719        (WebCore::Frame::encoding):
11720        (WebCore::Frame::gotoAnchor):
11721        (WebCore::Frame::setStandardFont):
11722        (WebCore::Frame::setFixedFont):
11723        (WebCore::Frame::selectedText):
11724        (WebCore::Frame::selection):
11725        (WebCore::Frame::dragCaret):
11726        (WebCore::Frame::setSelection):
11727        (WebCore::Frame::setDragCaret):
11728        (WebCore::Frame::paintCaret):
11729        (WebCore::Frame::paintDragCaret):
11730        (WebCore::Frame::urlSelected):
11731        (WebCore::Frame::requestFrame):
11732        (WebCore::Frame::requestObject):
11733        (WebCore::Frame::shouldUsePlugin):
11734        (WebCore::Frame::loadPlugin):
11735        (WebCore::Frame::loadSubframe):
11736        (WebCore::Frame::submitForm):
11737        (WebCore::Frame::lastModified):
11738        (WebCore::Frame::reparseConfiguration):
11739        (WebCore::Frame::shouldChangeSelection):
11740        (WebCore::Frame::appliedEditing):
11741        (WebCore::Frame::unappliedEditing):
11742        (WebCore::Frame::reappliedEditing):
11743        (WebCore::Frame::executeScript):
11744        (WebCore::updateState):
11745        (WebCore::Frame::isCharacterSmartReplaceExempt):
11746        (WebCore::Frame::openURL):
11747        (WebCore::Frame::didNotOpenURL):
11748        (WebCore::Frame::setEncoding):
11749        (WebCore::Frame::saveInterpreterBuiltins):
11750        (WebCore::Frame::restoreInterpreterBuiltins):
11751        (WebCore::Frame::mutableInstances):
11752        (WebCore::Frame::setPolicyBaseURL):
11753        (WebCore::Frame::addMetaData):
11754        (WebCore::Frame::scrollToAnchor):
11755        (WebCore::Frame::setMediaType):
11756        (WebCore::Frame::highlightAllMatchesForString):
11757        (WebCore::Frame::tree):
11758        * page/Frame.h:
11759        (WebCore::Frame::instances):
11760        * page/FramePrivate.h:
11761        * page/FrameView.cpp:
11762        (WebCore::FrameViewPrivate::FrameViewPrivate):
11763        (WebCore::FrameView::FrameView):
11764        (WebCore::FrameView::~FrameView):
11765        (WebCore::FrameView::init):
11766        (WebCore::FrameView::setMarginWidth):
11767        (WebCore::FrameView::setMarginHeight):
11768        (WebCore::FrameView::adjustViewSize):
11769        (WebCore::FrameView::layout):
11770        (WebCore::FrameView::dispatchDragEvent):
11771        (WebCore::FrameView::scrollTo):
11772        (WebCore::FrameView::setMediaType):
11773        (WebCore::FrameView::mediaType):
11774        (WebCore::FrameView::setResizingFrameSet):
11775        (WebCore::FrameView::setIgnoreWheelEvents):
11776        * page/FrameView.h:
11777        (WebCore::FrameView::frameWidth):
11778        (WebCore::FrameView::marginWidth):
11779        (WebCore::FrameView::marginHeight):
11780        (WebCore::FrameView::ref):
11781        (WebCore::FrameView::deref):
11782        * page/ResourceRequest.h:
11783        (WebCore::ResourceRequest::contentType):
11784        (WebCore::ResourceRequest::setContentType):
11785        * platform/FontFamily.h:
11786        * platform/Image.h:
11787        * platform/KURL.cpp:
11788        (KURL::KURL):
11789        (KURL::parse):
11790        (urlcmp):
11791        (KURL::encode_string):
11792        (encodeHostname):
11793        * platform/KURL.h:
11794        * platform/PlatformString.h:
11795        (WebCore::String::left):
11796        (WebCore::String::right):
11797        * platform/String.cpp:
11798        (WebCore::String::toInt):
11799        * platform/StringImpl.cpp:
11800        (WebCore::StringImpl::toInt):
11801        * platform/TransferJob.cpp:
11802        (WebCore::TransferJob::queryMetaData):
11803        (WebCore::TransferJob::addMetaData):
11804        * platform/TransferJob.h:
11805        * platform/mac/ImageMac.mm:
11806        (WebCore::Image::supportsType):
11807        * platform/mac/TransferJobMac.mm:
11808        (WebCore::TransferJob::start):
11809        * rendering/RenderObject.cpp:
11810        (WebCore::RenderObject::information):
11811        * rendering/RenderTextField.cpp:
11812        (WebCore::RenderTextField::updateFromElement):
11813        * xml/xmlhttprequest.cpp:
11814        (WebCore::getMIMEType):
11815        (WebCore::getCharset):
11816        (WebCore::XMLHttpRequest::getReadyState):
11817        (WebCore::XMLHttpRequest::getResponseText):
11818        (WebCore::XMLHttpRequest::getResponseXML):
11819        (WebCore::XMLHttpRequest::XMLHttpRequest):
11820        (WebCore::XMLHttpRequest::~XMLHttpRequest):
11821        (WebCore::XMLHttpRequest::changeState):
11822        (WebCore::XMLHttpRequest::callReadyStateChangeListener):
11823        (WebCore::XMLHttpRequest::urlMatchesDocumentDomain):
11824        (WebCore::XMLHttpRequest::open):
11825        (WebCore::XMLHttpRequest::send):
11826        (WebCore::XMLHttpRequest::abort):
11827        (WebCore::XMLHttpRequest::overrideMIMEType):
11828        (WebCore::XMLHttpRequest::setRequestHeader):
11829        (WebCore::XMLHttpRequest::getRequestHeader):
11830        (WebCore::XMLHttpRequest::getAllResponseHeaders):
11831        (WebCore::XMLHttpRequest::getResponseHeader):
11832        (WebCore::XMLHttpRequest::responseIsXML):
11833        (WebCore::XMLHttpRequest::getStatus):
11834        (WebCore::XMLHttpRequest::getStatusText):
11835        (WebCore::XMLHttpRequest::processSyncLoadResults):
11836        (WebCore::XMLHttpRequest::receivedAllData):
11837        (WebCore::XMLHttpRequest::receivedRedirect):
11838        (WebCore::XMLHttpRequest::receivedData):
11839        (WebCore::XMLHttpRequest::cancelRequests):
11840        (WebCore::XMLHttpRequest::detachRequests):
11841        * xml/xmlhttprequest.h:
11842
118432006-03-20  Alexey Proskuryakov  <ap@nypop.com>
11844
11845        Reviewed by Darin.
11846
11847        - http://bugs.webkit.org/show_bug.cgi?id=3439
11848         mouseover effects can get stuck sometimes due to missing events
11849        - http://bugs.webkit.org/show_bug.cgi?id=7701
11850         mouseout sent to the wrong element when layout changes simultaneously
11851
11852        Implemented saving the previous node under the mouse, so that we don't need to
11853        recalculate it, which is slow and even not really possible. This has fixed a number
11854        of issues with mouse event dispatching when the content changes.
11855        The code still needs refactoring and cleanup, see bug 3439 for comments.
11856
11857        Tests (both files perform multiple checks):
11858        - fast/events/mouseover-mouseout.html
11859        - fast/events/mouseover-mouseout2.html
11860
11861        * page/Frame.h: Added a Frame parameter to passSubframeEventToSubframe(),
11862        used for mouseMoved events.
11863        * bridge/mac/FrameMac.h: Ditto.
11864        * bridge/mac/FrameMac.mm:
11865        (WebCore::FrameMac::passSubframeEventToSubframe): Use the passed subframe to target
11866        NSMouseMoved events.
11867        * page/FrameView.h: Added a prepareMouseEvent() helper that does viewportToContents translation.
11868        * page/FrameView.cpp: Added data members for storing the previous node and subframe
11869        under the mouse to FrameViewPrivate. Removed the now unused prevMouseX/prevMouseY.
11870        (WebCore::FrameViewPrivate::reset): Reset the new data members.
11871        (WebCore::subframeForEvent): A temporary place for the code that extracts a subframe
11872        pointer from MouseEventWithHitTestResults, moved from FrameMac::passSubframeEventToSubframe().
11873        (WebCore::FrameView::prepareMouseEvent): The new helper.
11874        (WebCore::FrameView::handleMousePressEvent): Use the new helper.
11875        (WebCore::FrameView::handleMouseDoubleClickEvent): Ditto.
11876        (WebCore::FrameView::handleMouseReleaseEvent): Ditto.
11877        (WebCore::FrameView::updateDragAndDrop): Ditto.
11878        (WebCore::FrameView::hoverTimerFired): Ditto.
11879        (WebCore::FrameView::dispatchMouseEvent): Store and use the oldUnder node, don't store
11880        or use prevMouseX/Y.
11881        (WebCore::FrameView::handleMouseMoveEvent): Rewrote dispatching events to subframes using
11882        a stored oldSubframe reference. Protect "this" from being removed while in this function.
11883
118842006-03-20  Darin Adler  <darin@apple.com>
11885
11886        Reviewed by Anders.
11887
11888        - http://bugs.webkit.org/show_bug.cgi?id=7875
11889          autogenerate bindings for Range
11890
11891        * dom/Range.idl: Added.
11892        * khtml/ecma/kjs_range.cpp: Removed.
11893        * khtml/ecma/kjs_range.h: Removed.
11894
11895        * WebCore.vcproj/WebCore/build-generated-files.sh: Removed code to generate
11896        kjs_range.lut.h.
11897
11898        * WebCore.xcodeproj/project.pbxproj: Added Range.idl source file.
11899        Removed kjs_range.h and kjs_range.cpp source files. Sorted the "dom" group.
11900        Removed rule to generate kjs_range.lut.h.
11901
11902        * bindings/js/JSDOMCore.cpp: Added include of JSRange.cpp.
11903
11904        * bindings/scripts/CodeGeneratorJS.pm: Added DocumentFragment, Range, CompareHow,
11905        and short to the types this script can handle. Added code to generate toRange
11906        functions and the like. Added separate code to handle exceptions for getters
11907        vs. setters for attributes. Changed return values for the "bad ID" case to 0
11908        -- there's no need to generate the extra code to return jsUndefined() in such
11909        cases, which should be unreachable. Changed exception handling to use setDOMException
11910        directly instead of DOMExceptionTranslator; DOMExceptionTranslator was a trick
11911        to make it easier to convert existing bindings and shouldn't be used going
11912        forward. Fixed names of constructors to use the JavaScript class name (the
11913        interface name), not the name of the C++ implementation class. Fixed generation
11914        of code for functions that have no parameters but do raise exceptions.
11915
11916        * bindings/scripts/IDLParser.pm: Added parsing for separate getter and setter
11917        exceptions in attributes. The syntax is not real IDL, but real IDL doesn't support
11918        declaring exceptions on attributes at all. We'll probably want to revisit our
11919        syntax for this some day.
11920
11921        * bindings/scripts/IDLStructure.pm: Removed unused exceptionName field from
11922        domAttribute, and replaced raisesExceptions field with getterExceptions and
11923        setterExceptions. Added regular expressions for parsing getter/setter syntax.
11924        We'll probably have to redo this whole thing parse in a better way at some
11925        point -- the regular expressions allow any invalid syntax in between them.
11926
11927        * dom/Attr.idl: Change exception declaration for setting the value attribute
11928        to use setter-specific exception syntax.
11929        * dom/CharacterData.idl: Change exception declaration for setting the data
11930        attribute to use setter-specific exception syntax.
11931        * dom/ProcessingInstruction.idl: Change exception declaration for setting the
11932        data attribute to use setter-specific exception syntax.
11933
11934        * khtml/ecma/kjs_dom.cpp: Include JSRange.h instead of kjs_range.h.
11935        * khtml/ecma/kjs_window.cpp: Include JSRange.h instead of kjs_range.h.
11936        (KJS::Window::getValueProperty): Use JSRange::getConstructor instead of
11937        getRangeConstructor.
11938
119392006-03-20  Eric Seidel  <eseidel@apple.com>
11940
11941        Reviewed by hyatt.
11942
11943        Fix win32 compile.
11944
11945        * Viewer/ImageView.cpp:
11946        * platform/GraphicsContext.cpp:
11947        (WebCore::WebCore::GraphicsContext::createGraphicsContextPrivate):
11948        (WebCore::WebCore::GraphicsContext::destroyGraphicsContextPrivate):
11949        * platform/cairo/GraphicsContextCairo.cpp:
11950        (WebCore::fillRectSourceOver):
11951        (WebCore::GraphicsContext::drawLine):
11952        (WebCore::GraphicsContext::drawFocusRing):
11953        * platform/win/FontWin.cpp:
11954        (WebCore::Font::drawHighlightForText):
11955        (WebCore::Font::drawLineForText):
11956
119572006-03-19  Darin Adler  <darin@apple.com>
11958
11959        Rubber stamped by Eric.
11960
11961        - moved khtml/html files all into html directory
11962
11963        * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for new paths.
11964        * WebCore.vcproj/WebCore/build-generated-files.sh: Ditto.
11965        * WebCore.xcodeproj/project.pbxproj: Ditto.
11966
11967        * khtml/html: Removed.
11968
11969        * html/DocTypeStrings.gperf: Moved.
11970        * html/FormDataList.cpp: Ditto.
11971        * html/FormDataList.h: Ditto.
11972        * html/HTMLBaseFontElement.cpp: Ditto.
11973        * html/HTMLBaseFontElement.h: Ditto.
11974        * html/HTMLButtonElement.cpp: Ditto.
11975        * html/HTMLButtonElement.h: Ditto.
11976        * html/HTMLCanvasElement.cpp: Ditto.
11977        * html/HTMLCanvasElement.h: Ditto.
11978        * html/HTMLCollection.cpp: Ditto.
11979        * html/HTMLCollection.h: Ditto.
11980        * html/HTMLDocument.cpp: Ditto.
11981        * html/HTMLDocument.h: Ditto.
11982        * html/HTMLElement.cpp: Ditto.
11983        * html/HTMLElement.h: Ditto.
11984        * html/HTMLElementFactory.cpp: Ditto.
11985        * html/HTMLElementFactory.h: Ditto.
11986        * html/HTMLEntityNames.gperf: Ditto.
11987        * html/HTMLFieldSetElement.cpp: Ditto.
11988        * html/HTMLFieldSetElement.h: Ditto.
11989        * html/HTMLFormCollection.cpp: Ditto.
11990        * html/HTMLFormCollection.h: Ditto.
11991        * html/HTMLFormElement.cpp: Ditto.
11992        * html/HTMLFormElement.h: Ditto.
11993        * html/HTMLGenericFormElement.cpp: Ditto.
11994        * html/HTMLGenericFormElement.h: Ditto.
11995        * html/HTMLInputElement.cpp: Ditto.
11996        * html/HTMLInputElement.h: Ditto.
11997        * html/HTMLIsIndexElement.cpp: Ditto.
11998        * html/HTMLIsIndexElement.h: Ditto.
11999        * html/HTMLKeygenElement.cpp: Ditto.
12000        * html/HTMLKeygenElement.h: Ditto.
12001        * html/HTMLLabelElement.cpp: Ditto.
12002        * html/HTMLLabelElement.h: Ditto.
12003        * html/HTMLLegendElement.cpp: Ditto.
12004        * html/HTMLLegendElement.h: Ditto.
12005        * html/HTMLNameCollection.cpp: Ditto.
12006        * html/HTMLNameCollection.h: Ditto.
12007        * html/HTMLNames.cpp: Ditto.
12008        * html/HTMLNames.h: Ditto.
12009        * html/HTMLOptGroupElement.cpp: Ditto.
12010        * html/HTMLOptGroupElement.h: Ditto.
12011        * html/HTMLOptionElement.cpp: Ditto.
12012        * html/HTMLOptionElement.h: Ditto.
12013        * html/HTMLOptionsCollection.cpp: Ditto.
12014        * html/HTMLOptionsCollection.h: Ditto.
12015        * html/HTMLParser.cpp: Ditto.
12016        * html/HTMLParser.h: Ditto.
12017        * html/HTMLSelectElement.cpp: Ditto.
12018        * html/HTMLSelectElement.h: Ditto.
12019        * html/HTMLTextAreaElement.cpp: Ditto.
12020        * html/HTMLTextAreaElement.h: Ditto.
12021        * html/HTMLTextFieldInnerElement.cpp: Ditto.
12022        * html/HTMLTextFieldInnerElement.h: Ditto.
12023        * html/HTMLTokenizer.cpp: Ditto.
12024        * html/HTMLTokenizer.h: Ditto.
12025        * html/html_baseimpl.cpp: Ditto.
12026        * html/html_baseimpl.h: Ditto.
12027        * html/html_blockimpl.cpp: Ditto.
12028        * html/html_blockimpl.h: Ditto.
12029        * html/html_headimpl.cpp: Ditto.
12030        * html/html_headimpl.h: Ditto.
12031        * html/html_imageimpl.cpp: Ditto.
12032        * html/html_imageimpl.h: Ditto.
12033        * html/html_inlineimpl.cpp: Ditto.
12034        * html/html_inlineimpl.h: Ditto.
12035        * html/html_listimpl.cpp: Ditto.
12036        * html/html_listimpl.h: Ditto.
12037        * html/html_objectimpl.cpp: Ditto.
12038        * html/html_objectimpl.h: Ditto.
12039        * html/html_tableimpl.cpp: Ditto.
12040        * html/html_tableimpl.h: Ditto.
12041
12042        * bindings/objc/DOM.mm:
12043        * bridge/mac/WebCoreEncodings.mm:
12044        * bridge/mac/WebCoreFrameBridge.mm:
12045        * css/CSSGrammar.y:
12046        * css/cssstyleselector.cpp:
12047        * dom/Document.cpp:
12048        * dom/EventTargetNode.cpp:
12049        * dom/NameNodeList.cpp:
12050        * dom/Node.cpp:
12051        * dom/Position.cpp:
12052        * dom/dom_elementimpl.cpp:
12053        * dom/xml_tokenizer.cpp:
12054        * editing/ApplyStyleCommand.cpp:
12055        * editing/BreakBlockquoteCommand.cpp:
12056        * editing/CompositeEditCommand.cpp:
12057        * editing/DeleteSelectionCommand.cpp:
12058        * editing/InsertLineBreakCommand.cpp:
12059        * editing/InsertParagraphSeparatorCommand.cpp:
12060        * editing/JSEditor.cpp:
12061        * editing/ReplaceSelectionCommand.cpp:
12062        * editing/TextIterator.cpp:
12063        * editing/VisiblePosition.cpp:
12064        * editing/htmlediting.cpp:
12065        * editing/markup.cpp:
12066        * editing/visible_units.cpp:
12067        * html/CanvasRenderingContext2D.cpp:
12068        * kcanvas/KCanvasTreeDebug.cpp:
12069        * khtml/ecma/JSDOMParser.cpp:
12070        * khtml/ecma/kjs_css.cpp:
12071        * khtml/ecma/kjs_dom.cpp:
12072        * khtml/ecma/kjs_events.cpp:
12073        * khtml/misc/decoder.cpp:
12074        * khtml/xsl/XSLStyleSheet.cpp:
12075        * khtml/xsl/XSLTProcessor.cpp:
12076        * ksvg2/misc/SVGImageLoader.h:
12077        * ksvg2/svg/SVGElement.cpp:
12078        * ksvg2/svg/SVGSVGElement.cpp:
12079        * kwq/WebCoreAXObject.mm:
12080        * page/Frame.cpp:
12081        * page/FrameView.cpp:
12082        * rendering/RenderBlock.cpp:
12083        * rendering/RenderBox.cpp:
12084        * rendering/RenderFlow.cpp:
12085        * rendering/RenderHTMLCanvas.cpp:
12086        * rendering/RenderImage.cpp:
12087        * rendering/RenderLayer.cpp:
12088        * rendering/RenderObject.cpp:
12089        * rendering/RenderTable.cpp:
12090        * rendering/RenderTableCell.cpp:
12091        * rendering/RenderTableCol.cpp:
12092        * rendering/RenderTableRow.cpp:
12093        * rendering/RenderTableSection.cpp:
12094        * rendering/RenderTextField.cpp:
12095        * rendering/RenderTheme.cpp:
12096        * rendering/render_applet.cpp:
12097        * rendering/render_button.cpp:
12098        * rendering/render_frames.cpp:
12099        * rendering/render_list.cpp:
12100        Updated includes.
12101
121022006-03-17  Eric Seidel  <eseidel@apple.com>
12103
12104        Reviewed by darin.
12105
12106        Move Form code from MacFrame to Frame.
12107        Move GraphicsContext code from GraphicsContextMac to GraphicsContext.
12108        Use IntRect, FloatRect in more places throughout the code.
12109        http://bugs.webkit.org/show_bug.cgi?id=7824
12110
12111        * bridge/mac/MacFrame.h:
12112        * bridge/mac/MacFrame.mm:
12113        (WebCore::MacFrame::MacFrame):
12114        (WebCore::MacFrame::searchForLabelsAboveCell):
12115        (WebCore::MacFrame::searchForLabelsBeforeElement):
12116        (WebCore::dictionaryFromHashMap):
12117        (WebCore::MacFrame::submitForm):
12118        (WebCore::MacFrame::setView):
12119        (WebCore::MacFrame::currentEventIsMouseDownInWidget):
12120        (WebCore::MacFrame::currentEventIsKeyboardOptionTab):
12121        (WebCore::MacFrame::handleKeyboardOptionTabInView):
12122        (WebCore::MacFrame::tabsToAllControls):
12123        (WebCore::MacFrame::shouldDragAutoNode):
12124        (WebCore::MacFrame::selectionImage):
12125        (WebCore::MacFrame::snapshotDragImage):
12126        * bridge/mac/WebCoreFrameBridge.mm:
12127        (-[WebCoreFrameBridge nextKeyView]):
12128        (-[WebCoreFrameBridge previousKeyView]):
12129        (-[WebCoreFrameBridge nextKeyViewInsideWebFrameViews]):
12130        (-[WebCoreFrameBridge previousKeyViewInsideWebFrameViews]):
12131        * kcanvas/RenderSVGImage.cpp:
12132        (WebCore::RenderSVGImage::paint):
12133        * page/Frame.cpp:
12134        (WebCore::Frame::Frame):
12135        (WebCore::Frame::clearRecordedFormValues):
12136        (WebCore::Frame::recordFormValue):
12137        (WebCore::Frame::didNotOpenURL):
12138        (WebCore::scanForForm):
12139        (WebCore::Frame::paint):
12140        (WebCore::Frame::prepareForUserAction):
12141        * page/Frame.h:
12142        * platform/GraphicsContext.cpp:
12143        (WebCore::GraphicsContextState::GraphicsContextState):
12144        (WebCore::GraphicsContextPrivate::GraphicsContextPrivate):
12145        (WebCore::GraphicsContextPrivate::~GraphicsContextPrivate):
12146        (WebCore::GraphicsContext::save):
12147        (WebCore::GraphicsContext::restore):
12148        (WebCore::GraphicsContext::font):
12149        (WebCore::GraphicsContext::setFont):
12150        (WebCore::GraphicsContext::pen):
12151        (WebCore::GraphicsContext::setPen):
12152        (WebCore::GraphicsContext::setBrush):
12153        (WebCore::GraphicsContext::brush):
12154        (WebCore::GraphicsContext::setUsesInactiveTextBackgroundColor):
12155        (WebCore::GraphicsContext::usesInactiveTextBackgroundColor):
12156        (WebCore::GraphicsContext::updatingControlTints):
12157        (WebCore::GraphicsContext::setUpdatingControlTints):
12158        (WebCore::GraphicsContext::setPaintingDisabled):
12159        (WebCore::GraphicsContext::paintingDisabled):
12160        (WebCore::GraphicsContext::printing):
12161        (WebCore::GraphicsContext::drawImageAtPoint):
12162        (WebCore::GraphicsContext::drawImageInRect):
12163        (WebCore::GraphicsContext::drawImage):
12164        (WebCore::GraphicsContext::initFocusRing):
12165        (WebCore::GraphicsContext::clearFocusRing):
12166        (WebCore::GraphicsContext::addFocusRingRect):
12167        (WebCore::GraphicsContext::focusRingWidth):
12168        (WebCore::GraphicsContext::focusRingOffset):
12169        (WebCore::GraphicsContext::focusRingRects):
12170        * platform/GraphicsContext.h:
12171        * platform/mac/GraphicsContextMac.mm:
12172        (WebCore::fillRectSourceOver):
12173        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
12174        (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
12175        (WebCore::GraphicsContext::GraphicsContext):
12176        (WebCore::GraphicsContext::~GraphicsContext):
12177        (WebCore::GraphicsContext::savePlatformState):
12178        (WebCore::GraphicsContext::restorePlatformState):
12179        (WebCore::GraphicsContext::drawRect):
12180        (WebCore::GraphicsContext::setColorFromBrush):
12181        (WebCore::GraphicsContext::setColorFromPen):
12182        (WebCore::GraphicsContext::drawLine):
12183        (WebCore::GraphicsContext::drawEllipse):
12184        (WebCore::GraphicsContext::drawArc):
12185        (WebCore::GraphicsContext::drawConvexPolygon):
12186        (WebCore::GraphicsContext::drawFloatImage):
12187        (WebCore::GraphicsContext::drawTiledImage):
12188        (WebCore::GraphicsContext::drawScaledAndTiledImage):
12189        (WebCore::GraphicsContext::selectedTextBackgroundColor):
12190        (WebCore::GraphicsContext::fillRect):
12191        (WebCore::GraphicsContext::addClip):
12192        (WebCore::GraphicsContext::addRoundedRectClip):
12193        (WebCore::GraphicsContext::beginTransparencyLayer):
12194        (WebCore::GraphicsContext::endTransparencyLayer):
12195        (WebCore::GraphicsContext::setShadow):
12196        (WebCore::GraphicsContext::clearShadow):
12197        (WebCore::GraphicsContext::drawFocusRing):
12198        * rendering/render_box.cpp:
12199        (WebCore::RenderBox::paintBackgroundExtended):
12200        (WebCore::RenderBox::outlineBox):
12201        * rendering/render_frames.cpp:
12202        (WebCore::RenderFrameSet::userResize):
12203        * rendering/render_image.cpp:
12204        (WebCore::RenderImage::paint):
12205        * rendering/render_list.cpp:
12206        (WebCore::RenderListMarker::paint):
12207        * rendering/render_object.cpp:
12208        (WebCore::RenderObject::drawBorder):
12209        (WebCore::RenderObject::paintBorderImage):
12210
122112006-03-19  Darin Adler  <darin@apple.com>
12212
12213        Reviewed by Eric.
12214
12215        - fix http://bugs.webkit.org/show_bug.cgi?id=7854
12216          CanvasGradient leaks
12217
12218        * html/CanvasGradient.cpp: (WebCore::CanvasGradient::platformShading):
12219        Don't make the CG shading object keep a reference to the DOM gradient object.
12220        I got confused because in the case of a CanvasPattern, the pattern does need
12221        to keep a reference to the DOM pattern object, but the object lifetime is
12222        handled differently here. The CG shading object is used right away, not set
12223        in a graphics context.
12224
122252006-03-19  Darin Adler  <darin@apple.com>
12226
12227        Reviewed by Eric.
12228
12229        - attempt to fix the buildbot by handling DOMImplementation another way
12230
12231        * WebCore.xcodeproj/project.pbxproj: Added DOMImplementationFront.h/cpp.
12232
12233        * bindings/objc/DOMImplementationFront.cpp: Added.
12234        * bindings/objc/DOMImplementationFront.h: Added.
12235
12236        * bindings/objc/DOMInternal.h: Use DOMImplementationFront, not DOMImplementation.
12237        * bindings/objc/DOM.mm:
12238        (-[DOMImplementation dealloc]): Ditto.
12239        (-[DOMImplementation finalize]): Ditto.
12240        (-[DOMImplementation _initWithDOMImplementation:]): Ditto.
12241        (+[DOMImplementation _DOMImplementationWith:]): Ditto.
12242        (-[DOMImplementation _DOMImplementation]): Ditto.
12243        (-[DOMDocument implementation]): Call implementationFront from the
12244        DOMImplementationFront header instead of using the real implementation
12245        function on the Document.
12246
122472006-03-19  Darin Adler  <darin@apple.com>
12248
12249        - global rename, done by script
12250
12251        * <lots of files>: Renamed XXXImpl to XXX, and a number of other renames.
12252        See WebKitTools/Scripts/do-webcore-rename version 13392 for details.
12253
122542006-03-19  Darin Adler  <darin@apple.com>
12255
12256        - roll out fix for http://bugs.webkit.org/show_bug.cgi?id=6314
12257          Unclosed <style> element in <head> makes page completely blank
12258
12259        This fix was breaking major sites -- details in the bug report.
12260
12261        * khtml/html/htmltokenizer.cpp: (WebCore::HTMLTokenizer::parseTag):
12262        Removed the bug fix, added a FIXME about the <title> code that has
12263        the same problem.
12264
122652006-03-18  David Carson  <dacarson@gmail.com>
12266
12267        Test: fast/canvas/patternfill-repeat.html
12268
12269        Reviewed by Darin.
12270
12271        - fix http://bugs.webkit.org/show_bug.cgi?id=7830
12272          <canvas> createPattern 'repeat' options fail
12273
12274        * CanvasPattern.cpp (CanvasPattern::createPattern)
12275        Change stepping so that repeat-x, repeat-y, and no-repeat repeat
12276        outside the view area by using large values for repeat interval.
12277
122782006-03-18  Mitz Pettel  <opendarwin.org@mitzpettel.com>
12279
12280        Test: fast/dom/Element/class-attribute-whitespace.html
12281
12282        Reviewed by Darin.
12283
12284        - fix http://bugs.webkit.org/show_bug.cgi?id=7761
12285          Tabs in class attribute not treated as whitespace
12286
12287        * dom/dom_elementimpl.cpp:
12288        (WebCore::isClassWhitespace): Helper function to check if a character
12289        in the class attribute should be treated as whitespace. Added \r and \t.
12290        (WebCore::NamedMappedAttrMapImpl::parseClassAttribute): Instead of creating
12291        a QStringList and iterating it, do everything in one pass over the string.
12292
122932006-03-18  Mitz Pettel  <opendarwin.org@mitzpettel.com>
12294
12295        Test: fast/block/float/vertical-move-relayout.html
12296
12297        Reviewed by Hyatt.
12298
12299        - fix http://bugs.webkit.org/show_bug.cgi?id=6795
12300          Slow image load causes render problem
12301
12302        * rendering/RenderBlock.cpp:
12303        (WebCore::RenderBlock::layoutBlockChildren): Call markAllDescendantsWithFloatsForLayout
12304        when the child's vertical position changes.
12305
123062006-03-18  David Kilzer  <ddkilzer@kilzer.net>
12307
12308        Reviewed by Darin.
12309
12310        - Fix for http://bugs.webkit.org/show_bug.cgi?id=6314
12311        Unclosed <style> element in <head> makes page completely blank
12312
12313        Test: fast/js/exception-linenums-in-html-3.html
12314        Test: fast/js/missing-style-end-tag-js.html
12315        Test: fast/tokenizer/missing-style-end-tag-1.html
12316        Test: fast/tokenizer/missing-style-end-tag-2.html
12317
12318        * khtml/html/htmlparser.cpp:
12319        (WebCore::HTMLParser::handleError): Add check for missing </style> tag and handle
12320        this condition if identified.
12321        * khtml/html/htmltokenizer.cpp:
12322        (WebCore::HTMLTokenizer::parseTag): If parseSpecial() consumes the rest of the
12323        document looking for a </style> tag, reset the state of the tokenizer and
12324        retokenize with no special handling for <style>.  The parser will handle the
12325        missing </style> tag in HTMLParser::handleError().
12326
123272006-03-18  Rob Buis  <buis@kde.org>
12328
12329        Reviewed by Darin.
12330
12331        Fix for http://bugs.webkit.org/show_bug.cgi?id=5351:
12332        SVG: Safari ignores <title> elements
12333
12334        Make SVGTitleElementImpl act the same as HTMLTitleElementImpl,
12335        in the process setting the title on the right triggers.
12336
12337        * ksvg2/svg/SVGTitleElementImpl.cpp:
12338        (SVGTitleElementImpl::SVGTitleElementImpl):
12339        (SVGTitleElementImpl::title):
12340        (SVGTitleElementImpl::closeRenderer):
12341        (SVGTitleElementImpl::insertedIntoDocument):
12342        (SVGTitleElementImpl::removedFromDocument):
12343        (SVGTitleElementImpl::childrenChanged):
12344        * ksvg2/svg/SVGTitleElementImpl.h:
12345
123462006-03-18  Darin Adler  <darin@apple.com>
12347
12348        - another try at fixing Windows build
12349
12350        * WebCore.vcproj/WebCore/WebCore.vcproj: Added EventTargetNodeImpl.h and .cpp.
12351
123522006-03-18  Darin Adler  <darin@apple.com>
12353
12354        - another try at fixing Windows build
12355
12356        * bridge/win/FrameWin.cpp: (WebCore::FrameWin::keyPress): Added EventTargetNodeCast.
12357
123582006-03-18  Darin Adler  <darin@apple.com>
12359
12360        - try to fix Windows build
12361
12362        * bridge/win/FrameWin.h: Remove KURL parameter.
12363        * bridge/win/FrameWin.cpp: (WebCore::FrameWin::urlSelected): Ditto.
12364        * platform/win/TemporaryLinkStubs.cpp: (BrowserExtensionWin::canRunModal): Ditto.
12365
123662006-03-18  Mitz Pettel  <opendarwin.org@mitzpettel.com>
12367
12368        Reviewed by Darin.
12369
12370        - fix leaks caused by the fix for Bugzilla bug 3560
12371
12372        * rendering/RenderContainer.cpp:
12373        (WebCore::RenderContainer::destroyLeftoverChildren): Text renderers with
12374        first-letter pseudo style are children of an existing first-letter inline
12375        that has been updated, and should be destroyed.
12376
123772006-03-18  David Hyatt  <hyatt@apple.com>
12378
12379        Fix for bug 7841, tables, table rows, and table row groups should
12380        all support overflow:hidden.
12381
12382        Reviewed by eric
12383
12384        * css/cssstyleselector.cpp:
12385        (WebCore::CSSStyleSelector::adjustRenderStyle):
12386        * rendering/RenderTable.cpp:
12387        (WebCore::RenderTable::layout):
12388        (WebCore::RenderTable::paint):
12389        (WebCore::RenderTable::getOverflowClipRect):
12390        * rendering/RenderTable.h:
12391        * rendering/RenderTableCol.h:
12392        (WebCore::RenderTableCol::requiresLayer):
12393        * rendering/RenderTableRow.h:
12394        (WebCore::RenderTableRow::requiresLayer):
12395        * rendering/render_box.cpp:
12396        (WebCore::RenderBox::setStyle):
12397        * rendering/render_layer.cpp:
12398        (WebCore::RenderLayer::paintLayer):
12399
124002006-03-17  Alice Liu  <alice.liu@apple.com>
12401
12402        Reviewed by Hyatt.
12403
12404        - fixed http://bugs.webkit.org/show_bug.cgi?id=6999
12405          "Dynamically added link-tag disables the use of change styles
12406           dynamically"
12407
12408        * khtml/html/html_headimpl.cpp:
12409        (WebCore::HTMLLinkElementImpl::process):
12410        - dynamically added link-tags for stylesheets were messing up the
12411          counting of pending stylesheets.  If a head link element
12412          specifies a new stylesheet but the previously specified
12413          stylesheet is still loading, tell the document that stylesheets
12414          are loaded so that there are no remaining requests for it to be
12415          loaded.
12416
124172006-03-17  Geoffrey Garen  <ggaren@apple.com>
12418
12419        Reviewed by Darin.
12420
12421        - Fixed some crashes in event dispatch and settled the question of
12422        when getDocument() can return NULL, removing superfluous NULL checks.
12423
12424        I promise to check in a test case soon, but I need to land this before
12425        the global rename happens, and I left the test file on my other machine.
12426
12427        Here's what I did:
12428
12429        (1) Removed NULL checks for getDocument() in cases where we know it
12430        should not return NULL (which turned out to be all but one). Replaced
12431        with ASSERT inside getDocument(). Tested to ensure there was no
12432        regression @ albertsons.com.
12433
12434        (2) Added the EventTargetNode class, which represents Nodes that
12435        implement the DOM EventTarget interface. Discussed this design with
12436        Maciej and Hyatt. The previous dsign -- assuming that all Nodes were
12437        EventTargets -- made it possible to crash WebKit by, for example,
12438        dispatching a mouse event to a documentType node that was not
12439        associated with a document.
12440
12441        (3) Reflected (2) into the JS bindings and touched JSDOMCore.cpp to
12442        force a re-build.
12443
12444        (4) Using classInfo checking, strengthened type constraints on
12445        JavaScript method dispatch so that you can't finagle JavaScript into,
12446        for example, invoking a document-dependent method belonging to a
12447        node type that's guaranteed to have a document on a node type that may
12448        not have one.
12449
12450        (5) Pushed some IE-specific JS bindings that depend on a node having a
12451        document down from DOMNode to DOMElement. (An element always has a
12452        document.) Tested that Firefox's behavior matched. Confirmed with MSDN.
12453
12454        (6) Updated Objc bindigns to throw an exception if you try to use
12455        the event interface on a node that doesn't support it. Discussed this
12456        design with Maciej and TimH.
12457
12458        (7) Consolidated repeated documentElement-finding code in the Position
12459        class into the Position::documentElement() method. Did the same for
12460        repeated top-level document finding and DocumentImpl::topDocument().
12461
12462        * WebCore+SVG/KDOMHeaders.h:
12463        * WebCore.xcodeproj/project.pbxproj:
12464        * bindings/js/JSDOMCore.cpp:
12465        * bindings/objc/DOM.mm:
12466        (-[DOMNode addEventListener:::]):
12467        (-[DOMNode removeEventListener:::]):
12468        (-[DOMNode dispatchEvent:]):
12469        (-[DOMNode KJS::Bindings::]):
12470        * bridge/mac/MacFrame.mm:
12471        (WebCore::MacFrame::keyEvent):
12472        (WebCore::MacFrame::dispatchCPPEvent):
12473        * bridge/mac/WebCoreFrameBridge.mm:
12474        (-[WebCoreFrameBridge setSelectedDOMRange:affinity:closeTyping:]):
12475        (-[WebCoreFrameBridge smartDeleteRangeForProposedRange:]):
12476        * css/css_base.cpp:
12477        (WebCore::StyleBaseImpl::baseURL):
12478        * css/css_computedstyle.cpp:
12479        (WebCore::CSSComputedStyleDeclarationImpl::getPropertyCSSValue):
12480        * css/css_valueimpl.cpp:
12481        (WebCore::CSSMutableStyleDeclarationImpl::removeProperty):
12482        (WebCore::CSSMutableStyleDeclarationImpl::setProperty):
12483        * css/cssstyleselector.cpp:
12484        (WebCore::CSSStyleSelector::applyProperty):
12485        * dom/Attr.idl:
12486        * dom/CharacterData.idl:
12487        * dom/CharacterDataImpl.cpp:
12488        (WebCore::CharacterDataImpl::CharacterDataImpl):
12489        (WebCore::CharacterDataImpl::rendererIsNeeded):
12490        (WebCore::CharacterDataImpl::dump):
12491        * dom/CharacterDataImpl.h:
12492        * dom/ContainerNodeImpl.cpp:
12493        (WebCore::ContainerNodeImpl::ContainerNodeImpl):
12494        (WebCore::ContainerNodeImpl::removeChild):
12495        (WebCore::ContainerNodeImpl::attach):
12496        (WebCore::ContainerNodeImpl::detach):
12497        (WebCore::ContainerNodeImpl::insertedIntoDocument):
12498        (WebCore::ContainerNodeImpl::removedFromDocument):
12499        (WebCore::ContainerNodeImpl::insertedIntoTree):
12500        (WebCore::ContainerNodeImpl::removedFromTree):
12501        (WebCore::ContainerNodeImpl::setFocus):
12502        (WebCore::ContainerNodeImpl::setActive):
12503        (WebCore::ContainerNodeImpl::setHovered):
12504        (WebCore::dispatchChildInsertionEvents):
12505        (WebCore::dispatchChildRemovalEvents):
12506        * dom/ContainerNodeImpl.h:
12507        * dom/DOMImplementationImpl.cpp:
12508        (WebCore::DOMImplementationImpl::createDocument):
12509        * dom/DocumentImpl.cpp:
12510        (WebCore::DocumentImpl::removeAllEventListenersFromAllNodes):
12511        (WebCore::DocumentImpl::removeAllDisconnectedNodeEventListeners):
12512        (WebCore::DocumentImpl::getAccObjectCache):
12513        (WebCore::DocumentImpl::setFocusNode):
12514        (WebCore::DocumentImpl::topDocument):
12515        * dom/Element.idl:
12516        * dom/EventTargetNodeImpl.cpp: Added.
12517        (WebCore::EventTargetNodeImpl::EventTargetNodeImpl):
12518        (WebCore::EventTargetNodeImpl::~EventTargetNodeImpl):
12519        (WebCore::EventTargetNodeImpl::insertedIntoDocument):
12520        (WebCore::EventTargetNodeImpl::removedFromDocument):
12521        (WebCore::EventTargetNodeImpl::addEventListener):
12522        (WebCore::EventTargetNodeImpl::removeEventListener):
12523        (WebCore::EventTargetNodeImpl::removeAllEventListeners):
12524        (WebCore::EventTargetNodeImpl::handleLocalEvents):
12525        (WebCore::EventTargetNodeImpl::dispatchGenericEvent):
12526        (WebCore::EventTargetNodeImpl::dispatchEvent):
12527        (WebCore::EventTargetNodeImpl::dispatchSubtreeModifiedEvent):
12528        (WebCore::EventTargetNodeImpl::dispatchWindowEvent):
12529        (WebCore::EventTargetNodeImpl::dispatchUIEvent):
12530        (WebCore::EventTargetNodeImpl::dispatchKeyEvent):
12531        (WebCore::EventTargetNodeImpl::dispatchMouseEvent):
12532        (WebCore::EventTargetNodeImpl::dispatchSimulatedMouseEvent):
12533        (WebCore::EventTargetNodeImpl::dispatchWheelEvent):
12534        (WebCore::EventTargetNodeImpl::dispatchHTMLEvent):
12535        (WebCore::EventTargetNodeImpl::removeHTMLEventListener):
12536        (WebCore::EventTargetNodeImpl::setHTMLEventListener):
12537        (WebCore::EventTargetNodeImpl::getHTMLEventListener):
12538        (WebCore::EventTargetNodeImpl::disabled):
12539        (WebCore::EventTargetNodeImpl::defaultEventHandler):
12540        (WebCore::EventTargetNodeImpl::dump):
12541        * dom/EventTargetNodeImpl.h: Added.
12542        (WebCore::EventTargetNodeImpl::isEventTargetNode):
12543        (WebCore::EventTargetNodeImpl::preDispatchEventHandler):
12544        (WebCore::EventTargetNodeImpl::postDispatchEventHandler):
12545        (WebCore::EventTarget):
12546        (WebCore::forbidEventDispatch):
12547        (WebCore::allowEventDispatch):
12548        (WebCore::eventDispatchForbidden):
12549        * dom/NodeImpl.cpp:
12550        (WebCore::NodeImpl::NodeImpl):
12551        (WebCore::NodeImpl::~NodeImpl):
12552        (WebCore::NodeImpl::dump):
12553        (WebCore::NodeImpl::detach):
12554        (WebCore::NodeImpl::insertedIntoDocument):
12555        (WebCore::NodeImpl::removedFromDocument):
12556        * dom/NodeImpl.h:
12557        (WebCore::NodeImpl::isEventTargetNode):
12558        (WebCore::NodeImpl::isLink):
12559        (WebCore::NodeImpl::getDocument):
12560        (WebCore::NodeImpl::inDocument):
12561        * dom/dom2_eventsimpl.cpp:
12562        (WebCore::MouseRelatedEventImpl::receivedTarget):
12563        * dom/dom2_rangeimpl.cpp:
12564        (WebCore::RangeImpl::commonAncestorContainer):
12565        * dom/dom_elementimpl.cpp:
12566        (WebCore::inHTMLDocument):
12567        (WebCore::ElementImpl::focus):
12568        (WebCore::ElementImpl::blur):
12569        (WebCore::StyledElementImpl::parseMappedAttribute):
12570        * dom/dom_position.cpp:
12571        (WebCore::Position::documentElement):
12572        * dom/dom_position.h:
12573        * editing/ReplaceSelectionCommand.cpp:
12574        (WebCore::computeAndStoreNodeDesiredStyle):
12575        * editing/SelectionController.cpp:
12576        (WebCore::SelectionController::needsCaretRepaint):
12577        * editing/visible_units.cpp:
12578        (WebCore::previousBoundary):
12579        (WebCore::nextBoundary):
12580        (WebCore::previousLinePosition):
12581        (WebCore::nextLinePosition):
12582        (WebCore::startOfDocument):
12583        (WebCore::endOfDocument):
12584        * khtml/ecma/kjs_dom.cpp:
12585        (KJS::DOMNode::mark):
12586        (KJS::DOMNode::getValueProperty):
12587        (KJS::DOMNode::putValueProperty):
12588        (KJS::DOMNodeProtoFunc::callAsFunction):
12589        (KJS::DOMEventTargetNode::DOMEventTargetNode):
12590        (KJS::DOMEventTargetNode::getOwnPropertySlot):
12591        (KJS::DOMEventTargetNode::getValueProperty):
12592        (KJS::DOMEventTargetNode::put):
12593        (KJS::DOMEventTargetNode::putValueProperty):
12594        (KJS::DOMEventTargetNode::setListener):
12595        (KJS::DOMEventTargetNode::getListener):
12596        (KJS::DOMEventTargetNode::pushEventHandlerScope):
12597        (KJS::DOMEventTargetNodeProtoFunc::callAsFunction):
12598        (KJS::):
12599        (KJS::DOMDocument::DOMDocument):
12600        (KJS::DOMDocument::getOwnPropertySlot):
12601        (KJS::DOMDocument::put):
12602        (KJS::DOMDocument::putValueProperty):
12603        (KJS::DOMDocumentProtoFunc::callAsFunction):
12604        (KJS::DOMElement::DOMElement):
12605        (KJS::DOMElement::getValueProperty):
12606        (KJS::DOMElement::put):
12607        (KJS::DOMElement::putValueProperty):
12608        (KJS::DOMElement::getOwnPropertySlot):
12609        (KJS::DOMElementProtoFunc::callAsFunction):
12610        (KJS::checkNodeSecurity):
12611        * khtml/ecma/kjs_dom.h:
12612        (KJS::DOMNode::):
12613        (KJS::DOMEventTargetNode::):
12614        (KJS::DOMElement::):
12615        * khtml/ecma/kjs_events.cpp:
12616        (KJS::JSLazyEventListener::parseCode):
12617        (KJS::getNodeEventListener):
12618        * khtml/ecma/kjs_html.cpp:
12619        (KJS::HTMLElement::bodyGetter):
12620        (KJS::HTMLElement::anchorGetter):
12621        (KJS::HTMLElement::getValueProperty):
12622        (KJS::HTMLElement::bodySetter):
12623        * khtml/ecma/kjs_views.cpp:
12624        (KJS::DOMAbstractViewProtoFunc::callAsFunction):
12625        * khtml/html/HTMLFormElementImpl.cpp:
12626        (WebCore::HTMLFormElementImpl::registerFormElement):
12627        (WebCore::HTMLFormElementImpl::removeFormElement):
12628        * khtml/html/HTMLGenericFormElementImpl.cpp:
12629        (WebCore::HTMLGenericFormElementImpl::insertedIntoTree):
12630        * khtml/html/HTMLInputElementImpl.cpp:
12631        (WebCore::HTMLInputElementImpl::~HTMLInputElementImpl):
12632        (WebCore::HTMLInputElementImpl::focus):
12633        * khtml/html/HTMLOptionElementImpl.cpp:
12634        (WebCore::HTMLOptionElementImpl::text):
12635        * khtml/html/HTMLSelectElementImpl.cpp:
12636        (WebCore::HTMLSelectElementImpl::~HTMLSelectElementImpl):
12637        * khtml/html/HTMLTextAreaElementImpl.cpp:
12638        (WebCore::HTMLTextAreaElementImpl::~HTMLTextAreaElementImpl):
12639        * khtml/html/html_baseimpl.cpp:
12640        (WebCore::HTMLBodyElementImpl::insertedIntoDocument):
12641        (WebCore::HTMLFrameElementImpl::isURLAllowed):
12642        (WebCore::HTMLFrameElementImpl::openURL):
12643        (WebCore::HTMLFrameElementImpl::frameWidth):
12644        (WebCore::HTMLFrameElementImpl::frameHeight):
12645        * khtml/html/html_imageimpl.cpp:
12646        (WebCore::HTMLImageLoader::~HTMLImageLoader):
12647        (WebCore::HTMLImageLoader::updateFromElement):
12648        (WebCore::HTMLImageLoader::notifyFinished):
12649        (WebCore::HTMLImageElementImpl::width):
12650        (WebCore::HTMLImageElementImpl::height):
12651        (WebCore::HTMLMapElementImpl::~HTMLMapElementImpl):
12652        * khtml/html/html_inlineimpl.cpp:
12653        (WebCore::HTMLAnchorElementImpl::defaultEventHandler):
12654        * khtml/html/htmltokenizer.cpp:
12655        (WebCore::HTMLTokenizer::notifyFinished):
12656        * ksvg2/svg/SVGAnimateColorElementImpl.cpp:
12657        (SVGAnimateColorElementImpl::handleTimerEvent):
12658        * ksvg2/svg/SVGAnimateElementImpl.cpp:
12659        (SVGAnimateElementImpl::handleTimerEvent):
12660        * ksvg2/svg/SVGAnimateTransformElementImpl.cpp:
12661        (SVGAnimateTransformElementImpl::handleTimerEvent):
12662        * ksvg2/svg/SVGAnimationElementImpl.cpp:
12663        (SVGAnimationElementImpl::closeRenderer):
12664        * ksvg2/svg/SVGDOMImplementationImpl.cpp:
12665        * ksvg2/svg/SVGDocumentImpl.cpp:
12666        (WebCore::SVGDocumentImpl::dispatchRecursiveEvent):
12667        * ksvg2/svg/SVGDocumentImpl.h:
12668        * ksvg2/svg/SVGImageElementImpl.cpp:
12669        * ksvg2/svg/SVGSetElementImpl.cpp:
12670        (SVGSetElementImpl::handleTimerEvent):
12671        * kwq/KWQAccObject.mm:
12672        (-[KWQAccObject mouseButtonListener]):
12673        (-[KWQAccObject accessibilityPerformAction:]):
12674        * kwq/KWQTextArea.mm:
12675        (-[KWQTextAreaTextView dispatchHTMLEvent:]):
12676        * page/Frame.cpp:
12677        (WebCore::dispatchKHTMLEditableContentChanged):
12678        * page/FrameView.cpp:
12679        (WebCore::FrameView::dispatchDragEvent):
12680        (WebCore::FrameView::dispatchMouseEvent):
12681        (WebCore::FrameView::viewportWheelEvent):
12682        * rendering/render_layer.cpp:
12683        (WebCore::RenderLayer::scrollToOffset):
12684        * rendering/render_object.cpp:
12685        (WebCore::RenderObject::shouldSelect):
12686        (WebCore::RenderObject::backslashAsCurrencySymbol):
12687        * rendering/render_replaced.cpp:
12688        (WebCore::RenderWidget::sendConsumedMouseUp):
12689
126902006-03-17  David Hyatt  <hyatt@apple.com>
12691
12692        Fix for 7837, make opacity work with table rows.  Make transparent backgrounds
12693        stack properly in cells (so that the layers behind can show through like they
12694        should).
12695
12696        Reviewed by beth
12697
12698        * rendering/RenderTableCell.cpp:
12699        (WebCore::RenderTableCell::requiresLayer):
12700        (WebCore::RenderTableCell::paintBackgroundsBehindCell):
12701        (WebCore::RenderTableCell::paintBoxDecorations):
12702        * rendering/RenderTableCell.h:
12703        * rendering/RenderTableRow.cpp:
12704        (WebCore::RenderTableRow::paint):
12705        * rendering/RenderTableRow.h:
12706        (WebCore::RenderTableRow::requiresLayer):
12707        * rendering/RenderTableSection.cpp:
12708        (WebCore::RenderTableSection::paint):
12709        * rendering/render_layer.cpp:
12710        (WebCore::RenderLayer::updateLayerPosition):
12711        (WebCore::RenderLayer::isTransparent):
12712        (WebCore::RenderLayer::transparentAncestor):
12713        (WebCore::RenderLayer::beginTransparencyLayers):
12714        (WebCore::RenderLayer::paintLayer):
12715        (WebCore::RenderLayer::absoluteBoundingBox):
12716        * rendering/render_object.cpp:
12717        (WebCore::RenderObject::requiresLayer):
12718        * rendering/render_object.h:
12719        (WebCore::RenderObject::isTransparent):
12720        (WebCore::RenderObject::opacity):
12721
127222006-03-17  Maciej Stachowiak  <mjs@apple.com>
12723
12724        Reviewed by Adele.
12725
12726        - clean up ResourceRequest to be closer to a proper request interface
12727
12728        * page/ResourceRequest.h: folded URL into ResourceRequest, other cleanup
12729        (WebCore::ResourceRequest::ResourceRequest): Add new explicit constructor
12730        that takes a KURL.
12731        (WebCore::ResourceRequest::url): getter for KURL
12732        (WebCore::ResourceRequest::setURL): corresponding setter
12733        (WebCore::ResourceRequest::referrer): new getter for referrer, instead
12734        of storing it in m_metaData (it was the only remaining real use of it)
12735        (WebCore::ResourceRequest::setReferrer): corresponding setter
12736        * bridge/BrowserExtension.h:
12737        - removed unused openURLRequest and openURLNotify methods
12738        - folded KURL parameter into ResourceRequest
12739        * bridge/mac/BrowserExtensionMac.h: remove KURL args from methods that
12740        also take a ResourceRequest
12741        * bridge/mac/BrowserExtensionMac.mm:
12742        (WebCore::BrowserExtensionMac::createNewWindow): adjust for ResourceRequest
12743        changes.
12744        * bridge/mac/MacFrame.h: remove KURL args from methods that also take a
12745        ResourceRequest
12746        * bridge/mac/MacFrame.mm:
12747        (WebCore::MacFrame::openURLRequest): adjust for ResourceRequest changes
12748        (WebCore::MacFrame::submitForm): ditto
12749        (WebCore::MacFrame::urlSelected): ditto
12750        * bridge/mac/WebCoreFrameBridge.mm:
12751        (-[WebCoreFrameBridge openURL:reload:contentType:refresh:lastModified:pageCache:]):
12752        adjust for ResourceRequest changes
12753        * bridge/win/BrowserExtensionWin.h:
12754        * khtml/ecma/kjs_window.cpp:
12755        (KJS::createNewWindow): adjust for ResourceRequest changes
12756        (KJS::WindowFunc::callAsFunction): ditto
12757        * page/Frame.cpp:
12758        (WebCore::Frame::didOpenURL): adjust for ResourceRequest changes
12759        (WebCore::Frame::receivedFirstData): ditto
12760        (WebCore::Frame::begin): ditto
12761        (WebCore::Frame::completeURL): ditto
12762        (WebCore::Frame::changeLocation): ditto
12763        (WebCore::Frame::urlSelected): ditto
12764        (WebCore::Frame::requestFrame): ditto
12765        (WebCore::Frame::submitForm): ditto
12766        * page/Frame.h:
12767        * platform/win/TemporaryLinkStubs.cpp:
12768        (BrowserExtensionWin::createNewWindow): ditto
12769
127702006-03-17  Adele Peterson  <adele@apple.com>
12771
12772        Reviewed by Tim H.
12773
12774        Make default backgrounds for new text fields white
12775        instead of transparent.  This will move to html4.css
12776        when we flip the switch.
12777
12778        Test added:
12779        * fast/forms/input-appearance-default-bkcolor.html
12780
12781        * rendering/render_theme_mac.mm:
12782        (WebCore::RenderThemeMac::adjustTextFieldStyle):
12783
127842006-03-17  David Hyatt  <hyatt@apple.com>
12785
12786        Make table sections and table captions support opacity.
12787
12788        Reviewed by darin
12789
12790        Covered by some of the new Mozilla table tests.
12791
12792        * rendering/RenderTable.cpp:
12793        (WebCore::RenderTable::paint):
12794
127952006-03-17  Mitz Pettel  <opendarwin.org@mitzpettel.com>
12796
12797        Reviewed by Maciej, landed by Beth.
12798
12799        fix http://bugs.webkit.org/show_bug.cgi?id=3560
12800        page with use of first-letter crashes reproducibly in
12801        RenderObject::renderArena()
12802
12803        * rendering/RenderBlock.cpp:
12804        (WebCore::RenderBlock::updateFirstLetter): Pass the first-leter
12805        renderer to the remaining text fragment.
12806        * rendering/RenderContainer.cpp:
12807        (WebCore::RenderContainer::destroyLeftoverChildren): Do not destroy
12808        first-letter renderers since they are destroyed by their remaining
12809        text now.
12810        * rendering/RenderTextFragment.cpp:
12811        (khtml::RenderTextFragment::RenderTextFragment):
12812        (khtml::RenderTextFragment::destroy): Destroy the first-letter
12813        renderer.
12814        * rendering/RenderTextFragment.h:
12815        (khtml::RenderTextFragment::firstLetter):
12816
128172006-03-17  Adele Peterson  <adele@apple.com>
12818
12819        Reviewed by Eric.
12820
12821        - Fix for http://bugs.webkit.org/show_bug.cgi?id=7798
12822        New text fields are much wider than they should be for a specified size
12823
12824        I changed the character we use to calculate the width from "w" back to "0",
12825        which matches our old behavior.  The original change was intentional, to try
12826        to better match other browsers, but "w" is a little too wide.  For now, lets
12827        go back to the old behavior.
12828
12829        I also set the minWidth = maxWidth.  We were trying to match a WinIE quirk,
12830        but that caused some odd behavior with growth of the text field in table cells.
12831
12832        * rendering/RenderTextField.cpp: (WebCore::RenderTextField::calcMinMaxWidth):
12833
128342006-03-17  Eric Seidel  <eseidel@apple.com>
12835
12836        Reviewed by adele.
12837
12838        Fix win32 build.
12839        Add PageWin class.
12840        Add previously forgotten KeyEventWin class.
12841        Pass MouseEvent() instead of 0 in a couple places to make compiler happy.
12842
12843        * WebCore.vcproj/WebCore/WebCore.vcproj:
12844        * bridge/win/BrowserExtensionWin.h:
12845        * bridge/win/FrameWin.cpp:
12846        (WebCore::FrameWin::urlSelected):
12847        (WebCore::FrameWin::keyPress):
12848        * bridge/win/FrameWin.h:
12849        * bridge/win/PageWin.cpp: Added.
12850        (WebCore::rootWindowForFrame):
12851        (WebCore::Page::windowRect):
12852        (WebCore::Page::setWindowRect):
12853        * page/FrameView.cpp:
12854        (WebCore::FrameView::updateDragAndDrop):
12855        (WebCore::FrameView::hoverTimerFired):
12856        * page/Page.h:
12857        (WebCore::Page::mainFrame):
12858        * platform/win/KeyEventWin.cpp: Added.
12859        (WebCore::KeyEvent::KeyEvent):
12860        * platform/win/TemporaryLinkStubs.cpp:
12861        (WebCore::findNextWordFromIndex):
12862        (FrameWin::passMouseDownEventToWidget):
12863        (FrameWin::scheduleClose):
12864        (BrowserExtensionWin::createNewWindow):
12865        (WebCore::findWordBoundary):
12866        (FrameWin::registerCommandForUndo):
12867        (FrameWin::markMisspellingsInAdjacentWords):
12868        (FrameWin::respondToChangedContents):
12869
128702006-03-17  David Hyatt  <hyatt@apple.com>
12871
12872        Fix pixel test regression in fast/table/overflowHidden.html.  There was
12873        a borderTopExtra error made in the new boundingBox code for layers that
12874        caused the bottom half of cells with opacity set to be clipped out.
12875
12876        Reviewed by andersca
12877
12878        * rendering/render_layer.cpp:
12879        (WebCore::RenderLayer::absoluteBoundingBox):
12880
128812006-03-17  David Hyatt  <hyatt@apple.com>
12882
12883        Give table rows and sections accurate dimensions.  Fix absolutePosition
12884        to work for table cells properly.  Add an absolutePositionForContent method
12885        to make sure callers that want to deal with the content of a cell handle
12886        the cell's extra space correctly.
12887
12888        Reviewed by darin
12889
12890        Existing layout tests cover this change.
12891
12892        * bridge/mac/WebCoreFrameBridge.mm:
12893        (-[WebCoreFrameBridge copyRenderNode:copier:]):
12894        * dom/ContainerNodeImpl.cpp:
12895        (WebCore::ContainerNodeImpl::getUpperLeftCorner):
12896        (WebCore::ContainerNodeImpl::getLowerRightCorner):
12897        * dom/NodeImpl.cpp:
12898        (WebCore::NodeImpl::getRect):
12899        * editing/SelectionController.cpp:
12900        (WebCore::SelectionController::layout):
12901        (WebCore::SelectionController::caretRect):
12902        * editing/visible_units.cpp:
12903        (WebCore::previousLinePosition):
12904        (WebCore::nextLinePosition):
12905        * khtml/html/HTMLInputElementImpl.cpp:
12906        (WebCore::HTMLInputElementImpl::defaultEventHandler):
12907        * kwq/KWQRenderTreeDebug.cpp:
12908        (operator<<):
12909        * rendering/RenderBlock.cpp:
12910        (WebCore::RenderBlock::selectionGapRects):
12911        (WebCore::RenderBlock::positionForCoordinates):
12912        * rendering/RenderContainer.cpp:
12913        (WebCore::RenderContainer::positionForCoordinates):
12914        (WebCore::RenderContainer::lineBoxRects):
12915        * rendering/RenderTableCell.cpp:
12916        (WebCore::RenderTableCell::computeAbsoluteRepaintRect):
12917        (WebCore::RenderTableCell::absolutePosition):
12918        * rendering/RenderTableRow.cpp:
12919        (WebCore::RenderTableRow::addChild):
12920        (WebCore::RenderTableRow::getAbsoluteRepaintRect):
12921        (WebCore::RenderTableRow::nodeAtPoint):
12922        * rendering/RenderTableRow.h:
12923        * rendering/RenderTableSection.cpp:
12924        (WebCore::RenderTableSection::ensureRows):
12925        (WebCore::RenderTableSection::addCell):
12926        (WebCore::RenderTableSection::layoutRows):
12927        (WebCore::RenderTableSection::recalcCells):
12928        (WebCore::RenderTableSection::nodeAtPoint):
12929        * rendering/RenderTableSection.h:
12930        * rendering/RenderText.cpp:
12931        (WebCore::RenderText::lineBoxRects):
12932        (WebCore::RenderText::positionForCoordinates):
12933        (WebCore::RenderText::caretRect):
12934        (WebCore::RenderText::posOfChar):
12935        (WebCore::RenderText::selectionRect):
12936        * rendering/render_box.cpp:
12937        (WebCore::RenderBox::absolutePosition):
12938        (WebCore::RenderBox::caretRect):
12939        * rendering/render_br.cpp:
12940        (WebCore::RenderBR::caretRect):
12941        * rendering/render_canvas.h:
12942        * rendering/render_flow.cpp:
12943        (WebCore::RenderFlow::caretRect):
12944        * rendering/render_frames.cpp:
12945        (WebCore::RenderPart::updateWidgetPosition):
12946        * rendering/render_layer.cpp:
12947        (WebCore::RenderLayer::updateLayerPosition):
12948        * rendering/render_object.cpp:
12949        (WebCore::RenderObject::absoluteRects):
12950        (WebCore::RenderObject::absoluteBoundingBoxRect):
12951        (WebCore::RenderObject::absolutePosition):
12952        * rendering/render_object.h:
12953        (WebCore::RenderObject::absolutePositionForContent):
12954        (WebCore::RenderObject::offsetHeight):
12955        * rendering/render_replaced.cpp:
12956        (WebCore::RenderWidget::updateWidgetPosition):
12957
129582006-03-17  Adele Peterson  <adele@apple.com>
12959
12960        Reviewed by Hyatt.
12961
12962        WebCore part of fix for:
12963        http://bugs.webkit.org/show_bug.cgi?id=7797
12964        Can't set background color on new text fields
12965
12966        Bezeled NSTextFieldCells always draw a background, so instead we'll use a new
12967        WebKitSystemInterface function to just draw the border of the cell.
12968
12969        Since the theme is drawing the border and the engine is drawing the background
12970        (which is different from the other form controls), we have to make sure we let the
12971        theme paint the border after the engine paints the background.
12972
12973        * platform/mac/WebCoreGraphicsBridge.h:
12974        * platform/mac/WebCoreGraphicsBridge.m:
12975        (-[WebCoreGraphicsBridge drawBezeledTextFieldCell:enabled:]):
12976        * rendering/render_box.cpp: (WebCore::RenderBox::paintBoxDecorations):
12977        * rendering/render_theme.cpp:
12978        (WebCore::RenderTheme::paint):
12979        (WebCore::RenderTheme::paintBorder):
12980        (WebCore::RenderTheme::shouldPaintBorder):
12981        * rendering/render_theme.h:
12982        * rendering/render_theme_mac.mm:
12983        (WebCore::RenderThemeMac::paintTextField):
12984        (WebCore::RenderThemeMac::setTextFieldCellState):
12985
129862006-03-16  Darin Adler  <darin@apple.com>
12987
12988        Reviewed by Eric.
12989
12990        - removed KWQWindowWidget
12991        - changed most event handling to use references instead of pointers
12992        - chagned PageMac to no longer be a subclass of Page
12993
12994        Yes, I know there's no detail in this ChangeLog entry.
12995        No, I don't plan to make a habit of doing things this way.
12996        Yes, this will probably break the Windows build again.
12997
12998        * WebCore.xcodeproj/project.pbxproj:
12999        * bridge/mac/BrowserExtensionMac.mm:
13000        (WebCore::BrowserExtensionMac::createNewWindow):
13001        * bridge/mac/FrameViewMac.mm:
13002        * bridge/mac/MacFrame.h:
13003        * bridge/mac/MacFrame.mm:
13004        (WebCore::MacFrame::MacFrame):
13005        (WebCore::MacFrame::~MacFrame):
13006        (WebCore::MacFrame::wheelEvent):
13007        (WebCore::MacFrame::keyEvent):
13008        (WebCore::MacFrame::khtmlMousePressEvent):
13009        (WebCore::MacFrame::khtmlMouseMoveEvent):
13010        (WebCore::MacFrame::khtmlMouseReleaseEvent):
13011        (WebCore::MacFrame::mouseDown):
13012        (WebCore::MacFrame::mouseDragged):
13013        (WebCore::MacFrame::mouseUp):
13014        (WebCore::MacFrame::mouseMoved):
13015        (WebCore::MacFrame::sendContextMenuEvent):
13016        (WebCore::MacFrame::setBridge):
13017        (WebCore::MacFrame::dragSourceMovedTo):
13018        (WebCore::MacFrame::dragSourceEndedAt):
13019        (WebCore::MacFrame::dispatchDragSrcEvent):
13020        * bridge/mac/PageMac.h: Removed.
13021        * bridge/mac/PageMac.mm: Added.
13022        (WebCore::Page::Page):
13023        (WebCore::Page::windowRect):
13024        (WebCore::Page::setWindowRect):
13025        * bridge/mac/WebCoreFrameBridge.h:
13026        * bridge/mac/WebCoreFrameBridge.mm:
13027        (-[WebCoreFrameBridge page]):
13028        (-[WebCoreFrameBridge initializeSettings:]):
13029        (globalPoint):
13030        (createMouseEventFromDraggingInfo):
13031        (-[WebCoreFrameBridge dragOperationForDraggingInfo:]):
13032        (-[WebCoreFrameBridge dragExitedWithDraggingInfo:]):
13033        (-[WebCoreFrameBridge concludeDragForDraggingInfo:]):
13034        (-[WebCoreFrameBridge dragSourceMovedTo:]):
13035        (-[WebCoreFrameBridge dragSourceEndedAt:operation:]):
13036        * bridge/mac/WebCoreFrameNamespaces.mm:
13037        (WebCore::):
13038        * bridge/mac/WebCorePageBridge.h:
13039        * bridge/mac/WebCorePageBridge.mm:
13040        (-[WebCorePageBridge init]):
13041        * dom/DocumentImpl.cpp:
13042        (WebCore::DocumentImpl::prepareMouseEvent):
13043        (WebCore::DocumentImpl::defaultEventHandler):
13044        * dom/DocumentImpl.h:
13045        * dom/NodeImpl.cpp:
13046        (WebCore::NodeImpl::dispatchMouseEvent):
13047        (WebCore::NodeImpl::dispatchKeyEvent):
13048        (WebCore::NodeImpl::dispatchWheelEvent):
13049        * dom/NodeImpl.h:
13050        * dom/dom2_eventsimpl.cpp:
13051        (WebCore::KeyboardEventImpl::KeyboardEventImpl):
13052        * dom/dom2_eventsimpl.h:
13053        (WebCore::KeyboardEventImpl::keyEvent):
13054        * khtml/ecma/kjs_window.cpp:
13055        (KJS::Window::getValueProperty):
13056        (KJS::WindowFunc::callAsFunction):
13057        * khtml/html/html_inlineimpl.cpp:
13058        (WebCore::HTMLAnchorElementImpl::defaultEventHandler):
13059        * ksvg2/svg/SVGDocumentImpl.cpp:
13060        * ksvg2/svg/SVGDocumentImpl.h:
13061        * kwq/KWQWindowWidget.h:
13062        * kwq/KWQWindowWidget.mm: Removed.
13063        * page/Frame.cpp:
13064        (WebCore::Frame::selectClosestWordFromMouseEvent):
13065        (WebCore::Frame::handleMousePressEventDoubleClick):
13066        (WebCore::Frame::handleMousePressEventTripleClick):
13067        (WebCore::Frame::handleMousePressEventSingleClick):
13068        (WebCore::Frame::khtmlMousePressEvent):
13069        (WebCore::Frame::handleMouseMoveEventSelection):
13070        (WebCore::Frame::khtmlMouseMoveEvent):
13071        (WebCore::Frame::khtmlMouseReleaseEvent):
13072        (WebCore::Frame::khtmlMouseDoubleClickEvent):
13073        (WebCore::Frame::passWidgetMouseDownEventToWidget):
13074        * page/Frame.h:
13075        * page/FrameView.cpp:
13076        (WebCore::FrameView::viewportMousePressEvent):
13077        (WebCore::FrameView::viewportMouseDoubleClickEvent):
13078        (WebCore::FrameView::viewportMouseMoveEvent):
13079        (WebCore::FrameView::viewportMouseReleaseEvent):
13080        (WebCore::FrameView::dispatchDragEvent):
13081        (WebCore::FrameView::updateDragAndDrop):
13082        (WebCore::FrameView::cancelDragAndDrop):
13083        (WebCore::FrameView::performDragAndDrop):
13084        (WebCore::FrameView::dispatchMouseEvent):
13085        (WebCore::FrameView::viewportWheelEvent):
13086        * page/FrameView.h:
13087        * page/MouseEventWithHitTestResults.h:
13088        (WebCore::MouseEventWithHitTestResults::MouseEventWithHitTestResults):
13089        (WebCore::MouseEventWithHitTestResults::event):
13090        * page/Page.cpp:
13091        (WebCore::Page::init):
13092        * page/Page.h:
13093        (WebCore::Page::bridge):
13094        * platform/KeyEvent.h:
13095        (WebCore::KeyEvent::isAutoRepeat):
13096        * platform/MouseEvent.h:
13097        (WebCore::MouseEvent::MouseEvent):
13098        * platform/mac/KeyEventMac.mm:
13099        (WebCore::KeyEvent::KeyEvent):
13100        * platform/win/TemporaryLinkStubs.cpp:
13101        (FrameView::isFrameView):
13102        * rendering/render_form.cpp:
13103        (WebCore::RenderFormElement::clicked):
13104
131052006-03-16  Eric Seidel  <eseidel@apple.com>
13106
13107        Reviewed by darin.
13108
13109        Add additional hackish Font, focusring and caret code.
13110        http://bugs.webkit.org/show_bug.cgi?id=7803
13111
13112        * WebCore.vcproj/WebCore/WebCore.vcproj:
13113        * WebCore.vcproj/WebCore/build-generated-files.sh:
13114        * bindings/js/JSCanvasRenderingContext2DBase.cpp:
13115        * bridge/win/FrameWin.cpp:
13116        (WebCore::FrameWin::keyPress):
13117        * bridge/win/FrameWin.h:
13118        * html/CanvasRenderingContext2D.h:
13119        * platform/IntSize.h:
13120        * platform/KeyEvent.h:
13121        * platform/cairo/GraphicsContextCairo.cpp:
13122        (WebCore::GraphicsContext::drawArc):
13123        (WebCore::GraphicsContext::drawFocusRing):
13124        * platform/win/FontWin.cpp:
13125        (WebCore::hackishExtentForString):
13126        (WebCore::Font::floatWidth):
13127        (WebCore::convertRange):
13128        (WebCore::Font::drawText):
13129        (WebCore::Font::drawHighlightForText):
13130        (WebCore::Font::selectionRectForText):
13131        (WebCore::Font::checkSelectionPoint):
13132        (WebCore::Font::drawLineForText):
13133        (WebCore::Font::misspellingLineThickness):
13134        * platform/win/IntSizeWin.cpp: Added.
13135        (WebCore::IntSize::IntSize):
13136        (WebCore::IntSize::operator SIZE):
13137        * platform/win/ScrollViewWin.cpp:
13138        (WebCore::ScrollView::visibleContentRect):
13139        * platform/win/TemporaryLinkStubs.cpp:
13140        (Widget::disableFlushDrawing):
13141        (GraphicsContext::GraphicsContext):
13142        (QListBox::setSelected):
13143        (QListBox::sizeForNumberOfLines):
13144        (QListBox::isSelected):
13145        (QListBox::appendItem):
13146        (QListBox::doneAppendingItems):
13147        (FrameWin::locationbarVisible):
13148        (FrameWin::canUndo):
13149        (FrameWin::mimeTypeForFileName):
13150        (FrameWin::issueTransposeCommand):
13151        (RenderCanvasImage::setNeedsImageUpdate):
13152        (FrameWin::shouldChangeSelection):
13153        (FrameWin::respondToChangedSelection):
13154        (FrameWin::clearRecordedFormValues):
13155        (FrameWin::recordFormValue):
13156        (BrowserExtensionWin::getHistoryLength):
13157        (Widget::setIsSelected):
13158        (GraphicsContext::selectedTextBackgroundColor):
13159        (GraphicsContext::addRoundedRectClip):
13160        (QScrollBar::QScrollBar):
13161        (QScrollBar::~QScrollBar):
13162        (QScrollBar::setSteps):
13163        (QScrollBar::scroll):
13164        (QScrollBar::setValue):
13165        (QScrollBar::setKnobProportion):
13166        (QListBox::QListBox):
13167        (QListBox::~QListBox):
13168        (QListBox::setSelectionMode):
13169        (QListBox::setFont):
13170        * rendering/render_canvasimage.h:
13171
131722006-03-16  Maciej Stachowiak  <mjs@apple.com>
13173
13174        Reviewed by Eric.
13175
13176        - renamed URLArgs to ResourceRequest, split it into its own header
13177        - moved methods to get and set ResourceRequest to Frame
13178
13179        * WebCore.xcodeproj/project.pbxproj:
13180        * bridge/BrowserExtension.h:
13181        * bridge/mac/BrowserExtensionMac.h:
13182        * bridge/mac/BrowserExtensionMac.mm:
13183        (WebCore::BrowserExtensionMac::openURLRequest):
13184        (WebCore::BrowserExtensionMac::createNewWindow):
13185        * bridge/mac/MacFrame.h:
13186        * bridge/mac/MacFrame.mm:
13187        (WebCore::MacFrame::openURLRequest):
13188        (WebCore::MacFrame::submitForm):
13189        (WebCore::MacFrame::urlSelected):
13190        * bridge/mac/WebCoreFrameBridge.mm:
13191        (-[WebCoreFrameBridge openURL:reload:contentType:refresh:lastModified:pageCache:]):
13192        * khtml/ecma/kjs_window.cpp:
13193        (KJS::createNewWindow):
13194        (KJS::WindowFunc::callAsFunction):
13195        * page/Frame.cpp:
13196        (WebCore::Frame::didOpenURL):
13197        (WebCore::Frame::receivedFirstData):
13198        (WebCore::Frame::setResourceRequest):
13199        (WebCore::Frame::resourceRequest):
13200        (WebCore::Frame::begin):
13201        (WebCore::Frame::changeLocation):
13202        (WebCore::Frame::urlSelected):
13203        (WebCore::Frame::requestFrame):
13204        (WebCore::Frame::submitForm):
13205        * page/Frame.h:
13206        * page/FramePrivate.h:
13207        * page/ResourceRequest.h: Added.
13208        (WebCore::ResourceRequest::ResourceRequest):
13209        (WebCore::ResourceRequest::contentType):
13210        (WebCore::ResourceRequest::setContentType):
13211        (WebCore::ResourceRequest::doPost):
13212        (WebCore::ResourceRequest::setDoPost):
13213        (WebCore::ResourceRequest::lockHistory):
13214        (WebCore::ResourceRequest::setLockHistory):
13215        (WebCore::ResourceRequest::metaData):
13216
132172006-03-16  Darin Adler  <darin@apple.com>
13218
13219        - need to touch one more file to fix the build
13220          (Darn the lack of dependencies for autogenerated bindings!)
13221
13222        * dom/Element.idl: Touch. (Really this time.)
13223
132242006-03-16  Eric Seidel  <eseidel@apple.com>
13225
13226        Reviewed by darin.
13227
13228        Pushed focus ring handling down into GraphicsContext.cpp
13229
13230        * bridge/mac/MacFrame.mm:
13231        (WebCore::MacFrame::mouseDown):
13232        * platform/GraphicsContext.cpp:
13233        (WebCore::GraphicsContext::initFocusRing):
13234        (WebCore::GraphicsContext::clearFocusRing):
13235        (WebCore::GraphicsContext::addFocusRingRect):
13236        * platform/GraphicsContext.h:
13237        * platform/mac/GraphicsContextMac.mm:
13238        (WebCore::GraphicsContextPrivate::GraphicsContextPrivate):
13239        (WebCore::GraphicsContextPrivate::~GraphicsContextPrivate):
13240        (WebCore::GraphicsContext::GraphicsContext):
13241        (WebCore::GraphicsContext::drawFocusRing):
13242        * rendering/render_flow.cpp:
13243        (WebCore::RenderFlow::addFocusRingRects):
13244        * rendering/render_object.cpp:
13245        (WebCore::RenderObject::addFocusRingRects):
13246
132472006-03-15  Darin Adler  <darin@apple.com>
13248
13249        Reviewed by Hyatt.
13250
13251        - fix http://bugs.webkit.org/show_bug.cgi?id=7749
13252          canvas should be in DOM, not implemented in the JS bindings
13253
13254        * WebCore.xcodeproj/project.pbxproj: Added new files.
13255        Changed bindings-generation code to work on the new html directory
13256        as well as the dom one.
13257
13258        * bindings/js/JSCanvasRenderingContext2DBase.cpp: Added.
13259        * bindings/js/JSCanvasRenderingContext2DBase.h: Added.
13260        * bindings/js/JSDOMHTML.cpp: Added.
13261        * html: Added.
13262        * html/CanvasGradient.cpp: Added.
13263        * html/CanvasGradient.h: Added.
13264        * html/CanvasGradient.idl: Added.
13265        * html/CanvasPattern.cpp: Added.
13266        * html/CanvasPattern.h: Added.
13267        * html/CanvasPattern.idl: Added.
13268        * html/CanvasRenderingContext2D.cpp: Added.
13269        * html/CanvasRenderingContext2D.h: Added.
13270        * html/CanvasRenderingContext2D.idl: Added.
13271        * html/CanvasStyle.cpp: Added.
13272        * html/CanvasStyle.h: Added.
13273
13274        * bindings/js/JSDOMCore.cpp: Touched so that it will recompile.
13275        * bindings/js/JSDOMEvents.cpp: Ditto.
13276        * dom/Attr.idl: Ditto.
13277        * dom/DOMImplementation.idl: Ditto.
13278        * dom/DocumentType.idl: Ditto.
13279        * dom/MutationEvent.idl: Ditto.
13280        * dom/ProcessingInstruction.idl: Ditto.
13281        * dom/Text.idl: Ditto.
13282
13283        * khtml/ecma/kjs_binding.h: (KJS::toJS): Added. Template so that you can call
13284        toJS on a PassRefPtr as well as on a raw pointer.
13285
13286        * bindings/scripts/CodeGeneratorJS.pm: Fixed handling of a class that has only
13287        a legacy parent, no conventional parents. Added JSCanvasRenderingContext2DBase
13288        as a legacy parent, and html as a legacy module. Added CanvasRenderingContext2D,
13289        CanvasGradient, and CanvasPattern to the "waht to include". Added a special
13290        case for strings beginning with Canvas to not add an "Impl" suffix. Made the
13291        generated impl() function be a const member function. Made m_mimpl be private
13292        instead of protected. Generate a toJS function for each class. Added flaot as
13293        a type. Generate String, not DOMString. Made the HashTable const.
13294
13295        * bindings/scripts/IDLParser.pm: Fix a couple small things. I had started to
13296        try to make a missing semicolon trigger an error, but ended up giving up on
13297        that for now.
13298
13299        * khtml/html/html_canvasimpl.h:
13300        * khtml/html/html_canvasimpl.cpp:
13301        (WebCore::HTMLCanvasElementImpl::HTMLCanvasElementImpl): Set m_2DContext to 0.
13302        (WebCore::HTMLCanvasElementImpl::~HTMLCanvasElementImpl): Call detachCanvas
13303        on m_2DContext, if any.
13304        (WebCore::HTMLCanvasElementImpl::detach): Call reset on m_2DContext, if any.
13305        (WebCore::HTMLCanvasElementImpl::getContext): Added.
13306        (WebCore::HTMLCanvasElementImpl::size): Added.
13307        (WebCore::HTMLCanvasElementImpl::createPlatformImage): Added.
13308
13309        * platform/Image.h:
13310        * platform/Image.cpp: (WebCore::Image::compositeOperatorFromString):
13311        Changed to take a String instead of a const char*.
13312
13313        * khtml/html/html_imageimpl.h:
13314        * khtml/html/html_imageimpl.cpp: (WebCore::HTMLMapElementImpl::areas):
13315        Tweaked formatting. Changed to use PassRefPtr.
13316
13317        * bindings/objc/DOMInternal.mm: (-[WebScriptObject _initializeScriptDOMNodeImp]):
13318        * khtml/ecma/JSXMLHttpRequest.cpp: (KJS::JSXMLHttpRequest::getValueProperty):
13319        * khtml/ecma/XSLTProcessor.cpp: (KJS::XSLTProcessorProtoFunc::callAsFunction):
13320        * khtml/ecma/domparser.cpp: (KJS::DOMParserProtoFunc::callAsFunction):
13321        * khtml/ecma/kjs_css.cpp:
13322        (KJS::DOMCSSStyleDeclaration::getValueProperty):
13323        (KJS::DOMCSSStyleDeclarationProtoFunc::callAsFunction):
13324        (KJS::toJS):
13325        (KJS::DOMStyleSheet::getValueProperty):
13326        (KJS::DOMStyleSheetList::indexGetter):
13327        (KJS::DOMStyleSheetList::nameGetter):
13328        (KJS::DOMStyleSheetListFunc::callAsFunction):
13329        (KJS::DOMCSSStyleSheet::getValueProperty):
13330        (KJS::DOMCSSRuleList::indexGetter):
13331        (KJS::DOMCSSRuleListFunc::callAsFunction):
13332        (KJS::DOMCSSRule::getValueProperty):
13333        (KJS::DOMCSSPrimitiveValueProtoFunc::callAsFunction):
13334        (KJS::DOMCSSValueList::indexGetter):
13335        (KJS::DOMCSSValueListFunc::callAsFunction):
13336        (KJS::DOMRect::getValueProperty):
13337        * khtml/ecma/kjs_css.h:
13338        * khtml/ecma/kjs_dom.cpp:
13339        (KJS::DOMNode::getValueProperty):
13340        (KJS::DOMNodeProtoFunc::callAsFunction):
13341        (KJS::DOMNodeList::indexGetter):
13342        (KJS::DOMNodeList::nameGetter):
13343        (KJS::DOMNodeList::callAsFunction):
13344        (KJS::DOMNodeListFunc::callAsFunction):
13345        (KJS::DOMDocument::getValueProperty):
13346        (KJS::DOMDocumentProtoFunc::callAsFunction):
13347        (KJS::DOMNamedNodeMap::indexGetter):
13348        (KJS::DOMNamedNodeMap::nameGetter):
13349        (KJS::DOMNamedNodeMapProtoFunc::callAsFunction):
13350        (KJS::toJS):
13351        (KJS::DOMNamedNodesCollection::indexGetter):
13352        * khtml/ecma/kjs_dom.h:
13353        * khtml/ecma/kjs_events.cpp:
13354        (KJS::JSAbstractEventListener::handleEvent):
13355        (KJS::JSLazyEventListener::parseCode):
13356        (KJS::DOMEvent::getValueProperty):
13357        (KJS::toJS):
13358        (KJS::DOMUIEvent::getValueProperty):
13359        (KJS::DOMMouseEvent::getValueProperty):
13360        * khtml/ecma/kjs_events.h:
13361        * khtml/ecma/kjs_html.cpp:
13362        (KJS::HTMLDocFunction::callAsFunction):
13363        (KJS::HTMLDocument::namedItemGetter):
13364        (KJS::HTMLDocument::getValueProperty):
13365        (KJS::HTMLDocument::put):
13366        (KJS::HTMLDocument::putValueProperty):
13367        (KJS::HTMLElement::classInfo):
13368        (KJS::HTMLElement::formIndexGetter):
13369        (KJS::HTMLElement::selectIndexGetter):
13370        (KJS::HTMLElement::implementsCall):
13371        (KJS::HTMLElement::callAsFunction):
13372        (KJS::HTMLElement::linkGetter):
13373        (KJS::HTMLElement::isIndexGetter):
13374        (KJS::HTMLElement::styleGetter):
13375        (KJS::HTMLElement::selectGetter):
13376        (KJS::HTMLElement::optionGetter):
13377        (KJS::HTMLElement::inputGetter):
13378        (KJS::HTMLElement::textAreaGetter):
13379        (KJS::HTMLElement::buttonGetter):
13380        (KJS::HTMLElement::labelGetter):
13381        (KJS::HTMLElement::fieldSetGetter):
13382        (KJS::HTMLElement::legendGetter):
13383        (KJS::HTMLElement::objectGetter):
13384        (KJS::HTMLElement::tableGetter):
13385        (KJS::HTMLElement::frameGetter):
13386        (KJS::HTMLElement::iFrameGetter):
13387        (KJS::HTMLElement::getValueProperty):
13388        (KJS::HTMLElement::toString):
13389        (KJS::HTMLElement::pushEventHandlerScope):
13390        (KJS::toJS):
13391        (KJS::HTMLElementFunction::callAsFunction):
13392        (KJS::HTMLElement::put):
13393        (KJS::HTMLCollection::indexGetter):
13394        (KJS::HTMLCollection::callAsFunction):
13395        (KJS::HTMLCollection::getNamedItems):
13396        (KJS::HTMLCollectionProtoFunc::callAsFunction):
13397        (KJS::HTMLSelectCollection::put):
13398        (KJS::OptionConstructorImp::construct):
13399        (KJS::ImageConstructorImp::construct):
13400        * khtml/ecma/kjs_html.h:
13401        * khtml/ecma/kjs_proxy.cpp: (WebCore::KJSProxyImpl::evaluate):
13402        * khtml/ecma/kjs_range.cpp:
13403        (KJS::DOMRange::getValueProperty):
13404        (KJS::DOMRangeProtoFunc::callAsFunction):
13405        (KJS::toJS):
13406        * khtml/ecma/kjs_range.h:
13407        * khtml/ecma/kjs_traversal.cpp:
13408        (KJS::DOMNodeIterator::getValueProperty):
13409        (KJS::DOMNodeIteratorProtoFunc::callAsFunction):
13410        (KJS::toJS):
13411        (KJS::DOMTreeWalker::getValueProperty):
13412        (KJS::DOMTreeWalkerProtoFunc::callAsFunction):
13413        (KJS::JSNodeFilterCondition::acceptNode):
13414        * khtml/ecma/kjs_traversal.h:
13415        * khtml/ecma/kjs_views.cpp:
13416        (KJS::DOMAbstractView::getValueProperty):
13417        (KJS::DOMAbstractViewProtoFunc::callAsFunction):
13418        (KJS::toJS):
13419        * khtml/ecma/kjs_views.h:
13420        * khtml/ecma/kjs_window.cpp:
13421        (KJS::Window::getValueProperty):
13422        (KJS::Window::namedItemGetter):
13423        (KJS::Selection::getValueProperty):
13424        (KJS::SelectionFunc::callAsFunction):
13425        Rename uses and definitions of all the various converstions to JavaScript
13426        wrappers to the new common overloaded name: "toJS".
13427
134282006-03-15  Eric Seidel  <eseidel@apple.com>
13429
13430        Reviewed by darin.
13431
13432        Push more of MacFrame down into Frame.
13433        Add visibleContentRect method to ScrollView.
13434
13435        * bridge/mac/MacFrame.h:
13436        * bridge/mac/MacFrame.mm:
13437        (WebCore::MacFrame::imageFromRect):
13438        (WebCore::MacFrame::setDisplaysWithFocusAttributes):
13439        (WebCore::MacFrame::bodyBackgroundColor):
13440        * bridge/mac/WebCoreFrameBridge.mm:
13441        * page/Frame.cpp:
13442        (WebCore::Frame::visibleSelectionRect):
13443        (WebCore::Frame::setDisplaysWithFocusAttributes):
13444        * page/Frame.h:
13445        * platform/ScrollView.h:
13446        * platform/mac/ScrollViewMac.mm:
13447        (WebCore::ScrollView::visibleWidth):
13448        (WebCore::ScrollView::visibleHeight):
13449        (WebCore::ScrollView::visibleContentRect):
13450        (WebCore::ScrollView::contentsWidth):
13451        (WebCore::ScrollView::contentsHeight):
13452        (WebCore::ScrollView::contentsX):
13453        (WebCore::ScrollView::contentsY):
13454        (WebCore::ScrollView::scrollXOffset):
13455        (WebCore::ScrollView::scrollYOffset):
13456        (WebCore::ScrollView::inWindow):
13457
134582006-03-15  Eric Seidel  <eseidel@apple.com>
13459
13460        Reviewed by darin.
13461
13462        Remove unused code and clean-up style.
13463
13464        * bridge/mac/MacFrame.mm:
13465        (WebCore::MacFrame::advanceToNextMisspelling):
13466        (WebCore::MacFrame::wheelEvent):
13467        (WebCore::MacFrame::nextKeyViewInFrame):
13468        (WebCore::MacFrame::nextKeyViewInFrameHierarchy):
13469        (WebCore::MacFrame::nextKeyView):
13470        * page/Frame.cpp:
13471        * page/Frame.h:
13472        * page/FrameView.cpp:
13473        (WebCore::FrameView::dispatchMouseEvent):
13474
134752006-03-15  Eric Seidel  <eseidel@apple.com>
13476
13477        Reviewed by mjs.
13478
13479        http://bugs.webkit.org/show_bug.cgi?id=7790
13480        addEventListener does not work with "dblclick" event.
13481        Renamed khtmlDblclickEvent to dblclickEvent to fix.
13482
13483        Test: fast/events/dblclick-addEventListener.html
13484
13485        * WebCore.xcodeproj/project.pbxproj:
13486        * bridge/mac/MacFrame.mm:
13487        (WebCore::MacFrame::mouseUp):
13488        (WebCore::MacFrame::mouseMoved):
13489        (WebCore::MacFrame::shouldDragAutoNode):
13490        (WebCore::MacFrame::sendContextMenuEvent):
13491        * dom/EventNames.h:
13492        * dom/NodeImpl.cpp:
13493        (WebCore::NodeImpl::dispatchMouseEvent):
13494        * dom/NodeImpl.h:
13495        * khtml/ecma/kjs_binding.cpp:
13496        (KJS::ScriptInterpreter::wasRunByUserGesture):
13497        * khtml/ecma/kjs_dom.cpp:
13498        (KJS::DOMNode::getValueProperty):
13499        (KJS::DOMNode::putValueProperty):
13500        * khtml/ecma/kjs_window.cpp:
13501        (KJS::Window::getValueProperty):
13502        (KJS::Window::put):
13503        * khtml/html/HTMLElementImpl.cpp:
13504        (WebCore::HTMLElementImpl::parseMappedAttribute):
13505        * page/FrameView.cpp:
13506        (WebCore::FrameView::dispatchMouseEvent):
13507        * page/FrameView.h:
13508
135092006-03-16  Alexey Proskuryakov  <ap@nypop.com>
13510
13511        Reviewed by Maciej.
13512
13513        - fix http://bugs.webkit.org/show_bug.cgi?id=4395
13514         REGRESSION: document.open doesn't clear the document
13515
13516        Test: fast/dom/Document/document-reopen.html
13517        Test: fast/dom/Document/doc-open-while-parsing.html
13518
13519        * dom/DocumentImpl.cpp:
13520        (WebCore::DocumentImpl::open): Only ignore open() while the frame is still loading the main resource.
13521        * page/Frame.cpp:
13522        (WebCore::Frame::isComplete): Added const specifier.
13523        (WebCore::Frame::isLoadingMainResource): New function.
13524        * page/Frame.h:
13525
135262006-03-15  Adele Peterson  <adele@apple.com>
13527
13528        Reviewed by Eric.
13529
13530        - Fixes win32 build.
13531
13532        * page/Frame.cpp: (WebCore::Frame::autoscrollTimerFired): Calls isMouseButtonDown instead of CG function.
13533        * platform/MouseEvent.h: Added isMouseButtonDown
13534        * platform/mac/MouseEventMac.mm: (WebCore::MouseEvent::isMouseButtonDown): Calls CG function to get state of mouse button.
13535        * platform/win/TemporaryLinkStubs.cpp: (MouseEvent::isMouseButtonDown): Added stub.
13536
135372006-03-15  Eric Seidel  <eseidel@apple.com>
13538
13539        Reviewed by geoff.
13540
13541        * platform/KeyEvent.h: Fix #define from QEvent_H to KeyEvent_H
13542
135432006-03-15  David Hyatt  <hyatt@apple.com>
13544
13545        Fix the box-sizing layout test by stopping integer overflowing from
13546        occurring in the flexbox code.
13547
13548        Reviewed by beth
13549
13550        * rendering/render_flexbox.cpp:
13551        (khtml::RenderFlexibleBox::allowedChildFlex):
13552
135532006-03-15  Beth Dakin  <bdakin@apple.com>
13554
13555        Reviewed by Eric
13556
13557        Fix for some leaks and intermittent broken pipes in the layout
13558        tests after check-in for http://bugs.webkit.org/
13559        show_bug.cgi?id=4171.
13560
13561        * platform/StringImpl.cpp:
13562        (WebCore::StringImpl::capitalize): Call deleteQCharVector() for
13563        stringWithPrevious and make sure we don't walk off the end of
13564        stringWithPrevious when copying to capitalizedString.
13565
135662006-03-15  Adele Peterson  <adele@apple.com>
13567
13568       Reviewed by Maciej.
13569
13570       Followup fix for previous checkin.
13571       http://bugs.webkit.org/show_bug.cgi?id=7114
13572       <rdar://problem/3695120> dragging to scroll doesn't work with overflow:auto/scroll/overlay areas
13573
13574       Many of the bugs related to the Radar bug have to do with autoscrolling in the RSS View.
13575       This fix walks the layer tree to find the first scrollable layer, so that autoscrolling will
13576       also work with nested layers, like those in the RSS View.
13577
13578       * bridge/mac/MacFrame.mm: (WebCore::MacFrame::khtmlMouseMoveEvent):
13579
135802006-03-15  Adele Peterson  <adele@apple.com>
13581
13582        Reviewed by Maciej.
13583
13584        - Fix for http://bugs.webkit.org/show_bug.cgi?id=7114
13585        Dragging to scroll doesn't work for overflow areas
13586
13587        No test case.  There doesn't appear to be a way to trigger the autoscroll with the EventSender.
13588
13589        * bridge/mac/MacFrame.mm:
13590        (WebCore::MacFrame::khtmlMouseMoveEvent):  If we have a layer that can scroll, let the layer handle its autoscroll.
13591         Otherwise, call over the bridge to let AppKit scroll the view.
13592        (WebCore::MacFrame::khtmlMouseReleaseEvent): Stops the autoscroll timer.
13593        * page/Frame.cpp:
13594        (WebCore::Frame::khtmlMouseReleaseEvent): Stops the autoscroll timer.
13595        (WebCore::Frame::handleAutoscroll): Added. Saves the layer, and starts the timer.
13596        (WebCore::Frame::autoscrollTimerFired): Added. Calls autoscroll() on the layer.
13597        (WebCore::Frame::startAutoscrollTimer): Added.
13598        (WebCore::Frame::stopAutoscrollTimer): Added.
13599        * page/Frame.h: Added new autoscroll methods.
13600        * page/FramePrivate.h: (WebCore::FramePrivate::FramePrivate): Initialize m_autoscrollTimer and m_autoscrollLayer.
13601        * rendering/render_layer.cpp:
13602        (WebCore::RenderLayer::autoscroll): Calculates how much the layer should scroll, and actually scrolls.
13603        (WebCore::RenderLayer::shouldAutoscroll): If the layer has overflow then it should be able to scroll.
13604         Except for overflow:hidden areas that aren't editable.
13605         In the future, we may want to have a css property that indicates an overflow:hidden style that should also scroll.
13606        * rendering/render_layer.h: Added new autoscroll methods.
13607
136082006-03-14  Justin Garcia  <justin.garcia@apple.com>
13609
13610        Reviewed by mjs
13611
13612        <http://bugs.webkit.org/show_bug.cgi?id=7578>
13613        TinyMCE: Implement execCommand CreateLink
13614
13615        Used ApplyStyleCommand so that creating a link from
13616        a selection doesn't change document structure.
13617
13618        * WebCore.xcodeproj/project.pbxproj:
13619        * editing/ApplyStyleCommand.cpp:
13620        (WebCore::ApplyStyleCommand::ApplyStyleCommand):
13621        (WebCore::ApplyStyleCommand::doApply):
13622        (WebCore::ApplyStyleCommand::removeInlineStyle):
13623        (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
13624        * editing/ApplyStyleCommand.h:
13625        * editing/CompositeEditCommand.cpp:
13626        (WebCore::CompositeEditCommand::applyStyle):
13627        * editing/CreateLinkCommand.cpp: Added.
13628        (WebCore::CreateLinkCommand::CreateLinkCommand):
13629        (WebCore::CreateLinkCommand::doApply):
13630        * editing/CreateLinkCommand.h: Added.
13631        * editing/jsediting.cpp:
13632        * page/Frame.cpp:
13633        (WebCore::Frame::computeAndSetTypingStyle):
13634        (WebCore::Frame::applyStyle):
13635        (WebCore::Frame::applyParagraphStyle):
13636
136372006-03-14  Beth Dakin  <bdakin@apple.com>
13638
13639        Reviewed by Maciej
13640
13641        Fix for http://bugs.webkit.org/show_bug.cgi?id=4171
13642        This patch changes the word-break algorithm used to apply text-
13643        transform:capitalize to use a UBreakIterator. This fixes some
13644        existing edge cases we have in our text-transform:capitalize
13645        support and generally makes our results more consistent.
13646
13647        * platform/StringImpl.cpp:
13648        (WebCore::getWordBreakIterator): Returns a UBreakIterator for a
13649        given string of a given length.
13650        (WebCore::StringImpl::capitalize): Now uses the UBreakIterator to
13651        step between words and requires the previous character as input.
13652        * platform/StringImpl.h: Change the declaration of capitalize() to
13653        take the previous character as a parameter.
13654        * rendering/RenderText.cpp:
13655        (WebCore::RenderText::setText): Find the previous character and
13656        send it to StringImpl::capitalize()
13657
136582006-03-14  Justin Garcia  <justin.garcia@apple.com>
13659
13660        Reviewed by adele
13661
13662        <http://bugs.webkit.org/show_bug.cgi?id=7770>
13663        Should only dispatch the khtmlTextInsertedEvent for high level editing operations
13664
13665        Dispatching this event for low level editing operations
13666        isn't necessary and causes a big performance regression.
13667        Also renamed the event because it's dispatched for changes
13668        other than just text insertion.
13669
13670        * dom/EventNames.h:
13671        * editing/EditCommand.cpp:
13672        (WebCore::EditCommand::apply):
13673        (WebCore::EditCommand::unapply):
13674        (WebCore::EditCommand::reapply):
13675        * khtml/html/HTMLTextFieldInnerElementImpl.cpp:
13676        (WebCore::HTMLTextFieldInnerElementImpl::defaultEventHandler):
13677        * page/Frame.cpp:
13678        (WebCore::dispatchKHTMLEditableContentChanged):
13679        (WebCore::Frame::appliedEditing):
13680        (WebCore::Frame::unappliedEditing):
13681        (WebCore::Frame::reappliedEditing):
13682
136832006-03-14  Darin Adler  <darin@apple.com>
13684
13685        Reviewed by Eric.
13686
13687        - fix <rdar://problem/4478121> -[WebCoreFrameBridge finalize] crashes under GC
13688
13689        * bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge finalize]):
13690        Don't call setBridge(nil).
13691
136922006-03-14  Darin Adler  <darin@apple.com>
13693
13694        - oops, didn't mean to check this in
13695
13696        * dom/dom_elementimpl.cpp: (WebCore::StyledElementImpl::parseMappedAttribute):
13697        Reverted nil-document check that I didn't mean to remove.
13698
136992006-03-14  Beth Dakin  <bdakin@apple.com>
13700
13701        Reviewed by Hyatt
13702
13703        Fix for http://bugs.webkit.org/show_bug.cgi?id=6796
13704        This fix prevents infinite recursion when a block with overflow:
13705        auto can't decide if it needs scrollbars or not. This fix puts a
13706        guard in place in updateScrollInforAfterLayout that only allows you
13707        to re-layout if you are not currently laying out.
13708
13709        * rendering/render_layer.cpp:
13710        (WebCore::RenderLayer::RenderLayer): Initialize
13711        m_inOverflowRelayout to false. Fixed spacing too.
13712        (WebCore::RenderLayer::updateScrollInfoAfterLayout): Place guard
13713        around layout calls in overflow:auto case.
13714        * rendering/render_layer.h: Add m_inOverflowRelayout.
13715
137162006-03-14  Darin Adler  <darin@apple.com>
13717
13718        Reviewed by Geoff and Eric.
13719
13720        - fix <http://bugs.webkit.org/show_bug.cgi?id=7765>, <rdar://problem/4474884>
13721          hasAttribute always returns false for uppercase attribute names like "STYLE"
13722        - re-add missing JavaScript binding for getAttributeNS
13723        - fixed handling of null namespace parameters in getAttributeNS and friends
13724
13725        Test: fast/dom/Element/attribute-uppercase.html
13726
13727        To match Gecko's behavior, the magic "lowercasing" of all attribute names
13728        is only done when calling DOM Level 1 functions that lack an NS suffix.
13729        The functions with an NS suffix are case sensitive, even in HTML documents.
13730
13731        * dom/NamedNodeMapImpl.h: Changed getNamedItem and removeNamedItem to be pure virtual
13732        functions instead of calling through to getNamedItemNS and removeNamedItemNS.
13733
13734        * dom/dom_elementimpl.h: Eliminated inline versions of non-NS functions that called
13735        the NS functions. They can't work that way any more since the lowercasing behavior
13736        is different.
13737        * dom/dom_elementimpl.cpp:
13738        (WebCore::ElementImpl::getAttribute): Added. Lowercases the name if the document
13739        is an HTML document, and then calls through to the qualified name version. Removed
13740        the null check since getDocument is guaranteed to never return 0 now that nodes
13741        hold a reference to their document.
13742        (WebCore::ElementImpl::getAttributeNS): Removed the lowercasing code.
13743        (WebCore::ElementImpl::setAttribute): More of the same.
13744        (WebCore::ElementImpl::setAttributeNS): Ditto.
13745        (WebCore::ElementImpl::removeAttribute): Ditto.
13746        (WebCore::ElementImpl::removeAttributeNS): Ditto.
13747        (WebCore::ElementImpl::getAttributeNode): Ditto.
13748        (WebCore::ElementImpl::getAttributeNodeNS): Ditto.
13749        (WebCore::ElementImpl::hasAttribute): Ditto.
13750        (WebCore::ElementImpl::hasAttributeNS): Ditto.
13751        (WebCore::NamedAttrMapImpl::getNamedItem): Ditto.
13752        (WebCore::NamedAttrMapImpl::getNamedItemNS): Ditto.
13753        (WebCore::NamedAttrMapImpl::removeNamedItem): Ditto.
13754        (WebCore::NamedAttrMapImpl::removeNamedItemNS): Ditto.
13755        (WebCore::StyledElementImpl::parseMappedAttribute): Removed another unneeded null
13756        check like the one mentioned above.
13757
13758        * dom/Element.idl: Set ConvertNullToNullString for all the namespaceURI
13759        parameters, since we don't want null to turn into "null". Added a semicolon
13760        to the end of the hasAttributeNS line -- was causing the next declaration to
13761        be eaten up (so getAttributeNS was completely broken).
13762
13763        * khtml/ecma/kjs_dom.cpp: (KJS::DOMNamedNodeMapProtoFunc::callAsFunction):
13764        Call valueToStringWithNullCheck to do the equivalent of ConvertNullToNullString
13765        for both getNamedItemNS and removeNamedItemNS.
13766
13767        * bindings/js/JSDOMCore.cpp: Touched so that the changes above will take effect.
13768
137692006-03-14  David Hyatt  <hyatt@apple.com>
13770
13771        Fix for bug 7259, opacity performs badly.
13772
13773        Reviewed by mjs
13774
13775        Adding some tests in fast/opacity.
13776
13777        * rendering/RenderTableRow.h:
13778        (WebCore::RenderTableRow::requiresLayer):
13779        * rendering/render_layer.cpp:
13780        (WebCore::transparencyClipBox):
13781        (WebCore::RenderLayer::beginTransparencyLayers):
13782        (WebCore::RenderLayer::paintLayer):
13783        (WebCore::RenderLayer::intersectsDamageRect):
13784        (WebCore::RenderLayer::absoluteBoundingBox):
13785        * rendering/render_layer.h:
13786        (WebCore::RenderLayer::root):
13787
137882006-03-14  Eric Seidel  <eseidel@apple.com>
13789
13790        Reviewed by mjs.
13791
13792        Fix Gif crasher.
13793
13794        * platform/image-decoders/gif/GIFImageReader.cpp:
13795        (GIFImageReader::do_lzw): Initialize array after new.
13796
137972006-03-14  Eric Seidel  <eseidel@apple.com>
13798
13799        Reviewed by mjs.
13800
13801        Make MouseEvents aware of current scroll position.
13802
13803        * platform/win/ScrollViewWin.cpp:
13804        (WebCore::ScrollView::viewportToContents):
13805        (WebCore::ScrollView::contentsToViewport):
13806
138072006-03-13  Eric Seidel  <eseidel@apple.com>
13808
13809        Reviewed by mjs.
13810
13811        Fix mouse events to be window-relative.
13812
13813        * platform/win/MouseEventWin.cpp:
13814        (WebCore::positionForEvent):
13815        (WebCore::globalPositionForEvent):
13816        (WebCore::MouseEvent::MouseEvent):
13817
138182006-03-13  Eric Seidel  <eseidel@apple.com>
13819
13820        Reviewed by mjs.
13821
13822        Close DeviceContext leaks in Font code.
13823        Also add moveCursor stub to make maps.google.com not crash.
13824
13825        * platform/win/FontWin.cpp:
13826        (WebCore::getFontData):
13827        (WebCore::Font::floatWidth):
13828        (WebCore::Font::drawText):
13829        * platform/win/TemporaryLinkStubs.cpp:
13830        (Cursor::Cursor):
13831        (WebCore::moveCursor):
13832
138332006-03-13  Eric Seidel  <eseidel@apple.com>
13834
13835        Reviewed by ggaren & TimH.
13836
13837        <rdar://problem/4473288> XSL file containing <xsl:include href="../Styles/EscapeString.xsl" /> fails to load file
13838        XML_DTD_NODE objects in the tree were causing loadChildSheets to
13839        fail to preload child stylesheets, this patch causes us to
13840        correctly ignore all nodes besides the first XML_ELEMENT_NODE at
13841        the root level when searching the tree for xsl:include statements
13842        to pre-load.
13843
13844        Test: fast/xsl/xslt-second-level-import.xml
13845
13846        * khtml/xsl/xsl_stylesheetimpl.cpp:
13847        (WebCore::XSLStyleSheetImpl::loadChildSheets):
13848
138492006-03-10  Rob Buis  <buis@kde.org>
13850
13851        Reviewed by darin.  Landed by eseidel.
13852
13853        Fix for http://bugs.webkit.org/show_bug.cgi?id=7666:
13854        dasharray on rounded rectangles is broken
13855
13856        Make sure the rounded rectangle is drawn clockwise, as outlined
13857        in the specification.
13858
13859        Test: svg/custom/dashArrayOrigin.svg
13860
13861        * kcanvas/KCanvasCreator.cpp:
13862        (WebCore::KCanvasCreator::createRoundedRectangle):
13863
138642006-03-12  Mitz Pettel  <opendarwin.org@mitzpettel.com>
13865
13866        Reviewed by Maciej, landed by ap.
13867
13868        - fix http://bugs.webkit.org/show_bug.cgi?id=5923
13869          REGRESSION: scrolling on Google maps continues after the mouse is
13870          released outside the window
13871
13872        Test: fast/events/drag-outside-window.html
13873
13874        * rendering/render_layer.cpp:
13875        (WebCore::RenderLayer::containsPoint): Always return true for the root
13876        object to ensure that mouse events occurring outside the window target
13877        the document.
13878
138792006-03-12  Alexey Proskuryakov  <ap@nypop.com>
13880
13881        Reviewed by Maciej.
13882
13883        - Fix for http://bugs.webkit.org/show_bug.cgi?id=7735
13884        REGRESSION: crash on importing bookmarks
13885
13886        No test - only reproducible when Safari imports the bookmarks.
13887
13888        * dom/EventNames.cpp:
13889        (WebCore::EventNames::init): Initialize AtomicString before using it.
13890        * dom/QualifiedName.cpp:
13891        (WebCore::QualifiedName::init): Ditto.
13892        * khtml/html/htmlnames.cpp:
13893        (WebCore::HTMLNames::init): Ditto.
13894        * ksvg2/scripts/make_names.pl: Ditto.
13895
138962006-03-12  David Kilzer  <ddkilzer@kilzer.net>
13897
13898        Reviewed by Darin, landed by ap.
13899
13900        - Fix for http://bugs.webkit.org/show_bug.cgi?id=7724
13901        Minor refactoring to HTMLParser::handleError() to remove duplicate code
13902
13903        Test: fast/invalid/missing-address-end-tag.html
13904        Test: fast/invalid/missing-dl-end-tag.html
13905        Test: fast/invalid/missing-dt-end-tag.html
13906        Test: fast/invalid/missing-font-end-tag.html
13907
13908        * khtml/html/htmlparser.cpp:
13909        (WebCore::HTMLParser::handleError): Refactored code.
13910
139112006-03-10  Darin Adler  <darin@apple.com>
13912
13913        - fix Windows build
13914
13915        * bridge/win/FrameWin.h: Removed declaration of generateFrameName.
13916
139172006-03-10  Darin Adler  <darin@apple.com>
13918
13919        Reviewed by Adele.
13920
13921        - removed some unused stuff from Frame and MacFrame
13922
13923        * page/Frame.h: Removed autoloadImages (the setter), enableMetaRefresh,
13924        setCharset, backgroundURL, findTextBegin, findTextNext, preloadStyleSheet,
13925        preloadScript, restored, onURL, selectionChanged, htmlError, openFile,
13926        updateActions, openURLInFrame, overURL, checkLinkSecurity, and cacheId.
13927        * page/FramePrivate.h: Removed m_restored, m_frameNameId, m_strSelectedURL,
13928        m_strSelectedURLTarget, m_bDnd, m_bClearing, m_bSecurityInQuestion,
13929        m_focusNodeRestored, m_focusNodeNumber, and m_newJSInterpreterExists.
13930        * page/Frame.cpp:
13931        (WebCore::Frame::didOpenURL): Removed use of m_restored, code to set
13932        m_bClearing.
13933        (WebCore::Frame::clear): Removed code to set m_bClearing and m_frameNameId.
13934        (WebCore::Frame::khtmlMousePressEvent): Removed code to set m_strSelectedURL
13935        and m_strSelectedURLTarget.
13936
13937        * bridge/mac/MacFrame.h: Removed scheduleHistoryNavigation and
13938        requestedURLString.
13939        * bridge/mac/MacFrame.mm:
13940        (WebCore::MacFrame::openURLFromPageCache): Removed use of m_restored.
13941        Removed unused requestedURLString.
13942
13943        * bridge/mac/WebCoreFrameBridge.h: Removed requestedURLString.
13944
139452006-03-10  Darin Adler  <darin@apple.com>
13946
13947        - fix Windows build
13948
13949        * page/FrameTree.cpp: Add include of <stdarg.h>.
13950
139512006-03-10  Darin Adler  <darin@apple.com>
13952
13953        Reviewed by Geoff.
13954
13955        - fix http://bugs.webkit.org/show_bug.cgi?id=3308
13956          Pop-up blocking blocks window.open for already open windows
13957
13958        - fix http://bugs.webkit.org/show_bug.cgi?id=7422
13959          Setting a frame name to the same value resets it to a generated one
13960
13961        - refactor frame-name-related functions into the FrameTree object
13962
13963        * WebCore.xcodeproj/project.pbxproj: Update for rename.
13964        * bridge/mac/MacFrame.h: Remove generateFrameName.
13965        * bridge/mac/MacFrame.mm: Ditto.
13966        * bridge/mac/PageMac.h: Added a declaration for WebCorePageBridge.
13967
13968        * bridge/mac/WebCoreFrameBridge.h: Remove _frameNamespace, generateFrameName,
13969        setFrameNamespace, frameNamespace.
13970        * bridge/mac/WebCoreFrameBridge.mm:
13971        (-[WebCoreFrameBridge childFrameNamed:]): Change to call the new child
13972        function on the FrameTree.
13973        (-[WebCoreFrameBridge findFrameNamed:]): Change to call the new find
13974        function on the FrameTree.
13975        (-[WebCoreFrameBridge RenderObject::nodeInfoAtPoint:]): Change since the
13976        contentPart function has been renamed to contentFrame.
13977
13978        * bridge/mac/WebCoreFrameNamespaces.h: Removed everything except for the
13979        one method still used on the WebKit side, framesInNamespace:.
13980        * bridge/mac/WebCoreFrameNamespaces.m: Renamed.
13981        * bridge/mac/WebCoreFrameNamespaces.mm: Added. Reimplemented the
13982        framesInNamespace method to use the namespace in WebCore::Page.
13983
13984        * bridge/mac/WebCorePageBridge.h: Added setGroupName and groupName.
13985        * bridge/mac/WebCorePageBridge.mm:
13986        (-[WebCorePageBridge setGroupName:]): Added. Calls through to Page.
13987        (-[WebCorePageBridge groupName]): Ditto.
13988
13989        * khtml/ecma/kjs_html.cpp:
13990        (KJS::HTMLDocument::namedItemGetter): Changed to call contentFrame by its new name.
13991        (KJS::HTMLElement::frameGetter): Ditto.
13992        (KJS::HTMLElement::iFrameGetter): Ditto.
13993
13994        * khtml/ecma/kjs_window.cpp:
13995        (KJS::Window::getValueProperty): Changed to call FrameTree::childCount
13996        instead of Frame::frames.
13997        (KJS::Window::childFrameGetter): Changed to call FrameTree::child
13998        instead of Frame::childFrameNamed.
13999        (KJS::Window::namedFrameGetter): Changed to call FrameTree::find
14000        instead of Frame::findFrame.
14001        (KJS::Window::indexGetter): Changed to call FrameTree::child
14002        instead of Frame::frames.
14003        (KJS::Window::getOwnPropertySlot): Changed to call FrameTree::child,
14004        FrameTree::find, and FrameTree::childCount instead of Frame::childFrameNamed,
14005        and Frame::findFrame, and Frame::frames.
14006        (KJS::WindowFunc::callAsFunction): Call FrameTree::find to check if the window
14007        is already open when considering whether to block a pop-up.
14008        (KJS::FrameArray::getValueProperty): Changed to call FrameTree::childCount
14009        instead of Frame::frames.
14010        (KJS::FrameArray::indexGetter): Changed to call FrameTree::child
14011        instead of Frame::frames.
14012        (KJS::FrameArray::nameGetter): Changed to call FrameTree::child
14013        instead of Frame::findFrame.
14014        (KJS::FrameArray::getOwnPropertySlot): Changed to call FrameTree::child,
14015        and FrameTree::childCount instead of Frame::findFrame and Frame::frames.
14016
14017        * khtml/html/html_baseimpl.h:
14018        * khtml/html/html_baseimpl.cpp:
14019        (WebCore::HTMLFrameElementImpl::isURLAllowed): Changed to call Page::frameCount
14020        instead of Frame::topLevelFrameCount.
14021        (WebCore::HTMLFrameElementImpl::openURL): Changed to call FrameTree::child
14022        instead of Frame::findFrame.
14023        (WebCore::HTMLFrameElementImpl::attach): Changed to call Page::incrementFrameCount
14024        instead of Frame::incrementFrameCount. Changed to call FrameTree::uniqueChildName
14025        instead of Frame::requestFrameName.
14026        (WebCore::HTMLFrameElementImpl::close): Changed to call Page::decrementFrameCount
14027        instead of Frame::decrementFrameCount. Changed to call FrameTree::child
14028        instead of Frame::findFrame.
14029        (WebCore::HTMLFrameElementImpl::contentFrame): Renamed from contentPart. Also
14030        changed to call FrameTree::child instead of Frame::findFrame.
14031        (WebCore::HTMLFrameElementImpl::contentDocument): Updated for name change of
14032        contentFrame from contentPart.
14033        (WebCore::HTMLIFrameElementImpl::attach): Changed to call Page::incrementFrameCount
14034        instead of Frame::incrementFrameCount. Changed to call FrameTree::uniqueChildName
14035        instead of Frame::requestFrameName.
14036
14037        * rendering/render_frames.cpp: (WebCore::isURLAllowed): Changed to call Page::frameCount
14038        instead of Frame::topLevelFrameCount.
14039
14040        * page/Frame.h: Removed frameNames, frames, childFrameNamed, findFrame, currentFrame,
14041        frameExists, incrementFrameCount, decrementFrameCount, topLevelFrameCount,
14042        generateFrameName, and requestFrameName functions.
14043        * page/Frame.cpp: (WebCore::Frame::requestFrame): Changed to use FrameTree::child
14044        instead of Frame::childFrameNamed.
14045
14046        * page/FrameTree.h: Changed name to an atomic string. Changed childCount to unsigned.
14047        Added isDescendantOf, traverseNext, child, find, uniqueChildName.
14048        * page/FrameTree.cpp:
14049        (WebCore::FrameTree::setName): Changed to call uniqueChildName to handle name
14050        duplication logic.
14051        (WebCore::FrameTree::uniqueChildName): Added. Checks for duplication and generates
14052        an appropriate frame name if there is a duplicate.
14053        (WebCore::FrameTree::child): Added.
14054        (WebCore::FrameTree::find): Added.
14055        (WebCore::FrameTree::isDescendantOf): Added.
14056        (WebCore::FrameTree::traverseNext): Added.
14057
14058        * page/Page.h: Added setGroupName, groupName, frameNamespace, incrementFrameCount,
14059        decrementFrameCount, and frameCount.
14060        * page/Page.cpp:
14061        (WebCore::Page::Page): Initialize m_frameCount to 0.
14062        (WebCore::Page::~Page): Call setGroupName to remove the page from any group it's in.
14063        (WebCore::Page::setGroupName): Added.
14064        (WebCore::Page::frameNamespace): Added.
14065
14066        * platform/win/TemporaryLinkStubs.cpp: Removed FrameWin::generateFrameName.
14067
140682006-03-10  Justin Garcia  <justin.garcia@apple.com>
14069
14070        Reviewed by darin, harrison
14071
14072        ~3x speedup pasting plain text from the console
14073
14074        * dom/dom_position.cpp:
14075        (WebCore::Position::next):
14076        (WebCore::Position::atEnd):
14077
140782006-03-10  David Hyatt <hyatt@apple.com>
14079
14080        More refactoring.  Split the FontData into cross-platform and
14081        platform-specific components.
14082
14083        Reviewed by eric
14084
14085        * WebCore.vcproj/WebCore/WebCore.vcproj:
14086        * platform/FontData.h: Added.
14087        (WebCore::FontData:::m_platformData):
14088        (WebCore::FontData::platformData):
14089        (WebCore::FontData::setMetrics):
14090        (WebCore::FontData::ascent):
14091        (WebCore::FontData::descent):
14092        (WebCore::FontData::xHeight):
14093        (WebCore::FontData::lineSpacing):
14094        * platform/FontPlatformData.h: Added.
14095        (WebCore::FontPlatformData::hfont):
14096        (WebCore::FontPlatformData::scaledFont):
14097        * platform/win/FontPlatformDataWin.cpp: Added.
14098        (WebCore::FontPlatformData::FontPlatformData):
14099        (WebCore::FontPlatformData::~FontPlatformData):
14100        * platform/win/FontWin.cpp:
14101        (WebCore::Font::floatWidth):
14102        (WebCore::Font::drawText):
14103
141042006-03-10  Maciej Stachowiak  <mjs@apple.com>
14105
14106        Reviewed by Eric.
14107
14108        - fix win32 networking to properly use async load API
14109
14110        * platform/win/TransferJobWin.cpp:
14111        (WebCore::TransferJobWndProc):
14112        (WebCore::TransferJob::start):
14113
141142006-03-10  Eric Seidel  <eseidel@apple.com>
14115
14116        Fix build.
14117
14118        * platform/win/FontWin.cpp:
14119        (WebCore::getFontData):
14120        * platform/win/TemporaryLinkStubs.cpp:
14121
141222006-03-10  Adele Peterson  <adele@apple.com>
14123
14124        Reviewed by Tim Hatcher.
14125
14126        - fix for <rdar://problem/4469419>
14127        REGRESSION: RadioButtons are not checked in Safari when name attribute comes after checked attribute
14128
14129        Test: fast/forms/radio-attr-order.html
14130
14131        * khtml/html/HTMLInputElementImpl.cpp: (WebCore::HTMLInputElementImpl::parseMappedAttribute):
14132        When the name attribute gets parsed for radio buttons, if its supposed to be checked by default, call setChecked.
14133        Also, when the name changes on a checked button, we don't need to check that
14134        there's a form before removing it as the checked button for that group.
14135        That was an old check from when we required a form to keep track of checked buttons.
14136
141372006-03-10  Eric Seidel  <eseidel@apple.com>
14138
14139        Reviewed by darin.
14140
14141        Add real ScrollViewWin implementation (fixes redraw bugs, adds ScrollBar support.)
14142
14143        * platform/ScrollView.h:
14144        * platform/Widget.h:
14145        * platform/win/FontWin.cpp:
14146        (WebCore::getCairoFont): Fix crasher.
14147        * platform/win/ScrollViewWin.cpp:
14148        (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate):
14149        (WebCore::ScrollView::ScrollView):
14150        (WebCore::ScrollView::~ScrollView):
14151        (WebCore::ScrollView::updateContents):
14152        (WebCore::ScrollView::visibleWidth):
14153        (WebCore::ScrollView::visibleHeight):
14154        (WebCore::ScrollView::setContentsPos):
14155        (WebCore::ScrollView::resizeContents):
14156        (WebCore::ScrollView::contentsX):
14157        (WebCore::ScrollView::contentsY):
14158        (WebCore::ScrollView::contentsWidth):
14159        (WebCore::ScrollView::contentsHeight):
14160        (WebCore::ScrollView::viewportToContents):
14161        (WebCore::ScrollView::contentsToViewport):
14162        (WebCore::ScrollView::scrollXOffset):
14163        (WebCore::ScrollView::scrollYOffset):
14164        (WebCore::ScrollView::scrollBy):
14165        (WebCore::ScrollView::hScrollBarMode):
14166        (WebCore::ScrollView::vScrollBarMode):
14167        (WebCore::ScrollView::suppressScrollBars):
14168        (WebCore::ScrollView::setHScrollBarMode):
14169        (WebCore::ScrollView::setVScrollBarMode):
14170        (WebCore::ScrollView::setScrollBarsMode):
14171        (WebCore::ScrollView::setStaticBackground):
14172        (WebCore::ScrollView::updateScrollInfo):
14173        (WebCore::ScrollView::updateScrollBars):
14174        * platform/win/TemporaryLinkStubs.cpp:
14175        (BrowserExtensionWin::goBackOrForward):
14176        (BrowserExtensionWin::setIconURL):
14177        (ScrollView::scrollPointRecursively):
14178        * platform/win/WidgetWin.cpp:
14179        (WebCore::Widget::windowHandle): mark as const
14180
141812006-03-10  David Hyatt  <hyatt@apple.com>
14182
14183        Rename the m_renderer variable to m_dataSet now that the class name
14184        has changed.
14185
14186        Reviewed by adele
14187
14188        * platform/Font.cpp:
14189        (WebCore::m_wordSpacing):
14190        (WebCore::Font::Font):
14191        (WebCore::Font::operator=):
14192        (WebCore::Font::update):
14193        * platform/Font.h:
14194        * platform/FontDataSet.h:
14195        * platform/mac/FontMac.mm:
14196        (WebCore::Font::getWebCoreFont):
14197        (WebCore::Font::ascent):
14198        (WebCore::Font::descent):
14199        (WebCore::Font::lineSpacing):
14200        (WebCore::Font::xHeight):
14201        (WebCore::Font::isFixedPitch):
14202        (WebCore::Font::selectionRectForText):
14203        (WebCore::Font::drawText):
14204        (WebCore::Font::drawHighlightForText):
14205        (WebCore::Font::drawLineForText):
14206        (WebCore::Font::drawLineForMisspelling):
14207        (WebCore::Font::misspellingLineThickness):
14208        (WebCore::Font::floatWidth):
14209        (WebCore::Font::checkSelectionPoint):
14210        * platform/win/FontWin.cpp:
14211        (WebCore::FontData::FontData):
14212        (WebCore::FontData::~FontData):
14213        (WebCore::getFontData):
14214        (WebCore::FontDataSet::primaryFont):
14215        (WebCore::Font::floatWidth):
14216        (WebCore::Font::ascent):
14217        (WebCore::Font::descent):
14218        (WebCore::Font::xHeight):
14219        (WebCore::Font::lineSpacing):
14220        (WebCore::Font::isFixedPitch):
14221        (WebCore::Font::drawText):
14222
142232006-03-10  David Hyatt  <hyatt@apple.com>
14224
14225        Rename FontRenderer to FontDataSet.
14226
14227        Reviewed by adele
14228
14229        * WebCore.xcodeproj/project.pbxproj:
14230        * platform/Font.cpp:
14231        (WebCore::Font::update):
14232        * platform/Font.h:
14233        * platform/FontDataSet.h: Added.
14234        * platform/FontRenderer.h: Removed.
14235        * platform/mac/FontMac.mm:
14236        (WebCore::FontDataSet::~FontDataSet):
14237        (WebCore::FontDataSet::getWebCoreFont):
14238        (WebCore::FontDataSet::getRenderer):
14239        (WebCore::FontDataSet::determinePitch):
14240        (WebCore::FontDataSet::invalidate):
14241        * platform/win/FontWin.cpp:
14242        (WebCore::getCairoFont):
14243        (WebCore::FontDataSet::~FontDataSet):
14244        (WebCore::FontDataSet::determinePitch):
14245        (WebCore::FontDataSet::invalidate):
14246        (WebCore::FontDataSet::primaryCairoFont):
14247
142482006-03-09  Justin Garcia  <justin.garcia@apple.com>
14249
14250        Reviewed by adele
14251
14252        <http://bugs.webkit.org/show_bug.cgi?id=7692>
14253        Should use an iterator in CompositeEditCommand::doUnapply()
14254
14255        ~30% speedup of a big undo
14256
14257        * editing/CompositeEditCommand.cpp:
14258        (WebCore::CompositeEditCommand::doUnapply):
14259        (WebCore::CompositeEditCommand::doReapply):
14260
142612006-03-09  Adele Peterson  <adele@apple.com>
14262
14263        Reviewed by Tim O.
14264
14265        Removed unnecessary alerts in TextIterator advance methods.
14266        We want to be able to use advance() even if the iterator is already at the end.
14267
14268        * editing/visible_text.cpp:
14269        (khtml::TextIterator::advance): remove assert since TextIterator will just do nothing if its already at the end.
14270        (khtml::CharacterIterator::advance): ditto.
14271        * rendering/RenderTextField.cpp: (WebCore::RenderTextField::visiblePositionForIndex):
14272        Since the asserts in the iterator are removed, we don't have to check for it.atEnd() before calling advance.
14273
142742006-03-09  David Hyatt <hyatt@apple.com>
14275
14276        Make text paint with the correct foreground color on Windows.
14277        Make the face validation check case insensitive.
14278        Force ClearType to be on for font rendering.
14279
14280        Reviewed by Tim Hatcher
14281
14282        * platform/win/FontWin.cpp:
14283        (WebCore::getCairoFont):
14284        (WebCore::Font::drawText):
14285
142862006-03-09  Adele Peterson  <adele@apple.com>
14287
14288        Reviewed by Hyatt.
14289
14290        - Fix for http://bugs.webkit.org/show_bug.cgi?id=7675
14291        When new text fields change from visibility:hidden to visibility:visible, value doesn't display
14292
14293        Test: fast/forms/input-appearance-visibility.html
14294
14295        * rendering/RenderTextField.cpp: (WebCore::RenderTextField::setStyle):
14296        Sets the style directly on the children of the inner div.
14297
142982006-03-09  David Hyatt <hyatt@apple.com>
14299
14300        Make basic text rendering work on Win32.
14301
14302        Reviewed by eric
14303
14304        * WebCore.vcproj/WebCore/WebCore.vcproj:
14305        Add FontDescription.h to the Visual Studio project.
14306
14307        * bridge/win/FrameWin.cpp:
14308        (WebCore::FrameWin::FrameWin):
14309        Add some good default font settings to KHTMLSettings.
14310
14311        * platform/Font.cpp:
14312        (WebCore::Font::update):
14313        Renamed the FontRenderer method to invalidate, so that's what
14314        update calls now.
14315
14316        * platform/FontRenderer.h:
14317        * platform/mac/FontMac.mm:
14318        (WebCore::FontRenderer::~FontRenderer):
14319        (WebCore::FontRenderer::invalidate):
14320        Rename the update method to invalidate.  Make sure the Mac
14321        font renderer releases its resources when it gets destroyed.
14322
14323        * platform/win/FontWin.cpp:
14324        (WebCore::CairoFont::CairoFont):
14325        (WebCore::CairoFont::~CairoFont):
14326        (WebCore::CairoFont::hfont):
14327        (WebCore::CairoFont::scaledFont):
14328        (WebCore::CairoFont::setMetrics):
14329        (WebCore::CairoFont::ascent):
14330        (WebCore::CairoFont::descent):
14331        (WebCore::CairoFont::xHeight):
14332        (WebCore::CairoFont::lineSpacing):
14333        Implement a new class called CairoFont that encapsulates
14334        the windows HFONT, the cairo font face, and the cairo scaled
14335        font.
14336
14337        (WebCore::getCairoFont):
14338        The method to look up a Cairo font.  This will eventually use
14339        a hash, but for now it just always makes the fonts over and
14340        over again.
14341
14342        (WebCore:::m_pitch):
14343        (WebCore::FontRenderer::~FontRenderer):
14344        (WebCore::FontRenderer::determinePitch):
14345        (WebCore::FontRenderer::invalidate):
14346        More of the FontRenderer plumbing.
14347
14348        (WebCore::FontRenderer::primaryCairoFont):
14349        Returns the primary Cairo font for a family list.  This is basically
14350        the first family that is present on the system.
14351
14352        (WebCore::Font::floatWidth):
14353        The width method uses GetTextExtentPoint32W for now.  This
14354        is totally wrong and will eventually be replaced by Cairo
14355        code.
14356
14357        (WebCore::Font::ascent):
14358        (WebCore::Font::descent):
14359        (WebCore::Font::xHeight):
14360        (WebCore::Font::lineSpacing):
14361        (WebCore::Font::isFixedPitch):
14362        Accessors for the metrics and pitch info.
14363
14364        (WebCore::Font::drawText):
14365        Drawing of text.  Uses TextOut and is also basically throwaway
14366        code.
14367
14368        * platform/win/TemporaryLinkStubs.cpp:
14369        (Font::checkSelectionPoint):
14370        Move the checkSelectionPoint method back to the link stubs.
14371
143722006-03-09  Justin Garcia  <justin.garcia@apple.com>
14373
14374        Reviewed by harrison
14375
14376        Fixed formatting and changed functions to take in
14377        a const Selection& instead of a Selection.
14378
14379        * editing/ModifySelectionListLevelCommand.cpp:
14380        (WebCore::ModifySelectionListLevelCommand::canIncreaseSelectionListLevel):
14381        (WebCore::ModifySelectionListLevelCommand::canDecreaseSelectionListLevel):
14382        (WebCore::ModifySelectionListLevelCommand::increaseSelectionListLevel):
14383        (WebCore::ModifySelectionListLevelCommand::decreaseSelectionListLevel):
14384        (WebCore::modifySelectionListLevel):
14385        (WebCore::getStartEndListChildren):
14386        (WebCore::canIncreaseListLevel):
14387        (WebCore::canDecreaseListLevel):
14388        (WebCore::ModifySelectionListLevelCommand::increaseListLevel):
14389        (WebCore::ModifySelectionListLevelCommand::decreaseListLevel):
14390        * editing/ModifySelectionListLevelCommand.h:
14391
143922006-03-09  Adele Peterson  <adele@apple.com>
14393
14394        Reviewed by Darin.
14395
14396        - Fix for http://bugs.webkit.org/show_bug.cgi?id=6814
14397        Implement selection methods for RenderTextField
14398
14399        Test: fast/forms/input-appearance-selection.html
14400
14401        * rendering/RenderTextField.cpp:
14402        (WebCore::RenderTextField::createDivStyle): removed extra space.
14403        (WebCore::RenderTextField::select): Removed checks for document and m_div since there should always be a document and
14404         m_div will be initialized as the renderer gets attached.
14405        (WebCore::RenderTextField::selectionStart): Calls indexForVisiblePosition.
14406        (WebCore::RenderTextField::selectionEnd): ditto.
14407        (WebCore::RenderTextField::setSelectionStart): calls setSelectionRange.
14408        (WebCore::RenderTextField::setSelectionEnd): ditto.
14409        (WebCore::RenderTextField::setSelectionRange): gets VisiblePositions for both indices, and sets the selection.
14410        (WebCore::RenderTextField::visiblePositionForIndex): Added helper method.
14411        (WebCore::RenderTextField::indexForVisiblePosition): Added helper method.
14412        * rendering/RenderTextField.h: Added new helper methods for selection.
14413
144142006-03-09  David Carson  <dacarson@gmail.com>
14415
14416        Test: fast/canvas/fillrect_gradient.html
14417
14418        Reviewed by Darin.
14419
14420        - fix http://bugs.webkit.org/show_bug.cgi?id=6103
14421          Rectangles are not filled according to the Web Applications Working Draft
14422
14423        * khtml/ecma/kjs_html.cpp: (KJS::Context2DFunction::callAsFunction):
14424        Modified fillrect function to check and use a gradient if set.
14425        Builds a path to fill rects with a gradient.
14426
144272006-03-09  Mitz Pettel  <opendarwin.org@mitzpettel.com>
14428
14429        No test because this fixes an existing pixel test (and does not affect
14430        the render tree).
14431
14432        Reviewed by Maciej.
14433
14434        - fix http://bugs.webkit.org/show_bug.cgi?id=7664
14435          REGRESSION: tests that include numeric list markers fail in pixel mode
14436
14437        * platform/GraphicsContext.cpp:
14438        (WebCore::GraphicsContext::drawText): Restored AlignRight behavior.
14439
144402006-03-09  Mitz Pettel  <opendarwin.org@mitzpettel.com>
14441
14442        No test because we couldn't figure out how to write one.
14443
14444        Reviewed by Darin.
14445
14446        - fix http://bugs.webkit.org/show_bug.cgi?id=7680
14447          REGRESSION: Ellipsis painted over the chrome and in invalid contexts
14448
14449        * rendering/render_line.cpp:
14450        (WebCore::EllipsisBox::paint): Replaced call to Font::drawText with
14451        GraphicsContext::drawText, which checks the paintingDisabled flag.
14452
144532006-03-09  Maciej Stachowiak  <mjs@apple.com>
14454
14455        Reviewed by Eric.
14456
14457        - make link clicks work by propagating them up to a client
14458
14459        * Viewer/ImageView.cpp:
14460        * bridge/win/FrameWin.cpp:
14461        * bridge/win/FrameWin.h:
14462        * platform/win/TemporaryLinkStubs.cpp:
14463        (FrameWin::incomingReferrer):
14464
144652006-03-09  Eric Seidel  <eseidel@apple.com>
14466
14467        Reviewed by mjs.
14468
14469        Add support for Timers under 10ms.
14470        Fix random crashers due to multi-threaded loading.
14471
14472        * platform/TransferJob.h:
14473        * platform/TransferJobInternal.h:
14474        (WebCore::TransferJobInternal::TransferJobInternal):
14475        * platform/Widget.h:
14476        * platform/win/SharedTimerWin.cpp:
14477        (WebCore::TimerWindowWndProc):
14478        (WebCore::initializeOffScreenTimerWindow):
14479        (WebCore::setSharedTimerFireTime):
14480        * platform/win/TemporaryLinkStubs.cpp:
14481        (WebCore::TransferJob::assembleResponseHeaders):
14482        (WebCore::TransferJob::retrieveCharset):
14483        * platform/win/TransferJobWin.cpp:
14484        (WebCore::addToOutstandingJobs):
14485        (WebCore::removeFromOutstandingJobs):
14486        (WebCore::lookupTransferJob):
14487        (WebCore::TransferJobWndProc):
14488        (WebCore::initializeOffScreenTransferJobWindow):
14489        (WebCore::TransferJob::~TransferJob):
14490        (WebCore::transferJobStatusCallback):
14491        (WebCore::TransferJob::start):
14492        (WebCore::TransferJob::cancel):
14493        * platform/win/WidgetWin.cpp:
14494
144952006-03-08  Justin Garcia  <justin.garcia@apple.com>
14496
14497        Reviewed by darin
14498
14499        <http://bugs.webkit.org/show_bug.cgi?id=7579>
14500        TinyMCE: Implement execCommand(insertImage, ...)
14501
14502        Implemented InsertImage and also changed paste to use a single
14503        rule for when to remove junk that remains after node removal.
14504
14505        * editing/ReplaceSelectionCommand.cpp:
14506        (WebCore::ReplaceSelectionCommand::removeNodeAndPruneAncestors):
14507        (WebCore::ReplaceSelectionCommand::doApply):
14508        (WebCore::ReplaceSelectionCommand::removeLinePlaceholderIfNeeded):
14509        * editing/ReplaceSelectionCommand.h:
14510        * editing/htmlediting.cpp:
14511        * editing/jsediting.cpp:
14512
145132006-03-08  Eric Seidel  <eseidel@apple.com>
14514
14515        Reviewed by hyatt.
14516
14517        Fix build script to properly copy dll files.
14518
14519        * WebCore.vcproj/WebCore/build-generated-files.sh:
14520
145212006-03-08  Rob Buis  <buis@kde.org>
14522
14523        Reviewed by eseidel.
14524
14525        Fix for http://bugs.webkit.org/show_bug.cgi?id=6899 SVG <rect> does not respect display: none
14526
14527        For svg elements that can render, call StyledElementImpl::rendererIsNeeded
14528        to decide whether the element should render. In particular this way
14529        any setting of display="none" is handled.
14530
14531        * ksvg2/svg/SVGAElementImpl.h:
14532        (WebCore::SVGAElementImpl::rendererIsNeeded):
14533        * ksvg2/svg/SVGCircleElementImpl.h:
14534        (WebCore::SVGCircleElementImpl::rendererIsNeeded):
14535        * ksvg2/svg/SVGEllipseElementImpl.h:
14536        (WebCore::SVGEllipseElementImpl::rendererIsNeeded):
14537        * ksvg2/svg/SVGForeignObjectElementImpl.h:
14538        (WebCore::SVGForeignObjectElementImpl::rendererIsNeeded):
14539        * ksvg2/svg/SVGGElementImpl.h:
14540        (WebCore::SVGGElementImpl::rendererIsNeeded):
14541        * ksvg2/svg/SVGImageElementImpl.h:
14542        (WebCore::SVGImageElementImpl::rendererIsNeeded):
14543        * ksvg2/svg/SVGLineElementImpl.h:
14544        (WebCore::SVGLineElementImpl::rendererIsNeeded):
14545        * ksvg2/svg/SVGMarkerElementImpl.h:
14546        (WebCore::SVGMarkerElementImpl::rendererIsNeeded):
14547        * ksvg2/svg/SVGMaskElementImpl.h:
14548        (WebCore::SVGMaskElementImpl::rendererIsNeeded):
14549        * ksvg2/svg/SVGPathElementImpl.h:
14550        (WebCore::SVGPathElementImpl::rendererIsNeeded):
14551        * ksvg2/svg/SVGPatternElementImpl.h:
14552        (WebCore::SVGPatternElementImpl::rendererIsNeeded):
14553        * ksvg2/svg/SVGPolyElementImpl.h:
14554        (WebCore::SVGPolyElementImpl::rendererIsNeeded):
14555        * ksvg2/svg/SVGRectElementImpl.h:
14556        (WebCore::SVGRectElementImpl::rendererIsNeeded):
14557        * ksvg2/svg/SVGSVGElementImpl.h:
14558        (WebCore::SVGSVGElementImpl::rendererIsNeeded):
14559        * ksvg2/svg/SVGSwitchElementImpl.h:
14560        (WebCore::SVGSwitchElementImpl::rendererIsNeeded):
14561        * ksvg2/svg/SVGTSpanElementImpl.h:
14562        (WebCore::SVGTSpanElementImpl::rendererIsNeeded):
14563        * ksvg2/svg/SVGTextElementImpl.h:
14564        (WebCore::SVGTextElementImpl::rendererIsNeeded):
14565        * ksvg2/svg/SVGUseElementImpl.h:
14566        (WebCore::SVGUseElementImpl::rendererIsNeeded):
14567
145682006-03-08  Eric Seidel  <eseidel@apple.com>
14569
14570        Reviewed by mjs.
14571
14572        Add stubs to allow JavaScript-enabled WebCore to not crash.
14573        Add ScreenWin implementation.
14574        Add alert() support.
14575
14576        * WebCore.vcproj/WebCore/WebCore.vcproj:
14577        * bridge/win/FrameWin.cpp:
14578        (WebCore::FrameWin::runJavaScriptAlert):
14579        (WebCore::FrameWin::runJavaScriptConfirm):
14580        * platform/win/ScreenWin.cpp: Added.
14581        (WebCore::monitorInfoForWidget):
14582        (WebCore::WebCore::screenRect):
14583        (WebCore::WebCore::screenDepth):
14584        (WebCore::WebCore::usableScreenRect):
14585        * platform/win/TemporaryLinkStubs.cpp:
14586        (FrameWin::canUndo):
14587        (FrameWin::runJavaScriptPrompt):
14588        (FrameWin::canPaste):
14589        (WebCore::setCookies):
14590        (WebCore::cookies):
14591        (WebCore::cookiesEnabled):
14592        (PlugInInfoStore::createPluginInfoForPluginAtIndex):
14593        (PlugInInfoStore::pluginCount):
14594        (WebCore::refreshPlugins):
14595        (FrameWin::clearUndoRedoOperations):
14596        (FrameWin::incomingReferrer):
14597
145982006-03-08  Darin Adler  <darin@apple.com>
14599
14600        Reviewed by Maciej.
14601
14602        - fix another instance of the bug I just fixed in the Macintosh-specific code path
14603
14604        * platform/image-decoders/gif/GIFImageReader.h: Remove not-so-useful 100ms constant.
14605        * platform/image-decoders/gif/GIFImageReader.cpp: (GIFImageReader::read):
14606        Use the correct rule for minimum frame durations.
14607
146082006-03-08  Maciej Stachowiak  <mjs@apple.com>
14609
14610        Reviewed by Eric.
14611
14612        - very rough implementation of networking in TransferJob for windows
14613
14614        * platform/TransferJob.h:
14615        * platform/TransferJobInternal.h:
14616        (WebCore::TransferJobInternal::TransferJobInternal):
14617        * platform/win/TransferJobWin.cpp:
14618        (WebCore::transferJobStatusCallback):
14619        (WebCore::TransferJob::start):
14620
146212006-03-08  Maciej Stachowiak  <mjs@apple.com>
14622
14623        Reviewed by Darin.
14624
14625        - fix win32 build
14626
14627        * platform/win/FontWin.cpp:
14628        (WebCore::Font::drawText):
14629        (WebCore::Font::drawHighlightForText):
14630        * platform/win/TemporaryLinkStubs.cpp:
14631        (GraphicsContext::clearFocusRing):
14632        (GraphicsContext::selectedTextBackgroundColor):
14633        (Font::selectionRectForText):
14634
146352006-03-08  Darin Adler  <darin@apple.com>
14636
14637        Reviewed by Maciej.
14638
14639        - fix one more thing from http://bugs.webkit.org/show_bug.cgi?id=7528
14640          REGRESSION: GIF animation speeds are wrong on a page with many animated GIFs
14641
14642        No layout test because I don't know how to test animated GIF speed.
14643
14644        * platform/mac/ImageSourceMac.cpp: (WebCore::ImageSource::frameDurationAtIndex):
14645        Use the correct rule for minimum frame durations. It's a bit non-intuitive, so
14646        I made the comment more explicit. The old code in WebKit had this rule.
14647
146482006-03-08  David Hyatt  <hyatt@apple.com>
14649
14650        Make GraphicsContext call into Font to draw all text and eliminate
14651        all knowledge of WebTextRenderers from it.
14652
14653        Reviewed by darin
14654
14655        * platform/Font.h:
14656        * platform/GraphicsContext.cpp:
14657        (WebCore::GraphicsContext::drawText):
14658        (WebCore::GraphicsContext::drawHighlightForText):
14659        (WebCore::GraphicsContext::drawLineForText):
14660        (WebCore::GraphicsContext::drawLineForMisspelling):
14661        (WebCore::GraphicsContext::misspellingLineThickness):
14662        * platform/GraphicsContext.h:
14663        (WebCore::GraphicsContext::platformContext):
14664        * platform/cairo/GraphicsContextCairo.cpp:
14665        (WebCore::GraphicsContext::platformContext):
14666        * platform/mac/FontMac.mm:
14667        (WebCore::Font::drawText):
14668        (WebCore::Font::drawHighlightForText):
14669        (WebCore::Font::drawLineForText):
14670        (WebCore::Font::drawLineForMisspelling):
14671        (WebCore::Font::misspellingLineThickness):
14672        * platform/mac/GraphicsContextMac.mm:
14673        * platform/win/FontWin.cpp:
14674        (WebCore::Font::drawText):
14675        * rendering/InlineTextBox.cpp:
14676        (WebCore::InlineTextBox::paint):
14677        (WebCore::InlineTextBox::paintSelection):
14678        (WebCore::InlineTextBox::paintMarkedTextBackground):
14679        (WebCore::InlineTextBox::paintTextMatchMarker):
14680
146812006-03-08  Darin Adler  <darin@apple.com>
14682
14683        Reviewed by Hyatt.
14684
14685        - fixed super-fast animation of many animated GIFs
14686
14687        No layout test because I don't know how to test animated GIF speed.
14688
14689        * platform/mac/ImageSourceMac.cpp: (WebCore::ImageSource::frameDurationAtIndex):
14690        Always take the minimum duration into account, even if there's some kind of failure
14691        getting the duration from the GIF.
14692
146932006-03-07  Darin Adler  <darin@apple.com>
14694
14695        Reviewed by Anders.
14696
14697        - fix http://bugs.webkit.org/show_bug.cgi?id=7655
14698          unwanted output while running layout tests
14699
14700        * khtml/xsl/xsl_stylesheetimpl.cpp: (WebCore::XSLStyleSheetImpl::parseString):
14701        Pass XML_PARSE_NOERROR and XML_PARSE_NOWARNING. We don't want errors and warnings
14702        to be logged to stdout or stderr. If we later decide we want the error messages,
14703        then we should do the additional work to put them into the web page or the
14704        console (along with the JavaScript errors).
14705
14706        * platform/ArrayImpl.cpp: (WebCore::ArrayImpl::resize): Add a preflight to protect
14707        against integer overflow due to large array size. Noticed this while looking into
14708        the malloc error message.
14709
147102006-03-07  Darin Adler  <darin@apple.com>
14711
14712        Reviewed by Adele.
14713
14714        - fix http://bugs.webkit.org/show_bug.cgi?id=7647
14715          Crash when typing into text contols
14716
14717        I missed a couple places that were still saying KWQWidgetHolder
14718        in the change I landed late last night.
14719
14720        * kwq/KWQTextArea.h:
14721        * kwq/KWQTextArea.mm:
14722        * kwq/KWQTextField.h:
14723        Changed them all to say WebCoreWidgetHolder.
14724
147252006-03-07  Eric Seidel  <eseidel@apple.com>
14726
14727        Reviewed by hyatt.
14728
14729        Fix cursor support on win32.
14730
14731        * platform/win/WidgetWin.cpp:
14732        (WebCore::Widget::setCursor):
14733
147342006-03-07  Eric Seidel  <eseidel@apple.com>
14735
14736        Reviewed by hyatt.
14737
14738        Fix basic text support.
14739
14740        * WebCore.vcproj/WebCore/WebCore.vcproj:
14741        * platform/cairo/GraphicsContextCairo.cpp:
14742        (WebCore::GraphicsContext::drawText):
14743
147442006-03-07  Dave Hyatt <hyatt@apple.com>
14745
14746        Eliminate the unused parameters of the QString version of drawText.
14747
14748        Reviewed by eric
14749
14750        * platform/GraphicsContext.h:
14751        * platform/cairo/GraphicsContextCairo.cpp:
14752        (WebCore::GraphicsContext::drawText):
14753        * platform/mac/GraphicsContextMac.mm:
14754        (WebCore::GraphicsContext::drawText):
14755        * rendering/render_image.cpp:
14756        (WebCore::RenderImage::paint):
14757        * rendering/render_list.cpp:
14758        (WebCore::RenderListMarker::paint):
14759
147602006-03-07  Eric Seidel  <eseidel@apple.com>
14761
14762        Reviewed by hyatt.
14763
14764        Add very basic text support.
14765        Sort a few more stubs.
14766
14767        * WebCore.vcproj/WebCore/WebCore.vcproj:
14768        * platform/cairo/GraphicsContextCairo.cpp:
14769        (WebCore::GraphicsContext::font):
14770        (WebCore::GraphicsContext::setFont):
14771        (WebCore::GraphicsContext::drawText):
14772        * platform/win/FontWin.cpp: Added.
14773        (WebCore::Font::drawText):
14774        * platform/win/TemporaryLinkStubs.cpp:
14775        (QComboBox::focusPolicy):
14776        (ScrollView::scrollXOffset):
14777        (Font::isFixedPitch):
14778        (Path::boundingRect):
14779
147802006-03-07  Adele Peterson  <adele@apple.com>
14781
14782        Reviewed by Hyatt.
14783
14784        - Fix for http://bugs.webkit.org/show_bug.cgi?id=7319
14785        Can't see caret at the end of a contenteditable div with overflow:hidden
14786
14787        No tests added since I don't think the blinking caret will show up in our tests.
14788
14789        * rendering/RenderBlock.cpp:
14790        (WebCore::RenderBlock::rightmostPosition): When calculating the rightmostPosition for editable blocks,
14791        we need to account for the caret that can be drawn 1 px past the last child inline box.
14792
147932006-03-07  David Kilzer  <ddkilzer@kilzer.net>
14794
14795        Reviewed by Darin.
14796
14797        - Fix for http://bugs.webkit.org/show_bug.cgi?id=3905
14798        Missing </title> makes page blank
14799
14800        Test: fast/js/exception-linenums-in-html-1.html
14801        Test: fast/js/exception-linenums-in-html-2.html
14802        Test: fast/js/missing-title-end-tag-js.html
14803        Test: fast/tokenizer/missing-title-end-tag-1.html
14804        Test: fast/tokenizer/missing-title-end-tag-2.html
14805
14806        * khtml/html/htmlparser.cpp:
14807        (WebCore::HTMLParser::handleError): Add check for missing </title> tag and handle
14808        this condition if identified.
14809        * khtml/html/htmltokenizer.cpp:
14810        (WebCore::HTMLTokenizer::parseTag): If parseSpecial() consumes the rest of the
14811        document looking for a </title> tag, reset the state of the tokenizer and
14812        retokenize with no special handling for <title>.  The parser will handle the
14813        missing </title> tag in HTMLParser::handleError().
14814        * platform/SegmentedString.cpp:
14815        (WebCore::SegmentedString::SegmentedString): Added copy constructor.
14816        (WebCore::SegmentedString::operator=): Added assignment operator.  Previously the
14817        compiler was generating a default method for the assignment operator, but it did
14818        not handle m_currentChar properly.
14819        * platform/SegmentedString.h: Added prototypes for copy constructor and
14820        assignment operator.
14821
148222006-03-07  Eric Seidel  <eseidel@apple.com>
14823
14824        Fix win32 link stubs.
14825
14826        * platform/win/TemporaryLinkStubs.cpp:
14827        (WebCore::searchableIndexIntroduction):
14828        (WebCore::setCookies):
14829        (WebCore::cookies):
14830        (WebCore::cookiesEnabled):
14831        (WebCore::findNextSentenceFromIndex):
14832        (WebCore::findSentenceBoundary):
14833        (WebCore::findNextWordFromIndex):
14834        (WebCore::findWordBoundary):
14835        (WebCore::submitButtonDefaultLabel):
14836        (WebCore::inputElementAltText):
14837        (WebCore::resetButtonDefaultLabel):
14838        (WebCore::defaultLanguage):
14839
148402006-03-07  Darin Adler  <darin@apple.com>
14841
14842        Reviewed by Adele, except for the first change listed.
14843
14844        - fix recently-introduced bug that GuardMalloc found while I was debugging my other change
14845
14846        * rendering/render_frames.cpp: (WebCore::RenderPart::~RenderPart):
14847        Set m_widget to 0 before calling deref so we don't end up trying to do unwanted work.
14848
14849        - removed 10 more files from KWQ
14850
14851        * ForwardingHeaders/klocale.h: Removed.
14852
14853        * khtml/misc/helper.cpp: Removed.
14854        * khtml/misc/helper.h: Removed.
14855
14856        * kwq/KWQCollection.h: Removed.
14857        * kwq/KWQKCookieJar.h: Removed.
14858        * kwq/KWQKCookieJar.mm: Removed.
14859        * kwq/KWQKLocale.h: Removed.
14860        * kwq/KWQKLocale.mm: Removed.
14861        * kwq/KWQKURL.h: Removed.
14862        * kwq/KWQKURL.mm: Removed.
14863        * kwq/KWQTextUtilities.h: Removed.
14864        * kwq/KWQTextUtilities.mm: Removed.
14865        * kwq/KWQView.h: Removed.
14866
14867        * platform/CookieJar.h: Added.
14868        * platform/Language.h: Added.
14869        * platform/LocalizedStrings.h: Added.
14870        * platform/TextBoundaries.h: Added.
14871        * platform/mac/CookieJar.mm: Added.
14872        * platform/mac/Language.mm: Added.
14873        * platform/mac/LocalizedStringsMac.mm: Added.
14874        * platform/mac/TextBoundaries.mm: Added.
14875        * platform/mac/WebCoreWidgetHolder.h: Added.
14876
14877        * WebCore.xcodeproj/project.pbxproj: Updated for removed and added files.
14878        * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for removed and added files.
14879
14880        * bridge/mac/WebCoreFrameBridge.mm: Updated includes.
14881        (-[WebCoreFrameBridge elementForView:]): Changed KWQWidgetHolder to WebCoreWidgetHolder.
14882
14883        * editing/visible_units.cpp:
14884        (WebCore::previousWordPositionBoundary):
14885        (WebCore::nextWordPositionBoundary):
14886        (WebCore::previousSentencePositionBoundary):
14887        (WebCore::nextSentencePositionBoundary):
14888        Call TextBoundaries.h functions instead of helper.h ones.
14889
14890        * khtml/ecma/kjs_navigator.cpp: (KJS::Navigator::getValueProperty):
14891        * ksvg2/svg/SVGTestsImpl.cpp: (WebCore::SVGTestsImpl::isValid):
14892        Changed to call defaultLanguage; cleaned up formatting.
14893
14894        * khtml/html/HTMLFormElementImpl.cpp: Removed stray comment.
14895
14896        * khtml/html/html_documentimpl.cpp:
14897        (WebCore::HTMLDocumentImpl::cookie):
14898        (WebCore::HTMLDocumentImpl::setCookie):
14899        Call CookieJar.h functions.
14900
14901        * css/css_valueimpl.cpp:
14902        * css/cssparser.cpp:
14903        * css/cssstyleselector.cpp:
14904        * dom/DocumentImpl.cpp:
14905        * dom/dom_position.cpp:
14906        * khtml/ecma/kjs_window.cpp:
14907        * khtml/html/HTMLInputElementImpl.cpp:
14908        * khtml/html/html_headimpl.cpp:
14909        * khtml/html/htmlparser.cpp:
14910        * khtml/misc/decoder.cpp:
14911        * ksvg2/svg/SVGDocumentImpl.cpp:
14912        * kwq/KWQComboBox.mm:
14913        * kwq/KWQKSSLKeyGen.mm:
14914        * kwq/KWQListBox.mm:
14915        * kwq/KWQListImpl.cpp:
14916        * kwq/KWQListImpl.h:
14917        * kwq/KWQScrollBar.mm:
14918        * kwq/KWQSlider.mm:
14919        * kwq/KWQTextField.mm:
14920        * kwq/KWQValueList.h:
14921        * loader/DocLoader.cpp:
14922        * page/Frame.cpp:
14923        * page/FrameView.cpp:
14924        * platform/mac/WidgetMac.mm:
14925        (WebCore::Widget::beforeMouseDown):
14926        (WebCore::Widget::afterMouseDown):
14927        * rendering/render_applet.cpp:
14928        * rendering/render_form.cpp:
14929        * rendering/render_image.cpp:
14930        * rendering/render_list.cpp:
14931        Updated includes and protocol names.
14932
14933        * khtml/html/htmltokenizer.cpp: (WebCore::HTMLTokenizer::write): Remove
14934        QT_VERSION code.
14935        * platform/QString.h: Remove QT_VERSION.
14936
14937        * kwq/KWQPtrList.h: Change to no longer use QPtrCollection.
14938
14939        * kwq/KWQRenderTreeDebug.h:
14940        * kwq/KWQRenderTreeDebug.cpp: (externalRepresentation):
14941        Remove unused debuggingRenderTree boolean.
14942
149432006-03-07  Eric Seidel  <eseidel@apple.com>
14944
14945        Reviewed by darin.
14946
14947        * platform/mac/GraphicsContextMac.mm: Add Widget.h to fix no-svg build.
14948
149492006-03-06  Eric Seidel  <eseidel@apple.com>
14950
14951        Reviewed by hyatt.
14952
14953        Make spinneret run again, fix webview to support dynamic resize.
14954
14955        * platform/win/TemporaryLinkStubs.cpp:
14956        (Widget::setDrawingAlpha):
14957        * platform/win/WidgetWin.cpp:
14958        (WebCore::Widget::Widget):
14959        (WebCore::Widget::setClient):
14960        (WebCore::Widget::client):
14961        (WebCore::Widget::frameGeometry):
14962
149632006-03-06  Eric Seidel  <eseidel@apple.com>
14964
14965        Reviewed by darin.
14966
14967        Fix win32 build.
14968
14969        * platform/win/TemporaryLinkStubs.cpp:
14970        (QScrollBar::QScrollBar):
14971        (QTextEdit::setAlignment):
14972        (Widget::client):
14973        (Widget::setClient):
14974        (QLineEdit::setAlignment):
14975
149762006-03-06  Beth Dakin  <bdakin@apple.com>
14977
14978        Reviewed by Darin.
14979
14980        Fix for http://bugs.webkit.org/show_bug.cgi?id=7566 (also
14981        <rdar://problem/4467128> ). Must call update() on a Font before
14982        attempting to use it because the FontRenderer is not created until
14983        update() is called.
14984
14985        * kwq/KWQListBox.mm:
14986        (QListBox::sizeForNumberOfLines): Call update()
14987        (-[KWQTableView drawRow:clipRect:]): Call update()
14988
149892006-03-06  Darin Adler  <darin@apple.com>
14990
14991        Reviewed by Adele.
14992
14993        - http://bugs.webkit.org/show_bug.cgi?id=7564
14994          remove QObject, QGuardedPtr, slots, and signals
14995
14996        I had written a detailed change log entry, but I lost it!
14997        I'm too annoyed to write one all over again.
14998
14999        * ForwardingHeaders/qguardedptr.h: Removed.
15000        * ForwardingHeaders/qobject.h: Removed.
15001
15002        * kwq/KWQGuardedPtr.cpp: Removed.
15003        * kwq/KWQGuardedPtr.h: Removed.
15004        * kwq/KWQNamespace.h: Removed.
15005        * kwq/KWQObject.cpp: Removed.
15006        * kwq/KWQObject.h: Removed.
15007        * kwq/KWQSignal.cpp: Removed.
15008        * kwq/KWQSignal.h: Removed.
15009        * kwq/KWQSlot.cpp: Removed.
15010        * kwq/KWQSlot.h: Removed.
15011
15012        * platform/WidgetClient.h: Added.
15013
15014        * WebCore.xcodeproj/project.pbxproj: Updated for removed and added files.
15015        * WebCore.vcproj/WebCore/WebCore.vcproj: Ditto.
15016
15017        * bindings/js/JSDOMCore.cpp: Touched.
15018        * bindings/js/JSDOMEvents.cpp: Ditto.
15019
15020        * bridge/BrowserExtension.h:
15021        (WebCore::BrowserExtension::~BrowserExtension):
15022        * bridge/mac/WebCoreFrameBridge.mm:
15023        (-[WebCoreFrameBridge elementForView:]):
15024        * dom/CDATASectionImpl.cpp:
15025        (WebCore::CDATASectionImpl::cloneNode):
15026        * dom/DocumentImpl.cpp:
15027        (WebCore::DocumentImpl::~DocumentImpl):
15028        * dom/DocumentImpl.h:
15029        * kcanvas/device/KRenderingDevice.h:
15030        * khtml/ecma/kjs_css.cpp:
15031        (KJS::DOMCSSStyleDeclaration::put):
15032        * khtml/ecma/kjs_window.cpp:
15033        (KJS::FrameArray::indexGetter):
15034        (KJS::FrameArray::nameGetter):
15035        * khtml/html/html_documentimpl.cpp:
15036        (WebCore::HTMLDocumentImpl::createTokenizer):
15037        * khtml/html/htmlparser.cpp:
15038        (WebCore::HTMLParser::HTMLParser):
15039        (WebCore::HTMLParser::insertNode):
15040        (WebCore::HTMLParser::handleError):
15041        (WebCore::HTMLParser::commentCreateErrorCheck):
15042        (WebCore::HTMLParser::noscriptCreateErrorCheck):
15043        (WebCore::HTMLParser::isInline):
15044        (WebCore::HTMLParser::finished):
15045        * khtml/html/htmlparser.h:
15046        * khtml/html/htmltokenizer.cpp:
15047        (WebCore::HTMLTokenizer::HTMLTokenizer):
15048        (WebCore::HTMLTokenizer::scriptHandler):
15049        (WebCore::HTMLTokenizer::scriptExecution):
15050        (WebCore::HTMLTokenizer::parseComment):
15051        (WebCore::HTMLTokenizer::parseTag):
15052        (WebCore::HTMLTokenizer::stopParsing):
15053        (WebCore::HTMLTokenizer::timerFired):
15054        (WebCore::HTMLTokenizer::processToken):
15055        (WebCore::parseHTMLDocumentFragment):
15056        * khtml/html/htmltokenizer.h:
15057        * kwq/KWQComboBox.h:
15058        * kwq/KWQComboBox.mm:
15059        (-[KWQPopUpButton setPopulatingMenu:QComboBox:::]):
15060        (QComboBox::itemSelected):
15061        (-[KWQPopUpButton becomeFirstResponder]):
15062        (-[KWQPopUpButton resignFirstResponder]):
15063        * kwq/KWQFileButton.h:
15064        (KWQFileButton::filename):
15065        * kwq/KWQFileButton.mm:
15066        (KWQFileButton::KWQFileButton):
15067        (KWQFileButton::filenameChanged):
15068        (-[KWQFileButtonAdapter filenameChanged:]):
15069        (-[KWQFileButtonAdapter focusChanged:]):
15070        (-[KWQFileButtonAdapter clicked]):
15071        * kwq/KWQLineEdit.h:
15072        * kwq/KWQLineEdit.mm:
15073        (QLineEdit::QLineEdit):
15074        (QLineEdit::setAlignment):
15075        (KWQNSTextAlignment):
15076        * kwq/KWQListBox.h:
15077        (QListBox::changingSelection):
15078        * kwq/KWQListBox.mm:
15079        (QListBox::QListBox):
15080        (-[KWQTableView becomeFirstResponder]):
15081        (-[KWQTableView resignFirstResponder]):
15082        (-[KWQTableView tableViewSelectionDidChange:]):
15083        * kwq/KWQScrollBar.h:
15084        (WebCore::):
15085        (QScrollBar::orientation):
15086        * kwq/KWQScrollBar.mm:
15087        (-[KWQScrollBar initWithQScrollBar:]):
15088        (QScrollBar::QScrollBar):
15089        (QScrollBar::valueChanged):
15090        (QScrollBar::scroll):
15091        * kwq/KWQSlider.h:
15092        * kwq/KWQSlider.mm:
15093        (-[KWQSlider mouseDown:]):
15094        (-[KWQSlider slide:]):
15095        (-[KWQSlider becomeFirstResponder]):
15096        (-[KWQSlider resignFirstResponder]):
15097        (QSlider::QSlider):
15098        (QSlider::sliderValueChanged):
15099        (QSlider::dimensions):
15100        * kwq/KWQTextArea.mm:
15101        (-[KWQTextAreaTextView textViewDidChangeSelection:]):
15102        (-[KWQTextAreaTextView textDidChange:]):
15103        (-[KWQTextAreaTextView becomeFirstResponder]):
15104        (-[KWQTextAreaTextView resignFirstResponder]):
15105        (-[KWQTextAreaTextView mouseDown:]):
15106        (-[KWQTextAreaTextView dispatchHTMLEvent:]):
15107        * kwq/KWQTextEdit.h:
15108        * kwq/KWQTextEdit.mm:
15109        (QTextEdit::QTextEdit):
15110        (QTextEdit::setAlignment):
15111        * kwq/KWQTextField.mm:
15112        (-[KWQTextFieldController action:]):
15113        (-[KWQTextFieldController controlTextDidEndEditing:]):
15114        (-[KWQTextFieldController controlTextDidChange:]):
15115        (-[KWQTextFieldController textChanged]):
15116        (-[KWQTextFieldController textView:didHandleEvent:]):
15117        (-[KWQTextFieldController setHasFocus:]):
15118        (-[KWQTextFieldController textViewDidChangeSelection:]):
15119        * loader/CachedObject.h:
15120        * page/Frame.cpp:
15121        (WebCore::Frame::Frame):
15122        (WebCore::Frame::~Frame):
15123        (WebCore::Frame::setOpener):
15124        (WebCore::Frame::nodeForWidget):
15125        (WebCore::Frame::disconnectOwnerRenderer):
15126        * page/Frame.h:
15127        * page/FramePrivate.h:
15128        (WebCore::FramePrivate::FramePrivate):
15129        * page/FrameView.cpp:
15130        (WebCore::FrameView::~FrameView):
15131        * platform/Brush.h:
15132        * platform/Pen.h:
15133        * platform/Widget.cpp:
15134        (WebCore::Widget::isFrameView):
15135        * platform/Widget.h:
15136        (WebCore::):
15137        * platform/mac/GraphicsContextMac.mm:
15138        (WebCore::GraphicsContext::drawText):
15139        * platform/mac/WidgetMac.mm:
15140        (WebCore::Widget::Widget):
15141        (WebCore::Widget::focusPolicy):
15142        (WebCore::Widget::sendConsumedMouseUp):
15143        (WebCore::Widget::setClient):
15144        (WebCore::Widget::client):
15145        * rendering/InlineTextBox.cpp:
15146        (WebCore::InlineTextBox::operator delete):
15147        * rendering/render_applet.cpp:
15148        (WebCore::RenderApplet::createWidgetIfNecessary):
15149        * rendering/render_form.cpp:
15150        (WebCore::RenderFormElement::clicked):
15151        (WebCore::RenderFormElement::textAlignment):
15152        (WebCore::RenderLineEdit::RenderLineEdit):
15153        (WebCore::RenderLineEdit::selectionChanged):
15154        (WebCore::RenderLineEdit::returnPressed):
15155        (WebCore::RenderLineEdit::performSearch):
15156        (WebCore::RenderLineEdit::valueChanged):
15157        (WebCore::RenderFileButton::RenderFileButton):
15158        (WebCore::RenderFileButton::returnPressed):
15159        (WebCore::RenderFileButton::valueChanged):
15160        (WebCore::RenderLegend::RenderLegend):
15161        (WebCore::RenderSelect::RenderSelect):
15162        (WebCore::RenderSelect::updateFromElement):
15163        (WebCore::RenderSelect::valueChanged):
15164        (WebCore::RenderSelect::selectionChanged):
15165        (WebCore::RenderSelect::createListBox):
15166        (WebCore::RenderTextArea::RenderTextArea):
15167        (WebCore::RenderTextArea::valueChanged):
15168        (WebCore::RenderTextArea::selectionChanged):
15169        (WebCore::RenderSlider::RenderSlider):
15170        (WebCore::RenderSlider::valueChanged):
15171        * rendering/render_form.h:
15172        (WebCore::RenderFormElement::element):
15173        (WebCore::RenderLineEdit::element):
15174        (WebCore::RenderFileButton::element):
15175        (WebCore::RenderFileButton::isEditable):
15176        (WebCore::RenderSelect::element):
15177        (WebCore::RenderTextArea::element):
15178        (WebCore::RenderSlider::element):
15179        * rendering/render_frames.cpp:
15180        (WebCore::RenderPart::RenderPart):
15181        (WebCore::RenderPart::~RenderPart):
15182        (WebCore::RenderPart::setFrame):
15183        (WebCore::RenderPart::setWidget):
15184        (WebCore::RenderPart::deleteWidget):
15185        (WebCore::RenderFrame::RenderFrame):
15186        (WebCore::RenderPartObject::RenderPartObject):
15187        (WebCore::RenderPartObject::layout):
15188        * rendering/render_frames.h:
15189        * rendering/render_layer.cpp:
15190        (WebCore::RenderLayer::RenderLayer):
15191        (WebCore::RenderLayer::~RenderLayer):
15192        (WebCore::RenderLayer::valueChanged):
15193        (WebCore::RenderLayer::setHasHorizontalScrollbar):
15194        (WebCore::RenderLayer::setHasVerticalScrollbar):
15195        (WebCore::RenderLayer::hitTest):
15196        * rendering/render_layer.h:
15197        (WebCore::RenderLayer::parent):
15198        (WebCore::RenderLayer::previousSibling):
15199        (WebCore::RenderLayer::nextSibling):
15200        (WebCore::RenderLayer::firstChild):
15201        (WebCore::RenderLayer::lastChild):
15202        * rendering/render_list.cpp:
15203        (WebCore::RenderListMarker::paint):
15204        * rendering/render_replaced.cpp:
15205        (WebCore::RenderWidget::RenderWidget):
15206        (WebCore::RenderWidget::destroy):
15207        (WebCore::RenderWidget::~RenderWidget):
15208        (WebCore::RenderWidget::setWidget):
15209        (WebCore::RenderWidget::layout):
15210        (WebCore::RenderWidget::sendConsumedMouseUp):
15211        (WebCore::RenderWidget::focusIn):
15212        (WebCore::RenderWidget::focusOut):
15213        (WebCore::RenderWidget::scrollToVisible):
15214        (WebCore::RenderWidget::isVisible):
15215        (WebCore::RenderWidget::element):
15216        (WebCore::RenderWidget::deleteWidget):
15217        * rendering/render_replaced.h:
15218        * xml/xmlhttprequest.cpp:
15219        (WebCore::requestsByDocument):
15220        (WebCore::addToRequestsByDocument):
15221        (WebCore::removeFromRequestsByDocument):
15222        (WebCore::XMLHttpRequest::getResponseText):
15223        (WebCore::XMLHttpRequest::getResponseXML):
15224        (WebCore::XMLHttpRequest::XMLHttpRequest):
15225        (WebCore::XMLHttpRequest::~XMLHttpRequest):
15226        (WebCore::XMLHttpRequest::callReadyStateChangeListener):
15227        (WebCore::XMLHttpRequest::urlMatchesDocumentDomain):
15228        (WebCore::XMLHttpRequest::open):
15229        (WebCore::XMLHttpRequest::send):
15230        (WebCore::XMLHttpRequest::abort):
15231        (WebCore::XMLHttpRequest::overrideMIMEType):
15232        (WebCore::XMLHttpRequest::setRequestHeader):
15233        (WebCore::XMLHttpRequest::getRequestHeader):
15234        (WebCore::XMLHttpRequest::getAllResponseHeaders):
15235        (WebCore::XMLHttpRequest::getResponseHeader):
15236        (WebCore::XMLHttpRequest::getSpecificHeader):
15237        (WebCore::XMLHttpRequest::responseIsXML):
15238        (WebCore::XMLHttpRequest::getStatus):
15239        (WebCore::XMLHttpRequest::getStatusText):
15240        (WebCore::XMLHttpRequest::receivedAllData):
15241        (WebCore::XMLHttpRequest::receivedRedirect):
15242        (WebCore::XMLHttpRequest::receivedData):
15243        (WebCore::XMLHttpRequest::cancelRequests):
15244        (WebCore::XMLHttpRequest::detachRequests):
15245        * xml/xmlhttprequest.h:
15246
152472006-03-06  Eric Seidel  <eseidel@apple.com>
15248
15249        Reviewed by beth.
15250
15251        Reorganize link stubs (alphabetically).
15252        Stub out Path methods to make cnn.com work.
15253
15254        * platform/win/TemporaryLinkStubs.cpp:
15255        (FrameView::viewportToGlobal):
15256        (FrameView::updateBorder):
15257        (FrameView::isFrameView):
15258        (FrameView::topLevelWidget):
15259        (QScrollBar::~QScrollBar):
15260        (QScrollBar::setSteps):
15261        (QScrollBar::scroll):
15262        (QScrollBar::QScrollBar):
15263        (QScrollBar::setValue):
15264        (QScrollBar::setKnobProportion):
15265        (QListBox::QListBox):
15266        (QListBox::setSelected):
15267        (QListBox::sizeForNumberOfLines):
15268        (QListBox::isSelected):
15269        (QListBox::appendItem):
15270        (QListBox::doneAppendingItems):
15271        (ScrollView::scrollXOffset):
15272        (QComboBox::focusPolicy):
15273        (QTextEdit::QTextEdit):
15274        (QTextEdit::~QTextEdit):
15275        (QTextEdit::textWithHardLineBreaks):
15276        (QTextEdit::sizeWithColumnsAndRows):
15277        (QTextEdit::setColors):
15278        (QTextEdit::setFont):
15279        (QTextEdit::setWritingDirection):
15280        (QTextEdit::checksDescendantsForFocus):
15281        (QTextEdit::selectionStart):
15282        (QTextEdit::hasSelectedText):
15283        (QTextEdit::setReadOnly):
15284        (QTextEdit::setDisabled):
15285        (QTextEdit::setLineHeight):
15286        (QTextEdit::setSelectionStart):
15287        (QTextEdit::text):
15288        (QTextEdit::setWordWrap):
15289        (QTextEdit::setAlignment):
15290        (QTextEdit::getCursorPosition):
15291        (QTextEdit::setSelectionRange):
15292        (Widget::enableFlushDrawing):
15293        (Widget::isEnabled):
15294        (Widget::focusPolicy):
15295        (Widget::disableFlushDrawing):
15296        (Widget::setIsSelected):
15297        (Widget::unlockDrawingFocus):
15298        (KJavaAppletWidget::KJavaAppletWidget):
15299        (ScrollView::scrollPointRecursively):
15300        (ScrollView::scrollBy):
15301        (QLineEdit::selectAll):
15302        (QLineEdit::addSearchResult):
15303        (QLineEdit::selectionStart):
15304        (QLineEdit::hasSelectedText):
15305        (QLineEdit::selectedText):
15306        (QLineEdit::setAutoSaveName):
15307        (QLineEdit::checksDescendantsForFocus):
15308        (QLineEdit::setMaxResults):
15309        (GraphicsContext::GraphicsContext):
15310        (GraphicsContext::addFocusRingRect):
15311        (GraphicsContext::drawLineForMisspelling):
15312        (GraphicsContext::drawFocusRing):
15313        (GraphicsContext::selectedTextBackgroundColor):
15314        (GraphicsContext::drawHighlightForText):
15315        (GraphicsContext::misspellingLineThickness):
15316        (GraphicsContext::addRoundedRectClip):
15317        (QSlider::QSlider):
15318        (QSlider::sizeHint):
15319        (QSlider::setValue):
15320        (QSlider::setMaxValue):
15321        (QSlider::~QSlider):
15322        (QSlider::setFont):
15323        (QListBox::setFont):
15324        (QListBox::~QListBox):
15325        (QListBox::setSelectionMode):
15326        (QListBox::setEnabled):
15327        (QListBox::clear):
15328        (QListBox::checksDescendantsForFocus):
15329        (KWQFileButton::KWQFileButton):
15330        (KWQFileButton::click):
15331        (KWQFileButton::sizeForCharacterWidth):
15332        (KWQFileButton::frameGeometry):
15333        (KWQFileButton::setFilename):
15334        (KWQFileButton::baselinePosition):
15335        (KWQFileButton::setFrameGeometry):
15336        (QSlider::focusPolicy):
15337        (QListBox::focusPolicy):
15338        (Cursor::Cursor):
15339        (MouseEvent::MouseEvent):
15340        (KWQKCookieJar::cookieEnabled):
15341        (WebCore::screenDepth):
15342        (WebCore::usableScreenRect):
15343        (FrameWin::createPlugin):
15344        (ScrollView::resizeContents):
15345        (ScrollView::visibleHeight):
15346        (ScrollView::visibleWidth):
15347        (ScrollView::setContentsPos):
15348        (ScrollView::contentsHeight):
15349        (ScrollView::contentsWidth):
15350        (ScrollView::inWindow):
15351        (Path::~Path):
15352        (Path::Path):
15353        (Path::contains):
15354        (Path::translate):
15355        (Path::boundingRect):
15356        (Path::operator=):
15357
153582006-03-03  Justin Garcia  <justin.garcia@apple.com>
15359
15360        Reviewed by darin
15361
15362        <http://bugs.webkit.org/show_bug.cgi?id=6844>
15363        elementAtPoint returns the list when the point is over a list marker
15364
15365        Call RenderObject::setInnerNode(), which sets both the
15366        innerNode and the innerNonSharedNode.
15367
15368        * rendering/render_list.cpp:
15369        (WebCore::RenderListItem::nodeAtPoint):
15370        * rendering/render_list.h:
15371
153722006-03-05  Darin Adler  <darin@apple.com>
15373
15374        * WebCore.vcproj/WebCore/WebCore.vcproj: Removed a lot of long-ago-deleted files
15375        from the kwq directory.
15376
153772006-03-05  Darin Adler  <darin@apple.com>
15378
15379        Reviewed by Maciej.
15380
15381        - moved all the remnants of the public C++ DOM API out of khtml/dom
15382        - changed from "int" to "ExceptionCode" for DOM exceptions
15383        - removed unused CSS_HTML_RELATIVE
15384        - changed offsetInCharacters to be a member function of NodeImpl
15385        - changed DOM functions that take a NodeType to use NodeType instead of
15386          unsigned short for clarity (will still be unsigned short in bindings)
15387        - changed exception constants so they can be used directly in the
15388          implementation code (added in the offsets for different types of exceptions)
15389        - replaced the eventListenerType function with an isHTMLEventListener function
15390        - got rid of EventListenerEvent, which is a synonym for EventImpl*
15391        - eliminated handleEventImpl, whish is now the same as handleEvent
15392
15393        - did other preparation for the "remove Impl suffix" renaming
15394          (tested by using a script that does the renaming)
15395
15396        * khtml/dom/css_rule.h: Removed.
15397        * khtml/dom/css_stylesheet.h: Removed.
15398        * khtml/dom/css_value.h: Removed.
15399        * khtml/dom/dom2_events.cpp: Removed.
15400        * khtml/dom/dom2_events.h: Removed.
15401        * khtml/dom/dom2_range.h: Removed.
15402        * khtml/dom/dom2_traversal.cpp: Removed.
15403        * khtml/dom/dom2_traversal.h: Removed.
15404        * khtml/dom/dom_exception.h: Removed.
15405        * khtml/dom/dom_node.h: Removed.
15406
15407        * dom/EventListener.h: Added.
15408        * dom/ExceptionCode.h: Added.
15409
15410        * WebCore+SVG/kdom.h: Removed NodeType and ExceptionCodes
15411        * WebCore+SVG/kdomevents.h: Removed.
15412
15413        * WebCore.xcodeproj/project.pbxproj: Updated for file changes.
15414        * WebCore.vcproj/WebCore/WebCore.vcproj: Ditto.
15415
15416        * bindings/scripts/CodeGeneratorJS.pm: Removed unneeded DOM:: prefix. Updated file
15417        names and exception prefix for changes in DOM exceptions.
15418
15419        * bindings/js/JSDOMCore.cpp: Touched to cause auto-generated code to be
15420        recompiled. We need to get this fixed!
15421        * bindings/js/JSDOMEvents.cpp: Ditto.
15422
15423        * dom/Attr.idl:
15424        * dom/CharacterData.idl:
15425        * dom/DOMImplementation.idl:
15426        * dom/DocumentType.idl:
15427        * dom/Element.idl:
15428        * dom/Entity.idl:
15429        * dom/MutationEvent.idl:
15430        * dom/Notation.idl:
15431        * dom/ProcessingInstruction.idl:
15432        * dom/Text.idl:
15433        * dom/WheelEvent.idl:
15434        Touched all IDL files so that changes in CodeGeneratorJS.pm would take effect.
15435        Added license headers.
15436
15437        * bindings/objc/DOM.mm: Fixed garbled license agreement. Updated includes.
15438        Changed from a single "using namespace WebCore" to individual using statements
15439        because of the imminent conflict between DOMImplementation in Objective C
15440        and WebCore::DOMImplementation (currently has an Impl suffix). Added a typedef
15441        for WebCore::DOMImplementationImpl. Changed to use ExceptionCode instead of int.
15442
15443        * bindings/objc/DOMCSS.h: Removed DOMCSSException and the special CSS exception
15444        codes. This is a feature of DOM Level 1 only. In DOM Level 2 these were eliminated
15445        and use basic DOM exception codes instead. We might have to do something for binary
15446        compatibility eventually, but perhaps not.
15447
15448        * bindings/objc/DOMCSS.mm:
15449        * bindings/objc/DOMEvents.mm:
15450        * bindings/objc/DOMEventsInternal.h:
15451        * bindings/objc/DOMHTML.mm:
15452        * bindings/objc/DOMHTMLInternal.h:
15453        * bindings/objc/DOMViews.mm:
15454        * bindings/objc/DOMViewsInternal.h:
15455        Fixed garbled license agreements.
15456        Changed to use ExceptionCode instead of int and name the variable "ec".
15457
15458        * bindings/objc/DOMInternal.h: Changed addDOMWrapperImpl to take NSObject* instead
15459        of id. This helps with overload resolution when addDOMWrapperImpl is renamed to be
15460        addDOMWrapper. Changed ALLOW_DOM_CAST to always use "class" in from of the type name
15461        of the WebCore class. This helps work around what seems like a bug in namespace support
15462        in Objective-C mode, although the bug only happens after the "remove Impl" renaming.
15463        * bindings/objc/DOMInternal.mm:
15464        (getDOMWrapperImpl): Changed to use HashMap.
15465        (addDOMWrapperImpl): Ditto.
15466        (removeDOMWrapper): Ditto.
15467        (raiseDOMException): Update to use new names for exception number ranges.
15468
15469        * bridge/mac/WebCoreFrameBridge.mm:
15470        * khtml/ecma/xmlserializer.cpp:
15471        * kwq/KWQAccObject.mm:
15472        Removed unneeded includes.
15473
15474        * css/css_ruleimpl.h: Moved "rule type" into this header.
15475
15476        * dom/CommentImpl.h:
15477        * dom/CommentImpl.cpp: (WebCore::CommentImpl::offsetInCharacters): Added. Returns true.
15478
15479        * khtml/ecma/XSLTProcessor.cpp: (KJS::XSLTProcessorProtoFunc::callAsFunction):
15480        Changed this around so we don't have a local variable named docImpl.
15481
15482        * khtml/ecma/kjs_binding.cpp: (KJS::setDOMException): Updated for new form of exception
15483        constants.
15484
15485        * khtml/ecma/kjs_events.h:
15486        * khtml/ecma/kjs_events.cpp:
15487        (KJS::JSAbstractEventListener::handleEvent): Changed to no longer use EventListenerEvent.
15488        (KJS::JSAbstractEventListener::isHTMLEventListener): Added.
15489
15490        * rendering/RenderTextField.h: Updated includes. Tweaked the code formatting of
15491        InputMutationListener. (Might be unnecessary since this class might be deleted soon.)
15492
15493        * bridge/mac/MacFrame.mm:
15494        * css/css_computedstyle.cpp:
15495        * css/css_computedstyle.h:
15496        * css/css_ruleimpl.cpp:
15497        * css/css_stylesheetimpl.cpp:
15498        * css/css_stylesheetimpl.h:
15499        * css/css_valueimpl.cpp:
15500        * css/css_valueimpl.cpp:
15501        * css/css_valueimpl.h:
15502        * css/css_valueimpl.h:
15503        * css/cssparser.cpp:
15504        * css/cssstyleselector.cpp:
15505        * dom/CDATASectionImpl.cpp:
15506        * dom/CDATASectionImpl.h:
15507        * dom/CharacterDataImpl.cpp:
15508        * dom/CharacterDataImpl.h:
15509        * dom/ContainerNodeImpl.cpp:
15510        * dom/DOMImplementationImpl.cpp:
15511        * dom/DocumentFragmentImpl.cpp:
15512        * dom/DocumentFragmentImpl.h:
15513        * dom/DocumentImpl.cpp:
15514        * dom/DocumentImpl.h:
15515        * dom/DocumentTypeImpl.cpp:
15516        * dom/DocumentTypeImpl.h:
15517        * dom/NamedNodeMapImpl.h:
15518        * dom/NodeImpl.cpp:
15519        * dom/NodeImpl.h:
15520        * dom/NodeListImpl.cpp:
15521        * dom/TextImpl.cpp:
15522        * dom/TextImpl.h:
15523        * dom/dom2_eventsimpl.cpp:
15524        * dom/dom2_eventsimpl.h:
15525        * dom/dom2_rangeimpl.cpp:
15526        * dom/dom2_rangeimpl.h:
15527        * dom/dom2_traversalimpl.cpp:
15528        * dom/dom2_traversalimpl.h:
15529        * dom/dom_elementimpl.cpp:
15530        * dom/dom_elementimpl.h:
15531        * dom/dom_position.cpp:
15532        * dom/dom_xmlimpl.cpp:
15533        * dom/dom_xmlimpl.h:
15534        * dom/xml_tokenizer.cpp:
15535        * editing/AppendNodeCommand.cpp:
15536        * editing/ApplyStyleCommand.cpp:
15537        * editing/CompositeEditCommand.cpp:
15538        * editing/DeleteFromTextNodeCommand.cpp:
15539        * editing/InsertIntoTextNodeCommand.cpp:
15540        * editing/InsertLineBreakCommand.cpp:
15541        * editing/InsertNodeBeforeCommand.cpp:
15542        * editing/InsertParagraphSeparatorCommand.cpp:
15543        * editing/JoinTextNodesCommand.cpp:
15544        * editing/MergeIdenticalElementsCommand.cpp:
15545        * editing/RemoveNodeAttributeCommand.cpp:
15546        * editing/RemoveNodeCommand.cpp:
15547        * editing/ReplaceSelectionCommand.cpp:
15548        * editing/Selection.cpp:
15549        * editing/SelectionController.cpp:
15550        * editing/SelectionController.h:
15551        * editing/SetNodeAttributeCommand.cpp:
15552        * editing/SplitElementCommand.cpp:
15553        * editing/SplitTextNodeCommand.cpp:
15554        * editing/VisiblePosition.cpp:
15555        * editing/WrapContentsInDummySpanCommand.cpp:
15556        * editing/htmlediting.cpp:
15557        * editing/markup.cpp:
15558        * editing/visible_text.cpp:
15559        * khtml/ecma/kjs_binding.h:
15560        * khtml/ecma/kjs_css.cpp:
15561        * khtml/ecma/kjs_dom.cpp:
15562        * khtml/ecma/kjs_html.cpp:
15563        * khtml/ecma/kjs_range.cpp:
15564        * khtml/ecma/kjs_traversal.cpp:
15565        * khtml/ecma/kjs_traversal.h:
15566        * khtml/ecma/kjs_window.cpp:
15567        * khtml/html/HTMLElementImpl.cpp:
15568        * khtml/html/HTMLOptionElementImpl.cpp:
15569        * khtml/html/HTMLOptionElementImpl.h:
15570        * khtml/html/HTMLOptionsCollectionImpl.cpp:
15571        * khtml/html/HTMLSelectElementImpl.cpp:
15572        * khtml/html/HTMLTextAreaElementImpl.cpp:
15573        * khtml/html/html_documentimpl.cpp:
15574        * khtml/html/html_documentimpl.h:
15575        * khtml/html/html_headimpl.cpp:
15576        * khtml/html/html_tableimpl.cpp:
15577        * khtml/html/html_tableimpl.h:
15578        * khtml/html/htmlparser.cpp:
15579        * khtml/xbl/xbl_tokenizer.cpp:
15580        * khtml/xsl/xsl_stylesheetimpl.cpp:
15581        * ksvg2/misc/SVGDocumentExtensions.cpp:
15582        * ksvg2/svg/SVGAnimationElementImpl.cpp:
15583        * ksvg2/svg/SVGDOMImplementationImpl.cpp:
15584        * ksvg2/svg/SVGDOMImplementationImpl.h:
15585        * ksvg2/svg/SVGDocumentImpl.cpp:
15586        * ksvg2/svg/SVGDocumentImpl.h:
15587        * ksvg2/svg/SVGElementImpl.cpp:
15588        * ksvg2/svg/SVGLengthImpl.cpp:
15589        * ksvg2/svg/SVGLocatableImpl.cpp:
15590        * ksvg2/svg/SVGPolyElementImpl.cpp:
15591        * ksvg2/svg/SVGSVGElementImpl.cpp:
15592        * ksvg2/svg/SVGStyleElementImpl.cpp:
15593        * ksvg2/svg/SVGStyleElementImpl.h:
15594        * ksvg2/svg/SVGUseElementImpl.cpp:
15595        * page/Frame.cpp:
15596        * page/FrameView.cpp:
15597        * rendering/render_object.cpp:
15598        * xml/xmlhttprequest.cpp:
15599        Changed to use ExceptionCode instead of int and name the variable "ec".
15600        Also updated use of exception codes and other constants to get them from
15601        their new locations.
15602
156032006-03-06  Eric Seidel  <eseidel@apple.com>
15604
15605        Reviewed by mjs.
15606
15607        Fix more pages (apple.com, yahoo.com) by returning empty error image.
15608        Empty a couple more stubs and clean up stub style a little.
15609
15610        * platform/cairo/ImageCairo.cpp:
15611        (WebCore::Image::loadResource):
15612        * platform/win/TemporaryLinkStubs.cpp:
15613        (QListBox::isSelected):
15614        (QSlider::sizeHint):
15615        (QScrollBar::~QScrollBar):
15616        (FrameWin::getObjectInstanceForWidget):
15617        (FrameWin::getEmbedInstanceForWidget):
15618        (FrameWin::recordFormValue):
15619        (FrameWin::getAppletInstanceForWidget):
15620        (FrameWin::passMouseDownEventToWidget):
15621        (FrameWin::passWheelEventToChildWidget):
15622        (FrameWin::createPlugin):
15623        (BrowserExtensionWin::createNewWindow):
15624        (Path::Path):
15625        (QLineEdit::~QLineEdit):
15626        (QLineEdit::setLiveSearch):
15627        (QComboBox::~QComboBox):
15628
156292006-03-06  Eric Seidel  <eseidel@apple.com>
15630
15631        Reviewed by andersca.
15632
15633        Empty enough stubs to make apple.com load.
15634
15635        * platform/win/TemporaryLinkStubs.cpp:
15636        (QTextEdit::sizeWithColumnsAndRows):
15637        (GraphicsContext::misspellingLineThickness):
15638        (QTextEdit::selectAll):
15639        (QTextEdit::setSelectionStart):
15640        (Widget::unlockDrawingFocus):
15641        (QLineEdit::setAutoSaveName):
15642        (ScrollView::scrollYOffset):
15643        (KWQFileButton::setFilename):
15644        (QListBox::setFont):
15645        (GraphicsContext::beginTransparencyLayer):
15646        (GraphicsContext::endTransparencyLayer):
15647        (QComboBox::QComboBox):
15648        (QComboBox::setFont):
15649        (QComboBox::baselinePosition):
15650        (QComboBox::setWritingDirection):
15651        (QComboBox::clear):
15652        (QComboBox::appendItem):
15653        (QComboBox::setCurrentItem):
15654        (QComboBox::sizeHint):
15655        (QComboBox::frameGeometry):
15656        (QComboBox::setFrameGeometry):
15657        (QLineEdit::setLiveSearch):
15658
156592006-03-06  Eric Seidel  <eseidel@apple.com>
15660
15661        Reviewed by darin.
15662
15663        Fix external resource loading.
15664        Make a bunch of stubs not abort (to fix slashdot).
15665
15666        * platform/win/TemporaryLinkStubs.cpp:
15667        (QTextEdit::textWithHardLineBreaks):
15668        (KWQFileButton::click):
15669        (QComboBox::setFrameGeometry):
15670        (QTextEdit::setText):
15671        (QListBox::appendItem):
15672        (GraphicsContext::endTransparencyLayer):
15673        (QLineEdit::selectionStart):
15674        (QTextEdit::QTextEdit):
15675        (QListBox::isSelected):
15676        (QComboBox::focusPolicy):
15677        (QTextEdit::setCursorPosition):
15678        (QTextEdit::setAlignment):
15679        (QLineEdit::selectedText):
15680        (ScrollView::scrollPointRecursively):
15681        (QScrollBar::setSteps):
15682        (QComboBox::appendItem):
15683        (GraphicsContext::drawLineForMisspelling):
15684        (KWQFileButton::setFilename):
15685        (QListBox::setWritingDirection):
15686        (QListBox::focusPolicy):
15687        (MouseEvent::MouseEvent):
15688        (QSlider::setFont):
15689        (Widget::setEnabled):
15690        (Widget::paint):
15691        (ScrollView::addChild):
15692        (ScrollView::inWindow):
15693        (GraphicsContext::setShadow):
15694        (GraphicsContext::clearShadow):
15695        (RenderThemeWin::paintCheckbox):
15696        (RenderThemeWin::paintRadio):
15697        (RenderThemeWin::paintButton):
15698        (RenderThemeWin::paintTextField):
15699        (QLineEdit::QLineEdit):
15700        (QLineEdit::setFont):
15701        (QLineEdit::setAlignment):
15702        (QLineEdit::setWritingDirection):
15703        (QLineEdit::maxLength):
15704        (QLineEdit::setMaxLength):
15705        (QLineEdit::text):
15706        (QLineEdit::setText):
15707        (QLineEdit::cursorPosition):
15708        (QLineEdit::setCursorPosition):
15709        (QLineEdit::setEdited):
15710        (QLineEdit::setReadOnly):
15711        (QLineEdit::setPlaceholderString):
15712        (QLineEdit::setColors):
15713        (QLineEdit::sizeForCharacterWidth):
15714        (QLineEdit::baselinePosition):
15715        * platform/win/TransferJobWin.cpp:
15716        (WebCore::TransferJob::fileLoadTimer):
15717        (WebCore::TransferJob::cancel):
15718
157192006-03-05  Darin Adler  <darin@apple.com>
15720
15721        Reviewed by Maciej.
15722
15723        - fix failure seen running editing layout tests
15724
15725        * editing/ReplaceSelectionCommand.cpp:
15726        (WebCore::ReplacementFragment::ReplacementFragment):
15727        Use selectNodeContents instead of rolling our own.
15728        It handles the "nothing at all" edge case properly.
15729
157302006-03-05  Eric Seidel  <eseidel@apple.com>
15731
15732        Reviewed by darin.
15733
15734        Make updateContents invalidate entire window for now.
15735        Fix indentation in fileLoadTimer.
15736
15737        * platform/win/ScrollViewWin.cpp:
15738        (WebCore::ScrollView::updateContents):
15739        * platform/win/TransferJobWin.cpp:
15740        (WebCore::TransferJob::fileLoadTimer):
15741
157422006-03-05  Eric Seidel  <eseidel@apple.com>
15743
15744        Reviewed by adele.
15745
15746        Add missing files to vcproj (fix win32 build).
15747        Also add svn:eol-style=native to new files.
15748
15749        * WebCore.vcproj/WebCore/WebCore.vcproj:
15750
157512006-03-05  Darin Adler  <mjs@apple.com>
15752
15753        - fix build
15754
15755        * rendering/render_style.h: (compareEqual): Made it inline, fixed variable name.
15756
157572006-03-05  Adele Peterson  <adele@apple.com>
15758
15759        Reviewed by Darin.
15760
15761        - Fixed http://bugs.webkit.org/show_bug.cgi?id=6987
15762        Implement maxlength for new text fields
15763
15764        Test added:
15765        * fast/forms/input-appearance-maxlength.html
15766
15767        * WebCore.xcodeproj/project.pbxproj:
15768         Added BeforeTextInsertedEventImpl.h, BeforeTextInsertedEventImpl.cpp, HTMLTextFieldInnerElementImpl.h, and HTMLTextFieldInnerElementImpl.cpp
15769
15770        * khtml/html/HTMLInputElementImpl.cpp:
15771        (WebCore::HTMLInputElementImpl::init): initialize max length to 1024.
15772        (WebCore::HTMLInputElementImpl::defaultEventHandler): Added case to use the khtmlBeforeTextInsertedEvent to check for maxlength.
15773        (WebCore::HTMLInputElementImpl::parseMappedAttribute): Makes sure that maxlength is between 0 and 1024.
15774
15775        * editing/ReplaceSelectionCommand.cpp:
15776        (WebCore::ReplacementFragment::ReplacementFragment): After doing a test insert of the fragment,
15777         Send khtmlBeforeTextInsertedEvent to the root editable element so the event handler can update the text, and we can update the fragment.
15778        * editing/TypingCommand.cpp:
15779        (WebCore::TypingCommand::insertText): Send khtmlBeforeTextInsertedEvent to the root editable element so the event handler can update the text if necessary.
15780        * editing/EditCommand.cpp:
15781        (WebCore::EditCommand::apply): If we've just applied a command, send the khtmlTextInsertedEvent to the root editable element.
15782        (WebCore::EditCommand::unapply): ditto.
15783        (WebCore::EditCommand::reapply): ditto.
15784
15785        * khtml/html/HTMLTextFieldInnerElementImpl.h: Added this class to store a pointer to the input element for the text field and to handle default events.
15786        (DOM::HTMLTextFieldInnerElementImpl::shadowParentNode): Added.
15787        (DOM::HTMLTextFieldInnerElementImpl::setShadowParentNode): Added.
15788        * khtml/html/HTMLTextFieldInnerElementImpl.cpp: Added.
15789        (WebCore::HTMLTextFieldInnerElementImpl::HTMLTextFieldInnerElementImpl):
15790        (WebCore::HTMLTextFieldInnerElementImpl::~HTMLTextFieldInnerElementImpl):
15791        (WebCore::HTMLTextFieldInnerElementImpl::defaultEventHandler):
15792         Sends khtmlBeforeTextInsertedEvents to the shadowParentNode,
15793         and handles khtmlTextInsertedEvents by telling the renderer that the subtree has changed.
15794
15795        * rendering/RenderTextField.cpp: Removed InputMutationListener since subtreeHasChanged is now called from the editing code.
15796        (WebCore::RenderTextField::~RenderTextField): removed event listener code.
15797        (WebCore::RenderTextField::updateFromElement): ditto.  And creates HTMLTextFieldInnerElementImpl.
15798        (WebCore::RenderTextField::subtreeHasChanged): calls new text() method.
15799        (WebCore::RenderTextField::text): created to get a String of all text in the RenderTextField.
15800        * rendering/RenderTextField.h: Removed InputMutationListener class.
15801
15802        * dom/EventNames.h: Added khtmlTextInserted and khtmlBeforeTextInserted.
15803        * dom/BeforeTextInsertedEventImpl.cpp: Added.
15804        (WebCore::BeforeTextInsertedEventImpl::BeforeTextInsertedEventImpl):
15805        * dom/BeforeTextInsertedEventImpl.h: Added.
15806        (WebCore::BeforeTextInsertedEventImpl::isBeforeTextInsertedEvent):
15807        (WebCore::BeforeTextInsertedEventImpl::text):
15808        * dom/dom2_eventsimpl.cpp: (WebCore::EventImpl::isBeforeTextInsertedEvent): Added.
15809        * dom/dom2_eventsimpl.h: Added isBeforeTextInsertedEvent.
15810
158112006-03-05  Maciej Stachowiak  <mjs@apple.com>
15812
15813        - fix build, give this a return type.
15814
15815        * rendering/render_style.h:
15816        (compareEqual):
15817
158182006-03-05  Eric Seidel  <eseidel@apple.com>
15819
15820        Add "Font.h" to (try to) fix the no-svg build.
15821
15822        * platform/mac/GraphicsContextMac.mm:
15823
158242006-03-05  Maciej Stachowiak  <mjs@apple.com>
15825
15826        Rubber stamped by Darin.
15827
15828        - fix win32 build by avoiding use of typeof
15829
15830        * rendering/render_style.h:
15831        (compareEqual):
15832
158332006-03-05  Geoffrey Garen  <ggaren@apple.com>
15834
15835        Reviewed by Maciej.
15836
15837        - Second cut at fixing <rdar://problem/4467143> JavaScript enumeration
15838        of HTML element properties skips DOM node properties
15839
15840        The approach here is for prototypes, in their constructor methods,
15841        to set their own prototypes, preserving the prototype
15842        chain in cases of multiple levels of inheritance. (Previously, our
15843        code assumed that a prototype never had a prototype of its own,
15844        and always used an empty object as a prototype's prototype).
15845
15846        * bindings/scripts/CodeGeneratorJS.pm: Use the new
15847        DEFINE_PROTOTYPE_WITH_PROTOTYPE macro in place of the
15848        KJS_IMPLEMENT_PROTOTYPE_WITH_PARENT macro.
15849        * khtml/ecma/kjs_dom.cpp: Ditto.
15850        * khtml/ecma/kjs_dom.h: Ditto.
15851        * khtml/ecma/kjs_events.cpp: Ditto.
15852
15853        Touched these files to force a rebuild:
15854
15855        * bindings/js/JSDOMCore.cpp:
15856        * bindings/js/JSDOMEvents.cpp:
15857        * dom/Attr.idl:
15858        * dom/CharacterData.idl:
15859        * dom/DOMImplementation.idl:
15860        * dom/DocumentType.idl:
15861        * dom/Element.idl:
15862        * dom/Entity.idl:
15863        * dom/MutationEvent.idl:
15864        * dom/Notation.idl:
15865        * dom/ProcessingInstruction.idl:
15866        * dom/Text.idl:
15867        * dom/WheelEvent.idl:
15868
158692006-03-05  Maciej Stachowiak  <mjs@apple.com>
15870
15871        Reviewed by Darin.
15872
15873        - use unsigned bitfields when storing enums in them, to avoid mangling on win32 (was causing all layout to be RTL)
15874        http://bugs.webkit.org/show_bug.cgi?id=7618
15875
15876        * css/css_base.cpp:
15877        (WebCore::CSSSelector::operator == ):
15878        (WebCore::CSSSelector::selectorText):
15879        * css/css_base.h:
15880        (WebCore::CSSSelector::CSSSelector):
15881        (WebCore::CSSSelector::pseudoType):
15882        (WebCore::CSSSelector::relation):
15883        * css/css_grammar.y:
15884        * css/cssstyleselector.cpp:
15885        (WebCore::CSSStyleSelector::checkSelector):
15886        (WebCore::CSSStyleSelector::checkOneSelector):
15887        * kcanvas/KCanvasPath.cpp:
15888        (WebCore::operator<<):
15889        * kcanvas/KCanvasPath.h:
15890        (WebCore::KCClipData::windRule):
15891        (WebCore::KCClipDataList::addPath):
15892        * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
15893        (WebCore::KCanvasClipperQuartz::applyClip):
15894        * khtml/ecma/kjs_html.h:
15895        * khtml/html/HTMLButtonElementImpl.h:
15896        * khtml/html/HTMLInputElementImpl.cpp:
15897        (WebCore::HTMLInputElementImpl::setInputType):
15898        * khtml/html/HTMLInputElementImpl.h:
15899        (DOM::HTMLInputElementImpl::inputType):
15900        * khtml/html/html_tableimpl.h:
15901        * khtml/xbl/xbl_protohandler.cpp:
15902        (XBL::m_button):
15903        * khtml/xbl/xbl_protohandler.h:
15904        * ksvg2/css/SVGRenderStyle.h:
15905        (WebCore::SVGRenderStyle::InheritedFlags::):
15906        (WebCore::SVGRenderStyle::NonInheritedFlags::):
15907        (WebCore::SVGRenderStyle::setBitDefaults):
15908        * ksvg2/svg/SVGAnimateTransformElementImpl.h:
15909        * ksvg2/svg/SVGAnimationElementImpl.cpp:
15910        (SVGAnimationElementImpl::targetAttribute):
15911        (SVGAnimationElementImpl::setTargetAttribute):
15912        * ksvg2/svg/SVGAnimationElementImpl.h:
15913        * ksvg2/svg/SVGLengthImpl.cpp:
15914        (SVGLengthImpl::value):
15915        * ksvg2/svg/SVGLengthImpl.h:
15916        * kwq/KWQKHTMLSettings.h:
15917        * loader/CachedImage.h:
15918        * loader/DocLoader.cpp:
15919        (WebCore::DocLoader::setCachePolicy):
15920        (WebCore::DocLoader::setShowAnimations):
15921        * loader/DocLoader.h:
15922        (WebCore::DocLoader::showAnimations):
15923        * platform/FontDescription.h:
15924        (WebCore::FontDescription::genericFamily):
15925        * platform/QString.cpp:
15926        (HandleNode::):
15927        * platform/QString.h:
15928        * rendering/RenderBlock.cpp:
15929        (WebCore::RenderBlock::setSelectionState):
15930        (WebCore::RenderBlock::leftRelOffset):
15931        (WebCore::RenderBlock::rightRelOffset):
15932        (WebCore::RenderBlock::leftBottom):
15933        (WebCore::RenderBlock::rightBottom):
15934        (WebCore::RenderBlock::addOverhangingFloats):
15935        (WebCore::RenderBlock::addIntrudingFloats):
15936        * rendering/RenderBlock.h:
15937        (WebCore::RenderBlock::selectionState):
15938        (WebCore::RenderBlock::FloatingObject::FloatingObject):
15939        (WebCore::RenderBlock::FloatingObject::type):
15940        * rendering/RenderTable.h:
15941        (WebCore::RenderTable::getRules):
15942        * rendering/bidi.cpp:
15943        (khtml::BidiContext::BidiContext):
15944        (khtml::operator==):
15945        (khtml::embed):
15946        (khtml::RenderBlock::computeHorizontalPositionsForLine):
15947        (khtml::RenderBlock::bidiReorderLine):
15948        (khtml::RenderBlock::layoutInlineChildren):
15949        * rendering/bidi.h:
15950        (khtml::BidiContext::dir):
15951        (khtml::BidiContext::basicDir):
15952        (khtml::BidiRun::BidiRun):
15953        * rendering/render_canvasimage.h:
15954        * rendering/render_layer.h:
15955        (WebCore::Marquee::whiteSpace):
15956        * rendering/render_object.cpp:
15957        (WebCore::RenderObject::paintBorderImage):
15958        * rendering/render_replaced.cpp:
15959        (WebCore::RenderWidget::setSelectionState):
15960        * rendering/render_replaced.h:
15961        (WebCore::RenderReplaced::selectionState):
15962        * rendering/render_style.cpp:
15963        (WebCore::RenderStyle::getPseudoStyle):
15964        * rendering/render_style.h:
15965        (khtml::BorderValue::BorderValue):
15966        (khtml::BorderValue::style):
15967        (khtml::BorderValue::nonZero):
15968        (khtml::BorderValue::operator==):
15969        (khtml::OutlineValue::operator==):
15970        (khtml::CollapsedBorderValue::style):
15971        (khtml::BorderImage::horizontalRule):
15972        (khtml::BorderImage::verticalRule):
15973        (khtml::BorderData::borderLeftWidth):
15974        (khtml::BorderData::borderRightWidth):
15975        (khtml::BorderData::borderTopWidth):
15976        (khtml::BorderData::borderBottomWidth):
15977        (khtml::BackgroundLayer::backgroundClip):
15978        (khtml::BackgroundLayer::backgroundOrigin):
15979        (khtml::BackgroundLayer::backgroundRepeat):
15980        (khtml::RenderStyle::styleType):
15981        (khtml::RenderStyle::display):
15982        (khtml::RenderStyle::originalDisplay):
15983        (khtml::RenderStyle::position):
15984        (khtml::RenderStyle::floating):
15985        (khtml::RenderStyle::borderLeftStyle):
15986        (khtml::RenderStyle::borderLeftColor):
15987        (khtml::RenderStyle::borderRightStyle):
15988        (khtml::RenderStyle::borderRightColor):
15989        (khtml::RenderStyle::borderTopStyle):
15990        (khtml::RenderStyle::borderTopColor):
15991        (khtml::RenderStyle::borderBottomStyle):
15992        (khtml::RenderStyle::borderBottomColor):
15993        (khtml::RenderStyle::outlineWidth):
15994        (khtml::RenderStyle::outlineStyle):
15995        (khtml::RenderStyle::overflow):
15996        (khtml::RenderStyle::visibility):
15997        (khtml::RenderStyle::verticalAlign):
15998        (khtml::RenderStyle::unicodeBidi):
15999        (khtml::RenderStyle::clear):
16000        (khtml::RenderStyle::tableLayout):
16001        (khtml::RenderStyle::textAlign):
16002        (khtml::RenderStyle::textTransform):
16003        (khtml::RenderStyle::direction):
16004        (khtml::RenderStyle::whiteSpace):
16005        (khtml::RenderStyle::backgroundRepeat):
16006        (khtml::RenderStyle::backgroundClip):
16007        (khtml::RenderStyle::backgroundOrigin):
16008        (khtml::RenderStyle::emptyCells):
16009        (khtml::RenderStyle::captionSide):
16010        (khtml::RenderStyle::listStyleType):
16011        (khtml::RenderStyle::listStylePosition):
16012        (khtml::RenderStyle::cursor):
16013        (khtml::RenderStyle::pageBreakInside):
16014        (khtml::RenderStyle::pageBreakBefore):
16015        (khtml::RenderStyle::pageBreakAfter):
16016        (khtml::RenderStyle::outlineOffset):
16017        (khtml::RenderStyle::appearance):
16018        (khtml::RenderStyle::boxAlign):
16019        (khtml::RenderStyle::boxDirection):
16020        (khtml::RenderStyle::boxLines):
16021        (khtml::RenderStyle::boxOrient):
16022        (khtml::RenderStyle::boxPack):
16023        (khtml::RenderStyle::boxSizing):
16024        (khtml::RenderStyle::marqueeBehavior):
16025        (khtml::RenderStyle::marqueeDirection):
16026        (khtml::RenderStyle::userModify):
16027        (khtml::RenderStyle::userDrag):
16028        (khtml::RenderStyle::userSelect):
16029        (khtml::RenderStyle::marginTopCollapse):
16030        (khtml::RenderStyle::marginBottomCollapse):
16031        (khtml::RenderStyle::wordWrap):
16032        (khtml::RenderStyle::nbspMode):
16033        (khtml::RenderStyle::khtmlLineBreak):
16034        (khtml::RenderStyle::matchNearestMailBlockquoteColor):
16035        (khtml::RenderStyle::setBorderLeftWidth):
16036        (khtml::RenderStyle::setBorderLeftStyle):
16037        (khtml::RenderStyle::setBorderLeftColor):
16038        (khtml::RenderStyle::setBorderRightWidth):
16039        (khtml::RenderStyle::setBorderRightStyle):
16040        (khtml::RenderStyle::setBorderRightColor):
16041        (khtml::RenderStyle::setBorderTopWidth):
16042        (khtml::RenderStyle::setBorderTopStyle):
16043        (khtml::RenderStyle::setBorderTopColor):
16044        (khtml::RenderStyle::setBorderBottomWidth):
16045        (khtml::RenderStyle::setBorderBottomStyle):
16046        (khtml::RenderStyle::setBorderBottomColor):
16047        (khtml::RenderStyle::setOutlineWidth):
16048        (khtml::RenderStyle::setOutlineStyle):
16049        (khtml::RenderStyle::pseudoState):
16050
160512006-03-05  Geoffrey Garen  <ggaren@apple.com>
16052
16053        - Rolled out the fix for <rdar://problem/4467143> because it's the
16054        wrong approach. Maciej and I discussed this on IRC.
16055
16056        * khtml/ecma/kjs_dom.cpp:
16057        (KJS::): Don't use classInfo to express prototype inheritance.
16058        classInfo is only for representing a c++ superclass relationship.
16059
160602006-03-05  Eric Seidel  <eseidel@apple.com>
16061
16062        Move improperly placed #endif causing no-svg build to fail.
16063
16064        * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
16065
160662006-03-05  Alexander Kellett  <lypanov@kde.org>
16067
16068        Reviewed by Eric.
16069
16070        - fix http://bugs.webkit.org/show_bug.cgi?id=6890
16071          and http://bugs.webkit.org/show_bug.cgi?id=6951
16072          by being more tolerant towards invalid points data
16073
16074        - new tests:
16075          svg/custom/polyline-setattribute-points-null.svg
16076          svg/custom/polyline-invalid-points.svg
16077
16078        * ksvg2/svg/svgpathparser.cpp:
16079        (SVGPolyParser::parsePoints):
16080
160812006-03-05  Maciej Stachowiak  <mjs@apple.com>
16082
16083        Rubber stamped by Eric.
16084
16085        - remove no longer used KDOMSettings and KSVGSettings
16086
16087        * WebCore+SVG/KDOMSettings.cpp: Removed.
16088        * WebCore+SVG/KDOMSettings.h: Removed.
16089        * WebCore.xcodeproj/project.pbxproj:
16090        * ksvg2/KSVGSettings.h: Removed.
16091        * ksvg2/svg/SVGStyledElementImpl.cpp:
16092
160932006-03-05  Eric Seidel  <eseidel@apple.com>
16094
16095        Reviewed by mjs.
16096
16097        * platform/Font.cpp:
16098        (WebCore::Font::update): remove extra ref causing large leak.
16099
161002006-03-04  Eric Seidel  <eseidel@apple.com>
16101
16102        Reviewed by hyatt.
16103
16104        Re-work ImageViewer to use GraphicsContext.
16105        Add GraphicsContext(cairo_t*) constructor to make double-buffering easier.
16106        Add one more stub to prevent slashdot from crashing.
16107        Also fixed win32 build after Font change.
16108
16109        * Viewer.vcproj:
16110        * Viewer/ImageView.cpp:
16111        * platform/Color.h:
16112        * platform/GraphicsContext.h:
16113        * platform/cairo/GraphicsContextCairo.cpp:
16114        (WebCore::GraphicsContext::GraphicsContext):
16115        * platform/win/TemporaryLinkStubs.cpp:
16116        (FrameWin::createPlugin):
16117        (BrowserExtensionWin::setTypedIconURL):
16118
161192006-03-05  Mitz Pettel  <opendarwin.org@mitzpettel.com>
16120
16121        Reviewed by Darin, landed by ap.
16122
16123        - fix http://bugs.webkit.org/show_bug.cgi?id=4840
16124          Frames only resize wider, can't make them narrower
16125
16126        * khtml/html/html_baseimpl.cpp:
16127        (WebCore::HTMLFrameSetElementImpl::HTMLFrameSetElementImpl): Removed unused m_resizing flag.
16128        * khtml/html/html_baseimpl.h:
16129        * manual-tests/bugzilla-4840.html: Added.
16130        * page/FrameView.cpp:
16131        (WebCore::FrameViewPrivate::reset):
16132        (WebCore::FrameView::viewportMouseMoveEvent):
16133        (WebCore::FrameView::viewportMouseReleaseEvent):
16134        (WebCore::FrameView::setResizingFrameSet): New method. When a resizing frameset is set,
16135        mouse move and mouse release events target it instead of hit-testing.
16136        * page/FrameView.h:
16137        * rendering/render_frames.cpp:
16138        (WebCore::RenderFrameSet::setResizing): Inform the FrameView that we are resizing (or not).
16139
161402006-03-04  David Hyatt  <hyatt@apple.com>
16141
16142        Fix for bug 7586, eliminate QFontMetrics.
16143
16144        Reviewed by eric
16145
16146        * WebCore.xcodeproj/project.pbxproj:
16147        * css/css_valueimpl.cpp:
16148        (WebCore::CSSPrimitiveValueImpl::computeLengthFloat):
16149        * ksvg2/svg/SVGLengthImpl.cpp:
16150        (SVGLengthImpl::updateValue):
16151        * kwq/KWQFontMetrics.h: Removed.
16152        * kwq/KWQFontMetrics.mm: Removed.
16153        * platform/Font.cpp:
16154        (WebCore::m_wordSpacing):
16155        (WebCore::Font::Font):
16156        (WebCore::Font::operator=):
16157        (WebCore::Font::~Font):
16158        (WebCore::Font::update):
16159        (WebCore::Font::width):
16160        * platform/Font.h:
16161        (WebCore::Font::operator==):
16162        (WebCore::Font::width):
16163        (WebCore::Font::height):
16164        * platform/FontRenderer.h: Added.
16165        (WebCore::FontRenderer::isFixedPitch):
16166        * platform/GraphicsContext.h:
16167        * platform/mac/FontMac.mm: Added.
16168        (WebCore::m_renderer):
16169        (WebCore::FontRenderer::getWebCoreFont):
16170        (WebCore::FontRenderer::getRenderer):
16171        (WebCore::FontRenderer::determinePitch):
16172        (WebCore::FontRenderer::update):
16173        (WebCore::Font::getWebCoreFont):
16174        (WebCore::Font::ascent):
16175        (WebCore::Font::descent):
16176        (WebCore::Font::lineSpacing):
16177        (WebCore::Font::xHeight):
16178        (WebCore::Font::isFixedPitch):
16179        (WebCore::Font::selectionRectForText):
16180        (WebCore::Font::drawHighlightForText):
16181        (WebCore::Font::drawText):
16182        (WebCore::Font::floatWidth):
16183        (WebCore::Font::checkSelectionPoint):
16184        * platform/mac/GraphicsContextMac.mm:
16185        * rendering/InlineTextBox.h:
16186        * rendering/RenderBlock.cpp:
16187        (WebCore::stripTrailingSpace):
16188        * rendering/RenderText.cpp:
16189        (WebCore::RenderText::trimmedMinMaxWidth):
16190        * rendering/RenderText.h:
16191        * rendering/RenderTextField.cpp:
16192        (WebCore::RenderTextField::calcMinMaxWidth):
16193        * rendering/bidi.cpp:
16194        (khtml::RenderBlock::tabWidth):
16195        (khtml::RenderBlock::checkLinesForTextOverflow):
16196        * rendering/render_box.cpp:
16197        (WebCore::RenderBox::caretRect):
16198        * rendering/render_br.cpp:
16199        (WebCore::RenderBR::lineHeight):
16200        * rendering/render_flow.cpp:
16201        (WebCore::RenderFlow::lineHeight):
16202        (WebCore::RenderFlow::caretRect):
16203        * rendering/render_image.cpp:
16204        (WebCore::RenderImage::imageChanged):
16205        (WebCore::RenderImage::paint):
16206        * rendering/render_line.cpp:
16207        (WebCore::InlineFlowBox::placeBoxesVertically):
16208        * rendering/render_list.cpp:
16209        (WebCore::toHebrew):
16210        (WebCore::RenderListMarker::paint):
16211        (WebCore::RenderListMarker::calcMinMaxWidth):
16212        (WebCore::RenderListMarker::baselinePosition):
16213        (WebCore::RenderListMarker::getRelativeMarkerRect):
16214        * rendering/render_object.cpp:
16215        (WebCore::RenderObject::getVerticalPosition):
16216        (WebCore::RenderObject::lineHeight):
16217        (WebCore::RenderObject::baselinePosition):
16218        * rendering/render_object.h:
16219        * rendering/render_style.h:
16220
162212006-03-04  Eric Seidel  <eseidel@apple.com>
16222
16223        Reviewed by ggaren.
16224
16225        Add urlSelected stub, adjust font metrics, and fix view size/move bug.
16226
16227        * platform/win/TemporaryLinkStubs.cpp:
16228        (MouseEvent::MouseEvent):
16229        (FrameWin::urlSelected):
16230        (QFontMetrics::height):
16231        (QFontMetrics::xHeight):
16232        (QFontMetrics::ascent):
16233        (QFontMetrics::descent):
16234        (ScrollView::resizeContents):
16235        (ScrollView::setContentsPos):
16236
162372006-03-04  Maciej Stachowiak  <mjs@apple.com>
16238
16239        Reviewed by Eric.
16240
16241        - stop background image loads from crashing
16242
16243        * platform/cairo/GraphicsContextCairo.cpp:
16244        (WebCore::GraphicsContext::drawTiledImage):
16245        (WebCore::GraphicsContext::drawScaledAndTiledImage):
16246
16247        - fix termination condition on file load loop
16248
16249        * platform/win/TransferJobWin.cpp:
16250        (WebCore::TransferJob::fileLoadTimer):
16251
162522006-03-04  Geoffrey Garen  <ggaren@apple.com>
16253
16254        Reviewed by Darin.
16255
16256        - Fixed <rdar://problem/4467143> JavaScript enumeration of HTML
16257        element properties skips DOM node properties
16258
16259        No test case yet because this is a preliminary step toward enabling my
16260        uber test case for DOM support, which will cover this.
16261
16262        * khtml/ecma/kjs_dom.cpp:
16263        (KJS::): Make DOMNode's classinfo reflect inheritance from
16264        DOMNodeProto, so a for in enumeration can properly walk the
16265        inheritance chain.
16266        * khtml/ecma/kjs_html.cpp:
16267        (KJS::): Used a script to sort classInfo data alphbetically.
16268        (KJS::KJS::HTMLElement::classInfo): Ditto.
16269
162702006-03-04  Maciej Stachowiak  <mjs@apple.com
16271
16272        Reviewed by Eric.
16273
16274         - fix mistake in TransferJob::start that made it cause a crash
16275        on non-file URLs
16276
16277        * platform/win/TransferJobWin.cpp:
16278        (WebCore::TransferJob::start):
16279
162802006-03-04  Maciej Stachowiak  <mjs@apple.com
16281
16282        Reviewed by Eric.
16283
16284        - make TransferJobWin handle file: URLs, and fix other bugs
16285        as needed to make local file image loads work
16286        http://bugs.webkit.org/show_bug.cgi?id=7587
16287
16288        * WebCore.vcproj/WebCore/WebCore.vcproj: add TransferJobWin
16289        to build.
16290        * bridge/win/FrameWin.cpp:
16291        (WebCore::FrameWin::FrameWin): Set autoLoadImages to true.
16292        * platform/TransferJob.cpp:
16293        (WebCore::TransferJob::TransferJob): Pass this to internal
16294        constructor, so windows version can initialize timer
16295        * platform/TransferJob.h:
16296        * platform/TransferJobInternal.h:
16297        (WebCore::TransferJobInternal::TransferJobInternal): On windows,
16298        prepare a timer for file loads.
16299        * platform/cairo/GraphicsContextCairo.cpp:
16300        (WebCore::GraphicsContext::drawFloatImage): If passed-in context
16301        is null, use our built-in context (this is probably not the best,
16302        but should work for now).
16303        * platform/win/TemporaryLinkStubs.cpp:
16304        (FrameWin::issueRedoCommand): Don't break.
16305        (WebCore::TransferJob::assembleResponseHeaders): ditto
16306        (FrameWin::saveDocumentState): ditto
16307        (FrameWin::clearUndoRedoOperations): ditto
16308        * platform/win/TransferJobWin.cpp:
16309        (WebCore::TransferJobInternal::~TransferJobInternal): Close file
16310        handle if we have one.
16311        (WebCore::TransferJob::~TransferJob): Empty.
16312        (WebCore::TransferJob::start): Open a windows file handle.
16313        (WebCore::TransferJob::fileLoadTimer): Load from windows file
16314        handle.
16315        (WebCore::TransferJob::cancel): Stop timer and close windows file
16316        handle if present.
16317
163182006-03-03  Eric Seidel  <eseidel@apple.com>
16319
16320        Reviewed by hyatt.
16321
16322        Fix QString crasher on Win32, also remove c-style casts from file.
16323        Add a few more stubs to allow more layout tests to not crash.
16324        Make dlls only copy when changed.
16325        Add RenderThemeWin stubs.
16326
16327        * WebCore.vcproj/WebCore/WebCore.vcproj:
16328        * WebCore.vcproj/WebCore/build-generated-files.sh:
16329        * platform/QString.cpp:
16330        (QString::stripWhiteSpace):
16331        (QString::simplifyWhiteSpace):
16332        (QString::setLatin1):
16333        (QString::sprintf):
16334        (QString::insert):
16335        (QString::fill):
16336        * platform/win/TemporaryLinkStubs.cpp:
16337        (WebCore::usableScreenRect):
16338        (FrameWin::respondToChangedContents):
16339        (FrameWin::unfocusWindow):
16340        (FrameWin::locationbarVisible):
16341        (FrameWin::clearUndoRedoOperations):
16342        (FrameWin::issueRedoCommand):
16343        (FrameWin::canRedo):
16344        (FrameWin::canUndo):
16345        (FrameWin::saveDocumentState):
16346        (FrameWin::print):
16347        (FrameWin::issueCutCommand):
16348        (FrameWin::issueCopyCommand):
16349        (FrameWin::issueUndoCommand):
16350        (FrameWin::mimeTypeForFileName):
16351        (FrameWin::clearRecordedFormValues):
16352        (FrameWin::issuePasteCommand):
16353        (FrameWin::scheduleClose):
16354        (FrameWin::menubarVisible):
16355        (FrameWin::personalbarVisible):
16356        (FrameWin::statusbarVisible):
16357        (FrameWin::toolbarVisible):
16358        (FrameWin::issueTransposeCommand):
16359        (FrameWin::canPaste):
16360        (FrameWin::incomingReferrer):
16361        (FrameWin::canGoBackOrForward):
16362        (FrameWin::issuePasteAndMatchStyleCommand):
16363        (FrameWin::createPlugin):
16364        (BrowserExtensionWin::getHistoryLength):
16365        (BrowserExtensionWin::canRunModal):
16366        (BrowserExtensionWin::openURLNotify):
16367        (BrowserExtensionWin::canRunModalNow):
16368        (BrowserExtensionWin::runModal):
16369        (QListBox::setFont):
16370        (WebCore::TransferJob::assembleResponseHeaders):
16371        (WebCore::TransferJob::~TransferJob):
16372        (QFontMetrics::QFontMetrics):
16373        (QFontMetrics::lineSpacing):
16374        (QFontMetrics::xHeight):
16375        (QFontMetrics::ascent):
16376        (FrameWin::shouldChangeSelection):
16377        (FrameWin::generateFrameName):
16378        (FrameWin::createFrame):
16379        (RenderThemeWin::paintCheckbox):
16380        (RenderThemeWin::paintRadio):
16381        (RenderThemeWin::paintButton):
16382        (RenderThemeWin::paintTextField):
16383        * rendering/RenderThemeWin.cpp: Added.
16384        (WebCore::theme):
16385        * rendering/RenderThemeWin.h: Added.
16386
163872006-03-03  Geoffrey Garen  <ggaren@apple.com>
16388
16389        Test case for <rdar://problem/4465598> REGRESSION (TOT): Crash occurs at
16390        http://maps.google.com/?output=html ( KJS::Identifier::add(KJS::UString::Rep*)
16391
16392        * manual-tests/property-map-save-crash.html: Added.
16393
163942006-03-03  Eric Seidel  <eseidel@apple.com>
16395
16396        Reviewed by adele.
16397
16398        Fix clearly bogus cairo elipse drawing code.
16399        Make QFontMetrics stubs slightly more sane.
16400
16401        * platform/cairo/GraphicsContextCairo.cpp:
16402        (WebCore::GraphicsContext::drawEllipse):
16403        * platform/win/TemporaryLinkStubs.cpp:
16404        (QFontMetrics::floatWidth):
16405        (QFontMetrics::height):
16406        (QFontMetrics::width):
16407        (QFontMetrics::isFixedPitch):
16408
164092006-03-03  Darin Adler  <darin@apple.com>
16410
16411        Reviewed by Eric.
16412
16413        - fix http://bugs.webkit.org/show_bug.cgi?id=7480
16414          non-HTML elems w/o children in HTML docs get serialized self-closing
16415        - fix problem where the HTML tokenizer would discard the first newline after </pre>
16416
16417        Test: fast/innerHTML/innerHTML-custom-tag.html
16418
16419        * editing/markup.cpp: (WebCore::shouldSelfClose): Refined rule so that it doesn't
16420        try to do any self-closing tags in HTML documents at all; updated comment.
16421
16422        * khtml/html/htmltokenizer.cpp: (WebCore::HTMLTokenizer::parseTag): Added a check
16423        of beginTag in the <pre> tag case. We were accidentally discarding a newline after
16424        a </pre> tag.
16425
164262006-03-03  Maciej Stachowiak  <mjs@apple.com>
16427
16428        Rubber stamped by Eric.
16429
16430        - add new files to build, fix link stubs.
16431
16432        * WebCore.vcproj/WebCore/WebCore.vcproj:
16433        * platform/win/TemporaryLinkStubs.cpp:
16434        (KWQKCookieJar::cookieEnabled):
16435        (WebCore::TransferJob::retrieveCharset):
16436        (WebCore::TransferJob::assembleResponseHeaders):
16437        (WebCore::TransferJob::~TransferJob):
16438        * platform/win/TransferJobWin.cpp: Added.
16439
164402006-03-03  Maciej Stachowiak  <mjs@apple.com>
16441
16442        - add file I forgot in my last commit.
16443
16444        * platform/TransferJobInternal.h: Added.
16445        (WebCore::TransferJobInternal::TransferJobInternal):
16446
164472006-03-03  Eric Seidel  <eseidel@apple.com>
16448
16449        Reviewed by mjs.
16450
16451        Wire up WidgetWin, CursorWin, ScrollViewWin.
16452        Stub out methods for selection and cursors.
16453
16454        * Viewer/ImageDocument.h:
16455        * WebCore.vcproj/WebCore/WebCore.vcproj:
16456        * bridge/win/FrameWin.cpp:
16457        * khtml/ecma/kjs_proxy.cpp:
16458        (WebCore::KJSProxyImpl::initScriptIfNeeded):
16459        * platform/IntRect.h:
16460        (WebCore::IntRect::IntRect):
16461        * platform/Widget.h:
16462        * platform/win/CursorWin.cpp:
16463        (WebCore::eastResizeCursor):
16464        (WebCore::northResizeCursor):
16465        (WebCore::northEastResizeCursor):
16466        (WebCore::northWestResizeCursor):
16467        (WebCore::southResizeCursor):
16468        (WebCore::southEastResizeCursor):
16469        (WebCore::southWestResizeCursor):
16470        (WebCore::westResizeCursor):
16471        * platform/win/IntRectWin.cpp:
16472        (WebCore::IntRect::IntRect):
16473        (WebCore::IntRect::operator RECT):
16474        * platform/win/MouseEventWin.cpp:
16475        * platform/win/ScrollViewWin.cpp: Added.
16476        (WebCore::ScrollView::updateContents):
16477        * platform/win/TemporaryLinkStubs.cpp:
16478        (QTextEdit::textWithHardLineBreaks):
16479        (QLineEdit::setPlaceholderString):
16480        (QScrollBar::scroll):
16481        (GraphicsContext::beginTransparencyLayer):
16482        (Widget::setIsSelected):
16483        (QLineEdit::selectedText):
16484        (QComboBox::sizeHint):
16485        (KWQFileButton::focusPolicy):
16486        (QTextEdit::focusPolicy):
16487        (QSlider::focusPolicy):
16488        (QListBox::focusPolicy):
16489        (QLineEdit::focusPolicy):
16490        (WebCore::moveCursor):
16491        (ScrollView::scrollBy):
16492        (KWQKCookieJar::cookieEnabled):
16493        (WebCore::TransferJob::TransferJob):
16494        (WebCore::screenDepth):
16495        (WebCore::usableScreenRect):
16496        (FrameWin::getObjectInstanceForWidget):
16497        (FrameWin::getEmbedInstanceForWidget):
16498        (FrameWin::getAppletInstanceForWidget):
16499        (FrameWin::passMouseDownEventToWidget):
16500        (FrameWin::issuePasteCommand):
16501        (FrameWin::issueTransposeCommand):
16502        (QSlider::setFont):
16503        (QLineEdit::setFont):
16504        (QListBox::setFont):
16505        (QFontMetrics::QFontMetrics):
16506        (QComboBox::setFont):
16507        (QTextEdit::setFont):
16508        (QTextEdit::setWritingDirection):
16509        (QFontMetrics::setFontDescription):
16510        (QFontMetrics::checkSelectionPoint):
16511        (FrameWin::addMessageToConsole):
16512        (FrameWin::shouldChangeSelection):
16513        (ScrollView::resizeContents):
16514        (ScrollView::visibleHeight):
16515        (ScrollView::visibleWidth):
16516        (ScrollView::setContentsPos):
16517        (ScrollView::contentsX):
16518        (ScrollView::contentsY):
16519        (ScrollView::contentsHeight):
16520        (ScrollView::contentsWidth):
16521        (ScrollView::viewportToContents):
16522        * platform/win/WidgetWin.cpp: Added.
16523        (WebCore::Widget::Widget):
16524        (WebCore::Widget::~Widget):
16525        (WebCore::Widget::windowHandle):
16526        (WebCore::Widget::setWindowHandle):
16527        (WebCore::Widget::setActiveWindow):
16528        (WebCore::Widget::frameGeometry):
16529        (WebCore::Widget::hasFocus):
16530        (WebCore::Widget::setFocus):
16531        (WebCore::Widget::clearFocus):
16532        (WebCore::Widget::font):
16533        (WebCore::Widget::setFont):
16534        (WebCore::Widget::setCursor):
16535        (WebCore::Widget::show):
16536        (WebCore::Widget::hide):
16537        (WebCore::Widget::setFrameGeometry):
16538        (WebCore::Widget::mapFromGlobal):
16539
165402006-03-03  Maciej Stachowiak  <mjs@apple.com>
16541
16542        Reviewed by Eric.
16543
16544        - move TransferJob from kwq to platform, separate platform from non-platform bits
16545
16546        * ForwardingHeaders/kio/job.h: Removed.
16547        * ForwardingHeaders/kio/jobclasses.h: Removed.
16548        * WebCore.xcodeproj/project.pbxproj:
16549        * bridge/mac/MacFrame.mm:
16550        * dom/xml_tokenizer.cpp:
16551        * khtml/xsl/xslt_processorimpl.cpp:
16552        * kwq/KWQKJobClasses.h: Removed.
16553        * kwq/KWQKJobClasses.mm: Removed.
16554        * kwq/KWQLoader.mm:
16555        * kwq/KWQResourceLoader.mm:
16556        * kwq/TransferJobClient.h: Removed.
16557        * loader/Cache.cpp:
16558        * loader/loader.cpp:
16559        * page/Frame.cpp:
16560        * platform/TransferJob.cpp: Added.
16561        (WebCore::TransferJob::TransferJob):
16562        (WebCore::TransferJob::queryMetaData):
16563        (WebCore::TransferJob::addMetaData):
16564        * platform/TransferJob.h: Added.
16565        * platform/TransferJobClient.h: Added.
16566        * platform/mac/TransferJobMac.mm: Added.
16567        (WebCore::TransferJobInternal::~TransferJobInternal):
16568        (WebCore::TransferJob::retrieveCharset):
16569        (WebCore::TransferJob::cancel):
16570        * xml/xmlhttprequest.cpp:
16571
165722006-03-03  Maciej Stachowiak  <mjs@apple.com>
16573
16574        Reviewed by Eric.
16575
16576        - enough link stubs to "display" local copy of WebKit site w/o hitting breakpoint
16577
16578        * platform/win/TemporaryLinkStubs.cpp:
16579        (QLineEdit::setReadOnly):
16580        (QTextEdit::setCursorPosition):
16581        (QLineEdit::setCursorPosition):
16582        (QFontMetrics::width):
16583        (GraphicsContext::drawText):
16584        (GraphicsContext::drawLineForText):
16585
165862006-03-02  Maciej Stachowiak  <mjs@apple.com>
16587
16588        Rubber stamped by Eric.
16589
16590        - remove function that is now gone
16591
16592        * platform/win/TemporaryLinkStubs.cpp:
16593
165942006-03-02  Maciej Stachowiak  <mjs@apple.com>
16595
16596        Reviewed by Eric.
16597
16598        - move logic to kick off load from KWQLoader function to a TransferJob method
16599
16600        * kwq/KWQKJobClasses.h:
16601        * kwq/KWQKJobClasses.mm:
16602        (WebCore::TransferJob::start):
16603        * kwq/KWQLoader.h:
16604        * kwq/KWQLoader.mm:
16605        * loader/loader.cpp:
16606        (WebCore::Loader::servePendingRequests):
16607        * xml/xmlhttprequest.cpp:
16608        (WebCore::XMLHttpRequest::send):
16609
166102006-03-02  Maciej Stachowiak  <mjs@apple.com>
16611
16612        Rubber stamped by Eric.
16613
16614        - remove unused loader parameter to KWQServeRequest.
16615
16616        * kwq/KWQLoader.h:
16617        * kwq/KWQLoader.mm:
16618        (KWQServeRequest):
16619        * loader/loader.cpp:
16620        (WebCore::Loader::servePendingRequests):
16621        * xml/xmlhttprequest.cpp:
16622        (WebCore::XMLHttpRequest::send):
16623
166242006-03-02  Maciej Stachowiak  <mjs@apple.com>
16625
16626        Reviewed by Eric.
16627
16628        - remove one of the versions of KWQServeRequest.
16629
16630        * kwq/KWQLoader.h:
16631        * kwq/KWQLoader.mm:
16632        * loader/loader.cpp:
16633        (WebCore::Loader::servePendingRequests):
16634        * platform/win/TemporaryLinkStubs.cpp:
16635        (Widget::isEnabled):
16636        (KWQServeRequest):
16637
166382006-03-02  Maciej Stachowiak  <mjs@apple.com>
16639
16640        Rubber stamped by Eric.
16641
16642        - win32 build fix.
16643
16644        * platform/win/MouseEventWin.cpp:
16645
166462006-03-02  Justin Garcia  <justin.garcia@apple.com>
16647
16648        Reviewed by eric
16649
16650        <http://bugs.webkit.org/show_bug.cgi?id=3894>
16651        uses of <cmath> should change to <math>
16652
16653        * ksvg2/svg/SVGAnimateTransformElementImpl.cpp:
16654        * ksvg2/svg/SVGAnimationElementImpl.cpp:
16655        * ksvg2/svg/SVGHelper.cpp:
16656        * ksvg2/svg/SVGLengthImpl.cpp:
16657
166582006-03-02  Andrew Wellington  <proton@wiretapped.net>
16659
16660        Reviewed by Darin, landed by Beth
16661
16662        Fix for http://bugs.webkit.org/show_bug.cgi?id=3230
16663        CSS1: Words with inline elements get extra capital letters
16664
16665        Does not use UBreakIterator (yet?) for this, but a relatively
16666        simple change that fixes our failure in the CSS1 test suite
16667        (5.4.5).
16668
16669        * platform/StringImpl.cpp:
16670        (WebCore::StringImpl::capitalize): Specify if this is a run-on
16671        * platform/StringImpl.h:
16672        * rendering/RenderContainer.cpp:
16673        (WebCore::RenderContainer::addChild): Change to re-run
16674        capitalisation when added into tree as previous text node changes
16675        * rendering/RenderText.cpp:
16676        (WebCore::RenderText::setText): Check if previous node is text that
16677        doesn't end in a space
16678
166792006-03-02  Justin Garcia  <justin.garcia@apple.com>
16680
16681        Reviewed by sullivan
16682
16683        <http://bugs.webkit.org/show_bug.cgi?id=7542>
16684        REGRESSION: (r13028) Scrolling causes incomplete drawing of <ul> bullets
16685
16686        * rendering/render_list.cpp:
16687        (WebCore::RenderListMarker::paint):
16688
166892006-03-02  Eric Seidel  <eseidel@apple.com>
16690
16691        Reviewed by ggaren.
16692
16693        Add (partially stubbed out) mouse event handling for Win32.
16694
16695        * WebCore.vcproj/WebCore/WebCore.vcproj:
16696        * platform/IntPoint.h:
16697        * platform/MouseEvent.h:
16698        * platform/win/IntPointWin.cpp: Added.
16699        (WebCore::IntPoint::IntPoint):
16700        (WebCore::IntPoint::operator POINT):
16701        * platform/win/MouseEventWin.cpp: Added.
16702        (WebCore::MouseEvent::MouseEvent):
16703        * platform/win/TemporaryLinkStubs.cpp:
16704        (QLineEdit::setMaxLength):
16705        (ScrollView::scrollBy):
16706        (WebCore::Widget::setFocus):
16707        (FrameWin::respondToChangedSelection):
16708        (FrameWin::runJavaScriptPrompt):
16709        (FrameWin::recordFormValue):
16710        (FrameWin::registerCommandForRedo):
16711        (FrameWin::runJavaScriptAlert):
16712        (FrameWin::runJavaScriptConfirm):
16713        (FrameWin::openURL):
16714        (FrameWin::registerCommandForUndo):
16715        (FrameWin::addMessageToConsole):
16716        (FrameWin::mimeTypeForFileName):
16717        (FrameWin::shouldChangeSelection):
16718        (FrameWin::markMisspellingsInAdjacentWords):
16719        (FrameWin::markMisspellings):
16720        (FrameWin::personalbarVisible):
16721        (FrameWin::objectContentType):
16722        (FrameWin::createFrame):
16723        (FrameWin::createPlugin):
16724        (BrowserExtensionWin::setTypedIconURL):
16725        (BrowserExtensionWin::getHistoryLength):
16726        (BrowserExtensionWin::canRunModal):
16727        (BrowserExtensionWin::openURLNotify):
16728        (BrowserExtensionWin::createNewWindow):
16729        (BrowserExtensionWin::canRunModalNow):
16730        (BrowserExtensionWin::runModal):
16731        (BrowserExtensionWin::goBackOrForward):
16732        (BrowserExtensionWin::setIconURL):
16733        (FrameWin::passSubframeEventToSubframe):
16734        (FrameWin::lastEventIsMouseUp):
16735        (BrowserExtensionWin::BrowserExtensionWin):
16736        (Widget::setCursor):
16737        (ScrollView::visibleHeight):
16738        (ScrollView::visibleWidth):
16739        (ScrollView::setContentsPos):
16740        (ScrollView::contentsX):
16741        (ScrollView::contentsY):
16742        (ScrollView::contentsHeight):
16743        (ScrollView::contentsWidth):
16744        (ScrollView::viewportToContents):
16745        (TransferJob::TransferJob):
16746        (TransferJob::addMetaData):
16747
167482006-03-02  Justin Garcia  <justin.garcia@apple.com>
16749
16750        Reviewed by mjs
16751
16752        https://bugs.webkit.org/show_bug.cgi?id=7150
16753        <rdar://4433765> TinyMCE: Undo still enabled after a location change, crashes if performed
16754
16755        Can't clear undo/redo operations registered by subframes in didOpenURL,
16756        because subframes have already been detached.
16757
16758        * page/Frame.cpp:
16759        (WebCore::Frame::didOpenURL):
16760        (WebCore::Frame::closeURL):
16761
167622006-03-01  Maciej Stachowiak  <mjs@apple.com>
16763
16764        Reviewed by Darin.
16765
16766        - WebCore updates for "Set up new prototype macros and avoid using #if without defined() in JSC"
16767        http://bugs.webkit.org/show_bug.cgi?id=7387
16768
16769        Add Platform.h
16770
16771        * ForwardingHeaders/kxmlcore/Platform.h: Added.
16772        * bridge/mac/WebCoreFrameNamespaces.m:
16773        * bridge/mac/WebCoreViewFactory.m:
16774        * bridge/mac/WebDashboardRegion.m:
16775        * config.h:
16776        * platform/Logging.cpp:
16777        * platform/mac/ScrollViewMac.mm:
16778        (WebCore::ScrollView::addChild):
16779        * platform/mac/WebCoreCookieAdapter.m:
16780        * platform/mac/WebCoreGraphicsBridge.m:
16781        * platform/mac/WebCoreHistory.m:
16782        * platform/mac/WebCoreImageRendererFactory.m:
16783        * platform/mac/WebCoreKeyGenerator.m:
16784        * platform/mac/WebCoreView.m:
16785
167862006-03-02  Eric Seidel  <eseidel@apple.com>
16787
16788        * WebCore.xcodeproj/project.pbxproj: update GraphicsContext.cpp path to fix build
16789
167902006-03-01  Eric Seidel  <eseidel@apple.com>
16791
16792        Reviewed by andersca.
16793
16794        Add first-stab GraphicsContextCairo.
16795        Shuffle a few more link stubs around, remove uncessary WebCore::
16796
16797        * WebCore.vcproj/WebCore/WebCore.vcproj:
16798        * platform/GraphicsContext.cpp: Added.
16799        * platform/GraphicsContext.h:
16800        * platform/cairo/GraphicsContextCairo.cpp:
16801        (WebCore::GraphicsContextState::GraphicsContextState):
16802        (WebCore::setColor):
16803        (WebCore::fillRectSourceOver):
16804        (WebCore::GraphicsContextPrivate::GraphicsContextPrivate):
16805        (WebCore::GraphicsContextPrivate::~GraphicsContextPrivate):
16806        (WebCore::GraphicsContext::GraphicsContext):
16807        (WebCore::GraphicsContext::~GraphicsContext):
16808        (WebCore::GraphicsContext::pen):
16809        (WebCore::GraphicsContext::setPen):
16810        (WebCore::GraphicsContext::setBrush):
16811        (WebCore::GraphicsContext::brush):
16812        (WebCore::GraphicsContext::save):
16813        (WebCore::GraphicsContext::restore):
16814        (WebCore::GraphicsContext::drawRect):
16815        (WebCore::GraphicsContext::setColorFromBrush):
16816        (WebCore::GraphicsContext::setColorFromPen):
16817        (WebCore::adjustLineToPixelBounderies):
16818        (WebCore::GraphicsContext::drawLine):
16819        (WebCore::GraphicsContext::drawEllipse):
16820        (WebCore::GraphicsContext::drawArc):
16821        (WebCore::GraphicsContext::drawConvexPolygon):
16822        (WebCore::GraphicsContext::drawFloatImage):
16823        (WebCore::GraphicsContext::drawTiledImage):
16824        (WebCore::GraphicsContext::drawScaledAndTiledImage):
16825        (WebCore::GraphicsContext::fillRect):
16826        (WebCore::GraphicsContext::addClip):
16827        (WebCore::GraphicsContext::setPaintingDisabled):
16828        (WebCore::GraphicsContext::paintingDisabled):
16829        * platform/cairo/ImageCairo.cpp:
16830        * platform/cg/GraphicsContextCG.cpp: Removed.
16831        * platform/win/TemporaryLinkStubs.cpp:
16832        (QLineEdit::selectAll):
16833        (Widget::mapFromGlobal):
16834        (QLineEdit::cursorPosition):
16835        (QTextEdit::setScrollBarModes):
16836        (QTextEdit::selectAll):
16837        (QComboBox::focusPolicy):
16838        (GraphicsContext::clearShadow):
16839        (QTextEdit::setCursorPosition):
16840        (GraphicsContext::drawText):
16841        (QLineEdit::setLiveSearch):
16842        (QComboBox::QComboBox):
16843        (Widget::lockDrawingFocus):
16844        (QTextEdit::setSelectionRange):
16845        (QSlider::QSlider):
16846        (ScrollView::scrollYOffset):
16847        (QComboBox::sizeHint):
16848        (QLineEdit::edited):
16849        (QTextEdit::text):
16850        (QSlider::value):
16851        (WebCore::Widget::setFocus):
16852        (WebCore::TransferJob::addMetaData):
16853        (FrameWin::respondToChangedContents):
16854        (FrameWin::unfocusWindow):
16855        (FrameWin::locationbarVisible):
16856        (FrameWin::respondToChangedSelection):
16857        (FrameWin::clearUndoRedoOperations):
16858        (FrameWin::issueRedoCommand):
16859        (FrameWin::getObjectInstanceForWidget):
16860        (FrameWin::getEmbedInstanceForWidget):
16861        (FrameWin::canRedo):
16862        (FrameWin::canUndo):
16863        (FrameWin::runJavaScriptPrompt):
16864        (FrameWin::recordFormValue):
16865        (FrameWin::registerCommandForRedo):
16866        (FrameWin::runJavaScriptAlert):
16867        (FrameWin::runJavaScriptConfirm):
16868        (FrameWin::openURL):
16869        (FrameWin::saveDocumentState):
16870        (FrameWin::print):
16871        (FrameWin::getAppletInstanceForWidget):
16872        (FrameWin::passMouseDownEventToWidget):
16873        (FrameWin::registerCommandForUndo):
16874        (FrameWin::issueCutCommand):
16875        (FrameWin::issueCopyCommand):
16876        (FrameWin::addMessageToConsole):
16877        (FrameWin::passWheelEventToChildWidget):
16878        (FrameWin::issueUndoCommand):
16879        (FrameWin::mimeTypeForFileName):
16880        (FrameWin::clearRecordedFormValues):
16881        (FrameWin::issuePasteCommand):
16882        (FrameWin::shouldChangeSelection):
16883        (FrameWin::scheduleClose):
16884        (FrameWin::markMisspellingsInAdjacentWords):
16885        (FrameWin::markMisspellings):
16886        (FrameWin::menubarVisible):
16887        (FrameWin::personalbarVisible):
16888        (FrameWin::lastEventIsMouseUp):
16889        (FrameWin::statusbarVisible):
16890        (FrameWin::toolbarVisible):
16891        (FrameWin::issueTransposeCommand):
16892        (FrameWin::userAgent):
16893        (FrameWin::canPaste):
16894        (FrameWin::incomingReferrer):
16895        (FrameWin::objectContentType):
16896        (FrameWin::passSubframeEventToSubframe):
16897        (FrameWin::createFrame):
16898        (FrameWin::canGoBackOrForward):
16899        (FrameWin::issuePasteAndMatchStyleCommand):
16900        (FrameWin::createPlugin):
16901        (FrameWin::generateFrameName):
16902        (QTextEdit::setWritingDirection):
16903        (QFontMetrics::checkSelectionPoint):
16904        (GraphicsContext::GraphicsContext):
16905        (QFontMetrics::isFixedPitch):
16906        (FrameWin::restoreDocumentState):
16907        (FrameWin::partClearedInBegin):
16908        (FrameWin::createEmptyDocument):
16909        (FrameWin::overrideMediaType):
16910        (FrameWin::setTitle):
16911        (FrameWin::handledOnloadEvents):
16912        (FrameWin::markedTextRange):
16913        (GraphicsContext::font):
16914        (GraphicsContext::setFont):
16915
169162006-03-02  Alexey Proskuryakov  <ap@nypop.com>
16917
16918        Reviewed by Darin.
16919
16920        Changed an Objective-C forward declaration from "class" to "@class".
16921        This doesn't appear to fix any problems, though.
16922
16923        * platform/StringImpl.h:
16924
169252006-03-01  Justin Garcia  <justin.garcia@apple.com>
16926
16927        Reviewed by darin
16928
16929        <http://bugs.webkit.org/show_bug.cgi?id=7059>
16930        TinyMCE: Select All + delete sends you Back intsead of deleting
16931
16932        * page/Frame.cpp:
16933        (WebCore::Frame::selectFrameElementInParentIfFullySelected):
16934
169352006-03-01  David Harrison  <harrison@apple.com>
16936
16937        Reviewed by Justin.
16938        (missed these in my earlier commit for <rdar://problem/4359736>)
16939
16940        * bridge/mac/WebCoreFrameBridge.h:
16941        * bridge/mac/WebCoreFrameBridge.mm:
16942        (-[WebCoreFrameBridge canIncreaseSelectionListLevel]):
16943        (-[WebCoreFrameBridge canDecreaseSelectionListLevel]):
16944        (-[WebCoreFrameBridge increaseSelectionListLevel]):
16945        (-[WebCoreFrameBridge decreaseSelectionListLevel]):
16946
169472006-03-01  Eric Seidel  <eseidel@apple.com>
16948
16949        Reviewed by mjs.
16950
16951        Fix win32 build, add IntRectWin and GraphicsContextCairo stub.
16952
16953        * Viewer/ImageDocument.cpp:
16954        * Viewer/ImageMainFrame.cpp:
16955        * WebCore.vcproj/WebCore/WebCore.vcproj:
16956        * platform/IntRect.h:
16957        * platform/cairo/GraphicsContextCairo.cpp: Added.
16958        * platform/win/TemporaryLinkStubs.cpp:
16959        (GraphicsContext::drawLineForText):
16960        (WebCore::GraphicsContext::fillRect):
16961        (WebCore::TransferJob::TransferJob):
16962        (GraphicsContext::GraphicsContext):
16963        (WebCore::GraphicsContext::~GraphicsContext):
16964
169652006-02-23  David Harrison  <harrison@apple.com>
16966
16967        Reviewed by Justin.
16968
16969        <rdar://problem/4359736> Support outlining ability with lists
16970
16971        Added Mail SPI for list level changes.  It is SPI because it is not complete support
16972        for outlining.  See <rdar://problem/4457070> "API for html lists as note outlines".
16973        Additional support is to end a list when return is typed on empty list item.
16974
16975        * WebCore.vcproj/WebCore/WebCore.vcproj:
16976        * WebCore.xcodeproj/project.pbxproj:
16977        Added ModifySelectionListLevelCommand.cpp and ModifySelectionListLevelCommand.h
16978
16979        * bridge/mac/WebCoreFrameBridge.h:
16980        * bridge/mac/WebCoreFrameBridge.mm:
16981        (-[WebCoreFrameBridge canIncreaseSelectionListLevel]):
16982        (-[WebCoreFrameBridge canDecreaseSelectionListLevel]):
16983        (-[WebCoreFrameBridge increaseSelectionListLevel]):
16984        (-[WebCoreFrameBridge decreaseSelectionListLevel]):
16985        Supply list level calls in the bridge.
16986
16987        * editing/InsertParagraphSeparatorCommand.cpp:
16988        (WebCore::createListItemElement):
16989        New.  Creates an li.
16990
16991        (WebCore::InsertParagraphSeparatorCommand::doApply):
16992        - slight logic cleanup
16993        - on empty list item, end the list
16994
16995        * editing/ModifySelectionListLevelCommand.cpp: Added.
16996        (WebCore::ModifySelectionListLevelCommand::ModifySelectionListLevelCommand):
16997        (WebCore::ModifySelectionListLevelCommand::preservesTypingStyle):
16998        (WebCore::ModifySelectionListLevelCommand::doApply):
16999        (WebCore::ModifySelectionListLevelCommand::canIncreaseSelectionListLevel):
17000        (WebCore::ModifySelectionListLevelCommand::canDecreaseSelectionListLevel):
17001        (WebCore::ModifySelectionListLevelCommand::increaseSelectionListLevel):
17002        (WebCore::ModifySelectionListLevelCommand::decreaseSelectionListLevel):
17003        (WebCore::modifySelectionListLevel):
17004        (WebCore::getStartEndListChildren):
17005        (WebCore::canIncreaseListLevel):
17006        (WebCore::canDecreaseListLevel):
17007        (WebCore::ModifySelectionListLevelCommand::insertSiblingNodeRangeBefore):
17008        (WebCore::ModifySelectionListLevelCommand::insertSiblingNodeRangeAfter):
17009        (WebCore::ModifySelectionListLevelCommand::appendSiblingNodeRange):
17010        (WebCore::ModifySelectionListLevelCommand::increaseListLevel):
17011        (WebCore::ModifySelectionListLevelCommand::decreaseListLevel):
17012        * editing/ModifySelectionListLevelCommand.h: Added.
17013        New editing command for adjusting the list level.
17014
17015        * editing/ReplaceSelectionCommand.cpp:
17016        (WebCore::ReplaceSelectionCommand::doApply):
17017        Slight logic cleanup
17018
17019        * editing/htmlediting.cpp:
17020        (WebCore::isListElement):
17021        (WebCore::enclosingListChild):
17022        New helpers.
17023
17024        (WebCore::isTableElement):
17025        Allow caller to pass 0... return false in that case.
17026
17027        * editing/htmlediting.h:
17028        New helpers.
17029
17030        * rendering/RenderContainer.cpp:
17031        (WebCore::updateListMarkerNumbers):
17032        Allow for list children that are not li nodes.  Ignore and continue rather than stopping.
17033
17034        (WebCore::RenderContainer::addChild):
17035        Allow for nil beforeChild, meaning "add at end".
17036
170372006-03-01  Eric Seidel  <eseidel@apple.com>
17038
17039        Reviewed by justing.
17040
17041        Update ESelectionGranulartiy enum to use newer CamelCase styling.
17042
17043        * bridge/mac/WebCoreFrameBridge.mm:
17044        (-[WebCoreFrameBridge alterCurrentSelection:direction:granularity:]):
17045        * editing/Selection.cpp:
17046        (WebCore::Selection::Selection):
17047        (WebCore::Selection::validate):
17048        * editing/SelectionController.cpp:
17049        (WebCore::SelectionController::modifyExtendingRightForward):
17050        (WebCore::SelectionController::modifyMovingRightForward):
17051        (WebCore::SelectionController::modifyExtendingLeftBackward):
17052        (WebCore::SelectionController::modifyMovingLeftBackward):
17053        (WebCore::SelectionController::modify):
17054        * editing/TypingCommand.cpp:
17055        (WebCore::TypingCommand::deleteKeyPressed):
17056        (WebCore::TypingCommand::forwardDeleteKeyPressed):
17057        * editing/jsediting.cpp:
17058        * editing/text_granularity.h:
17059        (WebCore::):
17060        * page/Frame.cpp:
17061        (WebCore::Frame::selectClosestWordFromMouseEvent):
17062        (WebCore::Frame::handleMousePressEventTripleClick):
17063        (WebCore::Frame::handleMousePressEventSingleClick):
17064        (WebCore::Frame::handleMouseMoveEventSelection):
17065
170662006-03-01  Alexander Kellett  <lypanov@kde.org>
17067
17068        Reviewed by Maciej.
17069
17070        - fix http://bugs.webkit.org/show_bug.cgi?id=5966
17071
17072        Fixes already existing test:
17073          svg/W3C-SVG-1.1/coords-viewattr-02-b.svg
17074
17075        * kcanvas/RenderSVGImage.cpp:
17076        (WebCore::RenderSVGImage::adjustRectsForAspectRatio):
17077        (WebCore::RenderSVGImage::paint):
17078        * kcanvas/RenderSVGImage.h:
17079
170802006-03-01  Alexey Proskuryakov  <ap@nypop.com>
17081
17082        Reviewed by Darin.
17083
17084        - http://bugs.webkit.org/show_bug.cgi?id=3812
17085          XMLHttpRequest: PUT, DELETE, HEAD and all other methods but POST actually do a GET.
17086
17087        HEAD is currently unimplemented because of what seems to be a bug in NSURLConnection,
17088        and does a GET instead.
17089
17090        * kwq/KWQKJobClasses.h: Add a method parameter to TransferJob.
17091        * kwq/KWQKJobClasses.mm:
17092        (WebCore::TransferJobPrivate::TransferJobPrivate):
17093        (WebCore::TransferJob::TransferJob):
17094        (WebCore::TransferJob::method):
17095        * bridge/mac/WebCoreFrameBridge.h: URL loading functions now take a method parameter.
17096        * dom/xml_tokenizer.cpp:
17097        (WebCore::openFunc):
17098        * khtml/xsl/xslt_processorimpl.cpp:
17099        (DOM::docLoaderFunc):
17100        * kwq/KWQLoader.mm:
17101        (KWQServeRequest):
17102        (KWQServeSynchronousRequest):
17103        * loader/loader.cpp:
17104        (WebCore::Loader::servePendingRequests):
17105        * page/Frame.cpp:
17106        (WebCore::Frame::didOpenURL):
17107        * xml/xmlhttprequest.cpp:
17108        (WebCore::XMLHttpRequest::send): Honor the method passed in open().
17109        * khtml/ecma/JSXMLHttpRequest.cpp:
17110        (KJS::JSXMLHttpRequestProtoFunc::callAsFunction): Don't serialize null as "null".
17111
171122006-03-01  Timothy Hatcher  <timothy@apple.com>
17113
17114        Reviewed by Darin.
17115
17116        http://bugs.webkit.org/show_bug.cgi?id=7450
17117        elementAtPoint is expensive and should return a smart dictionary
17118
17119        <rdar://problem/2952761> moving the mouse around eats more CPU than I would expect (7450)
17120
17121        Support for WebKit. This removes the old elementAtPoint: on the bridge.
17122        WebKit now uses the bridge method getInnerNonSharedNode:innerNode:URLElement:atPoint:
17123
17124        * WebCore.exp: removes the WebCore* dictionary keys
17125        * bindings/objc/DOM.mm:
17126        (-[DOMElement image]): new method to get an NSImage if the element has an image renderer
17127        * bindings/objc/DOMHTML.mm:
17128        (-[DOMHTMLElement titleDisplayString]): new method that returns the title after doing the backslash as currency symbol conversion
17129        (-[DOMHTMLInputElement altDisplayString]): ditto for alt
17130        (-[DOMHTMLImageElement altDisplayString]): ditto
17131        (-[DOMHTMLAppletElement altDisplayString]): ditto
17132        (-[DOMHTMLAreaElement altDisplayString]): ditto
17133        (-[DOMHTMLAnchorElement absoluteLinkURL]): new method to get the absolute NSURL
17134        (-[DOMHTMLAreaElement absoluteLinkURL]): ditto
17135        (-[DOMHTMLLinkElement absoluteLinkURL]): ditto
17136        (-[DOMHTMLInputElement absoluteImageURL]): new method to get the absolute image location as an NSURL
17137        (-[DOMHTMLImageElement absoluteImageURL]): ditto
17138        (-[DOMHTMLObjectElement absoluteImageURL]): ditto
17139        * bindings/objc/DOMPrivate.h:
17140        * bridge/mac/WebCoreFrameBridge.h:
17141        * bridge/mac/WebCoreFrameBridge.mm:
17142        (-[WebCoreFrameBridge getInnerNonSharedNode:innerNode:URLElement:atPoint:]):
17143        (-[WebCoreFrameBridge isPointInsideSelection:]):
17144        * dom/DocumentImpl.cpp:
17145        (WebCore::DocumentImpl::prepareMouseEvent):
17146        (WebCore::DocumentImpl::backslashAsCurrencySymbol):
17147        * dom/DocumentImpl.h:
17148        * rendering/render_layer.cpp:
17149        (WebCore::RenderLayer::hitTest):
17150        * rendering/render_object.h:
17151        (WebCore::RenderObject::NodeInfo::URLElement):
17152        (WebCore::RenderObject::NodeInfo::setURLElement):
17153
171542006-03-01  Mitz Pettel  <opendarwin.org@mitzpettel.com>
17155
17156        Test: fast/css/hover-subselector.html
17157
17158        Reviewed by Hyatt.
17159
17160        - fix http://bugs.webkit.org/show_bug.cgi?id=7327
17161          REGRESSION (r12869): :hover subselector does not work in quirks mode
17162
17163        * css/cssstyleselector.h:
17164        * css/cssstyleselector.cpp:
17165        (WebCore::CSSStyleSelector::checkSelector): Pass flag to indicate sub-selector.
17166        (WebCore::CSSStyleSelector::checkOneSelector): Apply the *:hover and *:active quirks only
17167        when there are no sub-selectors.
17168
171692006-03-01  Maciej Stachowiak  <mjs@apple.com>
17170
17171        Rubber stamped by Hyatt.
17172
17173        - fix win32 build (and make dumprendertree run)
17174
17175        * kwq/KWQComboBox.h:
17176        * platform/win/TemporaryLinkStubs.cpp:
17177        (QTextEdit::selectionEnd):
17178        (Widget::~Widget):
17179        (GraphicsContext::beginTransparencyLayer):
17180        (QComboBox::populate):
17181        (GraphicsContext::drawConvexPolygon):
17182        (QFontMetrics::selectionRectForText):
17183        (GraphicsContext::setShadow):
17184        (GraphicsContext::clearFocusRing):
17185        (GraphicsContext::drawImageInRect):
17186        (KWQFileButton::setFilename):
17187        (KWQFileButton::focusPolicy):
17188        (KWQFileButton::frameGeometry):
17189        (QSlider::focusPolicy):
17190        (WebCore::GraphicsContext::font):
17191        (QTextEdit::setWritingDirection):
17192        (QFontMetrics::checkSelectionPoint):
17193        (QFontMetrics::isFixedPitch):
17194        (WebCore::TransferJob::addMetaData):
17195
171962006-02-28  Darin Adler  <darin@apple.com>
17197
17198        Reviewed by Eric.
17199
17200        - http://bugs.webkit.org/show_bug.cgi?id=7444
17201          move QPainter to platform directory and name it GraphicsContext
17202
17203        * platform/GraphicsContext.h: Added.
17204        * platform/TextDirection.h: Added.
17205        * platform/cg/GraphicsContextCG.cpp: Added.
17206        * platform/mac/GraphicsContextMac.mm: Added.
17207
17208        * kwq/KWQPainter.h: Removed.
17209        * kwq/KWQPainter.mm: Removed.
17210        * ForwardingHeaders/qpainter.h: Removed.
17211
17212        * WebCore.xcodeproj/project.pbxproj: Updated for moved files.
17213        * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for moved files.
17214        * platform/win/TemporaryLinkStubs.cpp: Updated.
17215
17216        * bridge/mac/MacFrame.mm: (WebCore::MacFrame::setDisplaysWithFocusAttributes):
17217        * bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge drawRect:]):
17218        * editing/SelectionController.h:
17219        * editing/SelectionController.cpp: (WebCore::SelectionController::paintCaret):
17220        * kcanvas/KCanvasResources.cpp: (WebCore::KCanvasMarker::draw):
17221        * khtml/ecma/kjs_html.cpp:
17222        (KJS::KJS::Context2DFunction::callAsFunction):
17223        (KJS::Context2D::putValueProperty):
17224        (KJS::drawPattern):
17225        * page/Frame.h:
17226        * page/Frame.cpp:
17227        (WebCore::Frame::paintCaret):
17228        (WebCore::Frame::paintDragCaret):
17229        (WebCore::Frame::paint):
17230        (WebCore::Frame::adjustPageHeight):
17231        * page/FrameView.h:
17232        * platform/Font.h:
17233        * platform/Font.cpp:
17234        (WebCore::Font::selectionRectForText):
17235        (WebCore::Font::drawHighlightForText):
17236        (WebCore::Font::drawText):
17237        * platform/Widget.h:
17238        * platform/mac/WidgetMac.mm: (WebCore::Widget::paint):
17239        * rendering/InlineTextBox.h:
17240        * rendering/InlineTextBox.cpp:
17241        (WebCore::InlineTextBox::paint):
17242        (WebCore::InlineTextBox::paintSelection):
17243        (WebCore::InlineTextBox::paintMarkedTextBackground):
17244        (WebCore::InlineTextBox::paintDecoration):
17245        (WebCore::InlineTextBox::paintSpellingMarker):
17246        (WebCore::InlineTextBox::paintTextMatchMarker):
17247        (WebCore::InlineTextBox::paintAllMarkersOfType):
17248        (WebCore::InlineTextBox::paintMarkedTextUnderline):
17249        (WebCore::InlineTextBox::offsetForPosition):
17250        * rendering/RenderTableCell.cpp:
17251        (WebCore::outlineBox):
17252        (WebCore::RenderTableCell::paintCollapsedBorder):
17253        (WebCore::RenderTableCell::paintBoxDecorations):
17254        * rendering/RenderTableCell.h:
17255        * rendering/render_box.cpp:
17256        (WebCore::RenderBox::paintBackgrounds):
17257        (WebCore::RenderBox::paintBackground):
17258        (WebCore::RenderBox::paintBackgroundExtended):
17259        (WebCore::RenderBox::outlineBox):
17260        * rendering/render_box.h:
17261        * rendering/render_button.cpp:
17262        (WebCore::RenderButton::RenderButton):
17263        (WebCore::RenderButton::paintObject):
17264        * rendering/render_button.h:
17265        (WebCore::RenderButton::removeLeftoverAnonymousBoxes):
17266        * rendering/render_canvas.cpp:
17267        * rendering/render_canvasimage.cpp:
17268        (WebCore::RenderCanvasImage::paint):
17269        * rendering/render_flow.cpp:
17270        (WebCore::RenderFlow::addFocusRingRects):
17271        (WebCore::RenderFlow::paintFocusRing):
17272        (WebCore::RenderFlow::paintOutlines):
17273        (WebCore::RenderFlow::paintOutlineForLine):
17274        * rendering/render_flow.h:
17275        * rendering/render_form.cpp:
17276        (WebCore::RenderLineEdit::setStyle):
17277        (WebCore::RenderFieldset::paintBorderMinusLegend):
17278        (WebCore::RenderSelect::setWidgetWritingDirection):
17279        (WebCore::RenderTextArea::setStyle):
17280        * rendering/render_form.h:
17281        (WebCore::RenderFieldset::renderName):
17282        * rendering/render_frames.cpp:
17283        (WebCore::RenderFrameSet::userResize):
17284        * rendering/render_image.cpp:
17285        (WebCore::RenderImage::paint):
17286        * rendering/render_layer.cpp:
17287        (WebCore::RenderLayer::beginTransparencyLayers):
17288        (WebCore::RenderLayer::paintScrollbars):
17289        (WebCore::RenderLayer::paint):
17290        (WebCore::setClip):
17291        (WebCore::restoreClip):
17292        (WebCore::RenderLayer::paintLayer):
17293        (WebCore::Marquee::direction):
17294        * rendering/render_layer.h:
17295        * rendering/render_line.cpp:
17296        (WebCore::InlineFlowBox::paintBackgrounds):
17297        (WebCore::InlineFlowBox::paintBackground):
17298        (WebCore::InlineFlowBox::paintBackgroundAndBorder):
17299        (WebCore::InlineFlowBox::paintDecorations):
17300        (WebCore::EllipsisBox::paint):
17301        * rendering/render_line.h:
17302        * rendering/render_list.cpp:
17303        (WebCore::RenderListMarker::paint):
17304        * rendering/render_object.cpp:
17305        (WebCore::RenderObject::drawBorder):
17306        (WebCore::RenderObject::paintBorderImage):
17307        (WebCore::RenderObject::paintBorder):
17308        (WebCore::RenderObject::addFocusRingRects):
17309        (WebCore::RenderObject::paintOutline):
17310        (WebCore::RenderObject::selectionColor):
17311        * rendering/render_object.h:
17312        (WebCore::RenderObject::element):
17313        (WebCore::RenderObject::document):
17314        (WebCore::RenderObject::setNode):
17315        (WebCore::RenderObject::node):
17316        (WebCore::RenderObject::PaintInfo::PaintInfo):
17317        (WebCore::RenderObject::paintBoxDecorations):
17318        (WebCore::RenderObject::paintBackgroundExtended):
17319        (WebCore::RenderObject::printBoxDecorations):
17320        * rendering/render_replaced.cpp: (WebCore::RenderReplaced::selectionColor):
17321        * rendering/render_replaced.h:
17322        Updated to use GraphicsContext instead of QPainter.
17323
17324        * css/cssstyleselector.cpp: (WebCore::CSSStyleSelector::applyProperty):
17325        * kwq/KWQComboBox.h:
17326        * kwq/KWQComboBox.mm: (QComboBox::setWritingDirection):
17327        * kwq/KWQLineEdit.h:
17328        * kwq/KWQLineEdit.mm: (QLineEdit::setWritingDirection):
17329        * kwq/KWQListBox.h:
17330        * kwq/KWQListBox.mm: (QListBox::setWritingDirection):
17331        * kwq/KWQTextEdit.h:
17332        * kwq/KWQTextEdit.mm: (QTextEdit::setWritingDirection):
17333        * rendering/bidi.cpp:
17334        (khtml::bidiNext):
17335        (khtml::bidiFirst):
17336        Updated to use TextDirection instead of QPainter::TextDirection and EDirection.
17337
17338        * kcanvas/device/KRenderingDevice.h: Added renderingDevice here to
17339        replace QPainter::renderingDevice for now.
17340
17341        * khtml/ecma/kjs_html.h: Fixed comments to mention GraphicsContext.
17342
17343        * khtml/html/html_imageimpl.h:
17344        * page/FrameView.cpp:
17345        * rendering/RenderBlock.cpp:
17346        Added include needed since I reduced includes elsewhere.
17347
17348        * kwq/KWQFontMetrics.h:
17349        * kwq/KWQFontMetrics.mm: (QFontMetrics::checkSelectionPoint):
17350        Changed QChar* to be const QChar*.
17351
17352        * platform/FontDescription.h: Added include that was missing.
17353        * rendering/render_theme.cpp: Ditto.
17354
17355        * platform/Image.h: Removed unnecessary forward declaration of QPainter.
17356
17357        * rendering/RenderText.h: Clean up types, use const.
17358
17359        * rendering/render_style.h: Removed EDirection and replaced it with TextDirection.
17360
17361        * kcanvas/KCanvasCreator.cpp:
17362        (WebCore::KCanvasCreator::createRoundedRectangle):
17363        (WebCore::KCanvasCreator::createRectangle):
17364        (WebCore::KCanvasCreator::createEllipse):
17365        (WebCore::KCanvasCreator::createLine):
17366        * kcanvas/KCanvasPath.cpp: (WebCore::operator<<):
17367        * kcanvas/KCanvasTreeDebug.cpp: (WebCore::operator<<):
17368        * kcanvas/RenderForeignObject.cpp: (WebCore::RenderForeignObject::paint):
17369        * kcanvas/RenderPath.cpp: (WebCore::RenderPath::paint):
17370        * kcanvas/RenderSVGImage.cpp:
17371        (WebCore::RenderSVGImage::paint):
17372        (WebCore::RenderSVGImage::translateForAttributes):
17373        * kcanvas/RenderSVGText.cpp:
17374        (WebCore::RenderSVGText::paint):
17375        * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
17376        (WebCore::KCanvasFilterQuartz::prepareFilter):
17377        (WebCore::KCanvasFilterQuartz::applyFilter):
17378        * kcanvas/device/quartz/KCanvasMaskerQuartz.mm:
17379        (WebCore::KCanvasMaskerQuartz::applyMask):
17380        * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
17381        (WebCore::KCanvasContainerQuartz::paint):
17382        (WebCore::KCanvasClipperQuartz::applyClip):
17383        * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
17384        (WebCore::KRenderingDeviceQuartz::pushContext):
17385        (WebCore::KRenderingDeviceQuartz::popContext):
17386        (WebCore::renderingDevice):
17387        * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
17388        (WebCore::KRenderingPaintServerGradientQuartz::setup):
17389        (WebCore::KRenderingPaintServerGradientQuartz::renderPath):
17390        (WebCore::KRenderingPaintServerGradientQuartz::teardown):
17391        * ksvg2/misc/KCanvasRenderingStyle.cpp: (WebCore::sharedSolidPaintServer):
17392        * ksvg2/svg/SVGAElementImpl.cpp: (SVGAElementImpl::createRenderer):
17393        * ksvg2/svg/SVGClipPathElementImpl.cpp: (SVGClipPathElementImpl::canvasResource):
17394        * ksvg2/svg/SVGFEBlendElementImpl.cpp: (SVGFEBlendElementImpl::filterEffect):
17395        * ksvg2/svg/SVGFEColorMatrixElementImpl.cpp: (SVGFEColorMatrixElementImpl::filterEffect):
17396        * ksvg2/svg/SVGFEComponentTransferElementImpl.cpp: (SVGFEComponentTransferElementImpl::filterEffect):
17397        * ksvg2/svg/SVGFECompositeElementImpl.cpp: (SVGFECompositeElementImpl::filterEffect):
17398        * ksvg2/svg/SVGFEDiffuseLightingElementImpl.cpp: (WebCore::SVGFEDiffuseLightingElementImpl::filterEffect):
17399        * ksvg2/svg/SVGFEDisplacementMapElementImpl.cpp: (SVGFEDisplacementMapElementImpl::filterEffect):
17400        * ksvg2/svg/SVGFEFloodElementImpl.cpp: (SVGFEFloodElementImpl::filterEffect):
17401        * ksvg2/svg/SVGFEGaussianBlurElementImpl.cpp: (SVGFEGaussianBlurElementImpl::filterEffect):
17402        * ksvg2/svg/SVGFEImageElementImpl.cpp: (SVGFEImageElementImpl::filterEffect):
17403        * ksvg2/svg/SVGFEMergeElementImpl.cpp: (SVGFEMergeElementImpl::filterEffect):
17404        * ksvg2/svg/SVGFEOffsetElementImpl.cpp: (SVGFEOffsetElementImpl::filterEffect):
17405        * ksvg2/svg/SVGFESpecularLightingElementImpl.cpp: (SVGFESpecularLightingElementImpl::filterEffect):
17406        * ksvg2/svg/SVGFETileElementImpl.cpp: (SVGFETileElementImpl::filterEffect):
17407        * ksvg2/svg/SVGFETurbulenceElementImpl.cpp: (SVGFETurbulenceElementImpl::filterEffect):
17408        * ksvg2/svg/SVGFilterElementImpl.cpp: (SVGFilterElementImpl::canvasResource):
17409        * ksvg2/svg/SVGGElementImpl.cpp: (SVGGElementImpl::createRenderer):
17410        * ksvg2/svg/SVGGradientElementImpl.cpp: (SVGGradientElementImpl::canvasResource):
17411        * ksvg2/svg/SVGMarkerElementImpl.cpp:
17412        (WebCore::SVGMarkerElementImpl::canvasResource):
17413        (WebCore::SVGMarkerElementImpl::createRenderer):
17414        * ksvg2/svg/SVGMaskElementImpl.cpp:
17415        (WebCore::SVGMaskElementImpl::drawMaskerContent):
17416        (WebCore::SVGMaskElementImpl::createRenderer):
17417        (WebCore::SVGMaskElementImpl::canvasResource):
17418        * ksvg2/svg/SVGPathElementImpl.cpp: (WebCore::SVGPathElementImpl::toPathData):
17419        * ksvg2/svg/SVGPatternElementImpl.cpp:
17420        (WebCore::SVGPatternElementImpl::drawPatternContentIntoTile):
17421        (WebCore::SVGPatternElementImpl::createRenderer):
17422        (WebCore::SVGPatternElementImpl::canvasResource):
17423        * ksvg2/svg/SVGPolygonElementImpl.cpp: (SVGPolygonElementImpl::toPathData):
17424        * ksvg2/svg/SVGPolylineElementImpl.cpp: (SVGPolylineElementImpl::toPathData):
17425        * ksvg2/svg/SVGSVGElementImpl.cpp: (WebCore::SVGSVGElementImpl::createRenderer):
17426        * ksvg2/svg/SVGStyledElementImpl.cpp: (WebCore::SVGStyledElementImpl::createRenderer):
17427        * ksvg2/svg/SVGSwitchElementImpl.cpp: (SVGSwitchElementImpl::createRenderer):
17428        * ksvg2/svg/SVGUseElementImpl.cpp: (SVGUseElementImpl::createRenderer):
17429        Updated to use renderingDevice instead of QPainter::renderingDevice.
17430
174312006-02-28  Darin Adler  <darin@apple.com>
17432
17433        - fixed part of the reason the build is broken
17434
17435        * WebCore.xcodeproj/project.pbxproj: Updated project file.
17436
174372006-02-28  Darin Adler  <darin@apple.com>
17438
17439        Rubber-stamped by Hyatt.
17440
17441        - moved the WebCoreXXX files from kwq to appropriate directories
17442
17443        No changes to the contents of the files.
17444
17445        * WebCore.xcodeproj/project.pbxproj: Updated project file.
17446        * bridge/mac/WebCoreCache.h: Added.
17447        * bridge/mac/WebCoreCache.mm: Added.
17448        * bridge/mac/WebCoreEncodings.h: Added.
17449        * bridge/mac/WebCoreEncodings.mm: Added.
17450        * bridge/mac/WebCoreFrameNamespaces.h: Added.
17451        * bridge/mac/WebCoreFrameNamespaces.m: Added.
17452        * bridge/mac/WebCoreFrameView.h: Added.
17453        * bridge/mac/WebCoreJavaScript.h: Added.
17454        * bridge/mac/WebCoreJavaScript.mm: Added.
17455        * bridge/mac/WebCoreKeyboardAccess.h: Added.
17456        * bridge/mac/WebCoreResourceLoader.h: Added.
17457        * bridge/mac/WebCoreScriptDebugger.h: Added.
17458        * bridge/mac/WebCoreScriptDebugger.mm: Added.
17459        * bridge/mac/WebCoreSettings.h: Added.
17460        * bridge/mac/WebCoreSettings.mm: Added.
17461        * bridge/mac/WebCoreTextDecoder.h: Added.
17462        * bridge/mac/WebCoreTextDecoder.mm: Added.
17463        * bridge/mac/WebCoreViewFactory.h: Added.
17464        * bridge/mac/WebCoreViewFactory.m: Added.
17465        * bridge/mac/WebDashboardRegion.h: Added.
17466        * bridge/mac/WebDashboardRegion.m: Added.
17467        * kwq/WebCoreCache.h: Removed.
17468        * kwq/WebCoreCache.mm: Removed.
17469        * kwq/WebCoreCookieAdapter.h: Removed.
17470        * kwq/WebCoreCookieAdapter.m: Removed.
17471        * kwq/WebCoreEncodings.h: Removed.
17472        * kwq/WebCoreEncodings.mm: Removed.
17473        * kwq/WebCoreFrameNamespaces.h: Removed.
17474        * kwq/WebCoreFrameNamespaces.m: Removed.
17475        * kwq/WebCoreFrameView.h: Removed.
17476        * kwq/WebCoreGraphicsBridge.h: Removed.
17477        * kwq/WebCoreGraphicsBridge.m: Removed.
17478        * kwq/WebCoreHistory.h: Removed.
17479        * kwq/WebCoreHistory.m: Removed.
17480        * kwq/WebCoreImageRenderer.h: Removed.
17481        * kwq/WebCoreImageRendererFactory.h: Removed.
17482        * kwq/WebCoreImageRendererFactory.m: Removed.
17483        * kwq/WebCoreJavaScript.h: Removed.
17484        * kwq/WebCoreJavaScript.mm: Removed.
17485        * kwq/WebCoreKeyGenerator.h: Removed.
17486        * kwq/WebCoreKeyGenerator.m: Removed.
17487        * kwq/WebCoreKeyboardAccess.h: Removed.
17488        * kwq/WebCoreResourceLoader.h: Removed.
17489        * kwq/WebCoreScriptDebugger.h: Removed.
17490        * kwq/WebCoreScriptDebugger.mm: Removed.
17491        * kwq/WebCoreSettings.h: Removed.
17492        * kwq/WebCoreSettings.mm: Removed.
17493        * kwq/WebCoreTextDecoder.h: Removed.
17494        * kwq/WebCoreTextDecoder.mm: Removed.
17495        * kwq/WebCoreTextRenderer.h: Removed.
17496        * kwq/WebCoreTextRendererFactory.h: Removed.
17497        * kwq/WebCoreTextRendererFactory.mm: Removed.
17498        * kwq/WebCoreView.h: Removed.
17499        * kwq/WebCoreView.m: Removed.
17500        * kwq/WebCoreViewFactory.h: Removed.
17501        * kwq/WebCoreViewFactory.m: Removed.
17502        * kwq/WebDashboardRegion.h: Removed.
17503        * kwq/WebDashboardRegion.m: Removed.
17504        * platform/mac/WebCoreCookieAdapter.h: Added.
17505        * platform/mac/WebCoreCookieAdapter.m: Added.
17506        * platform/mac/WebCoreGraphicsBridge.h: Added.
17507        * platform/mac/WebCoreGraphicsBridge.m: Added.
17508        * platform/mac/WebCoreHistory.h: Added.
17509        * platform/mac/WebCoreHistory.m: Added.
17510        * platform/mac/WebCoreImageRenderer.h: Added.
17511        * platform/mac/WebCoreImageRendererFactory.h: Added.
17512        * platform/mac/WebCoreImageRendererFactory.m: Added.
17513        * platform/mac/WebCoreKeyGenerator.h: Added.
17514        * platform/mac/WebCoreKeyGenerator.m: Added.
17515        * platform/mac/WebCoreTextRenderer.h: Added.
17516        * platform/mac/WebCoreTextRendererFactory.h: Added.
17517        * platform/mac/WebCoreTextRendererFactory.mm: Added.
17518        * platform/mac/WebCoreView.h: Added.
17519        * platform/mac/WebCoreView.m: Added.
17520
175212006-02-28  David Hyatt  <hyatt@apple.com>
17522
17523        Fold QFont into Font and eliminate QFont completely.
17524
17525        Reviewed by eric
17526
17527        * ForwardingHeaders/qfont.h: Removed.
17528        * WebCore.xcodeproj/project.pbxproj:
17529        * bindings/objc/DOM.mm:
17530        (-[DOMElement _font]):
17531        * bridge/mac/MacFrame.mm:
17532        (WebCore::MacFrame::attributedString):
17533        (WebCore::MacFrame::fontForSelection):
17534        (WebCore::MacFrame::fontAttributesForSelectionStart):
17535        * bridge/mac/WebCoreFrameBridge.mm:
17536        * css/css_computedstyle.cpp:
17537        (WebCore::CSSComputedStyleDeclarationImpl::getPropertyCSSValue):
17538        * css/cssstyleselector.cpp:
17539        (WebCore::CSSStyleSelector::applyProperty):
17540        * dom/DocumentImpl.cpp:
17541        (WebCore::DocumentImpl::recalcStyle):
17542        * ksvg2/svg/SVGLengthImpl.cpp:
17543        (SVGLengthImpl::updateValue):
17544        * kwq/KWQAccObject.mm:
17545        (AXAttributeStringSetStyle):
17546        * kwq/KWQComboBox.h:
17547        * kwq/KWQComboBox.mm:
17548        (QComboBox::setFont):
17549        * kwq/KWQFont.h: Removed.
17550        * kwq/KWQFont.mm: Removed.
17551        * kwq/KWQFontMetrics.h:
17552        * kwq/KWQFontMetrics.mm:
17553        (QFontMetricsPrivate::QFontMetricsPrivate):
17554        (QFontMetricsPrivate::~QFontMetricsPrivate):
17555        (QFontMetricsPrivate::getRenderer):
17556        (QFontMetricsPrivate::fontDescription):
17557        (QFontMetricsPrivate::setFontDescription):
17558        (QFontMetricsPrivate::getWebCoreFont):
17559        (QFontMetricsPrivate::isFixedPitch):
17560        (QFontMetricsPrivate::determinePitch):
17561        (QFontMetrics::QFontMetrics):
17562        (QFontMetrics::setFontDescription):
17563        (QFontMetrics::width):
17564        (QFontMetrics::floatWidth):
17565        (QFontMetrics::selectionRectForText):
17566        (QFontMetrics::checkSelectionPoint):
17567        (QFontMetrics::getWebCoreFont):
17568        (QFontMetrics::isFixedPitch):
17569        * kwq/KWQKHTMLSettings.h:
17570        * kwq/KWQLineEdit.h:
17571        * kwq/KWQLineEdit.mm:
17572        (-[NSSearchField _addStringToRecentSearches:]):
17573        (QLineEdit::setFont):
17574        * kwq/KWQListBox.h:
17575        * kwq/KWQListBox.mm:
17576        (QListBox::sizeForNumberOfLines):
17577        (QListBox::setFont):
17578        (-[KWQTableView drawRow:clipRect:]):
17579        * kwq/KWQPainter.h:
17580        * kwq/KWQPainter.mm:
17581        (WebCore::QPainter::font):
17582        (WebCore::QPainter::setFont):
17583        (WebCore::QPainter::fontMetrics):
17584        (WebCore::QPainter::_updateRenderer):
17585        (WebCore::QPainter::drawText):
17586        (WebCore::QPainter::drawHighlightForText):
17587        * kwq/KWQSlider.h:
17588        * kwq/KWQSlider.mm:
17589        (QSlider::setFont):
17590        * kwq/KWQTextEdit.h:
17591        * kwq/KWQTextEdit.mm:
17592        (QTextEdit::setFont):
17593        * platform/Font.cpp:
17594        (khtml::Font::update):
17595        * platform/Font.h:
17596        (WebCore::):
17597        (WebCore::Font::m_wordSpacing):
17598        (WebCore::Font::Font):
17599        (WebCore::Font::operator==):
17600        (WebCore::Font::operator!=):
17601        (WebCore::Font::fontMetrics):
17602        (WebCore::Font::pixelSize):
17603        (WebCore::Font::size):
17604        (WebCore::Font::letterSpacing):
17605        (WebCore::Font::setWordSpacing):
17606        (WebCore::Font::setLetterSpacing):
17607        (WebCore::Font::isFixedPitch):
17608        (WebCore::Font::isPrinterFont):
17609        (WebCore::Font::firstFamily):
17610        (WebCore::Font::family):
17611        (WebCore::Font::italic):
17612        (WebCore::Font::weight):
17613        (WebCore::Font::getNSFamily):
17614        (WebCore::Font::getNSFont):
17615        (WebCore::Font::getWebCoreFont):
17616        * platform/FontDescription.h:
17617        (WebCore::FontDescription::FontDescription):
17618        * platform/FontFamily.h:
17619        * platform/Widget.h:
17620        * platform/mac/WidgetMac.mm:
17621        (WebCore::Widget::font):
17622        (WebCore::Widget::setFont):
17623        * rendering/InlineTextBox.cpp:
17624        (WebCore::InlineTextBox::selectionRect):
17625        (WebCore::InlineTextBox::paint):
17626        (WebCore::InlineTextBox::positionForOffset):
17627        * rendering/RenderBlock.cpp:
17628        (WebCore::stripTrailingSpace):
17629        * rendering/RenderText.cpp:
17630        (WebCore::RenderText::cacheWidths):
17631        (WebCore::RenderText::trimmedMinMaxWidth):
17632        (WebCore::RenderText::calcMinMaxWidth):
17633        (WebCore::RenderText::font):
17634        (WebCore::RenderText::width):
17635        * rendering/RenderText.h:
17636        * rendering/bidi.cpp:
17637        (khtml::RenderBlock::computeHorizontalPositionsForLine):
17638        (khtml::RenderBlock::findNextLineBreak):
17639        * rendering/render_br.cpp:
17640        (WebCore::RenderBR::lineHeight):
17641        * rendering/render_flow.cpp:
17642        (WebCore::RenderFlow::lineHeight):
17643        * rendering/render_form.cpp:
17644        (WebCore::RenderFormElement::setStyle):
17645        (WebCore::RenderFormElement::addIntrinsicMarginsIfAllowed):
17646        * rendering/render_image.cpp:
17647        (WebCore::RenderImage::paint):
17648        * rendering/render_line.cpp:
17649        (WebCore::InlineFlowBox::placeBoxesHorizontally):
17650        (WebCore::InlineFlowBox::paintDecorations):
17651        (WebCore::EllipsisBox::paint):
17652        * rendering/render_list.cpp:
17653        (RenderListMarker::paint):
17654        * rendering/render_object.cpp:
17655        (WebCore::RenderObject::getVerticalPosition):
17656        (WebCore::RenderObject::lineHeight):
17657        * rendering/render_object.h:
17658        (WebCore::RenderObject::font):
17659        * rendering/render_replaced.cpp:
17660        (WebCore::RenderWidget::setStyle):
17661        * rendering/render_style.h:
17662        (khtml::RenderStyle::fontSize):
17663        (khtml::RenderStyle::fontMetrics):
17664        (khtml::RenderStyle::wordSpacing):
17665        (khtml::RenderStyle::letterSpacing):
17666        (khtml::RenderStyle::setFontDescription):
17667        (khtml::RenderStyle::setWordSpacing):
17668        (khtml::RenderStyle::setLetterSpacing):
17669
176702006-02-28  Darin Adler  <darin@apple.com>
17671
17672        Reviewed by Adele.
17673
17674        - remove obsolete WebCoreScrollView class
17675
17676        * WebCore.exp: Remove WebCoreScrollView class name.
17677
17678        * kwq/WebCoreScrollView.h: Removed.
17679        * kwq/WebCoreScrollView.m: Removed.
17680        * WebCore.xcodeproj/project.pbxproj: Remove WebCoreScrollView source files.
17681
17682        * kwq/KWQListBox.mm: (-[KWQListBoxScrollView autoforwardsScrollWheelEvents]): Added.
17683        * kwq/KWQTextArea.h: Change base class to NSScrollView instead of WebCoreScrollView.
17684        * kwq/KWQTextArea.mm: (-[KWQTextAreaTextView autoforwardsScrollWheelEvents]): Ditto.
17685
176862006-02-28  Eric Seidel  <eseidel@apple.com>
17687
17688        Reviewed by mjs.
17689
17690        Fix spacing/style on several of the stubs.
17691        Reorganize stubs, separating empty stubs.
17692        Remove the abort from certain stubs blocking DRT.
17693        Add a virtual setView call to Frame baseclass.
17694
17695        * bridge/mac/MacFrame.h: mark setView virtual
17696        * dom/DocumentImpl.cpp:
17697        (WebCore::DocumentImpl::attach): remove no-renderer hack
17698        * page/Frame.cpp:
17699        (WebCore::Frame::view): fix spacing
17700        (WebCore::Frame::setView): added.
17701        * page/Frame.h:
17702        * platform/win/TemporaryLinkStubs.cpp:
17703        (notImplemented): make break directly into debugger.
17704        Moved, modified several other stubs not mentioned here.
17705
177062006-02-28  Justin Garcia  <justin.garcia@apple.com>
17707
17708        Reviewed by mjs
17709
17710        <http://bugs.webkit.org/show_bug.cgi?id=6647>
17711        TinyMCE: document.execCommand("insertHTML", ...) unimplemented
17712
17713        * editing/jsediting.cpp:
17714
177152006-02-28  Maciej Stachowiak  <mjs@apple.com>
17716
17717        Reviewed by Darin.
17718
17719        - make win32 DumpRenderTree run without crashing
17720        http://bugs.webkit.org/show_bug.cgi?id=7511
17721
17722        * WebCore.vcproj/WebCore/WebCore.vcproj:
17723        * bridge/win/BrowserExtensionWin.h: Added.
17724        * bridge/win/FrameWin.cpp:
17725        (WebCore::FrameWin::FrameWin): Initialize browser
17726        extension and settings.
17727        * dom/DocumentImpl.cpp:
17728        (WebCore::DocumentImpl::attach): Don't create renderers
17729        for now.
17730        * dom/EventNames.cpp:
17731        (WebCore::EventNames::init): use placement new even when
17732        not avoiding static constructors.
17733        * khtml/html/htmlnames.cpp:
17734        (WebCore::HTMLNames::init): ditto
17735        * dom/QualifiedName.cpp:
17736        (WebCore::QualifiedName::init): ditto
17737        * dom/QualifiedName.h:
17738        (WebCore::QualifiedName::QualifiedName): Added default
17739        constructor but only in ifdef.
17740        * page/Frame.h:
17741        * platform/AtomicString.cpp:
17742        (WebCore::AtomicString::init): use placement new even when
17743        not avoiding static constructors
17744        * platform/StaticConstructors.h: don't initialize when
17745        not avoiding static constructors, just default construct
17746        and let initialization happen normally
17747        * platform/win/TemporaryLinkStubs.cpp: Stub out some more things
17748        (Cursor::~Cursor):
17749        (QFont::~QFont):
17750        (QFontMetrics::~QFontMetrics):
17751        (WebCore::FrameWin::restoreDocumentState):
17752        (WebCore::FrameWin::partClearedInBegin):
17753        (WebCore::FrameWin::createEmptyDocument):
17754        (WebCore::BrowserExtensionWin::getHistoryLength):
17755        (WebCore::BrowserExtensionWin::canRunModal):
17756        (WebCore::BrowserExtensionWin::openURLNotify):
17757        (WebCore::BrowserExtensionWin::canRunModalNow):
17758        (WebCore::BrowserExtensionWin::runModal):
17759        (WebCore::BrowserExtensionWin::goBackOrForward):
17760
177612006-02-27  Eric Seidel  <eseidel@apple.com>
17762
17763        Reviewed by mjs.
17764
17765        Remove abort() from constructors to allow DRT to run.
17766
17767        * platform/win/TemporaryLinkStubs.cpp:
17768        (QFont::QFont):
17769        (QFontMetrics::QFontMetrics):
17770
177712006-02-27  Justin Garcia  <justin.garcia@apple.com>
17772
17773        Reviewed by darin
17774
17775        <http://bugs.webkit.org/show_bug.cgi?id=6893>
17776        REGRESSION: Major bug with TinyMCE, no value submitted from textarea
17777        <rdar://problem/3465857> value from textarea form field inside of hidden div isn't submitted
17778        <rdar://problem/3968059> Textarea with hard-wrap: pre-filled text doesn't get hard-wrapped
17779
17780        Canonicalize line endings in textareas to avoid the workarounds that were a source of bugs,
17781        Also call textWithHardLineWraps inside appendFormData (and nowhere else) if wrap="hard".
17782
17783        * khtml/html/HTMLTextAreaElementImpl.cpp:
17784        (WebCore::HTMLTextAreaElementImpl::HTMLTextAreaElementImpl):
17785        (WebCore::HTMLTextAreaElementImpl::select):
17786        (WebCore::HTMLTextAreaElementImpl::appendFormData):
17787        (WebCore::HTMLTextAreaElementImpl::rendererWillBeDestroyed):
17788        (WebCore::HTMLTextAreaElementImpl::updateValue):
17789        (WebCore::HTMLTextAreaElementImpl::value):
17790        (WebCore::HTMLTextAreaElementImpl::setValue):
17791        (WebCore::HTMLTextAreaElementImpl::defaultValue):
17792        * khtml/html/HTMLTextAreaElementImpl.h:
17793        (DOM::HTMLTextAreaElementImpl::invalidateValue):
17794        * kwq/KWQTextArea.h:
17795        * kwq/KWQTextArea.mm:
17796        (-[KWQTextAreaTextView textDidChange:]):
17797        (-[KWQTextAreaTextView text]):
17798        (-[KWQTextAreaTextView textWithHardLineBreaks]):
17799        (-[KWQTextAreaTextView setSelectedRange:]):
17800        (-[KWQTextAreaTextView selectedRange]):
17801        (-[KWQTextAreaTextView getCursorPositionAsIndex:inParagraph:]):
17802        (RangeOfParagraph):
17803        (-[KWQTextAreaTextView textView:shouldChangeTextInRange:replacementString:]):
17804        * rendering/render_form.cpp:
17805        (WebCore::RenderTextArea::destroy):
17806        (WebCore::RenderTextArea::updateFromElement):
17807        (WebCore::RenderTextArea::text):
17808        (WebCore::RenderTextArea::textWithHardLineBreaks):
17809        * rendering/render_form.h:
17810
178112006-02-27  Eric Seidel  <eseidel@apple.com>
17812
17813        Reviewed by darin.
17814
17815        Copy missing dlls to build directory.
17816
17817        * Viewer.cpp: fix line endings
17818        * Viewer/ImageView.cpp: fix line endings
17819        * Viewer/stdafx.cpp: fix line endings
17820        * WebCore.vcproj/WebCore/build-generated-files.sh:
17821
178222006-02-27  Mitz Pettel  <opendarwin.org@mitzpettel.com>
17823
17824        Test: added to fast/dom/css-selectorText.html
17825
17826        Reviewed by Darin.
17827
17828        - fix http://bugs.webkit.org/show_bug.cgi?id=7338
17829          Incorrect selectorText for multiple subselectors.
17830
17831        * css/css_base.cpp:
17832        (CSSSelector::selectorText): Iterate over subselectors
17833
178342006-02-27  Maciej Stachowiak  <mjs@apple.com>
17835
17836        Reviewed by Darin.
17837
17838        - write a portable ICU version of TextEncoding::fromUnicode for use on win32
17839
17840        * platform/StreamingTextDecoder.h:
17841        * platform/TextEncoding.cpp:
17842        (WebCore::TextEncoding::fromUnicode): added
17843        (WebCore::getConverter): helper
17844        (WebCore::cacheConverter): ditto
17845        (WebCore::effectiveEncoding): ditto
17846        * platform/mac/TextEncodingMac.cpp: Add comment
17847        * platform/win/TemporaryLinkStubs.cpp:
17848        (WebCore::TextEncoding::fromUnicode): remove
17849
178502006-02-27  Mitz Pettel  <opendarwin.org@mitzpettel.com>
17851
17852        Test: fast/text/in-rendered-text-rtl.html
17853
17854        Reviewed by Darin.
17855
17856        - fix http://bugs.webkit.org/show_bug.cgi?id=7433
17857          REGRESSION (r12789): Second RTL text run on a line cannot be selected
17858
17859        * dom/dom_position.cpp:
17860        (WebCore::Position::inRenderedText): If the RenderText contains
17861        reversed text, the text boxes are not necessarily ordered by start
17862        position, so iterate through all of them.
17863        (WebCore::Position::isRenderedCharacter): Ditto.
17864
178652006-02-27  David Kilzer  <ddkilzer@kilzer.net>
17866
17867        Reviewed by Darin.
17868
17869        - Fix for http://bugs.webkit.org/show_bug.cgi?id=7321
17870        REGRESSION: style tag in body causes two head elements to appear in the DOM
17871
17872        * khtml/html/htmlparser.cpp: Handle the head node like form and map nodes.
17873        (WebCore::HTMLParser::parseToken):
17874        (WebCore::HTMLParser::headCreateErrorCheck):
17875
178762006-02-27  Eric Seidel  <eseidel@apple.com>
17877
17878        Reviewed by darin.
17879
17880        Add stub to make DRT link.
17881        Make WebCore copy libxml.dll into build directory when building.
17882
17883        * WebCore.vcproj/WebCore/build-generated-files.sh:
17884        * platform/win/TemporaryLinkStubs.cpp:
17885        (WebCore::TextEncoding::fromUnicode):
17886
178872006-02-27  Darin Adler  <darin@apple.com>
17888
17889        Reviewed by Eric.
17890
17891        - fix regression in layout tests
17892
17893        * dom/dom_elementimpl.cpp: (WebCore::StyledElementImpl::addCSSLength):
17894        Fix some code that was not properly truncating. I broke it in my
17895        string change this morning.
17896
178972006-02-27  Maciej Stachowiak  <mjs@apple.com>
17898
17899        Rubber stamped by Eric.
17900
17901        - add stubs for FrameWin overrides of pure virtual Frame methods
17902
17903        * platform/win/TemporaryLinkStubs.cpp:
17904        (WebCore::FrameWin::respondToChangedContents):
17905        (WebCore::FrameWin::unfocusWindow):
17906        (WebCore::FrameWin::locationbarVisible):
17907        (WebCore::FrameWin::respondToChangedSelection):
17908        (WebCore::FrameWin::clearUndoRedoOperations):
17909        (WebCore::FrameWin::issueRedoCommand):
17910        (WebCore::FrameWin::canRedo):
17911        (WebCore::FrameWin::restoreDocumentState):
17912        (WebCore::FrameWin::canUndo):
17913        (WebCore::FrameWin::overrideMediaType):
17914        (WebCore::FrameWin::saveDocumentState):
17915        (WebCore::FrameWin::print):
17916        (WebCore::FrameWin::issueCutCommand):
17917        (WebCore::FrameWin::issueCopyCommand):
17918        (WebCore::FrameWin::partClearedInBegin):
17919        (WebCore::FrameWin::issueUndoCommand):
17920        (WebCore::FrameWin::clearRecordedFormValues):
17921        (WebCore::FrameWin::issuePasteCommand):
17922        (WebCore::FrameWin::markedTextRange):
17923        (WebCore::FrameWin::shouldChangeSelection):
17924        (WebCore::FrameWin::scheduleClose):
17925        (WebCore::FrameWin::menubarVisible):
17926        (WebCore::FrameWin::personalbarVisible):
17927        (WebCore::FrameWin::createEmptyDocument):
17928        (WebCore::FrameWin::lastEventIsMouseUp):
17929        (WebCore::FrameWin::statusbarVisible):
17930        (WebCore::FrameWin::toolbarVisible):
17931        (WebCore::FrameWin::issueTransposeCommand):
17932        (WebCore::FrameWin::userAgent):
17933        (WebCore::FrameWin::canPaste):
17934        (WebCore::FrameWin::incomingReferrer):
17935        (WebCore::FrameWin::canGoBackOrForward):
17936        (WebCore::FrameWin::issuePasteAndMatchStyleCommand):
17937        (WebCore::FrameWin::handledOnloadEvents):
17938        (WebCore::FrameWin::generateFrameName):
17939
179402006-02-27  Eric Seidel  <eseidel@apple.com>
17941
17942        Reviewed by mjs.
17943
17944        Add constructor and destructor.
17945
17946        * bridge/win/FrameWin.cpp:
17947        (WebCore::FrameWin::FrameWin):
17948        (WebCore::FrameWin::~FrameWin):
17949
179502006-02-27  Maciej Stachowiak  <mjs@apple.com>
17951
17952        Rubber stamped by Eric (sorta).
17953
17954        - add return values where needed
17955
17956        * platform/win/TemporaryLinkStubs.cpp:
17957        (KWQServeRequest):
17958        (KWQServeSynchronousRequest):
17959
179602006-02-27  Eric Seidel  <eseidel@apple.com>
17961
17962        Reviewed by mjs.
17963
17964        Add a couple more stubs to make Win32 link.
17965
17966        * platform/win/TemporaryLinkStubs.cpp:
17967        (KWQServeSynchronousRequest):
17968        (WebCore::FrameView::topLevelWidget):
17969
179702006-02-27  Eric Seidel  <eseidel@apple.com>
17971
17972        Reviewed by mjs.
17973
17974        Move mac-specific logging logic up into WebCore (from JavaScriptCore).
17975        Remove KWQ prefixes from default log channels.
17976        http://bugs.webkit.org/show_bug.cgi?id=7503
17977
17978        * bridge/mac/WebCorePageBridge.mm:
17979        (initializeLogChannel):
17980        (initializeLoggingChannelsIfNecessary):
17981        (-[WebCorePageBridge init]):
17982        * page/Frame.h:
17983        * platform/Logging.cpp:
17984        * platform/Logging.h:
17985
179862006-02-27  Darin Adler  <darin@apple.com>
17987
17988        Reviewed by Maciej.
17989
17990        - fix <rdar://problem/4104575> hang due to slow saveDocumentState method
17991
17992        * bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge saveDocumentState]):
17993        Change code that iterates a QStringList with indices to use iterator instead.
17994
179952006-02-27  Maciej Stachowiak  <mjs@apple.com>
17996
17997        Reviewed by Eric.
17998
17999        - portable version of QString::utf8
18000
18001        * platform/QString.cpp:
18002        (QString::utf8): moved here, rewritten to use TextCodec
18003        * platform/mac/QStringMac.mm:
18004        (QString::utf8): removed from here
18005
180062006-02-27  Eric Seidel  <eseidel@apple.com>
18007
18008        Rubber-stamped by mjs.
18009
18010        Fix FrameWin.h to use consistant line endings.
18011        Fix TemporaryLinkStubs to better match style guidelines.
18012
18013        * bridge/win/FrameWin.h:
18014        (WebCore::Win):
18015        * platform/win/TemporaryLinkStubs.cpp:
18016        (QLineEdit::selectAll):
18017        (QPainter::save):
18018        (Widget::enableFlushDrawing):
18019        (QPainter::drawHighlightForText):
18020        (QFont::setPrinterFont):
18021        (QTextEdit::textWithHardLineBreaks):
18022        (Widget::mapFromGlobal):
18023        (QPainter::addClip):
18024        (QLineEdit::cursorPosition):
18025        (QPainter::setPen):
18026        (QPainter::selectedTextBackgroundColor):
18027        (QPainter::fontMetrics):
18028        (Widget::show):
18029        (QFont::setItalic):
18030        (QSlider::setValue):
18031        (QLineEdit::addSearchResult):
18032        (KWQFileButton::click):
18033        (QLineEdit::setWritingDirection):
18034        (QPainter::drawFocusRing):
18035        (KWQFileButton::sizeForCharacterWidth):
18036        (QTextEdit::sizeWithColumnsAndRows):
18037        (QComboBox::clear):
18038        (QPainter::misspellingLineThickness):
18039        (QComboBox::setFrameGeometry):
18040        (QLineEdit::maxLength):
18041        (Widget::isEnabled):
18042        (KWQServeRequest):
18043        (QTextEdit::setText):
18044        (Widget::paint):
18045        (QPainter::addRoundedRectClip):
18046        (FrameView::viewportToGlobal):
18047        (QTextEdit::selectionEnd):
18048        (QFont::determinePitch):
18049        (QTextEdit::setScrollBarModes):
18050        (QPainter::drawEllipse):
18051        (QTextEdit::setReadOnly):
18052        (QListBox::appendItem):
18053        (QLineEdit::setPlaceholderString):
18054        (Cursor::Cursor):
18055        (Widget::focusPolicy):
18056        (ScrollView::removeChild):
18057        (QTextEdit::selectAll):
18058        (QPainter::fillRect):
18059        (QPainter::endTransparencyLayer):
18060        (QFont::QFont):
18061        (ScrollView::addChild):
18062        (QTextEdit::setDisabled):
18063        (QScrollBar::scroll):
18064        (Widget::~Widget):
18065        (QPainter::xForm):
18066        (QListBox::sizeForNumberOfLines):
18067        (ScrollView::resizeContents):
18068        (QLineEdit::selectionStart):
18069        (QLineEdit::QLineEdit):
18070        (FrameView::updateBorder):
18071        (QLineEdit::hasSelectedText):
18072        (QScrollBar::QScrollBar):
18073        (QListBox::doneAppendingItems):
18074        (QTextEdit::QTextEdit):
18075        (ScrollView::inWindow):
18076        (QScrollBar::setValue):
18077        (QFont::setFirstFamily):
18078        (QTextEdit::hasSelectedText):
18079        (QTextEdit::selectionStart):
18080        (QFont::setWeight):
18081        (ScrollView::scrollXOffset):
18082        (QListBox::isSelected):
18083        (QLineEdit::setReadOnly):
18084        (QPainter::drawLineForText):
18085        (QPainter::QPainter):
18086        (QComboBox::~QComboBox):
18087        (QComboBox::focusPolicy):
18088        (QPainter::drawImageAtPoint):
18089        (QPainter::clearShadow):
18090        (QTextEdit::setLineHeight):
18091        (QScrollBar::setKnobProportion):
18092        (KWQFileButton::KWQFileButton):
18093        (QFontMetrics::boundingRect):
18094        (QTextEdit::setSelectionStart):
18095        (QPainter::beginTransparencyLayer):
18096        (QFontMetrics::setFont):
18097        (QComboBox::setFont):
18098        (Widget::frameGeometry):
18099        (QListBox::setSelected):
18100        (QPainter::addFocusRingRect):
18101        (QTextEdit::setCursorPosition):
18102        (QPainter::restore):
18103        (QFontMetrics::width):
18104        (Widget::setEnabled):
18105        (QTextEdit::setSelectionEnd):
18106        (QComboBox::populate):
18107        (ScrollView::setStaticBackground):
18108        (QPainter::font):
18109        (QTextEdit::setAlignment):
18110        (QLineEdit::setCursorPosition):
18111        (QPainter::drawText):
18112        (QPainter::pen):
18113        (KJavaAppletWidget::KJavaAppletWidget):
18114        (QFontMetrics::descent):
18115        (QListBox::QListBox):
18116        (QFontMetrics::ascent):
18117        (QLineEdit::selectedText):
18118        (Widget::setIsSelected):
18119        (QLineEdit::text):
18120        (Widget::unlockDrawingFocus):
18121        (QLineEdit::setLiveSearch):
18122        (QPainter::paintingDisabled):
18123        (QComboBox::QComboBox):
18124        (QPainter::drawConvexPolygon):
18125        (Widget::setFont):
18126        (QSlider::setMaxValue):
18127        (Widget::lockDrawingFocus):
18128        (QPainter::drawLine):
18129        (QPainter::setBrush):
18130        (QTextEdit::setSelectionRange):
18131        (ScrollView::scrollPointRecursively):
18132        (QLineEdit::sizeForCharacterWidth):
18133        (Cursor::~Cursor):
18134        (QFontMetrics::selectionRectForText):
18135        (ScrollView::suppressScrollBars):
18136        (QFontMetrics::checkSelectionPoint):
18137        (QTextEdit::getCursorPosition):
18138        (FrameView::isFrameView):
18139        (QScrollBar::setSteps):
18140        (QLineEdit::setMaxLength):
18141        (Widget::setCursor):
18142        (QLineEdit::setAutoSaveName):
18143        (QComboBox::baselinePosition):
18144        (QComboBox::appendItem):
18145        (QPainter::setShadow):
18146        (QTextEdit::setWritingDirection):
18147        (Widget::setDrawingAlpha):
18148        (QSlider::QSlider):
18149        (ScrollView::setVScrollBarMode):
18150        (QPainter::drawScaledAndTiledImage):
18151        (ScrollView::scrollYOffset):
18152        (QPainter::drawImage):
18153        (QComboBox::setCurrentItem):
18154        (QFontMetrics::height):
18155        (QComboBox::setWritingDirection):
18156        (ScrollView::setScrollBarsMode):
18157        (QComboBox::sizeHint):
18158        (QPainter::drawRect):
18159        (QFont::setPixelSize):
18160        (Widget::setFrameGeometry):
18161        (QLineEdit::setSelection):
18162        (QLineEdit::setMaxResults):
18163        (QListBox::clear):
18164        (QLineEdit::edited):
18165        (QPainter::drawTiledImage):
18166        (QPainter::clearFocusRing):
18167        (QFont::operator==):
18168        (Widget::Widget):
18169        (QTextEdit::text):
18170        (QPainter::drawImageInRect):
18171        (QPainter::setFont):
18172        (Widget::disableFlushDrawing):
18173        (QPainter::initFocusRing):
18174        (QSlider::setMinValue):
18175        (QTextEdit::setWordWrap):
18176        (QPainter::drawLineForMisspelling):
18177        (QLineEdit::setText):
18178        (QSlider::value):
18179        (QListBox::setSelectionMode):
18180        (KWQFileButton::setFilename):
18181        (QFontMetrics::QFontMetrics):
18182        (QFontMetrics::lineSpacing):
18183        (QLineEdit::setEdited):
18184        (QComboBox::frameGeometry):
18185        (QListBox::setWritingDirection):
18186        (QLineEdit::setAlignment):
18187        (ScrollView::updateContents):
18188        (QFontMetrics::floatWidth):
18189        (ScrollView::setHScrollBarMode):
18190        (KWQFileButton::focusPolicy):
18191        (QListBox::setFont):
18192        (QLineEdit::checksDescendantsForFocus):
18193        (KWQFileButton::baselinePosition):
18194        (QSlider::~QSlider):
18195        (KWQFileButton::setFrameGeometry):
18196        (QListBox::~QListBox):
18197        (KWQFileButton::frameGeometry):
18198        (QTextEdit::setFont):
18199        (QLineEdit::setFont):
18200        (KWQFileButton::~KWQFileButton):
18201        (QTextEdit::focusPolicy):
18202        (QSlider::focusPolicy):
18203        (QSlider::setFont):
18204        (QListBox::setEnabled):
18205        (QListBox::checksDescendantsForFocus):
18206        (QListBox::focusPolicy):
18207        (QLineEdit::baselinePosition):
18208        (QSlider::sizeHint):
18209        (QLineEdit::~QLineEdit):
18210        (QTextEdit::~QTextEdit):
18211        (QTextEdit::checksDescendantsForFocus):
18212        (QLineEdit::focusPolicy):
18213        (QScrollBar::~QScrollBar):
18214        (Path::operator=):
18215        (QLineEdit::setColors):
18216        (QTextEdit::setColors):
18217        (searchableIndexIntroduction):
18218        (KWQKCookieJar::setCookie):
18219        (KWQKCookieJar::cookie):
18220        (WebCore::screenRect):
18221        (WebCore::Widget::clearFocus):
18222        (WebCore::historyContains):
18223        (KWQFindNextSentenceFromIndex):
18224        (KWQFindSentenceBoundary):
18225        (KWQFindNextWordFromIndex):
18226        (KWQFindWordBoundary):
18227        (submitButtonDefaultLabel):
18228        (inputElementAltText):
18229        (resetButtonDefaultLabel):
18230        (KWQKCookieJar::cookieEnabled):
18231        (WebCore::Widget::setFocus):
18232        (WebCore::QPainter::fillRect):
18233        (WebCore::QPainter::~QPainter):
18234        (WebCore::ScrollView::viewportToContents):
18235        (WebCore::TransferJob::kill):
18236        (WebCore::TransferJob::addMetaData):
18237        (WebCore::TransferJob::queryMetaData):
18238        (WebCore::TransferJob::error):
18239        (WebCore::TransferJob::errorText):
18240        (WebCore::TransferJob::isErrorPage):
18241        (WebCore::TransferJob::TransferJob):
18242        (WebCore::Widget::hide):
18243        (KLocale::language):
18244        (PlugInInfoStore::createPluginInfoForPluginAtIndex):
18245        (WebCore::screenDepth):
18246        (QFont::italic):
18247        (QFontMetrics::operator=):
18248        (QFontMetrics::xHeight):
18249        (WebCore::usableScreenRect):
18250        (QFont::operator=):
18251        (Widget::setActiveWindow):
18252        (KWQCheckIfReloading):
18253        (WebCore::ScrollView::contentsX):
18254        (WebCore::ScrollView::contentsY):
18255        (WebCore::ScrollView::contentsHeight):
18256        (WebCore::ScrollView::contentsWidth):
18257        (WebCore::ScrollView::visibleHeight):
18258        (WebCore::ScrollView::visibleWidth):
18259        (WebCore::ScrollView::hScrollBarMode):
18260        (WebCore::ScrollView::vScrollBarMode):
18261        (KWQCheckCacheObjectStatus):
18262
182632006-02-27  Justin Garcia  <justin.garcia@apple.com>
18264
18265        Reviewed by darin
18266
18267        <http://bugs.webkit.org/show_bug.cgi?id=6844>
18268        elementAtPoint returns the list when the point is over a list marker
18269
18270        Consider the case of outside list markers in nodeAtPoint.  Had to pull
18271        the code out of RenderListMarker::paint that computed the position/size
18272        of the list marker.
18273
18274        Added:
18275        * fast/events/onclick-list-marker.html
18276
18277        * rendering/render_list.cpp:
18278        (RenderListItem::nodeAtPoint):
18279        (RenderListItem::getAbsoluteRepaintRect):
18280        (RenderListMarker::paint):
18281        (RenderListMarker::nodeAtPoint):
18282        (RenderListMarker::getRelativeMarkerRect):
18283        * rendering/render_list.h:
18284        * rendering/render_object.h:
18285
182862006-02-27  Eric Seidel  <eseidel@apple.com>
18287
18288        Reviewed by timo.
18289
18290        Fix xcode project after previous KWQLogging move.
18291
18292        * WebCore.xcodeproj/project.pbxproj:
18293        * platform/Logging.h:
18294
182952006-02-27  Eric Seidel  <eseidel@apple.com>
18296
18297        Reviewed by timo.
18298
18299        Move KWQLogging to platform and rename as Logging.*, fix headers.
18300        This will break the mac build, which I will fix on my next commit.
18301
18302        * WebCore.vcproj/WebCore/WebCore.vcproj:
18303        * dom/DocumentImpl.cpp:
18304        * dom/dom_position.cpp:
18305        * editing/DeleteSelectionCommand.cpp:
18306        * editing/InsertLineBreakCommand.cpp:
18307        * editing/InsertParagraphSeparatorCommand.cpp:
18308        * editing/InsertTextCommand.cpp:
18309        * editing/VisiblePosition.cpp:
18310        * editing/markup.cpp:
18311        * khtml/ecma/kjs_window.cpp:
18312        * kwq/KWQLogging.h: Removed.
18313        * kwq/KWQLogging.m: Removed.
18314        * kwq/KWQRegExp.cpp:
18315        * kwq/KWQTextStream.cpp:
18316        * platform/Logging.cpp: Added.
18317        * platform/Logging.h: Added.
18318        * platform/QString.cpp:
18319        * platform/win/TemporaryLinkStubs.cpp:
18320        (WebCore::ScrollView::vScrollBarMode):
18321        (WebCore::theme):
18322
183232006-02-27  Eric Seidel  <eseidel@apple.com>
18324
18325        Reviewed by hyatt.
18326
18327        Fix a bunch more link errors in the win32 build, mostly by adding stubs.
18328
18329        * WebCore.vcproj/WebCore/WebCore.vcproj: add JSXMLHttpRequest and PlugInInfoStore
18330        * WebCore.vcproj/WebCore/build-generated-files.sh: update for JSXMLHttpRequest
18331        * khtml/ecma/JSXMLHttpRequest.cpp:
18332        (KJS::JSXMLHttpRequest::getValueProperty): fix switch to compile
18333        * platform/PlugInInfoStore.h:
18334        * platform/mac/PlugInInfoStoreMac.mm:
18335        * platform/win/TemporaryLinkStubs.cpp: add a bunch of stubs.
18336        (WebCore::TransferJob::errorText):
18337        (WebCore::TransferJob::isErrorPage):
18338        (WebCore::Widget::hide):
18339        (PlugInInfoStore::createPluginInfoForPluginAtIndex):
18340        (PlugInInfoStore::pluginCount):
18341        (WebCore::refreshPlugins):
18342        (QFont::QFont):
18343        (QFont::~QFont):
18344        (QFont::italic):
18345        (QFont::weight):
18346        (QFontMetrics::QFontMetrics):
18347        (QFontMetrics::~QFontMetrics):
18348        (QFontMetrics::xHeight):
18349        (Widget::setActiveWindow):
18350        (WebCore::ScrollView::contentsX):
18351        (WebCore::ScrollView::contentsY):
18352        (WebCore::ScrollView::contentsHeight):
18353        (WebCore::ScrollView::contentsWidth):
18354        (WebCore::ScrollView::visibleHeight):
18355        (WebCore::ScrollView::visibleWidth):
18356        (WebCore::ScrollView::hScrollBarMode):
18357        (WebCore::ScrollView::vScrollBarMode):
18358
183592006-02-27  Eric Seidel  <eseidel@apple.com>
18360
18361        Reviewed by timo.
18362
18363        Add missing include to fix build.
18364
18365        * platform/win/TemporaryLinkStubs.cpp:
18366
183672006-02-27  Eric Seidel  <eseidel@apple.com>
18368
18369        Reviewed by ggaren.
18370
18371        Move KConfig to platform/PlugInInfoStore and add test.
18372        http://bugs.webkit.org/show_bug.cgi?id=7498
18373
18374        Test: plugins/plugin-javascript-access.html
18375
18376        * ForwardingHeaders/kconfig.h: Removed.
18377        * WebCore.xcodeproj/project.pbxproj:
18378        * khtml/ecma/kjs_navigator.cpp:
18379        (KJS::PluginBase::PluginBase):
18380        * khtml/ecma/kjs_window.cpp:
18381        * kwq/KWQKConfigBase.h: Removed.
18382        * kwq/KWQKConfigBase.mm: Removed.
18383        * platform/PlugInInfoStore.h: Added.
18384        * platform/mac/PlugInInfoStoreMac.mm: Added.
18385        (WebCore::PlugInInfoStore::createPluginInfoForPluginAtIndex):
18386        (WebCore::PlugInInfoStore::pluginCount):
18387        (WebCore::refreshPlugins):
18388
183892006-02-27  Darin Adler  <darin@apple.com>
18390
18391        Reviewed by Eric.
18392
18393        * platform/win/TemporaryLinkStubs.cpp: Added more stubs.
18394
183952006-02-27  Eric Seidel  <eseidel@apple.com>
18396
18397        Reviewed by darin.
18398
18399        Reworked KConfig and plugin architecture to be much more sane.
18400        This is part one.  Once this lands, I'll move it under platform with a better name.
18401
18402        Darin had several great suggested further improvements as part of:
18403        http://bugs.webkit.org/show_bug.cgi?id=7451
18404        I'll make some of those when I move this to platform.
18405
18406        No layout test possible (no way to control which plugins DRT sees).
18407
18408        * khtml/ecma/kjs_navigator.cpp:
18409        (KJS::PluginBase::PluginBase):
18410        (KJS::PluginBase::~PluginBase):
18411        (KJS::PluginBase::refresh):
18412        (KJS::Plugins::getValueProperty):
18413        (KJS::Plugins::nameGetter):
18414        (KJS::Plugins::getOwnPropertySlot):
18415        (KJS::MimeTypes::getValueProperty):
18416        (KJS::MimeTypes::nameGetter):
18417        (KJS::MimeTypes::getOwnPropertySlot):
18418        (KJS::Plugin::getValueProperty):
18419        (KJS::Plugin::nameGetter):
18420        (KJS::Plugin::getOwnPropertySlot):
18421        * khtml/ecma/kjs_navigator.h:
18422        * khtml/ecma/kjs_window.cpp:
18423        * kwq/KWQKConfigBase.h:
18424        (WebCore::PluginInfoStore::PluginInfoStore):
18425        * kwq/KWQKConfigBase.mm:
18426        (WebCore::PluginInfoStore::createPluginInfoForPluginAtIndex):
18427        (WebCore::PluginInfoStore::pluginCount):
18428        (WebCore::refreshPlugins):
18429
184302006-02-27  Eric Seidel  <eseidel@apple.com>
18431
18432        Reviewed by darin.
18433
18434        Build fix: cast to unsigned from size_t.
18435
18436        * platform/StreamingTextDecoder.cpp:
18437
184382006-02-27  Maciej Stachowiak  <mjs@apple.com>
18439
18440        Reviewed by Darin.
18441
18442        - add Selection.cpp to win32 build
18443        http://bugs.webkit.org/show_bug.cgi?id=7490
18444
18445        * WebCore.vcproj/WebCore/WebCore.vcproj:
18446
184472006-02-27  Maciej Stachowiak  <mjs@apple.com>
18448
18449        - use proper header for std::min.
18450
18451        * platform/StreamingTextDecoder.cpp:
18452
184532006-02-27  Maciej Stachowiak  <mjs@apple.com>
18454
18455        Reviewed by Darin.
18456
18457        - add new TextEncoding stuff to win32 build
18458        http://bugs.webkit.org/show_bug.cgi?id=7491
18459
18460        * WebCore.vcproj/WebCore/WebCore.vcproj:
18461        * WebCore.vcproj/WebCore/build-generated-files.sh:
18462        * platform/StreamingTextDecoder.cpp:
18463        (WebCore::StreamingTextDecoder::convertUTF16):
18464        * platform/TextEncoding.cpp:
18465
184662006-02-27  Darin Adler  <darin@apple.com>
18467
18468        - try to fix Windows build
18469
18470        * WebCore.vcproj/WebCore/WebCore.vcproj: Removed rendering/font.* and added platform/Font.*.
18471
184722006-02-27  Darin Adler  <darin@apple.com>
18473
18474        * css/csshelper.cpp: (WebCore::parseURL): Actually, the second version was fine. Rolling
18475        back to that; apologies for the churn.
18476
184772006-02-27  Darin Adler  <darin@apple.com>
18478
18479        * css/csshelper.cpp: (WebCore::parseURL): Third time's the charm.
18480
184812006-02-27  Darin Adler  <darin@apple.com>
18482
18483        * css/csshelper.cpp: (WebCore::parseURL): Oops! Checked in fixed version of this file.
18484
184852006-02-27  Darin Adler  <darin@apple.com>
18486
18487        Reviewed by Maciej.
18488
18489        - http://bugs.webkit.org/show_bug.cgi?id=7486
18490          a first step in improving String/StringImpl API -- use "s" and "l" less
18491
18492        * css/csshelper.cpp: (WebCore::parseURL): Use a local buffer rather than
18493        manipulating the characters directly inside a StringImpl buffer.
18494
18495        * css/cssstyleselector.cpp: (WebCore::parseUASheet): Copy the data to parse
18496        it rather than going out of our way to hack StringImpl to not copy the data.
18497        It would be better not to copy, but this is one-time work.
18498
18499        * dom/DOMImplementationImpl.cpp: (WebCore::DOMImplementationImpl::createDocument):
18500        * dom/dom2_viewsimpl.cpp: (DOM::AbstractViewImpl::getMatchedCSSRules):
18501        * dom/dom_elementimpl.cpp: (WebCore::StyledElementImpl::addCSSLength):
18502        * dom/dom_xmlimpl.cpp: (WebCore::EntityImpl::toString):
18503        * editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::deleteInsignificantText):
18504        * khtml/html/htmlparser.cpp: (WebCore::HTMLParser::handleError):
18505        * platform/AtomicString.cpp:
18506        (WebCore::CStringTranslator::equal):
18507        (WebCore::QCharBufferTranslator::equal):
18508        (WebCore::AtomicString::add):
18509        * platform/StringImpl.h:
18510        (WebCore::StringImpl::unicode): Added.
18511        (KXMLCore::CaseInsensitiveHash::hash):
18512        (KXMLCore::CaseInsensitiveHash::equal):
18513        * rendering/InlineTextBox.cpp: (khtml::InlineTextBox::selectionStartEnd):
18514        * rendering/RenderBlock.cpp: (WebCore::RenderBlock::updateFirstLetter):
18515        * rendering/RenderText.cpp:
18516        (WebCore::getCharacterBreakIterator):
18517        (WebCore::RenderText::RenderText):
18518        (WebCore::RenderText::atLineWrap):
18519        (WebCore::RenderText::allAscii):
18520        (WebCore::RenderText::widthFromCache):
18521        (WebCore::RenderText::trimmedMinMaxWidth):
18522        (WebCore::RenderText::containsOnlyWhitespace):
18523        (WebCore::RenderText::setSelectionState):
18524        (WebCore::RenderText::setTextWithOffset):
18525        (WebCore::RenderText::setText):
18526        (WebCore::RenderText::width):
18527        (WebCore::RenderText::selectionRect):
18528        (WebCore::RenderText::caretMaxOffset):
18529        * rendering/RenderTextFragment.cpp:
18530        (khtml::RenderTextFragment::RenderTextFragment):
18531        (khtml::RenderTextFragment::originalString):
18532        Use length() instead of l, unicode() instead of s, and (*x)[] instead of x->s[].
18533
18534        * editing/visible_units.cpp:
18535        (WebCore::startOfParagraph): Use const.
18536        (WebCore::endOfParagraph): Ditto.
18537
185382006-02-27  Maciej Stachowiak  <mjs@apple.com>
18539
18540        - fix problem with a prototype that broke win32 build
18541
18542        * platform/StreamingTextDecoder.h:
18543        (WebCore::StreamingTextDecoder::convert):
18544
185452006-02-27  Maciej Stachowiak  <mjs@apple.com>
18546
18547        - fix debug build (broken by my last commit)
18548
18549        * platform/StreamingTextDecoder.cpp:
18550        (WebCore::StreamingTextDecoder::createICUConverter):
18551        (WebCore::StreamingTextDecoder::convertUsingICU):
18552
185532006-02-26  Maciej Stachowiak  <mjs@apple.com>
18554
18555        Reviewed by Darin.
18556
18557        - platformize KWQTextCodec
18558        http://bugs.webkit.org/show_bug.cgi?id=7487
18559
18560        I renamed QTextCodec to TextEncoding and QTextDecoder to
18561        StreamingTextDecoder. I also made a bunch of other changes to make
18562        the API more sensible.
18563
18564        * ForwardingHeaders/qtextcodec.h: Removed.
18565        * WebCore.xcodeproj/project.pbxproj:
18566        * bridge/mac/MacFrame.mm:
18567        * bridge/mac/WebCoreFrameBridge.mm:
18568        (-[WebCoreFrameBridge URLWithAttributeString:]):
18569        (-[WebCoreFrameBridge textEncoding]):
18570        (+[WebCoreFrameBridge stringWithData:textEncoding:]):
18571        (+[WebCoreFrameBridge stringWithData:textEncodingName:]):
18572        * dom/DocumentImpl.cpp:
18573        (WebCore::DocumentImpl::completeURL):
18574        * khtml/ecma/kjs_dom.cpp:
18575        (KJS::DOMDocument::getValueProperty):
18576        (KJS::DOMDocument::putValueProperty):
18577        * khtml/html/FormDataList.cpp:
18578        (DOM::FormDataList::FormDataList):
18579        (DOM::FormDataList::appendString):
18580        * khtml/html/FormDataList.h:
18581        * khtml/html/HTMLFormElementImpl.cpp:
18582        (WebCore::HTMLFormElementImpl::HTMLFormElementImpl):
18583        (WebCore::HTMLFormElementImpl::formData):
18584        * khtml/html/htmltokenizer.cpp:
18585        * khtml/misc/decoder.cpp:
18586        (Decoder::Decoder):
18587        (Decoder::setEncodingName):
18588        (Decoder::encodingName):
18589        (Decoder::decode):
18590        * khtml/misc/decoder.h:
18591        (khtml::Decoder::):
18592        (khtml::Decoder::visuallyOrdered):
18593        (khtml::Decoder::encoding):
18594        * khtml/xsl/xslt_processorimpl.cpp:
18595        (DOM::XSLTProcessorImpl::createDocumentFromSource):
18596        * kwq/KWQCharsets.cpp: Removed.
18597        * kwq/KWQCharsets.h: Removed.
18598        * kwq/KWQTextCodec.cpp: Removed.
18599        * kwq/KWQTextCodec.h: Removed.
18600        * kwq/WebCoreTextDecoder.h:
18601        * kwq/WebCoreTextDecoder.mm:
18602        * kwq/can-convert.mm: Removed.
18603        * kwq/character-sets.txt: Removed.
18604        * kwq/mac-encodings.txt: Removed.
18605        * kwq/make-charset-table.pl: Removed.
18606        * loader/CachedCSSStyleSheet.cpp:
18607        (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet):
18608        (WebCore::CachedCSSStyleSheet::setCharset):
18609        (WebCore::CachedCSSStyleSheet::data):
18610        * loader/CachedCSSStyleSheet.h:
18611        * loader/CachedScript.cpp:
18612        (WebCore::CachedScript::CachedScript):
18613        (WebCore::CachedScript::setCharset):
18614        (WebCore::CachedScript::data):
18615        * loader/CachedScript.h:
18616        * loader/CachedXSLStyleSheet.cpp:
18617        (WebCore::CachedXSLStyleSheet::setCharset):
18618        * page/Frame.cpp:
18619        (WebCore::Frame::write):
18620        (WebCore::Frame::gotoAnchor):
18621        (WebCore::Frame::encoding):
18622        (WebCore::Frame::backslashAsCurrencySymbol):
18623        * platform/CharsetNames.cpp: Added.
18624        (KXMLCore::):
18625        (WebCore::EncodingHash::equal):
18626        (WebCore::EncodingHash::hash):
18627        (WebCore::buildDictionaries):
18628        (WebCore::textEncodingIDFromCharsetName):
18629        (WebCore::charsetNameFromTextEncodingID):
18630        * platform/CharsetNames.h: Added.
18631        * platform/KURL.cpp:
18632        (KURL::KURL):
18633        (KURL::decode_string):
18634        (encodeRelativeString):
18635        * platform/KURL.h:
18636        * platform/QString.cpp:
18637        (QString::fromUtf8):
18638        * platform/StreamingTextDecoder.cpp: Added.
18639        (WebCore::StreamingTextDecoder::StreamingTextDecoder):
18640        (WebCore::StreamingTextDecoder::convertLatin1):
18641        (WebCore::StreamingTextDecoder::~StreamingTextDecoder):
18642        (WebCore::StreamingTextDecoder::convertUTF16):
18643        (WebCore::effectiveEncoding):
18644        (WebCore::StreamingTextDecoder::createICUConverter):
18645        (WebCore::unwanted):
18646        (WebCore::StreamingTextDecoder::appendOmittingUnwanted):
18647        (WebCore::StreamingTextDecoder::convertUsingICU):
18648        (WebCore::StreamingTextDecoder::convert):
18649        (WebCore::StreamingTextDecoder::toUnicode):
18650        * platform/StreamingTextDecoder.h: Added.
18651        (WebCore::StreamingTextDecoder::convert):
18652        * platform/TextEncoding.cpp: Added.
18653        (WebCore::TextEncoding::TextEncoding):
18654        (WebCore::TextEncoding::name):
18655        (WebCore::effectiveEncoding):
18656        (WebCore::TextEncoding::backslashAsCurrencySymbol):
18657        (WebCore::TextEncoding::toUnicode):
18658        * platform/TextEncoding.h: Added.
18659        (WebCore::):
18660        (WebCore::TextEncoding::):
18661        (WebCore::TextEncoding::TextEncoding):
18662        (WebCore::TextEncoding::isValid):
18663        (WebCore::TextEncoding::usesVisualOrdering):
18664        (WebCore::TextEncoding::isJapanese):
18665        (WebCore::TextEncoding::encodingID):
18666        (WebCore::TextEncoding::flags):
18667        (WebCore::operator==):
18668        (WebCore::operator!=):
18669        * platform/character-sets.txt: Added.
18670        * platform/mac/ExtraCFEncodings.h: Added.
18671        * platform/mac/QStringMac.mm:
18672        * platform/mac/TextEncodingMac.cpp: Added.
18673        (WebCore::effectiveEncoding):
18674        (WebCore::TextEncoding::fromUnicode):
18675        * platform/mac/can-convert.mm: Added.
18676        * platform/mac/mac-encodings.txt: Added.
18677        * platform/make-charset-table.pl: Added.
18678        * platform/win/win-encodings.txt: Added.
18679        * rendering/render_object.cpp:
18680        (WebCore::RenderObject::backslashAsCurrencySymbol):
18681        * xml/xmlhttprequest.cpp:
18682        (WebCore::XMLHttpRequest::send):
18683        (WebCore::XMLHttpRequest::slotData):
18684
186852006-02-27  Darin Adler  <darin@apple.com>
18686
18687        - fix Windows build
18688
18689        * platform/win/TemporaryLinkStubs.cpp: Change KIO::TransferJob to WebCore::TransferJob.
18690
186912006-02-26  Darin Adler  <darin@apple.com>
18692
18693        Reviewed by Maciej.
18694
18695        - merged Job and TransferJob into TransferJob and moved it to WebCore namespace
18696        - changed TransferJob to use a TransferJobClient object instead of signals
18697
18698        * ForwardingHeaders/kio/job.h: Changed to point to "KWQKJobClasses.h".
18699        * kwq/KWQKJob.h: Removed.
18700        * kwq/TransferJobClient.h: Added.
18701
18702        * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for file changes.
18703        * WebCore.xcodeproj/project.pbxproj: Ditto.
18704
18705        * dom/xml_tokenizer.cpp: (WebCore::openFunc):
18706        * khtml/xsl/xslt_processorimpl.cpp: (DOM::docLoaderFunc):
18707        Use "new TransferJob" instead of "KIO::get" and "KIO::http_post".
18708
18709        * kwq/KWQKJobClasses.h: Eliminate Job. Add a TransferJobClient* parameter to
18710        TransferJob. Eliminate the deliverAllData parameter to TransferJob constructor.
18711        Remove the signals from TransferJob.
18712        * kwq/KWQKJobClasses.mm:
18713        (WebCore::TransferJobPrivate::TransferJobPrivate): Store a client pointer.
18714        (WebCore::TransferJob::TransferJob): Store a client pointer, remove the
18715        deliverAllData boolean.
18716        (WebCore::TransferJob::receivedResponse): Added. Replaces the old emitReceivedResponse
18717        function; uses client instead of a signal.
18718        (WebCore::TransferJob::client): Added.
18719
18720        * kwq/KWQLoader.h: Switched things to mention the WebCore namespace.
18721        Changed KIO::TransferJob to WebCore::TransferJob.
18722        * kwq/KWQLoader.mm: Ditto.
18723
18724        * kwq/KWQObject.h:
18725        * kwq/KWQObject.cpp: Removed isKHTMLLoader.
18726
18727        * kwq/KWQResourceLoader.h: Changed KIO::TransferJob to WebCore::TransferJob.
18728        * kwq/KWQResourceLoader.mm:
18729        (-[KWQResourceLoader receivedResponse:]): Call receivedResponse function on
18730        the job instead of emitReceivedResponse.
18731        (-[KWQResourceLoader redirectedToURL:]): Call receivedRedirect function on the
18732        client directly instead of emitRedirection on the job.
18733        (-[KWQResourceLoader addData:]): Call receivedData function on the
18734        client directly instead of emitData on the job.
18735        (-[KWQResourceLoader finishJobAndHandle:]): Call receivedAllData function on the
18736        client directly instead of emitResult on the job. Also fixed a potential memory leak
18737        where the handle was not released if the job was 0.
18738
18739        * kwq/KWQSignal.h:
18740        * kwq/KWQSignal.cpp:
18741        * kwq/KWQSlot.h:
18742        * kwq/KWQSlot.cpp:
18743        Removed the job-related signals and slots.
18744
18745        * loader/CachedObject.h: Removed unneeded declaration of TransferJob.
18746
18747        * loader/loader.h:
18748        * loader/loader.cpp:
18749        (WebCore::Loader::servePendingRequests): Use "new TransferJob" instead of "KIO::get".
18750        Also don't connect signals.
18751        (WebCore::Loader::receivedAllData): New name for slotFinished.
18752        (WebCore::Loader::receivedResponse): New name for slotReceivedResponse.
18753        (WebCore::Loader::receivedData): New name for slotData.
18754        (WebCore::Loader::cancelRequests): Changed KIO::Job to TransferJob.
18755        (WebCore::Loader::jobForRequest): Ditto.
18756
18757        * page/Frame.h:
18758        * page/Frame.cpp:
18759        (WebCore::Frame::didOpenURL): Use "new TransferJob" instead of "KIO::get" and
18760        "KIO::http_post". Also don't connect signals.
18761        (WebCore::Frame::receivedAllData): Renamed from slotFinished. Also slightly
18762        cleaned up the logic.
18763        (WebCore::Frame::receivedRedirect): Renamed from slotRedirection.
18764        * page/FramePrivate.h: Changed KIO::TransferJob to WebCore::TransferJob.
18765
18766        * xml/xmlhttprequest.h:
18767        * xml/xmlhttprequest.cpp:
18768        (WebCore::XMLHttpRequest::XMLHttpRequest): Eliminate XMLHttpRequestQObject.
18769        (WebCore::XMLHttpRequest::send): Use "new TransferJob" instead of
18770        "KIO::get" and "KIO::http_post". Also don't connect signals.
18771        (WebCore::XMLHttpRequest::processSyncLoadResults): Change to call the functions
18772        by their new names (names changed to use with TransferJobClient).
18773        (WebCore::XMLHttpRequest::receivedAllData): Renamed from slotFinished.
18774        (WebCore::XMLHttpRequest::receivedRedirect): Renamed from slotRedirection.
18775        (WebCore::XMLHttpRequest::receivedData): Renamed from slotData.
18776
187772006-02-26  Darin Adler  <darin@apple.com>
18778
18779        - try again after seeing errors from buildbot
18780
18781        * loader/CachedCSSStyleSheet.cpp:
18782        (WebCore::CachedCSSStyleSheet::checkNotify):
18783        * loader/CachedImage.cpp:
18784        (WebCore::CachedImage::data):
18785        Add __APPLE__ ifdefs to two more uses of response.
18786
187872006-02-26  Darin Adler  <darin@apple.com>
18788
18789        - try again after seeing errors from buildbot
18790
18791        * loader/CachedObject.cpp: (WebCore::CachedObject::~CachedObject):
18792        * loader/CachedObject.h: (WebCore::CachedObject::CachedObject):
18793        * loader/loader.cpp:
18794        Add __APPLE__ ifdefs to calls to setResponse and setAllData.
18795
18796        * platform/win/TemporaryLinkStubs.cpp: Add missing includes.
18797
187982006-02-26  Darin Adler  <darin@apple.com>
18799
18800        Reviewed by Maciej.
18801
18802        - more Win32 link fixes
18803
18804        * loader/CachedObject.h: Put some Mac-specific stuff inside
18805        __APPLE__ ifdefs.
18806        * platform/win/TemporaryLinkStubs.cpp: Added more stubs.
18807
188082006-02-26  Darin Adler  <darin@apple.com>
18809
18810        - try again after seeing errors from buildbot
18811
18812        * platform/win/TemporaryLinkStubs.cpp: Added more includes.
18813
188142006-02-26  Darin Adler  <darin@apple.com>
18815
18816        - try again after seeing errors from buildbot
18817
18818        * platform/win/TemporaryLinkStubs.cpp: Added more includes.
18819
188202006-02-26  Darin Adler  <darin@apple.com>
18821
18822        Reviewed by Maciej.
18823
18824        - work toward getting the Win32 build to link
18825
18826        * WebCore.vcproj/WebCore/WebCore.vcproj: Added KWQObject.cpp.
18827        * platform/win/TemporaryLinkStubs.cpp: Added more stubs.
18828
188292006-02-24  Antti Koivisto  <koivisto@iki.fi>
18830
18831        Reviewed by Hyatt.
18832
18833        - fix http://bugs.webkit.org/show_bug.cgi?id=7440
18834        Floats not positioned correctly
18835
18836        Test: fast/block/float/multiple-float-positioning.html
18837
18838        * rendering/RenderBlock.cpp:
18839        (WebCore::RenderBlock::positionNewFloats): Correct iteration of the float list
18840
188412006-02-24  Graham Dennis  <Graham.Dennis@gmail.com>
18842
18843        <http://bugs.webkit.org/show_bug.cgi?id=6933>
18844        Selection extends beyond focus ring for some contentEditable divs
18845
18846        Reviewed by justin
18847
18848        * rendering/RenderBlock.cpp:
18849        (WebCore::RenderBlock::isSelectionRoot): Have root editable elements paint their
18850        own selection gaps.
18851
188522006-02-24  Darin Adler  <darin@apple.com>
18853
18854        Reviewed by Maciej.
18855
18856        - fix <rdar://problem/4456287> REGRESSION: assertion failure at mypage.apple.com
18857          in WebCore::TimerBase::nextFireInterval() const + 100 (Timer.cpp:188)
18858
18859        Test: fast/dom/Window/redirect-with-timer.html
18860
18861        * platform/Timer.h: Made isActive no longer inline. Added inHeap function.
18862        * platform/Timer.cpp: Changed assertions to use inHeap function for clarity.
18863        (WebCore::TimerBase::isActive): Return true for timers that are ready to fire.
18864        They have a next fire time of 0, but they should still be considered active.
18865        (WebCore::TimerBase::checkConsistency): Correct the consistency check. The new
18866        rule is that timers with a next fire time of 0 are not in the heap, and all other
18867        timers are.
18868
188692006-02-24  Graham Dennis  <Graham.Dennis@gmail.com>
18870
18871        <http://bugs.webkit.org/show_bug.cgi?id=7245>
18872        caret does not display at the end of some lines in contenteditable divs
18873
18874        Reviewed by justin
18875
18876        * khtml/html/HTMLElementImpl.cpp:
18877        (WebCore::HTMLElementImpl::setContentEditable):
18878        * page/Frame.cpp:
18879        (WebCore::Frame::applyEditingStyleToElement):
18880        (WebCore::Frame::removeEditingStyleFromElement):
18881
188822006-02-24  Eric Seidel  <eseidel@apple.com>
18883
18884        Reviewed by mjs.
18885
18886        Move dom_qname to QualifiedName and dom_atomicstringlist to AtomicStringList.
18887
18888        * WebCore+SVG/KDOMHeaders.h:
18889        * WebCore.vcproj/WebCore/WebCore.vcproj:
18890        * WebCore.xcodeproj/project.pbxproj:
18891        * css/css_base.h:
18892        * dom/AtomicStringList.h: Added.
18893        (WebCore::AtomicStringList::AtomicStringList):
18894        * dom/QualifiedName.cpp: Added.
18895        * dom/QualifiedName.h: Added.
18896        * dom/dom_atomicstringlist.h: Removed.
18897        * dom/dom_elementimpl.h:
18898        * dom/dom_qname.cpp: Removed.
18899        * dom/dom_qname.h: Removed.
18900        * editing/RemoveNodeAttributeCommand.h:
18901        * editing/SetNodeAttributeCommand.h:
18902        * khtml/html/htmlnames.h:
18903        * khtml/html/htmltokenizer.h:
18904        * ksvg2/scripts/make_names.pl: update for new headers
18905
189062006-02-24  Eric Seidel  <eseidel@apple.com>
18907
18908        Reviewed by beth.
18909
18910        Made a few methods on frame pure virtual.
18911        Added a bunch of stub functions for win32 linking.
18912
18913        * bridge/mac/MacFrame.h:
18914        * bridge/mac/MacFrame.mm:
18915        (WebCore::MacFrame::print):
18916        (WebCore::MacFrame::canUndo):
18917        (WebCore::MacFrame::canRedo):
18918        (WebCore::MacFrame::canPaste):
18919        * bridge/win/FrameWin.h:
18920        * page/Frame.h:
18921        * platform/win/TemporaryLinkStubs.cpp:
18922        (QTextEdit::sizeWithColumnsAndRows):
18923        (QLineEdit::maxLength):
18924        (QPainter::drawEllipse):
18925        (QTextEdit::setLineHeight):
18926        (QPainter::beginTransparencyLayer):
18927        (QLineEdit::selectedText):
18928        (Widget::setIsSelected):
18929        (QPainter::paintingDisabled):
18930        (QFontMetrics::selectionRectForText):
18931        (QTextEdit::getCursorPosition):
18932        (QSlider::QSlider):
18933        (WebCore::crossCursor):
18934        (WebCore::handCursor):
18935        (WebCore::moveCursor):
18936        (WebCore::iBeamCursor):
18937        (WebCore::waitCursor):
18938        (WebCore::helpCursor):
18939        (WebCore::eastResizeCursor):
18940        (WebCore::northResizeCursor):
18941        (WebCore::northEastResizeCursor):
18942        (WebCore::northWestResizeCursor):
18943        (WebCore::southResizeCursor):
18944        (WebCore::southEastResizeCursor):
18945        (WebCore::southWestResizeCursor):
18946        (WebCore::westResizeCursor):
18947
189482006-02-24  Sam Weinig  <sam.weinig@gmail.com>
18949
18950        Reviewed by Hyatt, tweaked and landed by ggaren.
18951
18952        - fix http://bugs.webkit.org/show_bug.cgi?id=5146
18953          max-height/max-width not resizing images with correct aspect ratio
18954
18955        This patch is a port and adaptation of Allan Sandfeld Jensen's (carewolf)
18956        patch of http://bugs.kde.org/show_bug.cgi?id=120107 with the needed
18957        modifications to suit the Webcore tree.  Makes images respect min/max
18958        sizes and their intrinsic aspect ratios at the same time according to
18959        CSS 2.1 (http://www.w3.org/TR/CSS21/visudet.html#min-max-widths).
18960
18961        Test: fast/replaced/maxheight-percent.html
18962        Test: fast/replaced/maxheight-pxs.html
18963        Test: fast/replaced/maxwidth-percent.html
18964        Test: fast/replaced/maxwidth-pxs.html
18965        Test: fast/replaced/minheight-percent.html
18966        Test: fast/replaced/minheight-pxs.html
18967        Test: fast/replaced/minwidth-percent.html
18968        Test: fast/replaced/minwidth-pxs.html
18969
18970        * rendering/render_box.cpp:
18971        (WebCore::RenderBox::calcReplacedWidth):
18972        (WebCore::RenderBox::calcReplacedWidthUsing):
18973        (WebCore::RenderBox::calcReplacedHeight):
18974        (WebCore::RenderBox::calcReplacedHeightUsing): Calculate percent heights correctly
18975        * rendering/render_image.cpp: Respect aspect ratios and calculate max/min
18976        (WebCore::RenderImage::calcReplacedWidth):
18977        (WebCore::RenderImage::calcReplacedHeight):
18978        (WebCore::RenderImage::calcAspectRatioWidth): Added
18979        (WebCore::RenderImage::calcAspectRatioHeight): Added
18980        (WebCore::RenderImage::calcMinMaxWidth): Added
18981        * rendering/render_image.h:
18982
189832006-02-24  Vicki Murley <vicki@apple.com>
18984
18985        - add missing resources for manual-tests/scrolling-nestedframesets.html
18986
18987        * manual-tests/resources/testframe-link_text.html: Added.
18988        * manual-tests/resources/testframeset.html: Added.
18989
189902006-02-24  Vicki Murley <vicki@apple.com>
18991
18992        - test case for <rdar://problem/4394910> calling Javascript window.close() does not trigger onbeforeunload event
18993
18994        * manual-tests/onbeforeunload-close_with_javascript.html: Added.
18995
189962006-02-24  Eric Seidel  <eseidel@apple.com>
18997
18998        Reviewed by mjs.
18999
19000        Add Path stubs for Win32 build.
19001
19002        * WebCore.vcproj/WebCore/WebCore.vcproj:
19003        * platform/win/TemporaryLinkStubs.cpp:
19004        (Path::Path):
19005        (Path::~Path):
19006        (Path::operator=):
19007        (Path::contains):
19008        (Path::translate):
19009        (Path::boundingRect):
19010
190112006-02-24  David Hyatt  <hyatt@apple.com>
19012
19013        In preparation for the elimination of QFont and QFontMetrics, rename methods on RenderStyle.  htmlFont() becomes simply
19014        font().  The old font() method turns into qfont().  Also added a helper for obtaining the fontDescription() directly from
19015        the RenderStyle (without first obtaining the htmlFont()).
19016
19017        Reviewed by darin
19018
19019        * WebCore.xcodeproj/project.pbxproj:
19020        * bindings/objc/DOM.mm:
19021        (-[DOMElement _font]):
19022        * bridge/mac/MacFrame.mm:
19023        (WebCore::MacFrame::attributedString):
19024        (WebCore::MacFrame::fontForSelection):
19025        (WebCore::MacFrame::fontAttributesForSelectionStart):
19026        * css/css_computedstyle.cpp:
19027        (WebCore::CSSComputedStyleDeclarationImpl::getPropertyCSSValue):
19028        * css/css_valueimpl.cpp:
19029        (WebCore::CSSPrimitiveValueImpl::computeLengthFloat):
19030        * css/cssstyleselector.cpp:
19031        (WebCore::CSSStyleSelector::styleForElement):
19032        (WebCore::CSSStyleSelector::pseudoStyleForElement):
19033        (WebCore::CSSStyleSelector::applyProperty):
19034        (WebCore::CSSStyleSelector::checkForTextSizeAdjust):
19035        (WebCore::CSSStyleSelector::checkForGenericFamilyChange):
19036        * dom/DocumentImpl.cpp:
19037        (WebCore::DocumentImpl::recalcStyle):
19038        * editing/visible_text.cpp:
19039        (khtml::TextIterator::exitNode):
19040        * ksvg2/svg/SVGLengthImpl.cpp:
19041        (SVGLengthImpl::updateValue):
19042        * kwq/KWQAccObject.mm:
19043        (AXAttributeStringSetStyle):
19044        * rendering/InlineTextBox.cpp:
19045        (khtml::InlineTextBox::paint):
19046        (khtml::InlineTextBox::offsetForPosition):
19047        * rendering/RenderText.cpp:
19048        (WebCore::RenderText::shouldUseMonospaceCache):
19049        (WebCore::RenderText::font):
19050        (WebCore::RenderText::width):
19051        (WebCore::RenderText::htmlFont):
19052        * rendering/bidi.cpp:
19053        (khtml::RenderBlock::tabWidth):
19054        (khtml::RenderBlock::checkLinesForTextOverflow):
19055        * rendering/render_br.cpp:
19056        (WebCore::RenderBR::lineHeight):
19057        * rendering/render_flexbox.cpp:
19058        (khtml::RenderFlexibleBox::layoutVerticalBox):
19059        * rendering/render_flow.cpp:
19060        (WebCore::RenderFlow::lineHeight):
19061        * rendering/render_form.cpp:
19062        (WebCore::RenderFormElement::setStyle):
19063        (WebCore::RenderFormElement::addIntrinsicMarginsIfAllowed):
19064        * rendering/render_image.cpp:
19065        (WebCore::RenderImage::paint):
19066        * rendering/render_line.cpp:
19067        (WebCore::InlineFlowBox::paintDecorations):
19068        (WebCore::EllipsisBox::paint):
19069        * rendering/render_list.cpp:
19070        (RenderListItem::getAbsoluteRepaintRect):
19071        (RenderListMarker::paint):
19072        * rendering/render_object.cpp:
19073        (WebCore::RenderObject::lineHeight):
19074        * rendering/render_object.h:
19075        (WebCore::RenderObject::font):
19076        * rendering/render_replaced.cpp:
19077        (WebCore::RenderWidget::setStyle):
19078        * rendering/render_style.h:
19079        (khtml::RenderStyle::font):
19080        (khtml::RenderStyle::fontDescription):
19081        (khtml::RenderStyle::qfont):
19082        * rendering/render_theme_mac.mm:
19083        (WebCore::RenderThemeMac::setFontFromControlSize):
19084
190852006-02-24  Maciej Stachowiak  <mjs@apple.com>
19086
19087        Reviewed by Eric.
19088
19089        - add link stubs for symbols only referenced from the link stubs file
19090
19091        * platform/win/TemporaryLinkStubs.cpp:
19092        (KWQFileButton::focusPolicy):
19093        (QLineEdit::checksDescendantsForFocus):
19094        (KWQFileButton::baselinePosition):
19095        (QSlider::~QSlider):
19096        (QListBox::~QListBox):
19097        (KWQFileButton::frameGeometry):
19098        (KWQFileButton::~KWQFileButton):
19099        (QTextEdit::focusPolicy):
19100        (QSlider::focusPolicy):
19101        (QListBox::setEnabled):
19102        (QListBox::checksDescendantsForFocus):
19103        (QListBox::focusPolicy):
19104        (QLineEdit::baselinePosition):
19105        (QSlider::sizeHint):
19106        (QLineEdit::~QLineEdit):
19107        (QTextEdit::~QTextEdit):
19108        (QTextEdit::checksDescendantsForFocus):
19109        (QLineEdit::focusPolicy):
19110        (QScrollBar::~QScrollBar):
19111
191122006-02-24  Maciej Stachowiak  <mjs@apple.com>
19113
19114        Rubber stamped by Eric.
19115
19116        - fix up font.h inclues to be Font.h to fix build.
19117
19118        * css/css_computedstyle.cpp:
19119        * css/css_valueimpl.cpp:
19120        * platform/Font.cpp:
19121        * rendering/render_style.h:
19122
191232006-02-24  Eric Seidel  <eseidel@apple.com>
19124
19125        Reviewed by mjs.
19126
19127        Fix mac build by changing constants to an enum.
19128
19129        * khtml/dom/dom2_events.h:
19130        (DOM::KeyboardEvent::):
19131
191322006-02-24  David Hyatt  <hyatt@apple.com>
19133
19134        Move rendering/font to platform/Font.
19135
19136        Reviewed by mjs
19137
19138        * WebCore.xcodeproj/project.pbxproj:
19139        * css/cssstyleselector.cpp:
19140        * platform/Font.cpp: Added.
19141        * platform/Font.h: Added.
19142        * rendering/font.cpp: Removed.
19143        * rendering/font.h: Removed.
19144        * rendering/render_theme_mac.mm:
19145
191462006-02-24  Eric Seidel  <eseidel@apple.com>
19147
19148        Reviewed by mjs.
19149
19150        Remove delcarations causing duplicate symbols on win32.
19151
19152        * khtml/dom/dom2_events.cpp:
19153
191542006-02-24  Eric Seidel  <eseidel@apple.com>
19155
19156        * bridge/win/FrameWin.cpp: fix line endings
19157
191582006-02-24  Eric Seidel  <eseidel@apple.com>
19159
19160        Reviewed by beth.
19161
19162        Removed WebCore:: prefixes added using namespace WebCore, fixes win32 build.
19163
19164        * platform/win/TemporaryLinkStubs.cpp:
19165        (QPainter::save):
19166        (Widget::enableFlushDrawing):
19167        (QPainter::drawHighlightForText):
19168        (QTextEdit::textWithHardLineBreaks):
19169        (QPainter::setPen):
19170        (QPainter::selectedTextBackgroundColor):
19171        (QPainter::fontMetrics):
19172        (Widget::show):
19173        (QLineEdit::setWritingDirection):
19174        (KWQFileButton::sizeForCharacterWidth):
19175        (QTextEdit::sizeWithColumnsAndRows):
19176        (iBeamCursor):
19177        (QPainter::misspellingLineThickness):
19178        (westResizeCursor):
19179        (Widget::isEnabled):
19180        (northWestResizeCursor):
19181        (QPainter::drawEllipse):
19182        (southWestResizeCursor):
19183        (Widget::focusPolicy):
19184        (waitCursor):
19185        (QPainter::endTransparencyLayer):
19186        (ScrollView::addChild):
19187        (Widget::~Widget):
19188        (QListBox::sizeForNumberOfLines):
19189        (FrameView::updateBorder):
19190        (QPainter::drawLineForText):
19191        (QPainter::QPainter):
19192        (QComboBox::focusPolicy):
19193        (QPainter::drawImageAtPoint):
19194        (QPainter::clearShadow):
19195        (eastResizeCursor):
19196        (QFontMetrics::boundingRect):
19197        (QPainter::beginTransparencyLayer):
19198        (northEastResizeCursor):
19199        (Widget::frameGeometry):
19200        (QPainter::addFocusRingRect):
19201        (QPainter::restore):
19202        (Widget::setEnabled):
19203        (QPainter::font):
19204        (QPainter::pen):
19205        (crossCursor):
19206        (Widget::setIsSelected):
19207        (handCursor):
19208        (QLineEdit::text):
19209        (Widget::unlockDrawingFocus):
19210        (QPainter::paintingDisabled):
19211        (northResizeCursor):
19212        (Widget::lockDrawingFocus):
19213        (QPainter::drawLine):
19214        (QPainter::setBrush):
19215        (QPainter::drawText):
19216        (QLineEdit::sizeForCharacterWidth):
19217        (Cursor::~Cursor):
19218        (QFontMetrics::selectionRectForText):
19219        (southResizeCursor):
19220        (moveCursor):
19221        (FrameView::isFrameView):
19222        (helpCursor):
19223        (QTextEdit::setWritingDirection):
19224        (Widget::setDrawingAlpha):
19225        (southEastResizeCursor):
19226        (QPainter::drawScaledAndTiledImage):
19227        (QPainter::drawImage):
19228        (QComboBox::setWritingDirection):
19229        (QComboBox::sizeHint):
19230        (QPainter::drawRect):
19231        (QPainter::drawTiledImage):
19232        (QPainter::clearFocusRing):
19233        (Widget::Widget):
19234        (QTextEdit::text):
19235        (QPainter::drawImageInRect):
19236        (Widget::disableFlushDrawing):
19237        (QPainter::initFocusRing):
19238        (QPainter::drawLineForMisspelling):
19239        (QComboBox::frameGeometry):
19240        (QListBox::setWritingDirection):
19241        (ScrollView::updateContents):
19242
192432006-02-24  Darin Adler  <darin@apple.com>
19244
19245        Reviewed by Hyatt.
19246
19247        - moved QScrollView from kwq to platform directory
19248
19249        * kwq/KWQScrollView.h: Removed.
19250        * kwq/KWQScrollView.mm: Removed.
19251
19252        * platform/ScrollBarMode.h: Added. Just the enum for scroll bar mode.
19253        * platform/ScrollView.h: Added. The rest of the former QScrollView.
19254        * platform/mac/ScrollViewMac.mm: Added.
19255
19256        * WebCore.xcodeproj/project.pbxproj: Updated.
19257        * WebCore.vcproj/WebCore/WebCore.vcproj: Ditto.
19258        * platform/win/TemporaryLinkStubs.cpp: Updated.
19259
19260        * bridge/mac/MacFrame.mm: (WebCore::MacFrame::createFrame):
19261        * khtml/html/html_baseimpl.cpp:
19262        (WebCore::HTMLFrameElementImpl::init):
19263        (WebCore::HTMLFrameElementImpl::parseMappedAttribute):
19264        * page/Frame.cpp: (WebCore::Frame::scrollbarsVisible):
19265        Changed scrolling constants to use new names.
19266
19267        * khtml/ecma/kjs_html.cpp: (KJS::HTMLElement::bodySetter):
19268        Use FrameView instead of QScrollView for a local variable.
19269
19270        * khtml/html/html_baseimpl.h: Use ScrollBarMode instead of
19271        QScrollView::ScrollBarMode.
19272
19273        * kwq/KWQListBox.h: Use WebCore::ScrollView instead of
19274        QScrollView and WebCore::ScrollBarMode instead of QScrollView::ScrollBarMode.
19275        * kwq/KWQTextEdit.h: Ditto.
19276        * kwq/KWQTextEdit.mm:
19277        (QTextEdit::setScrollBarModes): Ditto.
19278        (QTextEdit::focusPolicy): Ditto.
19279
19280        * page/FrameView.h:
19281        * page/FrameView.cpp:
19282        (WebCore::FrameViewPrivate::FrameViewPrivate): Use ScrollBarMode
19283        instead of QScrollView::ScrollBarMode.
19284        (WebCore::FrameView::FrameView): Remove mention of QScrollView.
19285        (WebCore::FrameView::resetScrollBars): Rename QScrollView to ScrollView.
19286        (WebCore::FrameView::applyOverflowToViewport): Use newly-named constants.
19287        (WebCore::FrameView::layout): Ditto.
19288        (WebCore::FrameView::setScrollBarsMode): Rename QScrollView to ScrollView.
19289        (WebCore::FrameView::setVScrollBarMode): Ditto.
19290        (WebCore::FrameView::setHScrollBarMode): Ditto.
19291        (WebCore::FrameView::restoreScrollBar): Ditto.
19292
19293        * platform/mac/MouseEventMac.mm: (WebCore::positionForEvent): Fixed comment.
19294        * platform/mac/WheelEventMac.mm: (WebCore::positionForEvent): Ditto.
19295        * platform/mac/WidgetMac.mm: (WebCore::Widget::getOuterView): Ditto.
19296
19297        * rendering/render_form.cpp: (WebCore::RenderTextArea::setStyle):
19298        Use ScrollBarMode instead of QScrollView::ScrollBarMode, and new constants.
19299        * rendering/render_frames.cpp:
19300        (WebCore::RenderFrameSet::userResize): Changed to use an IntRect to pass to
19301        updateContents so we can remove the overload.
19302        (WebCore::RenderPart::updateWidgetPosition): Remove unnecessary of QScrollView.
19303
19304        * rendering/render_layer.cpp:
19305        (WebCore::RenderLayer::scrollRectToVisible): Use FrameView instead of QScrollView.
19306        (WebCore::RenderLayer::setHasHorizontalScrollbar): Ditto.
19307        (WebCore::RenderLayer::setHasVerticalScrollbar): Ditto.
19308
193092006-02-24  Eric Seidel  <eseidel@apple.com>
19310
19311        Reviewed by anders.
19312
19313        Fix the win32 build.
19314
19315        * page/Frame.cpp:
19316        (WebCore::Frame::adjustPageHeight):
19317        (WebCore::Frame::forceLayoutWithPageWidthRange):
19318
193192006-02-23  David Hyatt  <hyatt@apple.com>
19320
19321        Rename FontDef to FontDescription and move it into the platform directory.
19322
19323        Reviewed by darin
19324
19325        * WebCore.xcodeproj/project.pbxproj:
19326        * bridge/mac/MacFrame.mm:
19327        (WebCore::MacFrame::attributedString):
19328        * css/css_computedstyle.cpp:
19329        (WebCore::CSSComputedStyleDeclarationImpl::getPropertyCSSValue):
19330        * css/css_valueimpl.cpp:
19331        (WebCore::CSSPrimitiveValueImpl::computeLengthFloat):
19332        * css/cssstyleselector.cpp:
19333        (WebCore::CSSStyleSelector::applyProperty):
19334        (WebCore::CSSStyleSelector::checkForTextSizeAdjust):
19335        (WebCore::CSSStyleSelector::checkForGenericFamilyChange):
19336        (WebCore::CSSStyleSelector::setFontSize):
19337        * css/cssstyleselector.h:
19338        * dom/DocumentImpl.cpp:
19339        (WebCore::DocumentImpl::recalcStyle):
19340        * editing/visible_text.cpp:
19341        (khtml::TextIterator::exitNode):
19342        * platform/FontDescription.h: Added.
19343        (WebCore::FontDescription::):
19344        (WebCore::FontDescription::FontDescription):
19345        (WebCore::FontDescription::operator!=):
19346        (WebCore::FontDescription::family):
19347        (WebCore::FontDescription::firstFamily):
19348        (WebCore::FontDescription::specifiedSize):
19349        (WebCore::FontDescription::computedSize):
19350        (WebCore::FontDescription::italic):
19351        (WebCore::FontDescription::computedPixelSize):
19352        (WebCore::FontDescription::smallCaps):
19353        (WebCore::FontDescription::isAbsoluteSize):
19354        (WebCore::FontDescription::weight):
19355        (WebCore::FontDescription::genericFamily):
19356        (WebCore::FontDescription::usePrinterFont):
19357        (WebCore::FontDescription::setFamily):
19358        (WebCore::FontDescription::setComputedSize):
19359        (WebCore::FontDescription::setSpecifiedSize):
19360        (WebCore::FontDescription::setItalic):
19361        (WebCore::FontDescription::setSmallCaps):
19362        (WebCore::FontDescription::setIsAbsoluteSize):
19363        (WebCore::FontDescription::setWeight):
19364        (WebCore::FontDescription::setGenericFamily):
19365        (WebCore::FontDescription::setUsePrinterFont):
19366        (WebCore::FontDescription::operator==):
19367        * rendering/RenderText.cpp:
19368        (WebCore::RenderText::widthFromCache):
19369        (WebCore::RenderText::trimmedMinMaxWidth):
19370        * rendering/bidi.cpp:
19371        (khtml::RenderBlock::computeHorizontalPositionsForLine):
19372        * rendering/font.cpp:
19373        (khtml::Font::selectionRectForText):
19374        (khtml::Font::drawHighlightForText):
19375        (khtml::Font::drawText):
19376        (khtml::Font::update):
19377        * rendering/font.h:
19378        (WebCore::Font::Font):
19379        (WebCore::Font::operator==):
19380        (WebCore::Font::fontDescription):
19381        (WebCore::Font::isSmallCaps):
19382        (WebCore::Font::wordSpacing):
19383        (WebCore::Font::floatWidth):
19384        (WebCore::Font::checkSelectionPoint):
19385        (WebCore::Font::width):
19386        * rendering/render_line.cpp:
19387        (WebCore::InlineFlowBox::placeBoxesHorizontally):
19388        * rendering/render_list.cpp:
19389        (RenderListItem::getAbsoluteRepaintRect):
19390        * rendering/render_style.h:
19391        (khtml::RenderStyle::wordSpacing):
19392        (khtml::RenderStyle::letterSpacing):
19393        (khtml::RenderStyle::setFontDescription):
19394        (khtml::RenderStyle::setWordSpacing):
19395        (khtml::RenderStyle::setLetterSpacing):
19396        * rendering/render_theme_mac.mm:
19397        (WebCore::RenderThemeMac::setFontFromControlSize):
19398
193992006-02-23  Maciej Stachowiak  <mjs@apple.com>
19400
19401        - fix build by making some pointless changes to files that Xcode doesn't
19402        rebuild otherwise
19403
19404        * bindings/js/JSDOMCore.cpp:
19405        * bindings/js/JSDOMEvents.cpp:
19406        * dom/Element.idl:
19407        * dom/WheelEvent.idl:
19408
19409        - add -Y 3 flag to linking; this makes the linker say what files reference
19410        unresolved symbols
19411
19412        * WebCore.xcodeproj/project.pbxproj:
19413
194142006-02-23  Darin Adler  <darin@apple.com>
19415
19416        - try to fix Windows build
19417
19418        * platform/win/TemporaryLinkStubs.cpp: Removed childX/Y stubs.
19419
194202006-02-23  Darin Adler  <darin@apple.com>
19421
19422        - try to fix Windows build
19423
19424        * platform/win/TemporaryLinkStubs.cpp: Removed QPalette-related stubs.
19425
19426        - remove unused forwarding headers
19427
19428        * ForwardingHeaders/kurl.h: Removed.
19429        * ForwardingHeaders/qlist.h: Removed.
19430        * ForwardingHeaders/qregion.h: Removed.
19431        * ForwardingHeaders/qsortedlist.h: Removed.
19432
194332006-02-23  Darin Adler  <darin@apple.com>
19434
19435        Reviewed by Maciej.
19436
19437        - removed QPalette, QRegion, QPrinter
19438        - added Path to replace QRegion
19439        - removed unused QScrollView functions
19440
19441        * ForwardingHeaders/qpalette.h: Removed.
19442        * kwq/KWQPalette.h: Removed.
19443        * kwq/KWQPalette.mm: Removed.
19444        * kwq/KWQPrinter.h: Removed.
19445        * kwq/KWQRegion.cpp: Removed.
19446        * kwq/KWQRegion.h: Removed.
19447
19448        * platform/Path.h: Added. Replaces QRegion.
19449        * platform/cg: Added.
19450        * platform/cg/PathCG.cpp: Added.
19451
19452        * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for file changes.
19453        * WebCore.xcodeproj/project.pbxproj: Ditto.
19454
19455        * bridge/mac/MacFrame.mm: Removed use of KWQPrinter.h.
19456        (WebCore::MacFrame::khtmlMouseMoveEvent): Removed use of viewport().
19457        * bridge/mac/WebCoreFrameBridge.mm: Removed use of KWQPrinter.h.
19458        * khtml/html/html_imageimpl.cpp:
19459        (WebCore::HTMLAreaElementImpl::getRect): Replaced QRegion with Path.
19460        (WebCore::HTMLAreaElementImpl::getRegion): Ditto.
19461        * khtml/html/html_imageimpl.h: Ditto.
19462        * kwq/KWQPainter.mm: Removed use of QRegion.
19463        * page/Frame.cpp: (WebCore::Frame::~Frame): Removed use of viewport().
19464        * page/FrameView.cpp:
19465        (WebCore::FrameView::FrameView): Ditto.
19466        (WebCore::FrameView::viewportMouseMoveEvent): Ditto.
19467        * rendering/render_frames.cpp: (WebCore::RenderFrameSet::userResize): Ditto.
19468        * rendering/render_layer.cpp: (WebCore::RenderLayer::scrollRectToVisible): Ditto.
19469
19470        * kwq/KWQScrollView.h: Removed viewport(), hasVerticalScrollBar(),
19471        hasHorizontalScrollBar(), childX(), childY().
19472        * kwq/KWQScrollView.mm: Ditto.
19473
19474        * rendering/render_box.cpp: (WebCore::RenderBox::paintBackgroundExtended):
19475        Removed use of QPalette that always yields white.
19476        * rendering/render_canvas.cpp: (WebCore::RenderCanvas::paintBoxDecorations):
19477        Ditto.
19478
19479        * platform/Widget.h:
19480        * platform/mac/WidgetMac.mm: Removed palette() and setPalette().
19481
19482        * kwq/KWQLineEdit.h: Replaced setPalette with setColors.
19483        * kwq/KWQLineEdit.mm: (QLineEdit::setColors): Replaced setPalette.
19484        * kwq/KWQTextEdit.h: Ditto.
19485        * kwq/KWQTextEdit.mm: (QTextEdit::setColors): Ditto.
19486
19487        * rendering/render_form.cpp:
19488        (WebCore::RenderFormElement::updateFromElement): Removed call to setPalette.
19489        (WebCore::RenderLineEdit::updateFromElement): Added call to setColors.
19490        (WebCore::RenderTextArea::updateFromElement): Ditto.
19491
19492        * rendering/render_replaced.cpp: (WebCore::RenderWidget::paint):
19493        Removed use of childX and childY functions.
19494
194952006-02-23  Maciej Stachowiak  <mjs@apple.com>
19496
19497        Reviewed by Darin.
19498
19499        - add KURL to windows build and fix its compile issues
19500        http://bugs.webkit.org/show_bug.cgi?id=7439
19501
19502        * WebCore.vcproj/WebCore/WebCore.vcproj:
19503        * platform/KURL.cpp:
19504
195052006-02-23  Maciej Stachowiak  <mjs@apple.com>
19506
19507        - fix build (header name changed)
19508
19509        * platform/mac/KURLMac.mm:
19510
195112006-02-23  Maciej Stachowiak  <mjs@apple.com>
19512
19513        Reviewed by Eric.
19514
19515        - add temporary stubs that call abort() for functions only called from render and editing code
19516        http://bugs.webkit.org/show_bug.cgi?id=7429
19517
19518        This gets rid of a couple hundred link errors.
19519
19520        * WebCore.vcproj/WebCore/WebCore.vcproj:
19521        * kwq/KWQFontMetrics.h:
19522        * kwq/KWQSignal.h:
19523        (KWQSignal::KWQSignal):
19524        * platform/win/TemporaryLinkStubs.cpp: Added.
19525        (notImplemented):
19526        (QLineEdit::selectAll):
19527        (WebCore::QPainter::save):
19528        (WebCore::Widget::enableFlushDrawing):
19529        (WebCore::QPainter::drawHighlightForText):
19530        (QFont::setPrinterFont):
19531        (QTextEdit::textWithHardLineBreaks):
19532        (QLineEdit::cursorPosition):
19533        (WebCore::QPainter::setPen):
19534        (WebCore::QPainter::selectedTextBackgroundColor):
19535        (WebCore::QPainter::fontMetrics):
19536        (WebCore::Widget::show):
19537        (QFont::setItalic):
19538        (QSlider::setValue):
19539        (QLineEdit::addSearchResult):
19540        (KWQFileButton::click):
19541        (QLineEdit::setWritingDirection):
19542        (KWQFileButton::sizeForCharacterWidth):
19543        (QTextEdit::sizeWithColumnsAndRows):
19544        (WebCore::iBeamCursor):
19545        (QComboBox::clear):
19546        (WebCore::QPainter::misspellingLineThickness):
19547        (QLineEdit::maxLength):
19548        (WebCore::westResizeCursor):
19549        (WebCore::Widget::isEnabled):
19550        (WebCore::northWestResizeCursor):
19551        (QTextEdit::selectionEnd):
19552        (QFont::determinePitch):
19553        (QTextEdit::setScrollBarModes):
19554        (WebCore::QPainter::drawEllipse):
19555        (WebCore::southWestResizeCursor):
19556        (QTextEdit::setReadOnly):
19557        (QListBox::appendItem):
19558        (WebCore::Widget::focusPolicy):
19559        (QTextEdit::selectAll):
19560        (WebCore::waitCursor):
19561        (WebCore::QPainter::endTransparencyLayer):
19562        (QScrollView::addChild):
19563        (QTextEdit::setDisabled):
19564        (QScrollBar::scroll):
19565        (WebCore::Widget::~Widget):
19566        (QListBox::sizeForNumberOfLines):
19567        (QScrollView::resizeContents):
19568        (QLineEdit::selectionStart):
19569        (QLineEdit::QLineEdit):
19570        (WebCore::FrameView::updateBorder):
19571        (QLineEdit::hasSelectedText):
19572        (QListBox::doneAppendingItems):
19573        (QScrollView::inWindow):
19574        (QScrollBar::setValue):
19575        (QTextEdit::hasSelectedText):
19576        (QTextEdit::selectionStart):
19577        (QFont::setWeight):
19578        (QScrollView::scrollXOffset):
19579        (QListBox::isSelected):
19580        (QLineEdit::setReadOnly):
19581        (WebCore::QPainter::drawLineForText):
19582        (QObject::disconnect):
19583        (WebCore::QPainter::QPainter):
19584        (QComboBox::~QComboBox):
19585        (QComboBox::focusPolicy):
19586        (WebCore::QPainter::drawImageAtPoint):
19587        (WebCore::QPainter::clearShadow):
19588        (QTextEdit::setLineHeight):
19589        (QMouseEvent::QMouseEvent):
19590        (WebCore::eastResizeCursor):
19591        (QScrollBar::setKnobProportion):
19592        (QFontMetrics::boundingRect):
19593        (QTextEdit::setSelectionStart):
19594        (WebCore::QPainter::beginTransparencyLayer):
19595        (WebCore::northEastResizeCursor):
19596        (WebCore::Widget::frameGeometry):
19597        (QListBox::setSelected):
19598        (WebCore::QPainter::addFocusRingRect):
19599        (QTextEdit::setCursorPosition):
19600        (WebCore::QPainter::restore):
19601        (QFontMetrics::width):
19602        (WebCore::Widget::setEnabled):
19603        (QTextEdit::setSelectionEnd):
19604        (QComboBox::populate):
19605        (QScrollView::setStaticBackground):
19606        (WebCore::QPainter::font):
19607        (QTextEdit::setAlignment):
19608        (QLineEdit::setCursorPosition):
19609        (WebCore::Widget::palette):
19610        (WebCore::QPainter::pen):
19611        (QFontMetrics::descent):
19612        (QListBox::QListBox):
19613        (QFontMetrics::ascent):
19614        (QLineEdit::selectedText):
19615        (WebCore::crossCursor):
19616        (WebCore::Widget::setIsSelected):
19617        (WebCore::handCursor):
19618        (QLineEdit::text):
19619        (WebCore::Widget::unlockDrawingFocus):
19620        (QLineEdit::setLiveSearch):
19621        (WebCore::QPainter::paintingDisabled):
19622        (WebCore::northResizeCursor):
19623        (QComboBox::QComboBox):
19624        (QSlider::setMaxValue):
19625        (WebCore::Widget::lockDrawingFocus):
19626        (WebCore::QPainter::drawLine):
19627        (WebCore::QPainter::setBrush):
19628        (QTextEdit::setSelectionRange):
19629        (WebCore::QPainter::drawText):
19630        (QScrollView::scrollPointRecursively):
19631        (QLineEdit::sizeForCharacterWidth):
19632        (WebCore::Cursor::~Cursor):
19633        (QFontMetrics::selectionRectForText):
19634        (WebCore::southResizeCursor):
19635        (QScrollView::suppressScrollBars):
19636        (QFontMetrics::checkSelectionPoint):
19637        (QTextEdit::getCursorPosition):
19638        (WebCore::moveCursor):
19639        (WebCore::FrameView::isFrameView):
19640        (QScrollBar::setSteps):
19641        (QLineEdit::setMaxLength):
19642        (QComboBox::baselinePosition):
19643        (QComboBox::appendItem):
19644        (WebCore::helpCursor):
19645        (QTextEdit::setWritingDirection):
19646        (WebCore::Widget::setDrawingAlpha):
19647        (QSlider::QSlider):
19648        (WebCore::southEastResizeCursor):
19649        (QScrollView::setVScrollBarMode):
19650        (WebCore::QPainter::drawScaledAndTiledImage):
19651        (QScrollView::scrollYOffset):
19652        (WebCore::QPainter::drawImage):
19653        (QComboBox::setCurrentItem):
19654        (QFontMetrics::height):
19655        (QComboBox::setWritingDirection):
19656        (QScrollView::setScrollBarsMode):
19657        (QComboBox::sizeHint):
19658        (WebCore::QPainter::drawRect):
19659        (QFont::setPixelSize):
19660        (QLineEdit::setSelection):
19661        (QLineEdit::setMaxResults):
19662        (QListBox::clear):
19663        (QLineEdit::edited):
19664        (WebCore::QPainter::drawTiledImage):
19665        (WebCore::QPainter::clearFocusRing):
19666        (WebCore::Widget::Widget):
19667        (QTextEdit::text):
19668        (WebCore::QPainter::drawImageInRect):
19669        (WebCore::Widget::disableFlushDrawing):
19670        (WebCore::QPainter::initFocusRing):
19671        (QSlider::setMinValue):
19672        (QTextEdit::setWordWrap):
19673        (WebCore::QPainter::drawLineForMisspelling):
19674        (QSlider::value):
19675        (QListBox::setSelectionMode):
19676        (QFontMetrics::lineSpacing):
19677        (QLineEdit::setEdited):
19678        (QComboBox::frameGeometry):
19679        (QListBox::setWritingDirection):
19680        (QLineEdit::setAlignment):
19681        (QScrollView::updateContents):
19682        (QFontMetrics::floatWidth):
19683        (QScrollView::setHScrollBarMode):
19684
196852006-02-23  Maciej Stachowiak  <mjs@apple.com>
19686
19687        Reviewed by Eric.
19688
19689        - Move KURL from kwq to platform, make portable
19690        http://bugs.webkit.org/show_bug.cgi?id=7437
19691
19692        * WebCore.xcodeproj/project.pbxproj:
19693        * css/css_ruleimpl.cpp:
19694        * css/cssparser.cpp:
19695        * css/cssstyleselector.cpp:
19696        * dom/DocumentImpl.h:
19697        * khtml/html/html_baseimpl.cpp:
19698        * khtml/html/html_documentimpl.cpp:
19699        * khtml/html/html_headimpl.cpp:
19700        * khtml/xbl/xbl_binding.cpp:
19701        * ksvg2/svg/SVGDocumentImpl.cpp:
19702        * kwq/KWQTextCodec.cpp:
19703        (QTextCodec::codecForName):
19704        (QTextCodec::utf8Codec):
19705        (QTextCodec::codecForNameEightBitOnly):
19706        (QTextCodec::codecForLocale):
19707        (QTextCodec::name):
19708        (QTextCodec::makeDecoder):
19709        * kwq/KWQTextCodec.h:
19710        * loader/CachedObject.cpp:
19711        * loader/DocLoader.cpp:
19712        * page/Frame.h:
19713        * platform/KURL.cpp: Added.
19714        (KURL::decode_string):
19715        (encodeRelativeString):
19716        * platform/KURL.h: Added.
19717        * platform/mac/KURLMac.mm: Added.
19718        (KURL::getNSURL):
19719        * xml/xmlhttprequest.h:
19720
197212006-02-23  Darin Adler  <darin@apple.com>
19722
19723        Reviewed by John Sullivan.
19724
19725        - moved QMouseEvent, QKeyEvent, QWheelEvent, and "Foundation extras"
19726          from kwq to platform directory
19727        - moved history function from kwq to bridge directory
19728        - eliminated QEvent, MousePressEvent, MouseDoubleClickEvent, MouseMoveEvent,
19729          MoveReleaseEvent, and DrawContents classes
19730        - merged NodeImpl::MouseEvent and the MouseEvent from khtml_events.h into
19731          a single class in the page directory
19732        - broke khtmllayout.h out into a file for the Length structure in the css
19733          directory and a file for the GapRects structure in the rendering directory
19734        - redid the Length structure to work more portably by not relying on bitfield
19735          layout and improve the names to no longer explicitly mention "width"
19736        - reduced use of QGuardedPtr and other uses of the QObject "destroyed" signal
19737
19738        * ForwardingHeaders/kparts: Removed.
19739        * ForwardingHeaders/qevent.h: Removed.
19740        * khtml/khtml_events.cpp: Removed.
19741        * khtml/khtml_events.h: Removed.
19742        * khtml/misc/khtmllayout.h: Removed.
19743        * kwq/KWQEvent.h: Removed.
19744        * kwq/KWQEvent.mm: Removed.
19745        * kwq/KWQFoundationExtras.h: Removed.
19746        * kwq/KWQKHistoryProvider.mm: Removed.
19747        * kwq/KWQKPartsHistoryProvider.h: Removed.
19748
19749        * bridge/History.h: Added.
19750        * bridge/mac/HistoryMac.mm: Added.
19751        * css/Length.h: Added.
19752        * page/MouseEventWithHitTestResults.h: Added.
19753        * platform/KeyEvent.h: Added.
19754        * platform/MouseEvent.h: Added.
19755        * platform/WheelEvent.h: Added.
19756        * platform/mac/FoundationExtras.h: Added.
19757        * platform/mac/KeyEventMac.mm: Added.
19758        * platform/mac/MouseEventMac.mm: Added.
19759        * platform/mac/WheelEventMac.mm: Added.
19760        * rendering/GapRects.h: Added.
19761
19762        * WebCore.xcodeproj/project.pbxproj: Updated for above changes.
19763        * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for above changes.
19764
19765        * bridge/mac/MacFrame.h: Removed unused parameters from urlSelected functions.
19766        Replaced MouseEvent, MousePressEvent, MouseMoveEvent, and MouseReleaseEvent
19767        with MouseEventWithHitTestResults.
19768        * bridge/mac/MacFrame.mm:
19769        (WebCore::MacFrame::urlSelected): Removed unused parameters.
19770        (WebCore::MacFrame::wheelEvent): Changed to use WheelEvent.
19771        (WebCore::MacFrame::keyEvent): Changed to use KeyEvent.
19772        (WebCore::MacFrame::khtmlMousePressEvent): Changed parameter type.
19773        (WebCore::MacFrame::khtmlMouseMoveEvent): Ditto.
19774        (WebCore::MacFrame::khtmlMouseReleaseEvent): Ditto.
19775        (WebCore::MacFrame::passSubframeEventToSubframe): Ditto.
19776        (WebCore::MacFrame::mouseDown): Changed to use MouseEvent.
19777        (WebCore::MacFrame::mouseDragged): Ditto.
19778        (WebCore::MacFrame::mouseUp): Ditto.
19779        (WebCore::MacFrame::mouseMoved): Ditto.
19780        (WebCore::MacFrame::sendContextMenuEvent): Ditto.
19781
19782        * css/csshelper.h: Removed a bunch of unused declarations.
19783
19784        * dom/DocumentImpl.h:
19785        * dom/DocumentImpl.cpp:
19786        (WebCore::DocumentImpl::prepareMouseEvent): Changed to take a MouseEvent
19787        and return a MouseEventWithHitTestResults.
19788        (WebCore::DocumentImpl::defaultEventHandler): Changed to use KeyEvent.
19789
19790        * dom/NodeImpl.h: Removed NodeImpl::MouseEvent and NodeImpl::MouseEventType.
19791        * dom/NodeImpl.cpp:
19792        (WebCore::NodeImpl::dispatchMouseEvent): Changed to always get the type and
19793        detail values from the caller, never from the event. Changed to use MouseEvent.
19794        (WebCore::NodeImpl::dispatchKeyEvent): Changed to use KeyEvent.
19795        (WebCore::NodeImpl::dispatchWheelEvent): Changed to use WheelEvent.
19796
19797        * dom/dom2_eventsimpl.h:
19798        * dom/dom2_eventsimpl.cpp:
19799        (WebCore::KeyboardEventImpl::KeyboardEventImpl): Changed to use KeyEvent.
19800        (WebCore::KeyboardEventImpl::charCode): Ditto.
19801
19802        * dom/dom_elementimpl.h: Removed unused mouseEventHandler function.
19803
19804        * khtml/ecma/domparser.h: Use RefPtr instead of QGuardedPtr to hold the reference
19805        to the document.
19806
19807        * khtml/ecma/kjs_proxy.h: (WebCore::KJSProxyImpl::haveInterpreter): Added. For
19808        use in the Frame destructor so we can get an existing KJS::Window object without
19809        creating a new interpreter and window object.
19810
19811        * khtml/ecma/kjs_window.h: Merged WindowQObject into Window. Changed all the
19812        guarded pointers to Frame to use plain old pointers that are cleared by the
19813        Frame explicitly (by the function disconnectFrame). Made the pointers to all
19814        the sub-objects of KJS::Window be mutable so we don't have to const_cast in
19815        the functions to get (and lazily create) them.
19816        * khtml/ecma/kjs_window.cpp:
19817        (KJS::DOMWindowTimer::DOMWindowTimer): Use Window* instead of WindowQObject*.
19818        (KJS::History::disconnectFrame): Added. Clears m_frame.
19819        (KJS::FrameArray::disconnectFrame): Added. Clears m_frame.
19820        (KJS::Window::Window): Removed code to create a WindowQObject.
19821        (KJS::Window::~Window): Removed code to delete a WindowQObject.
19822        (KJS::Window::location): Remove now-unneeded const_cast.
19823        (KJS::Window::selection): Ditto.
19824        (KJS::Window::locationbar): Ditto.
19825        (KJS::Window::menubar): Ditto.
19826        (KJS::Window::personalbar): Ditto.
19827        (KJS::Window::statusbar): Ditto.
19828        (KJS::Window::toolbar): Ditto.
19829        (KJS::Window::scrollbars): Ditto.
19830        (KJS::Window::getValueProperty): Update since m_frame is now a raw pointer.
19831        (KJS::Window::getOwnPropertySlot): Ditto.
19832        (KJS::Window::toBoolean): Ditto.
19833        (KJS::Window::scheduleClose): Remove assert that WindowQObject* is not null.
19834        (KJS::Window::isSafeScript): Update since m_frame is now a raw pointer.
19835        (KJS::Window::clear): Remove code to delete a WindowQObject. Added a call
19836        to clearAllTimeouts instead.
19837        (KJS::Window::clearAllTimeouts): Added. Does equivalent of the WindowQObject
19838        destructor.
19839        (KJS::Window::installTimeout): Moved to Window from WindowQObject.
19840        (KJS::Window::pauseTimeouts): Ditto.
19841        (KJS::Window::resumeTimeouts): Ditto.
19842        (KJS::Window::clearTimeout): Ditto.
19843        (KJS::Window::timerFired): Ditto.
19844        (KJS::Window::disconnectFrame): Added. Sets all the frame pointers to 0.
19845        (KJS::FrameArray::getOwnPropertySlot): Update since m_frame is now a raw pointer.
19846        (KJS::Location::getOwnPropertySlot): Ditto.
19847        (KJS::Location::put): Ditto.
19848        (KJS::Selection::getOwnPropertySlot): Ditto.
19849        (KJS::BarInfo::getOwnPropertySlot): Ditto.
19850
19851        * khtml/html/html_baseimpl.h: Forward-declare Length instead of including khtmllayout.h.
19852        * khtml/html/html_imageimpl.h: Ditto.
19853
19854        * khtml/html/html_inlineimpl.cpp: (WebCore::HTMLAnchorElementImpl::defaultEventHandler):
19855        Changed to use KeyEvent and removed the code to extract the button and state from the
19856        DOM even to pass to urlSelected.
19857        * ksvg2/svg/SVGAElementImpl.cpp: (SVGAElementImpl::defaultEventHandler): Ditto.
19858
19859        * khtml/html/htmltokenizer.cpp: (WebCore::HTMLTokenizer::timerFired): Change to use
19860        a RefPtr instead of a QGuardedPtr.
19861
19862        * khtml/misc/helper.h:
19863        * khtml/misc/helper.cpp: Removed printpainter and setPrintPainter.
19864
19865        * ksvg2/svg/SVGDocumentImpl.h:
19866        * ksvg2/svg/SVGDocumentImpl.cpp: (WebCore::SVGDocumentImpl::dispatchKeyEvent):
19867        Change to use KeyEvent.
19868
19869        * kwq/KWQComboBox.mm:
19870        (-[KWQPopUpButton becomeFirstResponder]):
19871        (-[KWQPopUpButton resignFirstResponder]):
19872        * kwq/KWQFileButton.mm:
19873        (KWQFileButton::focusChanged):
19874        * kwq/KWQListBox.mm:
19875        (-[KWQTableView becomeFirstResponder]):
19876        (-[KWQTableView resignFirstResponder]):
19877        * kwq/KWQSlider.mm:
19878        (-[KWQSlider becomeFirstResponder]):
19879        (-[KWQSlider resignFirstResponder]):
19880        * kwq/KWQTextArea.mm:
19881        (-[KWQTextAreaTextView becomeFirstResponder]):
19882        (-[KWQTextAreaTextView resignFirstResponder]):
19883        * kwq/KWQTextField.mm:
19884        (-[KWQTextFieldController setHasFocus:]):
19885        Updated to use new eventFilterFocusIn/Out instead of the general purpose
19886        eventFilter function. This allows us to remove QEvent and the focus events.
19887
19888        * kwq/KWQNamespace.h: Removed ButtonState.
19889
19890        * kwq/KWQObject.h:
19891        * kwq/KWQObject.cpp: Replaced eventFilter function with eventFilterFocusIn and
19892        eventFilterFocusOut, allowing us to remove QEvent. Removed event function.
19893
19894        * kwq/KWQSlot.cpp:
19895        (KWQSlot::KWQSlot): Removed the parentDestroyed slot.
19896        (KWQSlot::call): Ditto.
19897
19898        * page/Frame.h:
19899        * page/Frame.cpp:
19900        (WebCore::UserStyleSheetLoader::UserStyleSheetLoader): Renamed from
19901        PartStyleSheetLoader. Removed a lot of unneeded null checks. Use a
19902        raw Frame pointer instead of a QGuardedPtr, and count on the Frame
19903        to delete us when it's being deleted.
19904        (WebCore::UserStyleSheetLoader::~UserStyleSheetLoader): No longer
19905        a virtual function. This is not a polymorphic class.
19906        (WebCore::UserStyleSheetLoader::setStyleSheet): Remove code to delete
19907        ourselves -- that's now the frame's responsibility.
19908        (WebCore::Frame::~Frame): Call disconnectFrame on the KJS::Window and
19909        delete m_userStyleSheetLoader.
19910        (WebCore::Frame::changeLocation): Update since urlSelected no longer takes
19911        button and state parameters.
19912        (WebCore::Frame::setUserStyleSheet): Delete existing loader to stop a load
19913        in progress before starting a new load. Store reference to loader.
19914        (WebCore::Frame::urlSelected): Remove button and state parameters and unused
19915        local variable hasTarget.
19916        (WebCore::Frame::selectClosestWordFromMouseEvent): Change from QMouseEvent
19917        to MouseEvent.
19918        (WebCore::Frame::handleMousePressEventDoubleClick): Change from MousePressEvent
19919        to MouseEventWithHitTestResults.
19920        (WebCore::Frame::handleMousePressEventTripleClick): Ditto.
19921        (WebCore::Frame::handleMousePressEventSingleClick): Ditto.
19922        (WebCore::Frame::khtmlMousePressEvent): Ditto.
19923        (WebCore::Frame::handleMouseMoveEventSelection): Change from MouseMoveEvent
19924        to MouseEventWithHitTestResults.
19925        (WebCore::Frame::khtmlMouseMoveEvent): Ditto.
19926        (WebCore::Frame::khtmlMouseReleaseEvent): Change from MouseReleaseEvent
19927        to MouseEventWithHitTestResults.
19928        (WebCore::Frame::khtmlMouseDoubleClickEvent): Change from
19929        MouseReleaseDoubleClickEvent to MouseEventWithHitTestResults.
19930        (WebCore::Frame::passWidgetMouseDownEventToWidget): Change from
19931        NodeImpl::MouseEvent to MouseEventWithHitTestResults.
19932
19933        * page/FramePrivate.h: Added m_userStyleSheetLoader.
19934
19935        * page/FrameView.h:
19936        * page/FrameView.cpp:
19937        (WebCore::FrameView::viewportMousePressEvent): Change from QMouseEvent to
19938        MouseEvent and from NodeImpl::MouseEvent to MouseEventWithHitTestResults.
19939        (WebCore::FrameView::viewportMouseDoubleClickEvent): Ditto.
19940        (WebCore::selectCursor): Ditto.
19941        (WebCore::FrameView::viewportMouseMoveEvent): Ditto.
19942        (WebCore::FrameView::viewportMouseReleaseEvent): Ditto.
19943        (WebCore::FrameView::keyPressEvent): Change from QKeyEvent to KeyEvent.
19944        (WebCore::FrameView::dispatchMouseEvent): Change from QMouseEvent to
19945        MouseEvent and from NodeImpl::MouseEvent to MouseEventWithHitTestResults.
19946        (WebCore::FrameView::viewportWheelEvent): Change from QWheelEvent to
19947        WheelEvent.
19948        (WebCore::FrameView::hoverTimerFired): Update for change to prepareMouseEvent
19949        parameters.
19950
19951        * platform/Widget.h:
19952        * platform/Widget.cpp: Removed event function.
19953
19954        * rendering/render_form.h: Removed LineEditWidget, ComboBoxWidget, TextAreaWidget.
19955        * rendering/render_form.cpp:
19956        (WebCore::RenderFormElement::slotClicked): Changed from QMouseEvent to MouseEvent.
19957        (WebCore::RenderFormElement::addIntrinsicMarginsIfAllowed): Updated for changes
19958        to the Length class.
19959        (WebCore::RenderSelect::setWidgetWritingDirection): Updated for removal of
19960        ComboBoxWidget.
19961        (WebCore::RenderSelect::slotSelected): Ditto.
19962        (WebCore::RenderSelect::createComboBox): Ditto.
19963
19964        * rendering/render_replaced.h:
19965        * rendering/render_replaced.cpp:
19966        (WebCore::RenderWidget::destroy): Updated since removeEventFilter no longer takes
19967        a parameter.
19968        (WebCore::RenderWidget::setQWidget): Ditto.
19969        (WebCore::RenderWidget::eventFilterFocusIn): Added. Replaces eventFilter.
19970        (WebCore::RenderWidget::eventFilterFocusOut): Ditto.
19971
19972        * css/css_computedstyle.cpp:
19973        (WebCore::valueForLength):
19974        (WebCore::CSSComputedStyleDeclarationImpl::getPropertyCSSValue):
19975        * css/cssstyleselector.cpp:
19976        (WebCore::checkPseudoState):
19977        (WebCore::CSSStyleSelector::applyProperty):
19978        (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize):
19979        * khtml/html/html_imageimpl.cpp:
19980        (WebCore::HTMLAreaElementImpl::getRegion):
19981        * rendering/RenderBlock.cpp:
19982        (WebCore::RenderBlock::MarginInfo::MarginInfo):
19983        (WebCore::RenderBlock::isSelfCollapsingBlock):
19984        (WebCore::RenderBlock::layoutBlock):
19985        (WebCore::RenderBlock::determineHorizontalPosition):
19986        (WebCore::RenderBlock::leftRelOffset):
19987        (WebCore::RenderBlock::rightRelOffset):
19988        (WebCore::RenderBlock::calcMinMaxWidth):
19989        (WebCore::getBPMWidth):
19990        (WebCore::RenderBlock::calcInlineMinMaxWidth):
19991        (WebCore::RenderBlock::calcBlockMinMaxWidth):
19992        * rendering/RenderTable.cpp:
19993        (WebCore::RenderTable::calcWidth):
19994        (WebCore::RenderTable::layout):
19995        * rendering/RenderTableCell.cpp:
19996        (WebCore::RenderTableCell::calcMinMaxWidth):
19997        * rendering/RenderTableSection.cpp:
19998        (WebCore::RenderTableSection::addChild):
19999        (WebCore::RenderTableSection::addCell):
20000        (WebCore::RenderTableSection::calcRowHeight):
20001        (WebCore::RenderTableSection::layoutRows):
20002        * rendering/RenderText.h:
20003        (khtml::RenderText::marginLeft):
20004        (khtml::RenderText::marginRight):
20005        * rendering/bidi.cpp:
20006        (khtml::getBPMWidth):
20007        * rendering/render_applet.cpp:
20008        (WebCore::RenderApplet::createWidgetIfNecessary):
20009        * rendering/render_box.cpp:
20010        (WebCore::RenderBox::paintBackgroundExtended):
20011        (WebCore::RenderBox::getClipRect):
20012        (WebCore::RenderBox::relativePositionOffset):
20013        (WebCore::RenderBox::calcWidth):
20014        (WebCore::RenderBox::calcWidthUsing):
20015        (WebCore::RenderBox::sizesToIntrinsicWidth):
20016        (WebCore::RenderBox::calcHorizontalMargins):
20017        (WebCore::RenderBox::calcHeight):
20018        (WebCore::RenderBox::calcHeightUsing):
20019        (WebCore::RenderBox::calcPercentageHeight):
20020        (WebCore::RenderBox::calcReplacedWidth):
20021        (WebCore::RenderBox::calcReplacedWidthUsing):
20022        (WebCore::RenderBox::calcReplacedHeight):
20023        (WebCore::RenderBox::calcReplacedHeightUsing):
20024        (WebCore::RenderBox::availableHeightUsing):
20025        (WebCore::RenderBox::calcVerticalMargins):
20026        (WebCore::RenderBox::calcAbsoluteHorizontal):
20027        (WebCore::RenderBox::calcAbsoluteHorizontalValues):
20028        (WebCore::RenderBox::calcAbsoluteVertical):
20029        (WebCore::RenderBox::calcAbsoluteVerticalValues):
20030        * rendering/render_br.cpp:
20031        (WebCore::RenderBR::lineHeight):
20032        * rendering/render_flexbox.cpp:
20033        (khtml::RenderFlexibleBox::calcHorizontalMinMaxWidth):
20034        (khtml::RenderFlexibleBox::calcVerticalMinMaxWidth):
20035        (khtml::RenderFlexibleBox::calcMinMaxWidth):
20036        (khtml::RenderFlexibleBox::allowedChildFlex):
20037        * rendering/render_flow.cpp:
20038        (WebCore::RenderFlow::lineHeight):
20039        * rendering/render_frames.cpp:
20040        (WebCore::RenderFrameSet::layout):
20041        * rendering/render_image.cpp:
20042        (WebCore::RenderImage::isWidthSpecified):
20043        (WebCore::RenderImage::isHeightSpecified):
20044        * rendering/render_layer.cpp:
20045        (WebCore::Marquee::direction):
20046        (WebCore::Marquee::start):
20047        (WebCore::Marquee::updateMarqueeStyle):
20048        (WebCore::Marquee::timerFired):
20049        * rendering/render_line.cpp:
20050        (WebCore::InlineFlowBox::marginLeft):
20051        (WebCore::InlineFlowBox::marginRight):
20052        * rendering/render_object.cpp:
20053        (WebCore::RenderObject::mustRepaintBackgroundOrBorder):
20054        (WebCore::RenderObject::paintBorderImage):
20055        (WebCore::RenderObject::paddingTop):
20056        (WebCore::RenderObject::paddingBottom):
20057        (WebCore::RenderObject::paddingLeft):
20058        (WebCore::RenderObject::paddingRight):
20059        (WebCore::RenderObject::getVerticalPosition):
20060        (WebCore::RenderObject::lineHeight):
20061        (WebCore::RenderObject::addDashboardRegions):
20062        * rendering/render_style.h:
20063        * rendering/render_theme_mac.mm:
20064        (WebCore::RenderThemeMac::addIntrinsicMargins):
20065        * rendering/table_layout.cpp:
20066        (WebCore::FixedTableLayout::calcWidthArray):
20067        (WebCore::FixedTableLayout::calcMinMaxWidth):
20068        (WebCore::FixedTableLayout::layout):
20069        (WebCore::AutoTableLayout::recalcColumn):
20070        (WebCore::AutoTableLayout::fullRecalc):
20071        (WebCore::AutoTableLayout::calcMinMaxWidth):
20072        (WebCore::AutoTableLayout::calcEffectiveWidth):
20073        (WebCore::AutoTableLayout::layout):
20074        (WebCore::AutoTableLayout::calcPercentages):
20075        Updated for changes to the Length class.
20076        Also removed a check of the printpainter global, never used in WebCore.
20077
20078        * bindings/objc/DOM.mm:
20079        * bindings/objc/DOMCSS.mm:
20080        * bindings/objc/DOMHTML.mm:
20081        * bridge/mac/WebCoreFrameBridge.mm:
20082        * css/csshelper.cpp:
20083        * editing/SelectionController.cpp:
20084        * khtml/ecma/kjs_html.h:
20085        * kwq/KWQAccObject.mm:
20086        * kwq/KWQAccObjectCache.mm:
20087        * kwq/KWQClipboard.mm:
20088        * kwq/KWQFont.mm:
20089        * kwq/KWQFontMetrics.mm:
20090        * kwq/KWQKJobClasses.mm:
20091        * kwq/KWQKURL.mm:
20092        * kwq/KWQLoader.mm:
20093        * kwq/KWQPageState.mm:
20094        * kwq/KWQPainter.mm:
20095        * kwq/WebCoreSettings.mm:
20096        * platform/StringImpl.cpp:
20097        * platform/mac/CursorMac.mm:
20098        * platform/mac/WidgetMac.mm:
20099        * rendering/RenderBlock.h:
20100        * rendering/render_canvas.cpp:
20101        * rendering/render_line.h:
20102        * rendering/render_style.cpp:
20103        * rendering/table_layout.h:
20104        Updated includes.
20105
20106        * bindings/js/JSDOMCore.cpp: Touched, because I got strange failures if this
20107        didn't rebuild.
20108        * bindings/js/JSDOMEvents.cpp: Ditto.
20109
201102006-02-23  Eric Seidel  <eseidel@apple.com>
20111
20112        Reviewed by darin.
20113
20114        Fix linking of static constructed globals on win32.
20115
20116        * WebCore.vcproj/WebCore/WebCore.vcproj:
20117        * config.h:
20118        * dom/EventNames.cpp:
20119        (WebCore::EventNames::init):
20120        * dom/EventNames.h:
20121        * dom/dom_qname.cpp:
20122        (WebCore::QualifiedName::init):
20123        * dom/dom_qname.h:
20124        * khtml/html/htmlnames.cpp:
20125        (WebCore::HTMLNames::init):
20126        * khtml/html/htmlnames.h:
20127        * platform/AtomicString.cpp:
20128        (WebCore::AtomicString::init):
20129        * platform/StaticConstructors.h: Added.
20130
201312006-02-23  Vicki Murley <vicki@apple.com>
20132
20133        Reviewed by Tim Omernick.
20134
20135        - fix <rdar://problem/4394910> calling Javascript window.close() does not trigger onbeforeunload event
20136
20137        Check shouldClose() before actually scheduling a close.
20138
20139        shouldClose() checks for the onbeforeunload handler, displays the onbeforeunload dialog, and returns a
20140        result based on whether the user clicks "OK" or "Cancel".  In cases where the window is closed with cmd-w
20141        or by clicking the red globe, shouldClose() is checked in the windowShouldClose delegate method.  Since
20142        windowShouldClose isn't invoked when a window is closed with Javascript, it makes sense to add a check
20143        for shouldClose() in scheduleClose(), returning early when appropriate before the chain of events that
20144        closes a window even gets started.
20145
20146        * bridge/mac/MacFrame.mm:
20147        (WebCore::MacFrame::scheduleClose): add a check for shouldClose()
20148
201492006-02-23  Vicki Murley <vicki@apple.com>
20150
20151        Reviewed by Hyatt.
20152
20153        - fix <rdar://problem/4456004> onbeforeunload should cancel, and
20154        <rdar://problem/4453579> REGRESSION (TOT): onbeforeunload is broken (7421)
20155
20156        * bridge/mac/MacFrame.mm:
20157        (WebCore::MacFrame::shouldClose): Onbeforeunload is a non-bubbling window
20158        event, so we should be using handleWindowEvent rather than dispatching a
20159        generic event on the body. It seems this only worked before because of incorrect
20160        code in other parts of the tree.
20161        * dom/dom2_eventsimpl.cpp:
20162        (WebCore::BeforeUnloadEventImpl::BeforeUnloadEventImpl): for this constructor,
20163        pass true for the cancel parameter
20164
201652006-02-22  Eric Seidel  <eseidel@apple.com>
20166
20167        Reviewed by darin.
20168
20169        Adding stub FrameWin class to expose link errors.
20170
20171        * WebCore.vcproj/WebCore/WebCore.vcproj:
20172        * bridge/win/FrameWin.cpp: Added.
20173        * bridge/win/FrameWin.h: Added.
20174        (WebCore::Win):
20175
201762006-02-22  Maciej Stachowiak  <mjs@apple.com>
20177
20178        Reviewed by Geoff.
20179
20180        - move QStringList to platform, make it portable
20181
20182        * ForwardingHeaders/qstringlist.h: Removed.
20183        * WebCore.vcproj/WebCore/WebCore.vcproj:
20184        * WebCore.xcodeproj/project.pbxproj:
20185        * dom/DocumentImpl.h:
20186        * kcanvas/KCanvasFilters.h:
20187        * khtml/xbl/xbl_protohandler.cpp:
20188        * ksvg2/svg/SVGColorImpl.cpp:
20189        * ksvg2/svg/SVGComponentTransferFunctionElementImpl.cpp:
20190        * ksvg2/svg/SVGDOMImplementationImpl.h:
20191        * ksvg2/svg/SVGFEBlendElementImpl.cpp:
20192        * ksvg2/svg/SVGFEColorMatrixElementImpl.cpp:
20193        * ksvg2/svg/SVGFEComponentTransferElementImpl.cpp:
20194        * ksvg2/svg/SVGFECompositeElementImpl.cpp:
20195        * ksvg2/svg/SVGFEDiffuseLightingElementImpl.cpp:
20196        * ksvg2/svg/SVGFEDisplacementMapElementImpl.cpp:
20197        * ksvg2/svg/SVGFEFloodElementImpl.cpp:
20198        * ksvg2/svg/SVGFEGaussianBlurElementImpl.cpp:
20199        * ksvg2/svg/SVGFELightElementImpl.cpp:
20200        * ksvg2/svg/SVGFEMergeElementImpl.cpp:
20201        * ksvg2/svg/SVGFEOffsetElementImpl.cpp:
20202        * ksvg2/svg/SVGFESpecularLightingElementImpl.cpp:
20203        * ksvg2/svg/SVGFETileElementImpl.cpp:
20204        * ksvg2/svg/SVGFETurbulenceElementImpl.cpp:
20205        * ksvg2/svg/SVGFitToViewBoxImpl.cpp:
20206        * ksvg2/svg/SVGLengthListImpl.cpp:
20207        * ksvg2/svg/SVGNumberListImpl.cpp:
20208        * ksvg2/svg/SVGPreserveAspectRatioImpl.cpp:
20209        * ksvg2/svg/SVGStringListImpl.cpp:
20210        * ksvg2/svg/SVGStyledTransformableElementImpl.cpp:
20211        * ksvg2/svg/SVGTransformableImpl.cpp:
20212        * kwq/KWQClipboard.mm:
20213        * kwq/KWQKConfigBase.mm:
20214        * kwq/KWQKHTMLSettings.h:
20215        * kwq/KWQKLocale.h:
20216        * kwq/KWQKSSLKeyGen.h:
20217        * kwq/KWQStringList.h: Removed.
20218        * kwq/KWQStringList.mm: Removed.
20219        * loader/DocLoader.h:
20220        * page/Frame.h:
20221        * platform/QStringList.cpp: Added.
20222        (QStringList::split):
20223        (QStringList::pop_front):
20224        * platform/QStringList.h: Added.
20225        * platform/mac/QStringListMac.mm: Added.
20226        (QStringList::getNSArray):
20227
202282006-02-21  Adele Peterson  <adele@apple.com>
20229
20230        Reviewed by Hyatt.
20231
20232        Tests:
20233        * fast/forms/input-baseline.html
20234        * fast/inline-block/contenteditable-baseline.html
20235
20236        - Fixed http://bugs.webkit.org/show_bug.cgi?id=7330
20237        baselinePosition is wrong for new text field when empty
20238
20239        * rendering/RenderBlock.cpp: (WebCore::RenderBlock::getBaselineOfLastLineBox):
20240         If we're dealing with an empty contenteditable block, then we've added height to the block to make room for the caret,
20241         and there are no children to give us the baseline.  Instead, compute the baseline for the block itself, and factor in the border and the padding.
20242
202432006-02-21  Vicki Murley <vicki@apple.com>
20244
20245        Reviewed by Adele.
20246
20247        - fix http://bugs.webkit.org/show_bug.cgi?id=7363
20248        REGRESSION (r12872): Repro crash when clicking the Quick Reply box in Gmail
20249
20250        Add a nil check for the renderer, and refetch the renderer for the old focus node
20251        after dispatching the event.
20252
20253        * dom/DocumentImpl.cpp:
20254        (WebCore::DocumentImpl::setFocusNode):
20255
202562006-02-21  Maciej Stachowiak  <mjs@apple.com>
20257
20258        Rubber Stamped by Hyatt.
20259
20260        - renamed STATIC, FIXED, RELATIVE, ABSOLUTE to StaticPosition, FixedPosition, etc
20261
20262        This avoids conflicting with win32 headers.
20263
20264        * css/css_computedstyle.cpp:
20265        (WebCore::CSSComputedStyleDeclarationImpl::getPropertyCSSValue):
20266        * css/cssstyleselector.cpp:
20267        (WebCore::CSSStyleSelector::adjustRenderStyle):
20268        (WebCore::CSSStyleSelector::applyProperty):
20269        * editing/htmlediting.cpp:
20270        (WebCore::isSpecialElement):
20271        * rendering/RenderBlock.cpp:
20272        (WebCore::RenderBlock::updateFirstLetter):
20273        * rendering/render_box.cpp:
20274        (WebCore::RenderBox::setStyle):
20275        (WebCore::RenderBox::absolutePosition):
20276        (WebCore::RenderBox::computeAbsoluteRepaintRect):
20277        * rendering/render_flow.cpp:
20278        (WebCore::RenderFlow::getAbsoluteRepaintRect):
20279        * rendering/render_layer.cpp:
20280        (WebCore::RenderLayer::convertToLayerCoords):
20281        (WebCore::RenderLayer::calculateClipRects):
20282        (WebCore::RenderLayer::calculateRects):
20283        * rendering/render_object.cpp:
20284        (WebCore::RenderObject::markContainingBlocksForLayout):
20285        (WebCore::RenderObject::containingBlock):
20286        (WebCore::RenderObject::setStyle):
20287        (WebCore::RenderObject::container):
20288        * rendering/render_style.cpp:
20289        (WebCore::RenderStyle::diff):
20290        * rendering/render_style.h:
20291        (khtml::):
20292        (khtml::RenderStyle::initialPosition):
20293
202942006-02-21  Maciej Stachowiak  <mjs@apple.com>
20295
20296        Rubber Stamped by Hyatt.
20297
20298        - remove KWQSignalStubs.cpp from project.
20299
20300        * WebCore.vcproj/WebCore/WebCore.vcproj:
20301
203022006-02-21  Maciej Stachowiak  <mjs@apple.com>
20303
20304        Platform build fix, not reviewed.
20305
20306        - undef min and max, and include <algorithm> so std::min works
20307
20308        * rendering/font.h:
20309
203102006-02-20  Maciej Stachowiak  <mjs@apple.com>
20311
20312        Reviewed by Geoff and Darin.
20313
20314        Patch from Maks Orlovich, based on work by David Faure, hand-applied and
20315        significantly reworked by me.
20316
20317        - Patch: give internal function names (KJS merge)
20318        http://bugs.webkit.org/show_bug.cgi?id=6279
20319
20320        * khtml/ecma/kjs_binding.h:
20321        * khtml/ecma/kjs_html.cpp:
20322        (KJS::HTMLElementFunction::HTMLElementFunction):
20323        * kwq/WebCoreScriptDebugger.mm:
20324        (-[WebCoreScriptCallFrame functionName]):
20325
203262006-02-20  Darin Adler  <darin@apple.com>
20327
20328        Reviewed by Eric.
20329
20330        - fix http://bugs.webkit.org/show_bug.cgi?id=7331
20331          CSS parser leaks when parsing incorrect CSS
20332
20333        * css/css_base.h:
20334        (WebCore::CSSSelector::append): Replaced recursive implementation
20335        with an iterative one.
20336        (WebCore::StyleBaseImpl::StyleBaseImpl): Changed to be a Shared, not
20337        a TreeShared; parents now ref children as needed. This change was
20338        vital to fix the storage leaks. Also removed unused multiLength bool.
20339        (WebCore::StyleBaseImpl::parent): Added. Needed now that there's no
20340        TreeShared base class.
20341        (WebCore::StyleBaseImpl::setParent): Ditto.
20342        (WebCore::StyleBaseImpl::insertedIntoParent): Added. Hook for
20343        notification when added to a parent -- used by import style rules.
20344        (WebCore::StyleListImpl::StyleListImpl): Changed to use a Vector instead
20345        of a QPtrList for children. Slower for dynamic insert and remove for the
20346        DOM API, faster and more efficient for everything else.
20347        * css/css_base.cpp:
20348        (WebCore::StyleListImpl::append): Now calls insertedIntoParent
20349        and uses Vector.
20350        (WebCore::StyleListImpl::insert): Added. Calls insertedIntoParent.
20351        (WebCore::StyleListImpl::remove): Added.
20352
20353        * css/css_grammar.y: Removed obsolete "don't inline" stuff. Changed all
20354        code that creates new objects to use new functions on CSSParser. For
20355        CSSSelector, ValueList, Function, and Value, this means using new
20356        functions with a "floating" concept, but for reference-counted classes
20357        this just means asking the CSSParser to create the object instead of
20358        calling new. Remove all explicit "delete", which is now handled by the
20359        parser instead, which works when the Bison-generated parser fails too,
20360        not just when it hits error rules in the grammar.
20361
20362        * css/css_ruleimpl.h:
20363        * css/css_ruleimpl.cpp:
20364        (WebCore::CSSImportRuleImpl::CSSImportRuleImpl): Remove call to init()
20365        which kicks off style sheet loading. We now do that when we are added to
20366        our parent instead of construction time. Also removed unused constructor.
20367        (WebCore::CSSImportRuleImpl::insertedIntoParent): Replaced init() with this
20368        function that does much the same thing at a different time. Changed code
20369        that sets m_loading to do it in a simple way that doesn't need a big comment.
20370        (WebCore::CSSMediaRuleImpl::insertRule): Use RefPtr.
20371
20372        * css/css_stylesheetimpl.cpp:
20373        (StyleSheetImpl::StyleSheetImpl): Pass 0 for parent explicitly since the
20374        empty constructor was removed in the other patch.
20375        (CSSStyleSheetImpl::CSSStyleSheetImpl): Remove code to set up m_lstChildren;
20376        that's now handled by the base class.
20377        (CSSStyleSheetImpl::insertRule): Use length() instead of m_listChildren->count()
20378        and insert instead of m_lstChildren->insert. Also use RefPtr for the result of
20379        parseRule.
20380        (CSSStyleSheetImpl::addRule): Use length() instead of m_lstChildren->count().
20381        (CSSStyleSheetImpl::deleteRule): Use length() instead of checking the result of
20382        take() for 0. Use remove() instead of m_lstChildren->take().
20383        (CSSStyleSheetImpl::parseString): Use setStrictParsing instead of going at the
20384        strictParsing data member directly.
20385        (CSSStyleSheetImpl::isLoading): Use length() and item() instead of
20386        m_lstChildren->first() and m_lstChildren->next().
20387
20388        * css/css_valueimpl.h: Add an include of QPtrList now that it's not used in
20389        any included file. Also added a constructor for CSSValueImpl, now that StyleBaseImpl
20390        has no empty constructor.
20391        * css/css_valueimpl.cpp:
20392        (WebCore::CSSMutableStyleDeclarationImpl::setProperty): Use useStrictParsing()
20393        instead of looking at the strictParsing data member directly.
20394        (WebCore::CSSMutableStyleDeclarationImpl::parseDeclaration): Ditto.
20395        (WebCore::CSSMutableStyleDeclarationImpl::setLengthProperty): Ditto.
20396        (WebCore::CSSMutableStyleDeclarationImpl::setCssText): Ditto.
20397
20398        * css/cssparser.h:
20399        (WebCore::ValueList): Changed to use a Vector and an index rather
20400        than using a QPtrList.
20401        (WebCore::CSSParser): Changed parseRule to return a PassRefPtr, removed the
20402        createStyleDeclaration function since that's now handled by createStyleRule,
20403        made clearProperties be private, and added a suite of functions to create the
20404        objects formerly made with "new" in the Bison grammar. Also put the Units enum
20405        here in the header, and added an operator so they can be or'ed together while
20406        staying with the enum type so we can use Units instead of int for a function arg.
20407        * css/cssparser.cpp:
20408        (WebCore::ValueList::~ValueList): Changed to use Vector.
20409        (WebCore::CSSParser::CSSParser): Removed initializer for rule now that it's a RefPtr.
20410        (WebCore::CSSParser::~CSSParser): Added code to delete all the items in the sets that
20411        track floating objects. Also removed an unneeded check before callling clearProperties.
20412        (WebCore::CSSParser::parseSheet): Removed "delete rule" since rule is now a RefPtr.
20413        (WebCore::CSSParser::parseRule): Changed code to use rule.release() since rule is now
20414        a RefPtr and this function now returns a PassRefPtr.
20415        (WebCore::CSSParser::parseValue): Removed "delete rule" since rule is now a RefPtr.
20416        (WebCore::CSSParser::parseColor): Ditto.
20417        (WebCore::CSSParser::parseDeclaration): Ditto.
20418        (WebCore::CSSParser::validUnit): Made this a static class member instead of a local
20419        function so it can be used by the SVG parser code. Also updated to use the new ValueList
20420        class that uses Vector.
20421        (WebCore::CSSParser::parse4Values): Updated to new ValueList.
20422        (WebCore::CSSParser::parseContent): Ditto.
20423        (WebCore::skipCommaInDashboardRegion): Ditto.
20424        (WebCore::CSSParser::parseDashboardRegions): Ditto.
20425        (WebCore::CSSParser::parseShape): Ditto.
20426        (WebCore::CSSParser::parseColorFromValue): Ditto.
20427        (WebCore::BorderImageParseContext::commitBorderImage): Ditto.
20428        (WebCore::CSSParser::createFloatingSelector): Added. Puts selector into floating set.
20429        (WebCore::CSSParser::sinkFloatingSelector): Added. Removes from floating set.
20430        (WebCore::CSSParser::createFloatingValueList): Added. Puts list into floating set.
20431        (WebCore::CSSParser::sinkFloatingValueList): Added. Removes from floating set.
20432        (WebCore::CSSParser::createFloatingFunction): Added. Puts function into floating set.
20433        (WebCore::CSSParser::sinkFloatingFunction): Added. Removes from floating set.
20434        (WebCore::CSSParser::sinkFloatingValue): Added. Removes function from floating set if
20435        value contains a function pointer.
20436        (WebCore::CSSParser::createMediaList): Added. Puts list in a vector of RefPtrs kept
20437        by the parser, so the object won't end up floating.
20438        (WebCore::CSSParser::createImportRule): Ditto.
20439        (WebCore::CSSParser::createMediaRule): Ditto.
20440        (WebCore::CSSParser::createRuleList): Ditto.
20441        (WebCore::CSSParser::createStyleRule): Ditto. The properties come from the parser's
20442        global state instead of from a parameter.
20443
20444        * khtml/xsl/xsl_stylesheetimpl.h:
20445        * khtml/xsl/xsl_stylesheetimpl.cpp:
20446        (WebCore::XSLStyleSheetImpl::XSLStyleSheetImpl): Initialize the new m_stylesheetDocTaken
20447        bool to false. Also remove code to set up m_lstChildren since the base class takes care
20448        of that now.
20449        (WebCore::XSLStyleSheetImpl::~XSLStyleSheetImpl): Only call xmlFreeDoc if the document
20450        was not taken by libxslt. We used to leak XSLStyleSheetImpl objects, which is why we
20451        didn't notice this before; we'll try to double free without this change.
20452        (WebCore::XSLStyleSheetImpl::isLoading): Use length() and item() instead of
20453        m_lstChildren->first() and m_lstChildren->next().
20454        (WebCore::XSLStyleSheetImpl::clearDocuments): Ditto.
20455        (WebCore::XSLStyleSheetImpl::parseString): Only call xmlFreeDoc if the document was not
20456        taken by libxslt. Also set m_stylesheetDocTaken for the new document.
20457        (WebCore::XSLStyleSheetImpl::loadChildSheet): Use RefPtr and append instead of
20458        m_lstChildren->append.
20459        (WebCore::XSLStyleSheetImpl::compileStyleSheet): Set m_stylesheetDocTaken to true if
20460        xsltParseStylesheetDoc is successful, since the stylesheet then owns the document.
20461        (WebCore::XSLStyleSheetImpl::locateStylesheetSubResource): Use length() and item()
20462        instead of m_lstChildren->first() and m_lstChildren->next().
20463        (WebCore::XSLStyleSheetImpl::markAsProcessed): Set m_stylesheetDocTaken, since when
20464        this is called, the document is returned to libxslt which then attaches it to a
20465        stylesheet or parent document.
20466
20467        * ksvg2/css/KSVGCSSParser.cpp: Changed to compile as separate
20468        file instead of being included in cssparser.cpp.
20469        (WebCore::CSSParser::parseSVGPaint): Take out unnecessary check
20470        of number of args. Everything works fine without that check, and
20471        otherwise I'd have to change it for the change in data structure.
20472        (WebCore::CSSParser::parseSVGColor): Ditto.
20473        * WebCore.xcodeproj/project.pbxproj: Added KSVGCSSParser.cpp.
20474
20475        - fixed another leak found by run-webkit-leaks --leaks
20476
20477        * kwq/KWQLoader.mm: (KWQServeRequest): Delete the job if we can't do the I/O, because
20478        the caller is passing ownership to us.
20479
20480        - updated other code to use new Vector insert and remove
20481
20482        * khtml/html/HTMLFormElementImpl.cpp:
20483        (WebCore::removeFromVector): Changed to use Vector's remove.
20484        (WebCore::HTMLFormElementImpl::registerFormElement): Changed to use Vector's insert.
20485
204862006-02-20  Darin Adler  <darin@apple.com>
20487
20488        Collaborated with Graham Dennis <Graham.Dennis@gmail.com> on this.
20489
20490        - fix http://bugs.webkit.org/show_bug.cgi?id=6831
20491          contentEditable outline darkens as caret moves
20492
20493        Test: editing/selection/move-by-character-6.html
20494
20495        The trick was to draw the focus ring clipped to a list of rectangles instead
20496        of clipped to exactly one.
20497
20498        * kwq/KWQPainter.h: Move Color parameter from initFocusRing to drawFocusRing.
20499        * kwq/KWQPainter.mm:
20500        (WebCore::QPainterPrivate::QPainterPrivate): Change focusRingPath from
20501        an NSBezierPath to a CGMutablePathRef.
20502        (WebCore::QPainterPrivate::~QPainterPrivate): Ditto.
20503        (WebCore::QPainter::initFocusRing): Removed color parameter, and made a
20504        CGPath instead of an NSBezierPath.
20505        (WebCore::QPainter::addFocusRingRect): CGPath instead of NSBezierPath.
20506        (WebCore::QPainter::drawFocusRing): Added color parameter, and changed to
20507        use new bridge method to draw the focus ring.
20508        (WebCore::QPainter::clearFocusRing): CGPath instead of NSBezierPath.
20509
20510        * kwq/WebCoreGraphicsBridge.h:
20511        * kwq/WebCoreGraphicsBridge.m:
20512        (-[WebCoreGraphicsBridge drawFocusRingWithPath:radius:color:]):
20513        Replaced setFocusRingStyle: method with this one.
20514
20515        * rendering/render_flow.cpp: (WebCore::RenderFlow::paintFocusRing):
20516        * rendering/render_object.cpp: (WebCore::RenderObject::paintOutline):
20517        Pass color to drawFocusRing instead of initFocusRing.
20518
20519        - fixed message on exit from the other patch I just landed
20520
20521        * platform/mac/CursorMac.mm:
20522        (WebCore::leakNamedCursor): Renamed and made this leak intentionally.
20523
205242006-02-20  Darin Adler  <darin@apple.com>
20525
20526        Reviewed by Hyatt.
20527
20528        - moved Cursor into the platform directory from KWQ
20529        - removed a lot of other unneeded stuff from KWQ
20530
20531        * platform/Cursor.h: Added.
20532        * platform/mac/CursorMac.mm: Added.
20533        * platform/mac/CursorWin.cpp: Added.
20534
20535        * kwq/KWQBuffer.cpp: Removed.
20536        * kwq/KWQBuffer.h: Removed.
20537        * kwq/KWQCursor.h: Removed.
20538        * kwq/KWQCursor.mm: Removed.
20539        * kwq/KWQIODevice.h: Removed.
20540        * kwq/KWQKCursor.h: Removed.
20541        * kwq/KWQKCursor.mm: Removed.
20542        * kwq/KWQKDebug.h: Removed.
20543        * kwq/KWQSignalStubs.cpp: Removed.
20544
20545        * ForwardingHeaders/kcursor.h: Removed.
20546        * ForwardingHeaders/kdebug.h: Removed.
20547        * ForwardingHeaders/qbuffer.h: Removed.
20548
20549        * kwq/KWQEvent.h: Removed unused constants and types QCustomEvent,
20550        QFocusEvent, QHideEvent, QShowEvent, QContextMenuEvent, and QResizeEvent.
20551
20552        * kwq/KWQLoader.h: Removed KWQLoader class since signals are no longer needed.
20553        * kwq/KWQLoader.mm: Ditto.
20554
20555        * kwq/KWQNamespace.h: Removed DontClip, ShowPrefix, WordBreak, LayoutDirection,
20556        LeftToRight, RightToLeft, RasterOp, CopyROP, OrROP, and XorROP.
20557
20558        * kwq/KWQObject.h: Removed blockSignals, sender, _signalsBlocked, _sender,
20559        and KWQObjectSenderScope.
20560        * kwq/KWQObject.cpp:
20561        (QObject::QObject): Removed _signalsBlocked.
20562        (QObject::connect): Removed special-case signals to not complain about.
20563        All of them were either unused, converted to non-signal functions, or in one
20564        case (slotScrollBarMoved) turned into a FIXME.
20565
20566        * kwq/KWQPainter.h: Removed rasterOp and setRasterOp.
20567        * kwq/KWQPainter.mm: Ditto.
20568
20569        * kwq/KWQSignal.h:
20570        * kwq/KWQSignal.cpp: (KWQSignal::disconnect): Removed special cases for
20571        various signals; all are now using plain function calls instead.
20572
20573        * kwq/KWQSlot.h:
20574        * kwq/KWQSlot.cpp: Removed slots that are no longer needed because they
20575        are using plain function calls instead of signals.
20576
20577        * WebCore.vcproj/WebCore/WebCore.vcproj:
20578        * WebCore.xcodeproj/project.pbxproj:
20579        Updated for changed files.
20580
20581        * bridge/mac/FrameViewMac.mm: Moved the contents of KWQKHTMLView.cpp in here.
20582        * bridge/mac/KWQKHTMLView.cpp: Removed.
20583
20584        * bridge/mac/MacFrame.h: Removed signals, changed setStatusBarText to take
20585        String instead of QString.
20586        * bridge/mac/MacFrame.mm:
20587        (WebCore::MacFrame::MacFrame): Removed signals.
20588        (WebCore::MacFrame::setStatusBarText): Changed parameter type.
20589        (WebCore::MacFrame::openURLFromPageCache): Removed parameter from started function.
20590        (WebCore::MacFrame::khtmlMouseMoveEvent): Changed from QCursor() to pointerCursor().
20591
20592        * dom/DocumentImpl.h:
20593        * dom/DocumentImpl.cpp:
20594        (WebCore::DocumentImpl::DocumentImpl): Removed signals.
20595        (WebCore::DocumentImpl::implicitOpen): Ditto.
20596        (WebCore::DocumentImpl::determineParseMode): Removed a use of kdDebug.
20597        (WebCore::DocumentImpl::finishedParsing): Added. Does a setParsing(false) and then
20598        calls finishedParsing on the frame. Replaces the old finishedParsing signal.
20599
20600        * dom/xml_tokenizer.h:
20601        * dom/xml_tokenizer.cpp: Removed the finishedParsing signal since it's not just
20602        a function on the document.
20603        (WebCore::XMLTokenizer::finish): Call the function instead of emitting the signal.
20604
20605        * khtml/html/htmlparser.h:
20606        * khtml/html/htmlparser.cpp: Moved the parser inside the WebCore namespace.
20607
20608        * khtml/html/htmltokenizer.h:
20609        * khtml/html/htmltokenizer.cpp: (WebCore::HTMLTokenizer::end): Updated
20610        to call finishedParsing function on document rather than emitting a signal.
20611
20612        * kwq/KWQComboBox.mm:
20613        (-[KWQPopUpButton becomeFirstResponder]): Use QEvent instead of QFocusEvent.
20614        (-[KWQPopUpButton resignFirstResponder]): Ditto.
20615        * kwq/KWQFileButton.mm: (KWQFileButton::focusChanged): Ditto.
20616        * kwq/KWQListBox.mm:
20617        (-[KWQTableView becomeFirstResponder]): Ditto.
20618        (-[KWQTableView resignFirstResponder]): Ditto.
20619        * kwq/KWQSlider.mm:
20620        (-[KWQSlider becomeFirstResponder]): Ditto.
20621        (-[KWQSlider resignFirstResponder]): Ditto.
20622        * kwq/KWQTextArea.mm:
20623        (-[KWQTextAreaTextView becomeFirstResponder]): Ditto.
20624        (-[KWQTextAreaTextView resignFirstResponder]): Ditto.
20625        * kwq/KWQTextField.mm:
20626        (-[KWQTextFieldController setHasFocus:]): Ditto.
20627
20628        * kwq/KWQTextStream.h: Removed the mode parameter from the QTextStream constructor.
20629        Removed the QTextIStream and QTextOStream classes.
20630        * kwq/KWQTextStream.cpp: (QTextStream::QTextStream): Removed the mode parameter.
20631
20632        * loader/CachedCSSStyleSheet.h: Changed to take a ByteArray instead of a QBuffer.
20633        * loader/CachedCSSStyleSheet.cpp: (WebCore::CachedCSSStyleSheet::data): Ditto.
20634        * loader/CachedImage.h: Ditto.
20635        * loader/CachedImage.cpp: (WebCore::CachedImage::data): Ditto.
20636        * loader/CachedObject.h: Ditto.
20637        * loader/CachedScript.h: Ditto.
20638        * loader/CachedScript.cpp: (WebCore::CachedScript::data): Ditto.
20639        * loader/CachedXBLDocument.h: Ditto.
20640        * loader/CachedXBLDocument.cpp: (WebCore::CachedXBLDocument::data): Ditto.
20641        * loader/CachedXSLStyleSheet.h:
20642        * loader/CachedXSLStyleSheet.cpp: (WebCore::CachedXSLStyleSheet::data): Ditto.
20643
20644        * loader/DocLoader.cpp: (WebCore::DocLoader::setLoadInProgress): Added a call
20645        to loadDone on the frame. Replaces the requestFailed and requestDone signals.
20646
20647        * loader/DocLoader.h: Removed include of <qbuffer.h>.
20648
20649        * loader/Request.h:
20650        * loader/Request.cpp: Updated to use ByteArray instead of QBuffer.
20651
20652        * loader/loader.h: Removed unused signals.
20653        * loader/loader.cpp:
20654        (WebCore::Loader::Loader): Removed use of KWQLoader.
20655        (WebCore::Loader::~Loader): Ditto.
20656        (WebCore::Loader::load): Removed code to emit unused requestStarted signal.
20657        (WebCore::Loader::slotFinished): Removed code to emit requestFailed and
20658        requestDone signals, now handled by DocLoader::setLoadInProgress(false).
20659        (WebCore::Loader::slotReceivedResponse): Use ByteArray instead of QBuffer.
20660        (WebCore::Loader::slotData): Ditto.
20661
20662        * page/Frame.h: Removed setURLCursor, urlCursor, slotRestoreData, slotIncZoom,
20663        slotDecZoom, slotLoadImages, slotPartRemoved, slotActiveFrameChanged,
20664        slotChildURLRequest, slotShowDocument, slotAutoScroll, slotPrintFrame, slotSelectAll,
20665        slotProgressUpdate, slotJobPercent, slotJobSpeed.connectChild, disconnectChild,
20666        and changed a number of others from slots to plain old functions.
20667        * page/Frame.cpp:
20668        (WebCore::Frame::Frame): Don't connect to loader signals.
20669        (WebCore::Frame::~Frame): Don't disconnect from loader signals.
20670        (WebCore::Frame::didOpenURL): Call started function instead of emitting
20671        started signal. Don't connect to speed and percent signals (which never
20672        existed in WebCore anyway).
20673        (WebCore::Frame::stopLoading): Call finishedParsing function instead of
20674        calling slotFinishedParsing.
20675        (WebCore::Frame::executeScript): Removed redundant checks and let
20676        submitFormAgain do the checking.
20677        (WebCore::Frame::clear): Removed code to disconnect from finishedParsing
20678        signal; we now use a function. Also removed loop that calls disconnectChild,
20679        becase again we use functions now instead of signals.
20680        (WebCore::Frame::setDocument): Remove code to disconnect and connect to the
20681        finishedParsing signal.
20682        (WebCore::Frame::begin): Remove code to connect to the finishedParsing signal.
20683        (WebCore::Frame::finishedParsing): Moved code that does setParsing(false) into
20684        the document class. Also renamed from slotFinishedParsing.
20685        (WebCore::Frame::loadDone): Renamed from slotLoaderRequestDone.
20686        (WebCore::Frame::checkCompleted): Changed to call the completed function instead
20687        of emitting one of the two completed signals.
20688        (WebCore::Frame::loadSubframe): Removed call to connectChild because we now use
20689        functions instead of signals. Also change the call to completed to pass false
20690        instead of true.
20691        (WebCore::Frame::submitFormAgain): Change function around so we are less likely
20692        to leak if something strange happens inside submitForm.
20693        (WebCore::Frame::submitForm): Remove code to connect signal. We now call
20694        submitFormAgain from inside the completed function.
20695        (WebCore::Frame::parentCompleted): Renamed from slotParentCompleted. No longer
20696        a slot, now called from completed.
20697        (WebCore::Frame::childCompleted): Renamed from slotChildCompleted.
20698        (WebCore::Frame::setJSStatusBarText): Removed "emit" from function call. Changed
20699        to use String instead of QString.
20700        (WebCore::Frame::setJSDefaultStatusBarText): Ditto.
20701        (WebCore::Frame::sendResizeEvent): Changed to send DOM event directly instead of
20702        creating a QResizeEvent to send along to the FrameView.
20703        (WebCore::Frame::scrollToAnchor): Changed to not pass a parameter to the started
20704        function, which no longer takes one.
20705        (WebCore::Frame::frameDetached): Removed code that calls disconnectChild, since
20706        we no longer use signals.
20707        (WebCore::Frame::completed): Added. Calls childCompleted, parentCompleted, and
20708        submitFormAgain.
20709        (WebCore::Frame::setStatusBarText): Added.
20710        (WebCore::Frame::started): Added. Sets the complete flag to false for the frame
20711        and all its ancestors, which is what slotChildStarted did recursively.
20712
20713        * page/FramePrivate.h: Removed m_activeFrame and changed m_kjsStatusBarText and
20714        m_kjsDefaultStatusBarText to String from QString.
20715
20716        * page/FrameView.h: Removed resizeEvent, focusInEvent, focusOutEvent, and
20717        slotPaletteChanged. Changed cleared from a signal to a private function and
20718        slotScrollBarMoved to a private function named scrollBarMoved.
20719        * page/FrameView.cpp:
20720        (WebCore::FrameView::FrameView): Removed connect call here that was connecting
20721        a signal that's nonexistent in WebCore; we'll want to rig it up later.
20722        (WebCore::FrameView::~FrameView): Added a call to setQWidget(0) here to replace
20723        something that was done with a signal before.
20724        (WebCore::FrameView::clear): Call cleared as a function rather than a signal.
20725        (WebCore::selectCursor): Changed to use Cursor instead of QCursor.
20726        (WebCore::FrameView::scrollBarMoved): Renamed this function, which is never called.
20727        Added a FIXME about calling it.
20728        (WebCore::FrameView::cleared): Added. Calls viewCleared on the owner part, which
20729        used to be done with a signal.
20730
20731        * platform/Widget.h: Changed to Cursor from QCursor.
20732        * platform/mac/WidgetMac.mm: (WebCore::Widget::setCursor): Ditto.
20733
20734        * rendering/render_frames.h:
20735        * rendering/render_frames.cpp:
20736        (WebCore::RenderFrameSet::userResize): Removed cursor-setting code here. We might
20737        want to use resize cursors for frames again, but it was mostly disabled anyway and
20738        it's not clear which cursors to use.
20739        (WebCore::RenderPart::setWidget): Removed code to connect to the cleared signal.
20740        Instead, FrameView takes care of it directly.
20741        (WebCore::RenderPart::viewCleared): Renamed from slotViewCleared.
20742        (WebCore::RenderFrame::viewCleared): Ditto.
20743        (WebCore::RenderPartObject::viewCleared): Ditto.
20744
20745        * rendering/render_image.cpp:
20746        (WebCore::RenderImage::imageChanged): Removed use of WordBreak, which doesn't exist
20747        in WebCore text rendering.
20748        (WebCore::RenderImage::paint): Ditto.
20749
20750        * rendering/render_list.cpp: (RenderListMarker::paint): Removed use of DontClip, which
20751        doesn't exist in WebCore text rendering. Also removed incorrect use of references to
20752        temporaries for the ". " and " ." strings.
20753
20754        * rendering/render_object.cpp:
20755        (WebCore::RenderObject::drawBorder): Removed call to setRasterOp since it is a no-op
20756        in WebCore's painter. Added a FIXME.
20757        (WebCore::RenderObject::information): Remove mode parameter to QTextStream.
20758
20759        * rendering/render_replaced.h: Removed slotWidgetDestructed, made setQWidget public,
20760        * rendering/render_replaced.cpp:
20761        (WebCore::RenderWidget::setQWidget): Removed code to connect slotWidgetDestructed to
20762        the destroyed signal. Instead FrameView calls setQWidget(0) on us.
20763        (WebCore::RenderWidget::eventFilter): Removed use of QFocusEvent::reason, which is
20764        never "popup" in WebCore.
20765
20766        * WebCore+SVG/kdom.h:
20767        * css/css_stylesheetimpl.cpp:
20768        * css/css_valueimpl.cpp:
20769        * css/cssparser.cpp:
20770        * kcanvas/KCanvasCreator.cpp:
20771        * kcanvas/KCanvasResources.cpp:
20772        * kcanvas/RenderPath.cpp:
20773        * khtml/ecma/xmlserializer.cpp:
20774        * khtml/html/html_baseimpl.cpp:
20775        * khtml/xsl/xsl_stylesheetimpl.cpp:
20776        * ksvg2/svg/SVGPathSegLinetoImpl.cpp:
20777        * ksvg2/svg/SVGStyledTransformableElementImpl.cpp:
20778        * ksvg2/svg/SVGTransformImpl.cpp:
20779        * platform/StringImpl.cpp:
20780        * rendering/RenderBlock.cpp:
20781        * rendering/render_box.cpp:
20782        * rendering/render_canvas.cpp:
20783        * rendering/render_flow.cpp:
20784        * rendering/render_form.cpp:
20785        * rendering/render_layer.cpp:
20786        * rendering/render_style.cpp:
20787        Removed includes of <kdebug.h>.
20788
20789        * css/css_base.cpp: (CSSSelector::selectorText):
20790        * khtml/ecma/kjs_binding.cpp:
20791        (KJS::ScriptInterpreter::wasRunByUserGesture):
20792        * khtml/ecma/kjs_css.cpp:
20793        (KJS::DOMCSSRule::putValueProperty):
20794        * khtml/ecma/kjs_dom.cpp:
20795        (KJS::DOMNode::getValueProperty):
20796        (KJS::DOMNode::putValueProperty):
20797        (KJS::DOMDocument::getValueProperty):
20798        * khtml/ecma/kjs_events.cpp:
20799        (KJS::DOMEvent::getValueProperty):
20800        (KJS::DOMUIEvent::getValueProperty):
20801        (KJS::DOMMouseEvent::getValueProperty):
20802        (KJS::DOMKeyboardEvent::getValueProperty):
20803        (KJS::Clipboard::getValueProperty):
20804        (KJS::Clipboard::putValueProperty):
20805        * khtml/ecma/kjs_html.cpp:
20806        (KJS::HTMLDocument::getValueProperty):
20807        (KJS::KJS::HTMLDocument::putValueProperty):
20808        (KJS::HTMLElement::anchorGetter):
20809        (KJS::HTMLElement::areaGetter):
20810        (KJS::KJS::HTMLElementFunction::callAsFunction):
20811        * khtml/ecma/kjs_navigator.cpp:
20812        (KJS::Navigator::getValueProperty):
20813        * khtml/ecma/kjs_traversal.cpp:
20814        (KJS::DOMNodeIterator::getValueProperty):
20815        (KJS::DOMTreeWalker::getValueProperty):
20816        * khtml/ecma/kjs_window.cpp:
20817        (KJS::Screen::getValueProperty):
20818        (KJS::Window::scheduleClose):
20819        (KJS::Window::isSafeScript):
20820        (KJS::Window::clear):
20821        (KJS::LocationFunc::callAsFunction):
20822        (KJS::History::getValueProperty):
20823        * ksvg2/svg/SVGAnimateColorElementImpl.cpp:
20824        (SVGAnimateColorElementImpl::handleTimerEvent):
20825        * ksvg2/svg/SVGAnimateElementImpl.cpp:
20826        (SVGAnimateElementImpl::handleTimerEvent):
20827        * ksvg2/svg/SVGAnimateTransformElementImpl.cpp:
20828        (SVGAnimateTransformElementImpl::handleTimerEvent):
20829        * ksvg2/svg/SVGAnimationElementImpl.cpp:
20830        (SVGAnimationElementImpl::parseMappedAttribute):
20831        * ksvg2/svg/SVGCursorElementImpl.cpp:
20832        * ksvg2/svg/SVGDocumentImpl.cpp:
20833        (WebCore::SVGDocumentImpl::finishedParsing):
20834        * ksvg2/svg/SVGLengthImpl.cpp:
20835        (SVGLengthImpl::updateValueInSpecifiedUnits):
20836        Removed use of kdWarning, kdDebug, etc.
20837
208382006-02-20  Maciej Stachowiak  <mjs@apple.com>
20839
20840        Reviewed by Darin.
20841
20842        - port QString to win32
20843
20844        * WebCore.vcproj/WebCore/WebCore.vcproj:
20845        * platform/QString.cpp:
20846        (strncasecmp):
20847        (QString::mid):
20848        (freeHandle):
20849
208502006-02-20  Eric Seidel  <eseidel@apple.com>
20851
20852        Reviewed by darin.
20853
20854        <rdar://problem/4449442> GMAIL: XMLHttpRequest does not correctly report "Interactive" state on receipt of load data
20855        Also cleaned up spacing a little.
20856
20857        No layout test possible (local loads are non incremental).
20858
20859        * xml/xmlhttprequest.cpp:
20860        (WebCore::XMLHttpRequest::changeState):
20861        (WebCore::XMLHttpRequest::slotData):
20862
208632006-02-20  Darin Adler  <darin@apple.com>
20864
20865        Reviewed by Maciej.
20866
20867        - fix http://bugs.webkit.org/show_bug.cgi?id=7318
20868          REGRESSION: Timer bug causes gif animation and (html and JS) page forwarding to fail
20869
20870        Timers were stopping firing after a while.
20871
20872        My testing makes this look like a CFRunLoopTimer bug, and it would be nice to reproduce
20873        this with a standalone test and report it to the CF team, but in the mean time, change
20874        to create a new timer each time instead of reusing the existing timer.
20875
20876        * platform/mac/SharedTimerMac.cpp:
20877        (WebCore::setSharedTimerFiredFunction): Added an assertion.
20878        (WebCore::setSharedTimerFireTime): Destroy the existing timer and create a new one every time.
20879        Also create a non-repeating timer rather than a repeating timer.
20880        (WebCore::stopSharedTimer): Destroy the existing timer rather than setting its fire date
20881        far into the future.
20882
208832006-02-19  Darin Adler  <darin@apple.com>
20884
20885        Reviewed by Maciej.
20886
20887        - cut out a little unneeded bridge code
20888
20889        * bridge/mac/WebCoreFrameBridge.h: Removed frame name from createWindowWithURL: method
20890        and changed it to return a page bridge. Also made createModalDialogWithURL: method
20891        return a page bridge. Removed the mainFrame and webView methods.
20892        * bridge/mac/WebCoreFrameBridge.mm:
20893        (-[WebCoreFrameBridge nextFrameWithWrap:]): Use page to get to main frame.
20894        (-[WebCoreFrameBridge setFrameNamespace:]): Ditto.
20895        (-[WebCoreFrameBridge frameNamespace]): Ditto.
20896        (-[WebCoreFrameBridge _shouldAllowAccessFrom:]): Ditto.
20897        (-[WebCoreFrameBridge _frameInAnyWindowNamed:sourceFrame:]): Ditto.
20898        (-[WebCoreFrameBridge findFrameNamed:]): Ditto.
20899        (-[WebCoreFrameBridge installInFrame:]): Ditto.
20900
20901        * bridge/mac/WebCorePageBridge.h: Added outerView method to replace webView method
20902        on the frame bridge.
20903
20904        * bridge/mac/BrowserExtensionMac.mm: (WebCore::BrowserExtensionMac::createNewWindow):
20905        Update to use a page bridge instead of frame bridge.
20906
209072006-02-19  Maciej Stachowiak  <mjs@apple.com>
20908
20909        Rubber-stamped by Anders.
20910
20911        - renamed ERROR to LOG_ERROR because some operating systems define ERROR in a system header
20912
20913        * bridge/mac/MacFrame.mm:
20914        (WebCore::MacFrame::passMouseDownEventToWidget):
20915        * bridge/mac/WebCoreFrameBridge.mm:
20916        (aeDescFromJSValue):
20917        (-[WebCoreFrameBridge computePageRectsWithPrintWidthScaleFactor:printHeight:]):
20918        * css/css_computedstyle.cpp:
20919        (WebCore::CSSComputedStyleDeclarationImpl::getPropertyCSSValue):
20920        * editing/Selection.cpp:
20921        (WebCore::Selection::toRange):
20922        * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
20923        (WebCore::KCanvasFEBlendQuartz::getCIFilter):
20924        (WebCore::KCanvasFEColorMatrixQuartz::getCIFilter):
20925        * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
20926        (WebCore::KRenderingDeviceQuartz::createResource):
20927        * khtml/xsl/xslt_processorimpl.cpp:
20928        (DOM::parseErrorFunc):
20929        * kwq/KWQFontMetrics.mm:
20930        (QFontMetrics::ascent):
20931        (QFontMetrics::descent):
20932        (QFontMetrics::lineSpacing):
20933        (QFontMetrics::xHeight):
20934        (QFontMetrics::width):
20935        (QFontMetrics::floatWidth):
20936        (QFontMetrics::checkSelectionPoint):
20937        * kwq/KWQKConfigBase.mm:
20938        (KConfig::readEntry):
20939        (KConfig::readNumEntry):
20940        (KConfig::readUnsignedNumEntry):
20941        * kwq/KWQLineEdit.mm:
20942        (KWQNSTextAlignmentForAlignmentFlags):
20943        * kwq/KWQObject.cpp:
20944        (QObject::connect):
20945        * kwq/KWQPainter.mm:
20946        (WebCore::QPainter::restore):
20947        (WebCore::QPainter::drawFocusRing):
20948        * kwq/KWQRegExp.cpp:
20949        (QRegExp::KWQRegExpPrivate::compile):
20950        (QRegExp::match):
20951        * kwq/KWQSignal.cpp:
20952        (KWQSignal::connect):
20953        (KWQSignal::disconnect):
20954        * kwq/KWQSlot.cpp:
20955        (KWQSlot::KWQSlot):
20956        * kwq/KWQTextCodec.cpp:
20957        (KWQTextDecoder::createICUConverter):
20958        (KWQTextDecoder::convertUsingICU):
20959        * kwq/WebCoreTextRendererFactory.mm:
20960        (-[WebCoreTextRendererFactory fontWithFamilies:traits:size:]):
20961        (-[WebCoreTextRendererFactory isFontFixedPitch:]):
20962        (-[WebCoreTextRendererFactory rendererWithFont:]):
20963        * page/Frame.cpp:
20964        (WebCore::Frame::paint):
20965
209662006-02-17  Maciej Stachowiak <mjs@apple.com>
20967
20968        Reviewed by Dave Hyatt.
20969
20970        - fix win32 build
20971
20972        * css/css_grammar.y:
20973        * khtml/html/html_objectimpl.cpp: #ifdef out all bindings code
20974        (WebCore::HTMLAppletElementImpl::~HTMLAppletElementImpl):
20975        (WebCore::HTMLAppletElementImpl::detach):
20976        (WebCore::HTMLEmbedElementImpl::~HTMLEmbedElementImpl):
20977        (WebCore::HTMLEmbedElementImpl::detach):
20978        (WebCore::HTMLObjectElementImpl::~HTMLObjectElementImpl):
20979        (WebCore::HTMLObjectElementImpl::detach):
20980        * khtml/html/html_objectimpl.h:
20981
209822006-02-18  Alexander Kellett  <lypanov@kde.org>
20983
20984        Reviewed by Maciej.
20985
20986        - Fix http://bugs.webkit.org/show_bug.cgi?id=7199.
20987
20988        Testcase:
20989          svg/custom/text-gradient-no-content.svg
20990
20991        * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
20992        (WebCore::KRenderingPaintServerGradientQuartz::teardown):
20993
209942006-02-18  David Harrison  <harrison@apple.com>
20995
20996        Reviewed by John.
20997
20998        <rdar://problem/4448212> _accessibilityTableCell please remove this.
20999
21000        Remove override of a defamed AX method.
21001
21002        * kwq/KWQListBox.mm:
21003        Dump _accessibilityTableCell.
21004
210052006-02-17  Mitz Pettel  <opendarwin.org@mitzpettel.com>
21006
21007        Test: fast/css/ex-after-font-variant.html
21008
21009        Reviewed by Darin.
21010
21011        - fix http://bugs.webkit.org/show_bug.cgi?id=4227
21012          The ex unit doesn't work for font-variant: small-caps
21013
21014        * css/cssstyleselector.cpp:
21015        (WebCore::CSSStyleSelector::applyDeclarations): Added CSS_PROP_FONT_VARIANT to the properties
21016        that need to be applied first, since it dirties the font.
21017
210182006-02-17  Adele Peterson  <adele@apple.com>
21019
21020        Reviewed by Beth.
21021
21022        Adding isEdited/setEdited hooks so onChange will fire for the new text fields.
21023
21024        * rendering/RenderTextField.cpp:
21025        (WebCore::m_dirty):
21026        (WebCore::RenderTextField::updateFromElement): setEdited to false when value attribute has changed.
21027        (WebCore::RenderTextField::subtreeHasChanged): setEdited to true when anonymous editable div has changed.
21028        * rendering/RenderTextField.h:
21029        (WebCore::RenderTextField::isEdited):
21030        (WebCore::RenderTextField::setEdited):
21031        (WebCore::RenderTextField::isTextField):
21032
210332006-02-17  Vicki Murley <vicki@apple.com>
21034
21035        Reviewed by Justin.
21036
21037        Get rid of handleFocusOut on text fields and textareas - move this functionality to the place
21038        where we resign focus on the previous node in setFocusNode.  Add isTextField on RenderObject
21039        as one way to distinguish from contenteditable elements - Win IE does not fire onChange for
21040        contenteditable elements, so we won't either. Also, expose the dirty bit variables previously
21041        checked in handleFocusOut methods in isEdited() and setEdited().
21042
21043        Fixes the following bugs:
21044        <rdar://problem/4315673> REGRESSION (1.2.2 - 1.3): onChange and onFocus events firing order differs for mouse click and tab (7227)
21045        <rdar://problem/4447009> for text fields, onChange should fire before onBlur to match Win IE
21046
21047        Test case is on the way.
21048
21049        * dom/DocumentImpl.cpp:
21050        (WebCore::DocumentImpl::setFocusNode): For textareas and text fields, fire a change event
21051        on the node that is resigning focus.  Make sure the blur event fires after the change event - 4447009.
21052        * rendering/render_form.cpp:
21053        (WebCore::RenderLineEdit::slotReturnPressed): Replace call to handleFocusOut with equivalent code.
21054        (WebCore::RenderLineEdit::isEdited): Added.
21055        (WebCore::RenderLineEdit::setEdited): Added.
21056        (WebCore::RenderTextArea::setEdited): Added.
21057        * rendering/render_form.h:
21058        (WebCore::RenderLineEdit::isTextField): Added.
21059        (WebCore::RenderTextArea::isTextArea): Make this non-virtual.
21060        (WebCore::RenderTextArea::isEdited): Added.
21061        * rendering/render_object.h:
21062        (WebCore::RenderObject::isEdited): Added.
21063        (WebCore::RenderObject::setEdited): Added.
21064        (WebCore::RenderObject::isTextField): Added.
21065        * rendering/render_replaced.h: Remove handleFocusOut().
21066        * rendering/render_replaced.cpp: Ditto.
21067        (WebCore::RenderWidget::eventFilter): Remove call to handleFocusOut().  Safe to do here,
21068        since we call setFocusNode immediately beforehand.
21069
210702006-02-17  Mitz Pettel  <opendarwin.org@mitzpettel.com>
21071
21072        Test: fast/parser/nofoo-tags-inside-paragraph.html
21073
21074        Reviewed by Anders Carlsson.
21075
21076        - fix http://bugs.webkit.org/show_bug.cgi?id=7265
21077          REGRESSION: noscript, noframes, nolayer, noembed tags insert break inside paragraph tag
21078
21079        * khtml/html/htmlparser.cpp:
21080        (HTMLParser::isInline): Treat noframes, nolayer, noembed and skipped noscript
21081        as inline elements.
21082
210832006-02-17  Mitz Pettel  <opendarwin.org@mitzpettel.com>
21084
21085        Reviewed by Hyatt.
21086
21087        - fix http://bugs.webkit.org/show_bug.cgi?id=7235
21088          Pure CSS Tooltips method renders wrong and creates artifacts
21089
21090        * manual-tests/bugzilla-7235.html: Added.
21091        * rendering/render_box.cpp:
21092        (WebCore::RenderBox::absolutePosition): Copied in here the logic for positioning
21093        relative to a relpositioned inline from RenderLayer::updateLayerPosition.
21094        (WebCore::RenderBox::computeAbsoluteRepaintRect): Ditto.
21095
210962006-02-17  Mitz Pettel  <opendarwin.org@mitzpettel.com>
21097
21098        Test: fast/css/universal-hover-quirk.html
21099
21100        Reviewed by Maciej.
21101
21102        - fix http://bugs.webkit.org/show_bug.cgi?id=7218
21103          Text underlined on mouse over
21104
21105        * css/cssstyleselector.cpp:
21106        (WebCore::CSSStyleSelector::checkOneSelector): Prevent *:hover and *:active
21107        from matching anything in quirks mode.
21108
211092006-02-17  Mitz Pettel  <opendarwin.org@mitzpettel.com>
21110
21111        Test: fast/text/whitespace/pre-wrap-spaces-after-newline.html
21112
21113        Reviewed by Dave Hyatt.
21114
21115        - fix http://bugs.webkit.org/show_bug.cgi?id=7216
21116          white-space: pre-wrap collapses leading whitespace following a newline
21117
21118        * rendering/bidi.cpp:
21119        (khtml::RenderBlock::bidiReorderLine): Use previousLineBrokeCleanly instead of
21120        resetBidiAtEnd now that the former is always correct.
21121        (khtml::RenderBlock::layoutInlineChildren): Use new skipTrailingNewline flag.
21122        (khtml::RenderBlock::findNextLineBreak): Set previousLineBrokeCleanly for line breaks
21123        caused by newlines as well. Added skipTrailingNewline flag.
21124
211252006-02-16  Tim Omernick  <timo@apple.com>
21126
21127        Reviewed by Adele.
21128
21129        <rdar://problem/4193286> enabledPlugin returns a non-NULL object even when plugins are
21130        disabled (4140)
21131
21132        * khtml/ecma/kjs_navigator.cpp:
21133        (KJS::MimeType::getValueProperty):
21134        Only return a Plugin object for the "enabledPlugin" property if plugins are enabled.  This
21135        matches what other browsers do.
21136
211372006-02-16  Darin Adler  <darin@apple.com>
21138
21139        Reviewed by Eric and Justin.
21140
21141        - fix http://bugs.webkit.org/show_bug.cgi?id=7310
21142          fix leaks by using RefPtr more
21143
21144        * bindings/objc/DOM.mm:
21145        (-[DOMDocument adoptNode:]):
21146        (-[DOMDocument createElement:]):
21147        (-[DOMDocument createDocumentFragment]):
21148        (-[DOMDocument createTextNode:]):
21149        (-[DOMDocument createComment:]):
21150        (-[DOMDocument createCDATASection:]):
21151        (-[DOMDocument createProcessingInstruction::]):
21152        (-[DOMDocument createEntityReference:]):
21153        (-[DOMDocument importNode::]):
21154        (-[DOMDocument createElementNS::]):
21155        (-[DOMDocument createRange]):
21156        (-[DOMDocument createCSSStyleDeclaration]):
21157        (-[DOMDocument createNodeIterator::::]):
21158        (-[DOMDocument createTreeWalker::::]):
21159        * bindings/objc/DOMCSS.mm:
21160        (-[DOMCSSStyleDeclaration getPropertyCSSValue:]):
21161        * bindings/objc/DOMEvents.mm:
21162        (-[DOMDocument createEvent:]):
21163        * bridge/mac/MacFrame.h:
21164        * bridge/mac/MacFrame.mm:
21165        (WebCore::MacFrame::MacFrame):
21166        (WebCore::MacFrame::freeClipboard):
21167        (WebCore::MacFrame::setView):
21168        (WebCore::MacFrame::wheelEvent):
21169        (WebCore::MacFrame::openURLFromPageCache):
21170        (WebCore::MacFrame::mouseDownViewIfStillGood):
21171        (WebCore::MacFrame::khtmlMouseMoveEvent):
21172        (WebCore::MacFrame::dispatchCPPEvent):
21173        (WebCore::MacFrame::mouseDown):
21174        (WebCore::MacFrame::mouseDragged):
21175        (WebCore::MacFrame::mouseUp):
21176        (WebCore::MacFrame::mouseMoved):
21177        (WebCore::MacFrame::sendContextMenuEvent):
21178        (WebCore::MacFrame::dispatchDragSrcEvent):
21179        * bridge/mac/WebCoreFrameBridge.mm:
21180        (-[WebCoreFrameBridge convertToDOMRange:]):
21181        (-[WebCoreFrameBridge convertNSRangeToDOMRange:]):
21182        (-[WebCoreFrameBridge selectNSRange:]):
21183        (-[WebCoreFrameBridge smartDeleteRangeForProposedRange:]):
21184        (-[WebCoreFrameBridge typingStyle]):
21185        (-[WebCoreFrameBridge dragOperationForDraggingInfo:]):
21186        (-[WebCoreFrameBridge dragExitedWithDraggingInfo:]):
21187        (-[WebCoreFrameBridge concludeDragForDraggingInfo:]):
21188        * css/css_computedstyle.cpp:
21189        (WebCore::CSSComputedStyleDeclarationImpl::CSSComputedStyleDeclarationImpl):
21190        (WebCore::CSSComputedStyleDeclarationImpl::cssText):
21191        (WebCore::CSSComputedStyleDeclarationImpl::setCssText):
21192        (WebCore::CSSComputedStyleDeclarationImpl::getPropertyCSSValue):
21193        (WebCore::CSSComputedStyleDeclarationImpl::getPropertyValue):
21194        (WebCore::CSSComputedStyleDeclarationImpl::removeProperty):
21195        (WebCore::CSSComputedStyleDeclarationImpl::setProperty):
21196        (WebCore::CSSComputedStyleDeclarationImpl::item):
21197        (WebCore::CSSComputedStyleDeclarationImpl::copyInheritableProperties):
21198        (WebCore::CSSComputedStyleDeclarationImpl::copy):
21199        (WebCore::CSSComputedStyleDeclarationImpl::makeMutable):
21200        * css/css_computedstyle.h:
21201        * css/css_grammar.y:
21202        * css/css_ruleimpl.cpp:
21203        (WebCore::CSSStyleRuleImpl::~CSSStyleRuleImpl):
21204        (WebCore::CSSStyleRuleImpl::setDeclaration):
21205        * css/css_ruleimpl.h:
21206        (DOM::CSSStyleRuleImpl::style):
21207        (DOM::CSSStyleRuleImpl::declaration):
21208        * css/css_valueimpl.cpp:
21209        (WebCore::propertyID):
21210        (WebCore::quoteStringIfNeeded):
21211        (WebCore::CSSStyleDeclarationImpl::getPropertyCSSValue):
21212        (WebCore::CSSStyleDeclarationImpl::getPropertyValue):
21213        (WebCore::CSSStyleDeclarationImpl::getPropertyPriority):
21214        (WebCore::CSSStyleDeclarationImpl::getPropertyShorthand):
21215        (WebCore::CSSStyleDeclarationImpl::isPropertyImplicit):
21216        (WebCore::CSSStyleDeclarationImpl::setProperty):
21217        (WebCore::CSSStyleDeclarationImpl::removeProperty):
21218        (WebCore::CSSStyleDeclarationImpl::isPropertyName):
21219        (WebCore::CSSMutableStyleDeclarationImpl::getPropertyValue):
21220        (WebCore::CSSMutableStyleDeclarationImpl::get4Values):
21221        (WebCore::CSSMutableStyleDeclarationImpl::getShortHandValue):
21222        (WebCore::CSSMutableStyleDeclarationImpl::getPropertyCSSValue):
21223        (WebCore::CSSMutableStyleDeclarationImpl::removeProperty):
21224        (WebCore::CSSMutableStyleDeclarationImpl::setProperty):
21225        (WebCore::CSSMutableStyleDeclarationImpl::setStringProperty):
21226        (WebCore::CSSMutableStyleDeclarationImpl::setImageProperty):
21227        (WebCore::CSSMutableStyleDeclarationImpl::parseDeclaration):
21228        (WebCore::CSSMutableStyleDeclarationImpl::setLengthProperty):
21229        (WebCore::CSSMutableStyleDeclarationImpl::item):
21230        (WebCore::CSSMutableStyleDeclarationImpl::cssText):
21231        (WebCore::CSSMutableStyleDeclarationImpl::setCssText):
21232        (WebCore::CSSMutableStyleDeclarationImpl::copyBlockProperties):
21233        (WebCore::CSSStyleDeclarationImpl::copyPropertiesInSet):
21234        (WebCore::CSSMutableStyleDeclarationImpl::removePropertiesInSet):
21235        (WebCore::CSSMutableStyleDeclarationImpl::makeMutable):
21236        (WebCore::CSSMutableStyleDeclarationImpl::copy):
21237        (WebCore::CSSInheritedValueImpl::cssText):
21238        (WebCore::CSSInitialValueImpl::cssText):
21239        (WebCore::CSSValueListImpl::append):
21240        (WebCore::CSSValueListImpl::cssText):
21241        (WebCore::CSSPrimitiveValueImpl::CSSPrimitiveValueImpl):
21242        (WebCore::CSSPrimitiveValueImpl::cleanup):
21243        (WebCore::CSSPrimitiveValueImpl::setStringValue):
21244        (WebCore::CSSPrimitiveValueImpl::getStringValue):
21245        (WebCore::CSSPrimitiveValueImpl::parseString):
21246        (WebCore::CSSPrimitiveValueImpl::cssText):
21247        (WebCore::CSSImageValueImpl::CSSImageValueImpl):
21248        (WebCore::CSSBorderImageValueImpl::CSSBorderImageValueImpl):
21249        (WebCore::CSSBorderImageValueImpl::cssText):
21250        (WebCore::FontFamilyValueImpl::FontFamilyValueImpl):
21251        (WebCore::FontFamilyValueImpl::cssText):
21252        (WebCore::FontValueImpl::cssText):
21253        (WebCore::ShadowValueImpl::ShadowValueImpl):
21254        (WebCore::ShadowValueImpl::cssText):
21255        (WebCore::CSSProperty::cssText):
21256        * css/css_valueimpl.h:
21257        (WebCore::CSSValueImpl::setCssText):
21258        (WebCore::CSSValueListImpl::item):
21259        (WebCore::CSSPrimitiveValueImpl::getFloatValue):
21260        (WebCore::CSSPrimitiveValueImpl::getCounterValue):
21261        (WebCore::CSSPrimitiveValueImpl::getRectValue):
21262        (WebCore::CSSPrimitiveValueImpl::getRGBColorValue):
21263        (WebCore::CSSPrimitiveValueImpl::getPairValue):
21264        (WebCore::CSSPrimitiveValueImpl::getDashboardRegionValue):
21265        (WebCore::CSSPrimitiveValueImpl::):
21266        (WebCore::CSSQuirkPrimitiveValueImpl::CSSQuirkPrimitiveValueImpl):
21267        (WebCore::CounterImpl::identifier):
21268        (WebCore::CounterImpl::listStyle):
21269        (WebCore::CounterImpl::separator):
21270        (WebCore::RectImpl::top):
21271        (WebCore::RectImpl::right):
21272        (WebCore::RectImpl::bottom):
21273        (WebCore::RectImpl::left):
21274        (WebCore::RectImpl::setTop):
21275        (WebCore::RectImpl::setRight):
21276        (WebCore::RectImpl::setBottom):
21277        (WebCore::RectImpl::setLeft):
21278        (WebCore::PairImpl::first):
21279        (WebCore::PairImpl::second):
21280        (WebCore::PairImpl::setFirst):
21281        (WebCore::PairImpl::setSecond):
21282        (WebCore::DashboardRegionImpl::DashboardRegionImpl):
21283        (WebCore::FontFamilyValueImpl::fontName):
21284        (WebCore::CSSProperty::CSSProperty):
21285        (WebCore::CSSProperty::value):
21286        (WebCore::CSSMutableStyleDeclarationImpl::setNode):
21287        (WebCore::CSSMutableStyleDeclarationImpl::setProperty):
21288        (WebCore::CSSMutableStyleDeclarationImpl::removeProperty):
21289        * css/cssparser.cpp:
21290        (CSSParser::createStyleDeclaration):
21291        (CSSParser::parseDashboardRegions):
21292        * css/cssparser.h:
21293        (WebCore::Value::):
21294        (WebCore::qString):
21295        (WebCore::domString):
21296        (WebCore::atomicString):
21297        (WebCore::ValueList::current):
21298        (WebCore::ValueList::next):
21299        (WebCore::CSSParser::current):
21300        * css/cssstyleselector.cpp:
21301        (WebCore::CSSStyleSelector::applyProperty):
21302        * dom/DOMImplementationImpl.cpp:
21303        (DOM::DOMImplementationImpl::createDocument):
21304        (DOM::DOMImplementationImpl::instance):
21305        * dom/DOMImplementationImpl.h:
21306        * dom/DocumentImpl.cpp:
21307        (WebCore::DocumentImpl::DocumentImpl):
21308        (WebCore::DocumentImpl::~DocumentImpl):
21309        (WebCore::DocumentImpl::setDocType):
21310        (WebCore::DocumentImpl::createElement):
21311        (WebCore::DocumentImpl::createDocumentFragment):
21312        (WebCore::DocumentImpl::createTextNode):
21313        (WebCore::DocumentImpl::createComment):
21314        (WebCore::DocumentImpl::createCDATASection):
21315        (WebCore::DocumentImpl::createProcessingInstruction):
21316        (WebCore::DocumentImpl::createEntityReference):
21317        (WebCore::DocumentImpl::createEditingTextNode):
21318        (WebCore::DocumentImpl::createCSSStyleDeclaration):
21319        (WebCore::DocumentImpl::importNode):
21320        (WebCore::DocumentImpl::adoptNode):
21321        (WebCore::DocumentImpl::createElementNS):
21322        (WebCore::DocumentImpl::setTitle):
21323        (WebCore::DocumentImpl::createRange):
21324        (WebCore::DocumentImpl::createNodeIterator):
21325        (WebCore::DocumentImpl::createTreeWalker):
21326        (WebCore::DocumentImpl::setStyleSheet):
21327        (WebCore::DocumentImpl::setHoverNode):
21328        (WebCore::DocumentImpl::setActiveNode):
21329        (WebCore::DocumentImpl::setFocusNode):
21330        (WebCore::DocumentImpl::defaultView):
21331        (WebCore::DocumentImpl::createEvent):
21332        (WebCore::DocumentImpl::setHTMLWindowEventListener):
21333        (WebCore::DocumentImpl::addWindowEventListener):
21334        (WebCore::DocumentImpl::createHTMLEventListener):
21335        (WebCore::DocumentImpl::images):
21336        (WebCore::DocumentImpl::applets):
21337        (WebCore::DocumentImpl::embeds):
21338        (WebCore::DocumentImpl::objects):
21339        (WebCore::DocumentImpl::links):
21340        (WebCore::DocumentImpl::forms):
21341        (WebCore::DocumentImpl::anchors):
21342        (WebCore::DocumentImpl::all):
21343        (WebCore::DocumentImpl::windowNamedItems):
21344        (WebCore::DocumentImpl::documentNamedItems):
21345        (WebCore::DocumentImpl::getElementsByName):
21346        * dom/DocumentImpl.h:
21347        (WebCore::DocumentImpl::realDocType):
21348        (WebCore::DocumentImpl::createAttribute):
21349        (WebCore::DocumentImpl::title):
21350        (WebCore::DocumentImpl::styleSelector):
21351        (WebCore::DocumentImpl::setRestoreState):
21352        (WebCore::DocumentImpl::restoreState):
21353        (WebCore::DocumentImpl::view):
21354        (WebCore::DocumentImpl::docLoader):
21355        (WebCore::DocumentImpl::tokenizer):
21356        (WebCore::DocumentImpl::focusNode):
21357        (WebCore::DocumentImpl::hoverNode):
21358        (WebCore::DocumentImpl::activeNode):
21359        (WebCore::DocumentImpl::policyBaseURL):
21360        (WebCore::DocumentImpl::setPolicyBaseURL):
21361        (WebCore::DocumentImpl::):
21362        (WebCore::DocumentImpl::transformSourceDocument):
21363        (WebCore::DocumentImpl::domTreeVersion):
21364        (WebCore::DocumentImpl::decoder):
21365        * dom/NodeListImpl.cpp:
21366        (DOM::NodeListImpl::NodeListImpl):
21367        (DOM::NodeListImpl::~NodeListImpl):
21368        (DOM::NodeListImpl::recursiveLength):
21369        (DOM::NodeListImpl::recursiveItem):
21370        (DOM::NodeListImpl::itemById):
21371        * dom/NodeListImpl.h:
21372        * dom/dom2_eventsimpl.cpp:
21373        (WebCore::RegisteredEventListener::RegisteredEventListener):
21374        * dom/dom2_eventsimpl.h:
21375        (WebCore::operator!=):
21376        * dom/dom2_traversalimpl.cpp:
21377        (DOM::TraversalImpl::TraversalImpl):
21378        (DOM::NodeIteratorImpl::NodeIteratorImpl):
21379        (DOM::TreeWalkerImpl::TreeWalkerImpl):
21380        * dom/dom2_traversalimpl.h:
21381        (WebCore::TraversalImpl::root):
21382        (WebCore::TraversalImpl::filter):
21383        (WebCore::NodeIteratorImpl::referenceNode):
21384        (WebCore::NodeIteratorImpl::setPointerBeforeReferenceNode):
21385        (WebCore::NodeIteratorImpl::setDetached):
21386        (WebCore::NodeIteratorImpl::document):
21387        (WebCore::TreeWalkerImpl::currentNode):
21388        * dom/dom_position.cpp:
21389        (WebCore::Position::computedStyle):
21390        * dom/dom_position.h:
21391        * dom/xml_tokenizer.cpp:
21392        (WebCore::XMLTokenizer::insertErrorMessageBlock):
21393        * editing/ApplyStyleCommand.cpp:
21394        (WebCore::createFontElement):
21395        (WebCore::createStyleSpanElement):
21396        (WebCore::ApplyStyleCommand::ApplyStyleCommand):
21397        (WebCore::ApplyStyleCommand::updateStartEnd):
21398        (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
21399        (WebCore::ApplyStyleCommand::extractTextDecorationStyle):
21400        (WebCore::ApplyStyleCommand::extractAndNegateTextDecorationStyle):
21401        (WebCore::ApplyStyleCommand::applyTextDecorationStyle):
21402        (WebCore::ApplyStyleCommand::removeInlineStyle):
21403        (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
21404        (WebCore::ApplyStyleCommand::computedFontSize):
21405        * editing/ApplyStyleCommand.h:
21406        (WebCore::ApplyStyleCommand::style):
21407        * editing/EditCommand.cpp:
21408        (WebCore::EditCommandPtr::setTypingStyle):
21409        (WebCore::EditCommand::setTypingStyle):
21410        (WebCore::EditCommand::styleAtPosition):
21411        * editing/EditCommand.h:
21412        (WebCore::EditCommand::document):
21413        (WebCore::EditCommand::typingStyle):
21414        * editing/InsertLineBreakCommand.cpp:
21415        (WebCore::InsertLineBreakCommand::InsertLineBreakCommand):
21416        (WebCore::InsertLineBreakCommand::doApply):
21417        * editing/InsertTextCommand.cpp:
21418        (WebCore::InsertTextCommand::prepareForTextInsertion):
21419        * editing/ReplaceSelectionCommand.cpp:
21420        (WebCore::computeAndStoreNodeDesiredStyle):
21421        (WebCore::NodeDesiredStyle::NodeDesiredStyle):
21422        (WebCore::ReplaceSelectionCommand::doApply):
21423        * editing/ReplaceSelectionCommand.h:
21424        (WebCore::NodeDesiredStyle::node):
21425        (WebCore::NodeDesiredStyle::style):
21426        (WebCore::ReplacementFragment::root):
21427        * editing/WrapContentsInDummySpanCommand.cpp:
21428        (WebCore::WrapContentsInDummySpanCommand::doApply):
21429        * editing/htmlediting.cpp:
21430        (WebCore::createDefaultParagraphElement):
21431        (WebCore::createBreakElement):
21432        * editing/markup.cpp:
21433        (WebCore::createFragmentFromMarkup):
21434        (WebCore::createParagraphContentsFromString):
21435        * editing/visible_text.cpp:
21436        (khtml::TextIterator::rangeFromLocationAndLength):
21437        * editing/visible_text.h:
21438        (WebCore::isCollapsibleWhitespace):
21439        (WebCore::WordAwareIterator::range):
21440        * khtml/ecma/kjs_css.cpp:
21441        (KJS::DOMCSSStyleDeclaration::cssPropertyGetter):
21442        (KJS::DOMCSSStyleDeclarationProtoFunc::callAsFunction):
21443        * khtml/ecma/kjs_dom.cpp:
21444        (KJS::DOMDocumentProtoFunc::callAsFunction):
21445        * khtml/ecma/kjs_html.cpp:
21446        (KJS::KJS::HTMLSelectCollection::put):
21447        (KJS::OptionConstructorImp::construct):
21448        * khtml/html/HTMLElementImpl.cpp:
21449        (WebCore::HTMLElementImpl::createContextualFragment):
21450        (WebCore::HTMLElementImpl::setInnerHTML):
21451        (WebCore::HTMLElementImpl::setOuterHTML):
21452        (WebCore::HTMLElementImpl::setOuterText):
21453        * khtml/html/HTMLElementImpl.h:
21454        * khtml/html/HTMLNameCollectionImpl.cpp:
21455        (WebCore::HTMLNameCollectionImpl::HTMLNameCollectionImpl):
21456        (WebCore::HTMLNameCollectionImpl::traverseNextItem):
21457        * khtml/html/HTMLNameCollectionImpl.h:
21458        * khtml/html/html_documentimpl.cpp:
21459        (WebCore::HTMLDocumentImpl::createElement):
21460        * khtml/html/html_documentimpl.h:
21461        (WebCore::HTMLDocumentImpl::collectionInfo):
21462        * khtml/html/htmlfactory.cpp:
21463        (DOM::htmlConstructor):
21464        (DOM::headConstructor):
21465        (DOM::bodyConstructor):
21466        (DOM::baseConstructor):
21467        (DOM::linkConstructor):
21468        (DOM::metaConstructor):
21469        (DOM::styleConstructor):
21470        (DOM::titleConstructor):
21471        (DOM::frameConstructor):
21472        (DOM::framesetConstructor):
21473        (DOM::iframeConstructor):
21474        (DOM::formConstructor):
21475        (DOM::buttonConstructor):
21476        (DOM::inputConstructor):
21477        (DOM::isindexConstructor):
21478        (DOM::fieldsetConstructor):
21479        (DOM::labelConstructor):
21480        (DOM::legendConstructor):
21481        (DOM::optgroupConstructor):
21482        (DOM::optionConstructor):
21483        (DOM::selectConstructor):
21484        (DOM::textareaConstructor):
21485        (DOM::dlConstructor):
21486        (DOM::ulConstructor):
21487        (DOM::olConstructor):
21488        (DOM::dirConstructor):
21489        (DOM::menuConstructor):
21490        (DOM::liConstructor):
21491        (DOM::blockquoteConstructor):
21492        (DOM::divConstructor):
21493        (DOM::headingConstructor):
21494        (DOM::hrConstructor):
21495        (DOM::paragraphConstructor):
21496        (DOM::preConstructor):
21497        (DOM::basefontConstructor):
21498        (DOM::fontConstructor):
21499        (DOM::modConstructor):
21500        (DOM::anchorConstructor):
21501        (DOM::imageConstructor):
21502        (DOM::mapConstructor):
21503        (DOM::areaConstructor):
21504        (DOM::canvasConstructor):
21505        (DOM::appletConstructor):
21506        (DOM::embedConstructor):
21507        (DOM::objectConstructor):
21508        (DOM::paramConstructor):
21509        (DOM::scriptConstructor):
21510        (DOM::tableConstructor):
21511        (DOM::tableCaptionConstructor):
21512        (DOM::tableColConstructor):
21513        (DOM::tableRowConstructor):
21514        (DOM::tableCellConstructor):
21515        (DOM::tableSectionConstructor):
21516        (DOM::brConstructor):
21517        (DOM::quoteConstructor):
21518        (DOM::marqueeConstructor):
21519        (DOM::HTMLElementFactory::createHTMLElement):
21520        * khtml/html/htmlfactory.h:
21521        * khtml/html/htmlparser.cpp:
21522        (HTMLParser::parseToken):
21523        (HTMLParser::textCreateErrorCheck):
21524        (HTMLParser::commentCreateErrorCheck):
21525        (HTMLParser::headCreateErrorCheck):
21526        (HTMLParser::bodyCreateErrorCheck):
21527        (HTMLParser::framesetCreateErrorCheck):
21528        (HTMLParser::iframeCreateErrorCheck):
21529        (HTMLParser::formCreateErrorCheck):
21530        (HTMLParser::isindexCreateErrorCheck):
21531        (HTMLParser::selectCreateErrorCheck):
21532        (HTMLParser::ddCreateErrorCheck):
21533        (HTMLParser::dtCreateErrorCheck):
21534        (HTMLParser::nestedCreateErrorCheck):
21535        (HTMLParser::nestedStyleCreateErrorCheck):
21536        (HTMLParser::tableCellCreateErrorCheck):
21537        (HTMLParser::tableSectionCreateErrorCheck):
21538        (HTMLParser::noembedCreateErrorCheck):
21539        (HTMLParser::noframesCreateErrorCheck):
21540        (HTMLParser::noscriptCreateErrorCheck):
21541        (HTMLParser::mapCreateErrorCheck):
21542        (HTMLParser::getNode):
21543        * khtml/html/htmlparser.h:
21544        * khtml/html/htmltokenizer.cpp:
21545        (WebCore::HTMLTokenizer::parseTag):
21546        (WebCore::HTMLTokenizer::processToken):
21547        * khtml/html/htmltokenizer.h:
21548        * ksvg2/misc/SVGDocumentExtensions.cpp:
21549        (WebCore::SVGDocumentExtensions::createSVGEventListener):
21550        * ksvg2/misc/SVGDocumentExtensions.h:
21551        * ksvg2/svg/SVGDOMImplementationImpl.cpp:
21552        (SVGDOMImplementationImpl::createDocumentType):
21553        (SVGDOMImplementationImpl::createDocument):
21554        (SVGDOMImplementationImpl::createCSSStyleSheet):
21555        * ksvg2/svg/SVGDOMImplementationImpl.h:
21556        * ksvg2/svg/SVGDocumentImpl.cpp:
21557        (WebCore::SVGDocumentImpl::createElement):
21558        (WebCore::SVGDocumentImpl::dispatchZoomEvent):
21559        (WebCore::SVGDocumentImpl::dispatchKeyEvent):
21560        (WebCore::SVGDocumentImpl::dispatchUIEvent):
21561        (WebCore::SVGDocumentImpl::dispatchMouseEvent):
21562        * ksvg2/svg/SVGDocumentImpl.h:
21563        * ksvg2/svg/SVGElementImpl.cpp:
21564        (WebCore::SVGElementImpl::addSVGEventListener):
21565        * ksvg2/svg/SVGSVGElementImpl.cpp:
21566        (WebCore::SVGSVGElementImpl::addSVGWindowEventListner):
21567        * page/Frame.cpp:
21568        (WebCore::Frame::view):
21569        (WebCore::Frame::begin):
21570        (WebCore::Frame::computeAndSetTypingStyle):
21571        (WebCore::Frame::selectionHasStyle):
21572        (WebCore::Frame::selectionStartHasStyle):
21573        (WebCore::Frame::selectionStartStylePropertyValue):
21574        (WebCore::Frame::selectionComputedStyle):
21575        (WebCore::Frame::forceLayout):
21576        (WebCore::Frame::sendResizeEvent):
21577        (WebCore::Frame::sendScrollEvent):
21578        (WebCore::Frame::clearTimers):
21579        (WebCore::Frame::styleForSelectionStart):
21580        * page/FramePrivate.h:
21581        * page/FrameTree.h:
21582        (WebCore::FrameTree::name):
21583
215842006-02-16  David Harrison  <harrison@apple.com>
21585
21586        Reviewed by Darin.
21587
21588        Test:
21589        * manual-tests/mail-attachments.html: Added.
21590        Automated test not currently possible because widgets do not actually draw when not in a window.
21591        Geoff and Justin are fixing that and will add this test.
21592
21593        * rendering/render_frames.cpp:
21594        (WebCore::RenderPartObject::updateWidget):
21595        Fix unique param check when processing object tag attributes.
21596
215972006-02-16  Adele Peterson  <adele@apple.com>
21598
21599        Reviewed by Darin.
21600
21601        - Fixed http://bugs.webkit.org/show_bug.cgi?id=7113
21602        Typing in editable overflow:hidden div doesn't scroll
21603
21604        * bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge ensureSelectionVisible]):
21605          Changed scrollRectToVisible call so that it will align to the edge instead of trying to center the selection.
21606          Centering looks funny when it happens after typing, deleting, moving the cursor, etc.
21607        * rendering/render_layer.cpp: (WebCore::RenderLayer::scrollRectToVisible):
21608          Use scrollWidth() and scrollHeight() functions instead of m_scrollWidth and m_scrollHeight.
21609          These functions will cause the correct scroll dimensions to be calculated for overflow:hidden layers.
21610          Also subtracted scrollbar width and height when calculating the layer bounds. This was causing scroll problems in overflow:scroll.
21611          I also did some cleanup to use xPos() and yPos() instead of m_x and m_y, and to use scrollYOffset() instead of m_scrollY.
21612
216132006-02-16  Adele Peterson  <adele@apple.com>
21614
21615        Reviewed by Darin.
21616
21617        - Fixed http://bugs.webkit.org/show_bug.cgi?id=6812
21618        Missing focus ring on new text fields
21619
21620        Tests:
21621        * fast/forms/input-appearance-focus.html: Updated.
21622
21623        * rendering/render_object.cpp: (WebCore::RenderObject::paintOutline):
21624         call supportsFocusRing instead of checking the appearance.
21625        * rendering/render_theme.cpp: (khtml::RenderTheme::supportsFocusRing): Added.
21626         Checks appearance.  Theme will draw focus ring if there's an appearance, but not for the new text fields.
21627        * rendering/render_theme.h:
21628
216292006-02-16  Darin Adler  <darin@apple.com>
21630
21631        Reviewed by Hyatt.
21632
21633        - eliminate QFrame and QObject::inherits, fix some strange stuff
21634          in RenderCanvas that showed up when I tested that change
21635
21636        * kwq/KWQFrame.h: Removed.
21637        * kwq/KWQFrame.mm: Removed.
21638
21639        * bridge/mac/FrameViewMac.mm: Added.
21640
21641        * WebCore.xcodeproj/project.pbxproj: Updated for adds and removes.
21642        * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for removes.
21643
21644        * bridge/mac/WebCoreFrameBridge.mm:
21645        (-[WebCoreFrameBridge RenderObject::nodeInfoAtPoint:]):
21646        * khtml/ecma/kjs_window.cpp:
21647        (KJS::FrameArray::indexGetter):
21648        (KJS::FrameArray::nameGetter):
21649        * kwq/KWQAccObject.mm:
21650        (-[KWQAccObject doAXTextMarkerForPosition:]):
21651        * kwq/KWQRenderTreeDebug.cpp:
21652        (write):
21653        * page/Frame.cpp:
21654        (WebCore::isFrameElement):
21655        * page/FramePrivate.h:
21656        (WebCore::FramePrivate::FramePrivate):
21657        Change QObject::inherits callers to call the "is" functions directly.
21658
21659        * kwq/KWQObject.h:
21660        * kwq/KWQObject.cpp: Removed QObject::inherits, QObject::isQFrame,
21661        and QObject::isQScrollView.
21662
21663        * kwq/KWQScrollView.h: Inherit from Widget instead of QFrame.
21664        Remove isQScrollView.
21665        * kwq/KWQScrollView.mm: Remove isQScrollView.
21666
21667        * page/FrameView.h:
21668        * page/FrameView.cpp: Changed underMouse and clickNode to be RefPtr.
21669        Added m_hasBorder.
21670        (WebCore::FrameViewPrivate::FrameViewPrivate):
21671        (WebCore::FrameViewPrivate::~FrameViewPrivate):
21672        (WebCore::FrameViewPrivate::reset):
21673        (WebCore::FrameView::layout):
21674        (WebCore::FrameView::viewportMousePressEvent):
21675        (WebCore::FrameView::invalidateClick):
21676        (WebCore::FrameView::viewportMouseReleaseEvent):
21677        (WebCore::FrameView::keyPressEvent):
21678        (WebCore::FrameView::dispatchDragEvent): Use RefPtr for MouseEventImpl.
21679        (WebCore::FrameView::nodeUnderMouse):
21680        (WebCore::FrameView::dispatchMouseEvent):
21681        (WebCore::FrameView::setHasBorder): Added.
21682        (WebCore::FrameView::hasBorder): Added.
21683        (WebCore::FrameView::borderWidth): Added.
21684
21685        * rendering/render_canvas.h: Eliminated unneeded setWidth/Height overrides.
21686        Eliminated viewportWidth(), viewportHeight(), m_rootWidth, m_rootHeight,
21687        m_viewportWidth, and m_viewportHeight.
21688        * rendering/render_canvas.cpp:
21689        (RenderCanvas::calcHeight): Remove unneeded code to set height when there's
21690        no view.
21691        (RenderCanvas::calcWidth): Fix code to set width to visibleWidth(). Removed
21692        incorrect old width setting, and removed unneeded code to set width when
21693        there's no view. Also removed incorrect margin-setting code.
21694        (RenderCanvas::layout): Removed incorrect code to set width and height.
21695        Instead letting calcWidth and calcHeight do the job.
21696        (RenderCanvas::repaintViewRectangle): Use new FrameView::hasBorder instead
21697        of QFrame::frameStyle.
21698        (RenderCanvas::viewRect): Removed unneeded "root width" feature for a canvas
21699        without a view.
21700
21701        * rendering/render_frames.cpp:
21702        (WebCore::RenderFrame::slotViewCleared): Use new setHasBorder.
21703        (WebCore::RenderPartObject::slotViewCleared): Ditto.
21704
217052006-02-17  Eric Seidel  <eseidel@apple.com>
21706
21707        Reviewed by justing.
21708
21709        Close several age-old leaks in xslt code.
21710        Tests already were catching these.
21711
21712        * khtml/xsl/xsl_stylesheetimpl.cpp:
21713        (WebCore::XSLStyleSheetImpl::loadChildSheets):
21714        (WebCore::XSLStyleSheetImpl::locateStylesheetSubResource):
21715        * khtml/xsl/xslt_processorimpl.cpp:
21716        (WebCore::docLoaderFunc):
21717
217182006-02-16  Tim Omernick  <timo@apple.com>
21719
21720        Reviewed by Geoff.
21721
21722        <rdar://problem/4428609> Flash Player 8.0.22 can crash Safari (and WebKit apps)
21723        with javascript disabled (7015)
21724
21725        Added a test case, manual-tests/NPN_Invoke.  This is a skeleton of a Netscape
21726        plugin which uses NPN_Invoke() to call the window.alert() JavaScript function.
21727
21728        * bridge/mac/MacFrame.mm:
21729        (WebCore::MacFrame::windowScriptNPObject):
21730        Removed the check Darin added to return 0 when JavaScript is disabled.
21731        This method cannot return 0, because plugins are not guaranteed to check
21732        for that.
21733        Removed my old fix for Radar 4428609 (7015) in favor of a better solution.
21734        Instead of creating a "dummy" JSObject to represent the window script object
21735        when JavaScript is disabled, we use the new JavaScriptCore bindings API to
21736        create a "no script" NPObject.  This solution is better because it does not
21737        cause entry into any JavaScript interpreter code.
21738
21739        * manual-tests/NPN_Invoke: Added.
21740        * manual-tests/NPN_Invoke/English.lproj: Added.
21741        * manual-tests/NPN_Invoke/English.lproj/Localized.r: Added.
21742        * manual-tests/NPN_Invoke/Info.plist: Added.
21743        * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj: Added.
21744        * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj/project.pbxproj: Added.
21745        * manual-tests/NPN_Invoke/main.c: Added.
21746        * manual-tests/NPN_Invoke/test.html: Added.
21747
217482006-02-16  Mitz Pettel  <opendarwin.org@mitzpettel.com>
21749
21750        Reviewed by Darin, landed by ap.
21751
21752        - fix http://bugs.webkit.org/show_bug.cgi?id=7274
21753          Assertion failure in TimerBase::checkHeapIndex() (Timer.cpp:199) !timerHeap->isEmpty()
21754
21755        * platform/Timer.cpp:
21756        (WebCore::TimerBase::stop): Call setNextFireTime(0) unconditionally to make sure the timer
21757        is removed from timersReadyToFire so that fireTimers doesn't try to fire a deleted timer.
21758
217592006-02-15  Geoffrey Garen  <ggaren@apple.com>
21760
21761        Reviewed by Maciej, Eric.
21762
21763        - WebCore half of fix for <rdar://problem/4176077> CrashTracer: 6569
21764        crashes in DashboardClient at com.apple.JavaScriptCore:
21765        KJS::Bindings::ObjcFallbackObjectImp::type()
21766
21767        WebCore and JavaScriptCore weren't sharing Instance objects very
21768        nicely. I made them use RefPtrs, and sent them to bed without dessert.
21769
21770        * khtml/html/html_objectimpl.cpp:
21771        (WebCore::HTMLAppletElementImpl::HTMLAppletElementImpl): Made
21772        appletInstance a RefPtr
21773        (WebCore::HTMLAppletElementImpl::getAppletInstance):
21774        (WebCore::HTMLAppletElementImpl::detach):
21775        (WebCore::HTMLEmbedElementImpl::HTMLEmbedElementImpl): Made
21776        embedInstance a RefPtr
21777        (WebCore::HTMLEmbedElementImpl::getEmbedInstance):
21778        (WebCore::HTMLEmbedElementImpl::detach):
21779        (WebCore::HTMLObjectElementImpl::HTMLObjectElementImpl): Made
21780        objectInstance a RefPtr
21781        (WebCore::HTMLObjectElementImpl::getObjectInstance):
21782        (WebCore::HTMLObjectElementImpl::detach):
21783        * bindings/js/JSDOMCore.cpp:
21784        * khtml/ecma/kjs_dom.cpp:
21785        (KJS::getRuntimeObject):
21786        * khtml/html/html_objectimpl.h:
21787
217882006-02-15  Geoffrey Garen  <ggaren@apple.com>
21789
21790        Reviewed by Eric.
21791
21792        - Fixed http://bugs.webkit.org/show_bug.cgi?id=4674
21793        LEAK: WheelEventImpl leaked when mousewheel used
21794
21795        No test case because it requires manual mouse wheeling.
21796
21797        * dom/NodeImpl.cpp:
21798        (WebCore::NodeImpl::dispatchWheelEvent): Use a RefPtr instead of just
21799        leaking the WheelEventImpl.
21800
218012006-02-15  Dave Hyatt <hyatt@apple.com>
21802
21803        Make FontFamily compile on Win32 (just needed a few more
21804        __APPLE__ ifdefs).
21805
21806        Clean up the frameBufferAtIndex method of the image decoders
21807        on Win32.
21808
21809        * WebCore.vcproj/WebCore/WebCore.vcproj:
21810        * kwq/KWQFont.h:
21811        * platform/FontFamily.cpp:
21812        (WebCore::FontFamily::FontFamily):
21813        * platform/cairo/ImageSourceCairo.cpp:
21814        (WebCore::ImageSource::createFrameAtIndex):
21815        (WebCore::ImageSource::frameDurationAtIndex):
21816        (WebCore::ImageSource::frameHasAlphaAtIndex):
21817        * platform/image-decoders/ImageDecoder.h:
21818        * platform/image-decoders/gif/GIFImageDecoder.cpp:
21819        (WebCore::GIFImageDecoder::frameBufferAtIndex):
21820        * platform/image-decoders/gif/GIFImageDecoder.h:
21821        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
21822        (WebCore::JPEGImageDecoder::frameBufferAtIndex):
21823        * platform/image-decoders/jpeg/JPEGImageDecoder.h:
21824        * platform/image-decoders/png/PNGImageDecoder.cpp:
21825        (WebCore::PNGImageDecoder::frameBufferAtIndex):
21826        * platform/image-decoders/png/PNGImageDecoder.h:
21827
218282006-02-15  David Hyatt  <hyatt@apple.com>
21829
21830        Make KWQFontFamily portable.  Split it out into a cross-platform core and the Mac-specific version.
21831        Move it to platform and rename it to FontFamily (and FontFamilyMac).
21832
21833        Reviewed by eric
21834
21835        * WebCore.xcodeproj/project.pbxproj:
21836        * css/cssstyleselector.cpp:
21837        (WebCore::CSSStyleSelector::applyProperty):
21838        * kwq/KWQFont.h:
21839        (QFont::firstFamily):
21840        * kwq/KWQFont.mm:
21841        (QFont::setFirstFamily):
21842        * kwq/KWQFontFamily.h: Removed.
21843        * kwq/KWQFontFamily.mm: Removed.
21844        * platform/FontFamily.cpp: Added.
21845        (WebCore::FontFamily::FontFamily):
21846        (WebCore::FontFamily::~FontFamily):
21847        (WebCore::FontFamily::operator=):
21848        (WebCore::FontFamily::setFamily):
21849        (WebCore::FontFamily::operator==):
21850        * platform/FontFamily.h: Added.
21851        (WebCore::FontFamily::family):
21852        (WebCore::FontFamily::familyIsEmpty):
21853        (WebCore::FontFamily::next):
21854        (WebCore::FontFamily::appendFamily):
21855        (WebCore::FontFamily::operator!=):
21856        (WebCore::FontFamily::ref):
21857        (WebCore::FontFamily::deref):
21858        * platform/mac/FontFamilyMac.mm: Added.
21859        (WebCore::retainDOMStringImpl):
21860        (WebCore::releaseDOMStringImpl):
21861        (WebCore::):
21862        (WebCore::FontFamily::getNSFamily):
21863        * rendering/font.h:
21864        (khtml::FontDef::firstFamily):
21865
218662006-02-15  Oliver Hunt  <ojh16@student.canterbury.ac.nz>
21867
21868        Reviewed by eseidel.  Landed by eseidel.
21869
21870        Implemented feDisplacementMap.
21871        http://bugs.webkit.org/show_bug.cgi?id=5862
21872
21873        Test: svg/custom/feDisplacementMap-01.svg
21874
21875        * WebCore.xcodeproj/project.pbxproj: added files.
21876        * kcanvas/KCanvasFilters.cpp:
21877        (WebCore::KCanvasFEDisplacementMap::externalRepresentation):
21878        * kcanvas/KCanvasFilters.h:
21879        (WebCore::KCanvasFEDisplacementMap::KCanvasFEDisplacementMap):
21880        (WebCore::KCanvasFEDisplacementMap::xChannelSelector):
21881        (WebCore::KCanvasFEDisplacementMap::setXChannelSelector):
21882        (WebCore::KCanvasFEDisplacementMap::yChannelSelector):
21883        (WebCore::KCanvasFEDisplacementMap::setYChannelSelector):
21884        (WebCore::KCanvasFEDisplacementMap::scale):
21885        (WebCore::KCanvasFEDisplacementMap::setScale):
21886        * kcanvas/device/quartz/KCanvasFilterQuartz.h:
21887        * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
21888        (WebCore::getVectorForChannel):
21889        (WebCore::KCanvasFEDisplacementMapQuartz::getCIFilter):
21890        * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
21891        (WebCore::KRenderingDeviceQuartz::createFilterEffect):
21892        * kcanvas/device/quartz/filters/WKDisplacementMapFilter.cikernel: Added.
21893        * kcanvas/device/quartz/filters/WKDisplacementMapFilter.h: Added.
21894        * kcanvas/device/quartz/filters/WKDisplacementMapFilter.m: Added.
21895        (+[WKDisplacementMapFilter initialize]):
21896        (+[WKDisplacementMapFilter filterWithName:]):
21897        (-[WKDisplacementMapFilter init]):
21898        (-[WKDisplacementMapFilter outputImage]):
21899        * ksvg2/svg/SVGFEDisplacementMapElementImpl.cpp: Added.
21900        (SVGFEDisplacementMapElementImpl::SVGFEDisplacementMapElementImpl):
21901        (SVGFEDisplacementMapElementImpl::~SVGFEDisplacementMapElementImpl):
21902        (SVGFEDisplacementMapElementImpl::in1):
21903        (SVGFEDisplacementMapElementImpl::in2):
21904        (SVGFEDisplacementMapElementImpl::xChannelSelector):
21905        (SVGFEDisplacementMapElementImpl::yChannelSelector):
21906        (SVGFEDisplacementMapElementImpl::scale):
21907        (SVGFEDisplacementMapElementImpl::stringToChannel):
21908        (SVGFEDisplacementMapElementImpl::parseMappedAttribute):
21909        (SVGFEDisplacementMapElementImpl::filterEffect):
21910        * ksvg2/svg/SVGFEDisplacementMapElementImpl.h: Added.
21911        * ksvg2/svg/svgtags.in:
21912
219132006-02-15  Eric Seidel  <eseidel@apple.com>
21914
21915        Reviewed by darin.
21916
21917        Commit change forgotten after editing directory move.
21918
21919        * editing/markup.cpp:
21920        (khtml::startMarkup): add support for serializing DOCTYPEs in xml
21921
219222006-02-15  Alexey Proskuryakov  <ap@nypop.com>
21923
21924        Reviewed by Maciej.
21925
21926        - fix http://bugs.webkit.org/show_bug.cgi?id=6452
21927         KURL::appendEscapingBadChars() doesn't know about %u-escaping.
21928
21929        Test case: fast/encoding/percent-escaping.html
21930
21931        * kwq/KWQKURL.mm: (appendEscapingBadChars):
21932        Rather than adding support for %u, remove the existing
21933        "do what I mean" escaping of percent characters that do not
21934        look like a result of prior escaping.
21935
219362006-02-14  Eric Seidel  <eseidel@apple.com>
21937
21938        Fix build failure from last minute edit.
21939
21940        * khtml/xsl/xsl_stylesheetimpl.cpp:
21941        (WebCore::XSLStyleSheetImpl::parseString):
21942
219432006-02-14  Eric Seidel  <eseidel@apple.com>
21944
21945        Reviewed by darin.
21946
21947        Add incremental parsing support to XMLTokenizer.
21948        This patch also does a few other little things:
21949        - removes (unused) onHold support from Tokenizer
21950        - adds serialization of DOCTYPEs for xml documents
21951        - fixes xslt support to no longer depend on synchronous parsing
21952        - fixes css styling for pages where xsl recursion is blocked
21953        http://bugs.webkit.org/show_bug.cgi?id=6057
21954
21955        * dom/DocumentImpl.cpp:
21956        (WebCore::DocumentImpl::DocumentImpl):
21957        (WebCore::DocumentImpl::createProcessingInstruction):
21958        (WebCore::DocumentImpl::open):
21959        (WebCore::DocumentImpl::recalcStyleSelector):
21960        * dom/dom_xmlimpl.cpp:
21961        (WebCore::ProcessingInstructionImpl::checkStyleSheet):
21962        * dom/xml_tokenizer.cpp:
21963        (WebCore::XMLTokenizer::XMLTokenizer):
21964        (WebCore::XMLTokenizer::write):
21965        (WebCore::XMLTokenizer::startElementNs):
21966        (WebCore::XMLTokenizer::error):
21967        (WebCore::XMLTokenizer::initializeParserContext):
21968        (WebCore::XMLTokenizer::finish):
21969        (WebCore::xmlDocPtrForString):
21970        (WebCore::parseAttributes):
21971        * dom/xml_tokenizer.h:
21972        * khtml/editing/markup.cpp:
21973        (khtml::startMarkup): DOCTYPE serialization
21974        * khtml/html/htmltokenizer.cpp:
21975        (WebCore::HTMLTokenizer::HTMLTokenizer): removed onHold
21976        (WebCore::HTMLTokenizer::reset): removed onHold
21977        (WebCore::HTMLTokenizer::begin): removed onHold
21978        (WebCore::HTMLTokenizer::write): removed onHold
21979        (WebCore::HTMLTokenizer::finish): removed onHold
21980        * khtml/html/htmltokenizer.h: removed onHold support
21981        * khtml/xsl/xsl_stylesheetimpl.cpp:
21982        (WebCore::XSLStyleSheetImpl::XSLStyleSheetImpl):
21983        (WebCore::XSLStyleSheetImpl::~XSLStyleSheetImpl):
21984        (WebCore::XSLStyleSheetImpl::document):
21985        (WebCore::XSLStyleSheetImpl::setDocument):
21986        (WebCore::XSLStyleSheetImpl::parseString):
21987        (WebCore::XSLStyleSheetImpl::loadChildSheets):
21988        (WebCore::XSLStyleSheetImpl::compileStyleSheet):
21989        (WebCore::XSLStyleSheetImpl::locateStylesheetSubResource):
21990        * khtml/xsl/xsl_stylesheetimpl.h: moved functions to .cpp file
21991
219922006-02-14  Adele Peterson  <adele@apple.com>
21993
21994        Reviewed by Maciej.
21995
21996        http://bugs.webkit.org/show_bug.cgi?id=6815
21997        Calculate correct width for new text fields
21998
21999        Tests:
22000        fast/forms/input-appearance-width.html
22001        fast/forms/input-appearance-minWidth.html
22002
22003        * rendering/RenderTextField.cpp:
22004        (WebCore::RenderTextField::createDivStyle): Remove fixed width for text field.
22005        (WebCore::RenderTextField::calcMinMaxWidth): Added.  This calls RenderBlock::calcMinMaxWidth and
22006         then uses the size attribute to determine what the maxWidth should be.
22007        * rendering/RenderTextField.h: Added calcMinMaxWidth.
22008        * rendering/render_theme_mac.h: Added adjustTextFieldStyle.
22009        * rendering/render_theme_mac.mm:
22010        (WebCore::RenderThemeMac::adjustRepaintRect): Remove inflation of rect.  This is no longer necessary.
22011        (WebCore::RenderThemeMac::paintTextField): ditto.
22012        (WebCore::RenderThemeMac::setTextFieldCellState): change true to YES.
22013        (WebCore::RenderThemeMac::adjustTextFieldStyle): Added. This is the temporary home of the code to set the
22014         right padding and margins.  When we flip the switch, this will go in html4.css.
22015
220162006-02-14  John Sullivan  <sullivan@apple.com>
22017
22018        Reviewed by Tim Hatcher.
22019
22020        removed -[DOMHTMLSelectElement _optionLabels], formerly used only by Safari, now unused.
22021
22022        * bindings/objc/DOMHTML.mm:
22023        * bindings/objc/DOMPrivate.h:
22024
220252006-02-14  Timothy Hatcher  <timothy@apple.com>
22026
22027        Reviewed by Justin.
22028
22029        Fixed <rdar://problem/4415050> STD: WebCore build steps use echo -n, which will change
22030        behavior due to POSIX version of sh
22031
22032        * WebCore.xcodeproj/project.pbxproj: removed the use of echo -n, replaced with printf ""
22033
220342006-02-14  Darin Adler  <darin@apple.com>
22035
22036        Rubber-stamped by Eric.
22037
22038        - moved editing sources from khtml/editing to editing, and renamed files with single classes
22039
22040        * WebCore.xcodeproj/project.pbxproj: Added new, removed old.
22041        * WebCore.vcproj/WebCore/WebCore.vcproj: Ditto.
22042
22043        * bridge/mac/MacFrame.mm:
22044        * bridge/mac/WebCoreFrameBridge.mm:
22045        * dom/DocumentImpl.cpp:
22046        * dom/dom2_rangeimpl.cpp:
22047        * dom/dom_position.cpp:
22048        * khtml/khtml_events.cpp:
22049        * kwq/KWQAccObject.mm:
22050        * kwq/KWQAccObjectCache.h:
22051        * kwq/KWQEditCommand.mm:
22052        * page/Frame.cpp:
22053        * page/FramePrivate.h:
22054        * rendering/RenderBlock.cpp:
22055        * rendering/RenderContainer.cpp:
22056        * rendering/RenderText.cpp:
22057        * rendering/render_br.cpp:
22058        * rendering/render_inline.cpp:
22059        * rendering/render_object.cpp:
22060        * rendering/render_replaced.cpp:
22061        Fixed up includes.
22062
22063        * editing: Added.
22064        * editing/AppendNodeCommand.cpp: Added.
22065        * editing/AppendNodeCommand.h: Added.
22066        * editing/ApplyStyleCommand.cpp: Added.
22067        * editing/ApplyStyleCommand.h: Added.
22068        * editing/BreakBlockquoteCommand.cpp: Added.
22069        * editing/BreakBlockquoteCommand.h: Added.
22070        * editing/CompositeEditCommand.cpp: Added.
22071        * editing/CompositeEditCommand.h: Added.
22072        * editing/DeleteFromTextNodeCommand.cpp: Added.
22073        * editing/DeleteFromTextNodeCommand.h: Added.
22074        * editing/DeleteSelectionCommand.cpp: Added.
22075        * editing/DeleteSelectionCommand.h: Added.
22076        * editing/EditCommand.cpp: Added.
22077        * editing/EditCommand.h: Added.
22078        * editing/InsertIntoTextNodeCommand.cpp: Added.
22079        * editing/InsertIntoTextNodeCommand.h: Added.
22080        * editing/InsertLineBreakCommand.cpp: Added.
22081        * editing/InsertLineBreakCommand.h: Added.
22082        * editing/InsertNodeBeforeCommand.cpp: Added.
22083        * editing/InsertNodeBeforeCommand.h: Added.
22084        * editing/InsertParagraphSeparatorCommand.cpp: Added.
22085        * editing/InsertParagraphSeparatorCommand.h: Added.
22086        * editing/InsertTextCommand.cpp: Added.
22087        * editing/InsertTextCommand.h: Added.
22088        * editing/JoinTextNodesCommand.cpp: Added.
22089        * editing/JoinTextNodesCommand.h: Added.
22090        * editing/MergeIdenticalElementsCommand.cpp: Added.
22091        * editing/MergeIdenticalElementsCommand.h: Added.
22092        * editing/MoveSelectionCommand.cpp: Added.
22093        * editing/MoveSelectionCommand.h: Added.
22094        * editing/RebalanceWhitespaceCommand.cpp: Added.
22095        * editing/RebalanceWhitespaceCommand.h: Added.
22096        * editing/RemoveCSSPropertyCommand.cpp: Added.
22097        * editing/RemoveCSSPropertyCommand.h: Added.
22098        * editing/RemoveNodeAttributeCommand.cpp: Added.
22099        * editing/RemoveNodeAttributeCommand.h: Added.
22100        * editing/RemoveNodeCommand.cpp: Added.
22101        * editing/RemoveNodeCommand.h: Added.
22102        * editing/RemoveNodePreservingChildrenCommand.cpp: Added.
22103        * editing/RemoveNodePreservingChildrenCommand.h: Added.
22104        * editing/ReplaceSelectionCommand.cpp: Added.
22105        * editing/ReplaceSelectionCommand.h: Added.
22106        * editing/Selection.cpp:
22107        * editing/SelectionController.cpp:
22108        * editing/SetNodeAttributeCommand.cpp: Added.
22109        * editing/SetNodeAttributeCommand.h: Added.
22110        * editing/SplitElementCommand.cpp: Added.
22111        * editing/SplitElementCommand.h: Added.
22112        * editing/SplitTextNodeCommand.cpp: Added.
22113        * editing/SplitTextNodeCommand.h: Added.
22114        * editing/SplitTextNodeContainingElementCommand.cpp: Added.
22115        * editing/SplitTextNodeContainingElementCommand.h: Added.
22116        * editing/TypingCommand.cpp: Added.
22117        * editing/TypingCommand.h: Added.
22118        * editing/VisiblePosition.cpp: Added.
22119        * editing/VisiblePosition.h: Added.
22120        * editing/VisibleRange.cpp: Added.
22121        * editing/VisibleRange.h: Added.
22122        * editing/WrapContentsInDummySpanCommand.cpp: Added.
22123        * editing/WrapContentsInDummySpanCommand.h: Added.
22124        * editing/append_node_command.cpp: Removed.
22125        * editing/append_node_command.h: Removed.
22126        * editing/apply_style_command.cpp: Removed.
22127        * editing/apply_style_command.h: Removed.
22128        * editing/break_blockquote_command.cpp: Removed.
22129        * editing/break_blockquote_command.h: Removed.
22130        * editing/composite_edit_command.cpp: Removed.
22131        * editing/composite_edit_command.h: Removed.
22132        * editing/delete_from_text_node_command.cpp: Removed.
22133        * editing/delete_from_text_node_command.h: Removed.
22134        * editing/delete_selection_command.cpp: Removed.
22135        * editing/delete_selection_command.h: Removed.
22136        * editing/edit_command.cpp: Removed.
22137        * editing/edit_command.h: Removed.
22138        * editing/htmlediting.cpp:
22139        * editing/insert_into_text_node_command.cpp: Removed.
22140        * editing/insert_into_text_node_command.h: Removed.
22141        * editing/insert_line_break_command.cpp: Removed.
22142        * editing/insert_line_break_command.h: Removed.
22143        * editing/insert_node_before_command.cpp: Removed.
22144        * editing/insert_node_before_command.h: Removed.
22145        * editing/insert_paragraph_separator_command.cpp: Removed.
22146        * editing/insert_paragraph_separator_command.h: Removed.
22147        * editing/insert_text_command.cpp: Removed.
22148        * editing/insert_text_command.h: Removed.
22149        * editing/join_text_nodes_command.cpp: Removed.
22150        * editing/join_text_nodes_command.h: Removed.
22151        * editing/jsediting.cpp:
22152        * editing/markup.cpp:
22153        * editing/merge_identical_elements_command.cpp: Removed.
22154        * editing/merge_identical_elements_command.h: Removed.
22155        * editing/move_selection_command.cpp: Removed.
22156        * editing/move_selection_command.h: Removed.
22157        * editing/rebalance_whitespace_command.cpp: Removed.
22158        * editing/rebalance_whitespace_command.h: Removed.
22159        * editing/remove_css_property_command.cpp: Removed.
22160        * editing/remove_css_property_command.h: Removed.
22161        * editing/remove_node_attribute_command.cpp: Removed.
22162        * editing/remove_node_attribute_command.h: Removed.
22163        * editing/remove_node_command.cpp: Removed.
22164        * editing/remove_node_command.h: Removed.
22165        * editing/remove_node_preserving_children_command.cpp: Removed.
22166        * editing/remove_node_preserving_children_command.h: Removed.
22167        * editing/replace_selection_command.cpp: Removed.
22168        * editing/replace_selection_command.h: Removed.
22169        * editing/set_node_attribute_command.cpp: Removed.
22170        * editing/set_node_attribute_command.h: Removed.
22171        * editing/split_element_command.cpp: Removed.
22172        * editing/split_element_command.h: Removed.
22173        * editing/split_text_node_command.cpp: Removed.
22174        * editing/split_text_node_command.h: Removed.
22175        * editing/split_text_node_containing_element.cpp: Removed.
22176        * editing/split_text_node_containing_element_command.h: Removed.
22177        * editing/typing_command.cpp: Removed.
22178        * editing/typing_command.h: Removed.
22179        * editing/visible_position.cpp: Removed.
22180        * editing/visible_position.h: Removed.
22181        * editing/visible_range.cpp: Removed.
22182        * editing/visible_range.h: Removed.
22183        * editing/visible_units.cpp:
22184        * editing/wrap_contents_in_dummy_span_command.cpp: Removed.
22185        * editing/wrap_contents_in_dummy_span_command.h: Removed.
22186
22187        * khtml/editing: Removed.
22188        * khtml/editing/Selection.cpp: Removed.
22189        * khtml/editing/Selection.h: Removed.
22190        * khtml/editing/SelectionController.cpp: Removed.
22191        * khtml/editing/SelectionController.h: Removed.
22192        * khtml/editing/append_node_command.cpp: Removed.
22193        * khtml/editing/append_node_command.h: Removed.
22194        * khtml/editing/apply_style_command.cpp: Removed.
22195        * khtml/editing/apply_style_command.h: Removed.
22196        * khtml/editing/break_blockquote_command.cpp: Removed.
22197        * khtml/editing/break_blockquote_command.h: Removed.
22198        * khtml/editing/composite_edit_command.cpp: Removed.
22199        * khtml/editing/composite_edit_command.h: Removed.
22200        * khtml/editing/delete_from_text_node_command.cpp: Removed.
22201        * khtml/editing/delete_from_text_node_command.h: Removed.
22202        * khtml/editing/delete_selection_command.cpp: Removed.
22203        * khtml/editing/delete_selection_command.h: Removed.
22204        * khtml/editing/edit_actions.h: Removed.
22205        * khtml/editing/edit_command.cpp: Removed.
22206        * khtml/editing/edit_command.h: Removed.
22207        * khtml/editing/html_interchange.cpp: Removed.
22208        * khtml/editing/html_interchange.h: Removed.
22209        * khtml/editing/htmlediting.cpp: Removed.
22210        * khtml/editing/htmlediting.h: Removed.
22211        * khtml/editing/insert_into_text_node_command.cpp: Removed.
22212        * khtml/editing/insert_into_text_node_command.h: Removed.
22213        * khtml/editing/insert_line_break_command.cpp: Removed.
22214        * khtml/editing/insert_line_break_command.h: Removed.
22215        * khtml/editing/insert_node_before_command.cpp: Removed.
22216        * khtml/editing/insert_node_before_command.h: Removed.
22217        * khtml/editing/insert_paragraph_separator_command.cpp: Removed.
22218        * khtml/editing/insert_paragraph_separator_command.h: Removed.
22219        * khtml/editing/insert_text_command.cpp: Removed.
22220        * khtml/editing/insert_text_command.h: Removed.
22221        * khtml/editing/join_text_nodes_command.cpp: Removed.
22222        * khtml/editing/join_text_nodes_command.h: Removed.
22223        * khtml/editing/jsediting.cpp: Removed.
22224        * khtml/editing/jsediting.h: Removed.
22225        * khtml/editing/markup.cpp: Removed.
22226        * khtml/editing/markup.h: Removed.
22227        * khtml/editing/merge_identical_elements_command.cpp: Removed.
22228        * khtml/editing/merge_identical_elements_command.h: Removed.
22229        * khtml/editing/move_selection_command.cpp: Removed.
22230        * khtml/editing/move_selection_command.h: Removed.
22231        * khtml/editing/rebalance_whitespace_command.cpp: Removed.
22232        * khtml/editing/rebalance_whitespace_command.h: Removed.
22233        * khtml/editing/remove_css_property_command.cpp: Removed.
22234        * khtml/editing/remove_css_property_command.h: Removed.
22235        * khtml/editing/remove_node_attribute_command.cpp: Removed.
22236        * khtml/editing/remove_node_attribute_command.h: Removed.
22237        * khtml/editing/remove_node_command.cpp: Removed.
22238        * khtml/editing/remove_node_command.h: Removed.
22239        * khtml/editing/remove_node_preserving_children_command.cpp: Removed.
22240        * khtml/editing/remove_node_preserving_children_command.h: Removed.
22241        * khtml/editing/replace_selection_command.cpp: Removed.
22242        * khtml/editing/replace_selection_command.h: Removed.
22243        * khtml/editing/set_node_attribute_command.cpp: Removed.
22244        * khtml/editing/set_node_attribute_command.h: Removed.
22245        * khtml/editing/split_element_command.cpp: Removed.
22246        * khtml/editing/split_element_command.h: Removed.
22247        * khtml/editing/split_text_node_command.cpp: Removed.
22248        * khtml/editing/split_text_node_command.h: Removed.
22249        * khtml/editing/split_text_node_containing_element.cpp: Removed.
22250        * khtml/editing/split_text_node_containing_element_command.h: Removed.
22251        * khtml/editing/text_affinity.h: Removed.
22252        * khtml/editing/text_granularity.h: Removed.
22253        * khtml/editing/typing_command.cpp: Removed.
22254        * khtml/editing/typing_command.h: Removed.
22255        * khtml/editing/visible_position.cpp: Removed.
22256        * khtml/editing/visible_position.h: Removed.
22257        * khtml/editing/visible_range.cpp: Removed.
22258        * khtml/editing/visible_range.h: Removed.
22259        * khtml/editing/visible_text.cpp: Removed.
22260        * khtml/editing/visible_text.h: Removed.
22261        * khtml/editing/visible_units.cpp: Removed.
22262        * khtml/editing/visible_units.h: Removed.
22263        * khtml/editing/wrap_contents_in_dummy_span_command.cpp: Removed.
22264        * khtml/editing/wrap_contents_in_dummy_span_command.h: Removed.
22265
222662006-02-14  John Sullivan  <sullivan@apple.com>
22267
22268        Reviewed by Adele Peterson.
22269
22270        - fixed http://bugs.webkit.org/show_bug.cgi?id=7255
22271        label attribute in option elements is ignored
22272
22273        Test cases:
22274        * dom/html/level2/html/HTMLOptionElement_label01.html
22275        * dom/html/level2/html/HTMLOptionElement_label02.html
22276        * dom/html/level2/html/HTMLOptionElement_label03.html
22277
22278        * rendering/render_form.cpp:
22279        (WebCore::RenderSelect::updateFromElement):
22280        use label attribute, if present, when setting text on the widget.
22281
222822006-02-14  Vicki Murley <vicki@apple.com>
22283
22284        Reviewed by Maciej.
22285
22286        Change formatting in this file to match the style guidelines.  No spaces after
22287        opening parentheses or before closing parentheses.
22288
22289        * dom/DocumentImpl.cpp:
22290        (WebCore::DocumentImpl::createDocumentFragment):
22291        (WebCore::DocumentImpl::recalcStyle):
22292        (WebCore::DocumentImpl::attach):
22293        (WebCore::DocumentImpl::detach):
22294        (WebCore::DocumentImpl::open):
22295        (WebCore::DocumentImpl::write):
22296        (WebCore::DocumentImpl::writeln):
22297        (WebCore::DocumentImpl::setUserStyleSheet):
22298        (WebCore::DocumentImpl::determineParseMode):
22299        (WebCore::DocumentImpl::processHttpEquiv):
22300        (WebCore::DocumentImpl::childAllowed):
22301        (WebCore::DocumentImpl::childTypeAllowed):
22302        (WebCore::DocumentImpl::recalcStyleSelector):
22303        (WebCore::DocumentImpl::dispatchImageLoadEventsNow):
22304        (WebCore::DocumentImpl::domain):
22305        (WebCore::DocumentImpl::setDomain):
22306        (WebCore::DocumentImpl::parseQualifiedName):
22307        (WebCore::DocumentImpl::addMarker):
22308        (WebCore::DocumentImpl::removeMarkers):
22309
223102006-02-14  John Sullivan  <sullivan@apple.com>
22311
22312        Reviewed by Tim Hatcher.
22313
22314        Some cleanup from the previous checkin, inspired by Darin's comments
22315
22316        * bridge/mac/MacFrame.h:
22317        * bridge/mac/MacFrame.mm:
22318        moved highlightAllMatchesForString out of here
22319
22320        * bridge/mac/WebCoreFrameBridge.mm:
22321        (-[WebCoreFrameBridge highlightAllMatchesForString:caseSensitive:]):
22322        now converts NSString to QString here, rather than in Frame/MacFrame
22323
22324        * dom/DocumentMarker.h: Added.
22325        (WebCore::DocumentMarker::):
22326        (WebCore::DocumentMarker::operator == ):
22327        (WebCore::DocumentMarker::operator != ):
22328        moved this struct to its own header file
22329
22330        * dom/DocumentImpl.h:
22331        moved DocumentMarker out; now includes DocumentMarker.h
22332
22333        * page/Frame.h:
22334        * page/Frame.cpp:
22335        (WebCore::Frame::highlightAllMatchesForString):
22336        moved here from MacFrame.[h,mm]. I thought this used other code from
22337        MacFrame.mm but it doesn't.
22338
22339        * rendering/InlineTextBox.h:
22340        removed unnecesssary variable names; use DocumentMarker::MarkerType in signature
22341        of paintAllMarkersOfType
22342        * rendering/InlineTextBox.cpp:
22343        (khtml::InlineTextBox::paintTextMatchMarker):
22344        better name for a variable, fixed bad indent
22345        (khtml::InlineTextBox::paintAllMarkersOfType):
22346        rewrote loop to bail out early if past end, for clarity;
22347        use DocumentMarker::MarkerType in signature
22348
22349        * WebCore.xcodeproj/project.pbxproj:
22350        updated for new file
22351
223522006-02-13  John Sullivan  <sullivan@apple.com>
22353
22354        Reviewed by Tim Omernick.
22355
22356        Support for highlighting multiple text matches.
22357
22358        * dom/DocumentImpl.h:
22359        (WebCore::DocumentMarker::):
22360        Added new marker type TextMatch
22361
22362        * bridge/mac/WebCoreFrameBridge.h:
22363        * bridge/mac/WebCoreFrameBridge.mm:
22364        (-[WebCoreFrameBridge highlightAllMatchesForString:caseSensitive:]):
22365        new method, calls through to MacFrame implementation
22366        (-[WebCoreFrameBridge clearHighlightedMatches]):
22367        new method, removes all markers of type TextMatch
22368
22369        * bridge/mac/MacFrame.h:
22370        * bridge/mac/MacFrame.mm:
22371        (WebCore::MacFrame::highlightAllMatchesForString):
22372        new method, adds a document marker for each range that matches the given string
22373
22374        * rendering/InlineTextBox.h:
22375        * rendering/InlineTextBox.cpp:
22376        (khtml::InlineTextBox::paint):
22377        Moved DocumentMarker loop into separate method paintAllMarkersOfType. We now call
22378        that method twice, once for spelling markers (after drawing text) and once for
22379        text match markers (before drawing text)
22380        (khtml::InlineTextBox::paintTextMatchMarker):
22381        new method, paints a color behind a text match marker
22382        (khtml::InlineTextBox::paintSpellingMarker):
22383        renamed from paintMarker
22384        (khtml::InlineTextBox::paintAllMarkersOfType):
22385        new method, loops through all DocumentMarkers of a particular type and calls the
22386        appropriate painting method for each one
22387
223882006-02-13  Darin Adler  <darin@apple.com>
22389
22390        Reviewed by Maciej.
22391
22392        - move pointer from frame to page here from WebKit
22393
22394        * WebCore.xcodeproj/project.pbxproj: Added PageMac.h.
22395
22396        * bridge/mac/PageMac.h: Added.
22397
22398        * bridge/mac/MacFrame.h: Added a page parameter to the constructor.
22399        * bridge/mac/MacFrame.mm:
22400        (WebCore::MacFrame::MacFrame): Pass the page and renderer to the Frame constructor.
22401        Moved the call to Cache::init up into Frame, and got rid of the call to Frame::init
22402        since that's now handled by the constructor. Also put the code to create the
22403        browser extension object here.
22404        (WebCore::MacFrame::submitForm): Update for new method name.
22405        (WebCore::MacFrame::createFrame): Ditto.
22406        (WebCore::MacFrame::sendContextMenuEvent): Update since m_doc is a RefPtr.
22407
22408        * bridge/mac/WebCoreFrameBridge.h: Changed parameters on init methods. Renamed
22409        the part method to impl. Added a page method.
22410        * bridge/mac/WebCoreFrameBridge.mm:
22411        (frameHasSelection): Change use of part method to impl.
22412        (-[WebCoreFrameBridge appendChild:]): Use m_frame directly instead of calling part method.
22413        (-[WebCoreFrameBridge removeChild:]): Ditto.
22414        (-[WebCoreFrameBridge initMainFrameWithPage:]): Added. Now does the first-time initialization
22415        only here and create a frame for a main frame.
22416        (-[WebCoreFrameBridge initSubframeWithRenderer:]): Added. Doesn't do the first-time initialization
22417        and creates a frame for a subframe.
22418        (-[WebCoreFrameBridge page]): Added.
22419        (-[WebCoreFrameBridge setOpener:]): Change to use impl method instead of part.
22420        (-[WebCoreFrameBridge executionContextForView:]): Ditto.
22421        (-[WebCoreFrameBridge impl]): Added.
22422
22423        * bridge/mac/WebCorePageBridge.h: Removed init method and added setMainFrame: method and impl method.
22424        * bridge/mac/WebCorePageBridge.mm:
22425        (-[WebCorePageBridge init]): Changed to create a PageMac.
22426        (-[WebCorePageBridge setMainFrame:]): Added.
22427        (-[WebCorePageBridge impl]): Added.
22428
22429        * bridge/mac/BrowserExtensionMac.mm:
22430        (WebCore::BrowserExtensionMac::createNewWindow):
22431        * kwq/KWQAccObject.mm:
22432        (-[KWQAccObject rendererForView:]):
22433        * kwq/KWQComboBox.mm:
22434        (-[KWQPopUpButtonCell trackMouse:inRect:ofView:untilMouseUp:]):
22435        * kwq/KWQFileButton.mm:
22436        (KWQFileButton::focusPolicy):
22437        * kwq/KWQSlider.mm:
22438        (QSlider::focusPolicy):
22439        * kwq/KWQTextArea.mm:
22440        (-[KWQTextAreaTextView _isResizableByUser]):
22441        (-[KWQTextAreaTextView _trackResizeFromMouseDown:]):
22442        Change methods to get from bridge back to objects to be named "impl".
22443        The old one was named "part".
22444
22445        * page/Frame.h: Added Page and RenderPart parameter to constructor.
22446        Added a page function. Removed the createBrowserExtension function.
22447        * page/Frame.cpp:
22448        (WebCore::parentFromOwnerRenderer): Added. Helper for constructor.
22449        (WebCore::Frame::Frame): Moved all the code from init into here. Also change
22450        to set the parent right from the start.
22451        (WebCore::Frame::stopLoading): Change since m_doc is now a RefPtr.
22452        (WebCore::Frame::clear): Ditto.
22453        (WebCore::Frame::document): Ditto.
22454        (WebCore::Frame::setDocument): Ditto.
22455        (WebCore::Frame::begin): Ditto.
22456        (WebCore::Frame::gotoAnchor): Ditto.
22457        (WebCore::Frame::typingStyle): Change since m_typingStyle is now a RefPtr.
22458        (WebCore::Frame::setTypingStyle): Ditto.
22459        (WebCore::Frame::clearTypingStyle): Ditto.
22460        (WebCore::Frame::isFrameSet): Change since m_doc is now a RefPtr.
22461        (WebCore::Frame::page): Added.
22462
22463        * page/FramePrivate.h: Changed initialization to use member-initialization
22464        syntax. Removed unused m_frames. Changed m_doc and m_typingStyle to use
22465        RefPtr. Added an m_frame.
22466
22467        * page/Page.h: Made destructor virtual so we could have a Mac derived class.
22468        Added a setMainFrame function and removed the mainFrame parameter from the constructor.
22469        * page/Page.cpp:
22470        (WebCore::Page::Page): Removed the mainFrame parameter.
22471        (WebCore::Page::setMainFrame): Added.
22472
224732006-02-13  David Harrison  <harrison@apple.com>
22474
22475        Reviewed by Justin.
22476
22477        - merge VisiblePosition:isCandidate() into Position::inRenderedContent()
22478          These functions were answering the same question in different ways!  We
22479          only need one implementation.
22480
22481        * khtml/editing/visible_position.cpp:
22482        (khtml::VisiblePosition::init):
22483        (khtml::VisiblePosition::previousVisiblePosition):
22484        (khtml::VisiblePosition::nextVisiblePosition):
22485        (khtml::VisiblePosition::deepEquivalent):
22486        * khtml/editing/visible_position.h:
22487        * dom/dom_position.cpp:
22488        (DOM::hasRenderedChildrenWithHeight):
22489        (DOM::Position::inRenderedContent):
22490
22491
22492        - improved table deletion.
22493          Fixes: delete back by word from just after table did not delete the table
22494                 delete forward by char or word did not delete the table
22495                 deleting back to a table and again did not delete the table
22496
22497        * khtml/editing/htmlediting.cpp:
22498        (WebCore::isFirstVisiblePositionAfterTableElement):
22499        simpler implementation
22500        (WebCore::positionBeforePrecedingTableElement):
22501        simpler implementation
22502        (WebCore::isFirstVisiblePositionBeforeTableElement):
22503        new
22504        (WebCore::positionAfterFollowingTableElement):
22505        new
22506        * khtml/editing/htmlediting.h:
22507        * khtml/editing/SelectionController.cpp:
22508        (WebCore::SelectionController::modifyExtendingRightForward):
22509        select following table if granularity is char or word
22510        (WebCore::SelectionController::modifyExtendingLeftBackward):
22511        select preceding table if granularity is char or word
22512        * khtml/editing/typing_command.cpp:
22513        (khtml::TypingCommand::deleteKeyPressed):
22514        simpler implementation, and let other deleteKeyPressed do boundary checking
22515        (khtml::TypingCommand::forwardDeleteKeyPressed):
22516        simpler implementation, and let other forwardDeleteKeyPressed do boundary checking
22517        (khtml::TypingCommand::insertText):
22518        standard formatting
22519        (khtml::TypingCommand::insertLineBreak):
22520        standard formatting
22521        (khtml::TypingCommand::insertParagraphSeparatorInQuotedContent):
22522        standard formatting
22523        (khtml::TypingCommand::insertParagraphSeparator):
22524        standard formatting
22525        (khtml::TypingCommand::insertTextRunWithoutNewlines):
22526        standard formatting
22527        (khtml::TypingCommand::deleteKeyPressed):
22528        use SelectionController to extend selection, to get all the selection
22529        logic incl. table selection and editable/noneditable boundary checks
22530        (khtml::TypingCommand::forwardDeleteKeyPressed):
22531        use SelectionController to extend selection, to get all the selection
22532        logic incl. table selection and editable/noneditable boundary checks
22533
225342006-02-13  David Hyatt  <hyatt@apple.com>
22535
22536        Fix for bug 5605, XSLT fails to import to arbitrary depth.  Make sure m_embedded is initialized to false
22537        in the XSLTStyleSheetImpl constructor.
22538
22539        Reviewed by timo
22540
22541        Adding xslt-import-depth.xml to fast/xsl
22542
22543        * khtml/xsl/xsl_stylesheetimpl.cpp:
22544        (DOM::XSLStyleSheetImpl::XSLStyleSheetImpl):
22545
225462006-02-13  Dave Hyatt <hyatt@apple.com>
22547
22548        Fix Win32 bustage in WebCore.
22549
22550        Reviewed by darin
22551
22552        * WebCore.vcproj/WebCore/WebCore.vcproj:
22553        * platform/Timer.cpp:
22554        (WebCore::operator==):
22555        (WebCore::operator!=):
22556        (WebCore::TimerBase::heapPop):
22557
22558        HUGE_VAL can be used on both Windows and Mac, so replace 1e500 with
22559        that.
22560
22561        Add == and != operators for the TimerHeapIterator.
22562
22563        * platform/image-decoders/png/PNGImageDecoder.cpp:
22564        (WebCore::PNGImageDecoder::rowAvailable):
22565
22566        Fix my bustage in the PNG decoder where I left off a stray
22567        parenthesis.
22568
22569        * platform/win/SharedTimerWin.cpp:
22570        (WebCore::timerFired):
22571        (WebCore::setSharedTimerFireTime):
22572        (WebCore::stopSharedTimer):
22573
22574        KillTimer should take 2 arguments.  Add some missing includes.
22575
225762006-02-12  Alexander Kellett  <lypanov@kde.org>
22577
22578        Reviewed by eseidel.
22579
22580        Fix http://bugs.webkit.org/show_bug.cgi?id=7207.
22581
22582        No testcases as this is not possible to reproduce via anything
22583        other than manual interaction.
22584
22585        * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
22586        (WebCore::KCanvasFilterQuartz::getCIFilterStack):
22587
225882006-02-13  Darin Adler  <darin@apple.com>
22589
22590        Reviewed by Hyatt.
22591
22592        - moved QWidget to platform directory, renamed to Widget,
22593          split into cross-platform and platform-specific parts,
22594          removed some of the unused bits
22595
22596        * ForwardingHeaders/qwidget.h: Removed.
22597        * kwq/KWQWidget.h: Removed.
22598        * kwq/KWQWidget.mm: Removed.
22599
22600        * WebCore.vcproj/WebCore/WebCore.vcproj: Update for file removals and adds.
22601        * WebCore.xcodeproj/project.pbxproj: Ditto.
22602
22603        * platform/Widget.h: Moved code here, fixed it up.
22604        * platform/Widget.cpp: Ditto.
22605        * platform/mac/WidgetMac.mm: Added.
22606
22607        * bindings/objc/DOMHTML.mm:
22608        (viewForElement):
22609        * bridge/mac/KWQKHTMLView.cpp:
22610        (WebCore::FrameView::topLevelWidget):
22611        * bridge/mac/MacFrame.h:
22612        * bridge/mac/MacFrame.mm:
22613        (WebCore::MacFrame::createPlugin):
22614        (WebCore::MacFrame::nextKeyViewInFrame):
22615        (WebCore::MacFrame::nextKeyViewForWidget):
22616        (WebCore::MacFrame::currentEventIsMouseDownInWidget):
22617        (WebCore::MacFrame::bridgeForWidget):
22618        (WebCore::MacFrame::passMouseDownEventToWidget):
22619        (WebCore::MacFrame::passSubframeEventToSubframe):
22620        (WebCore::MacFrame::passWheelEventToChildWidget):
22621        (WebCore::MacFrame::getAppletInstanceForWidget):
22622        (WebCore::MacFrame::getEmbedInstanceForWidget):
22623        (WebCore::MacFrame::getObjectInstanceForWidget):
22624        * bridge/mac/WebCoreFrameBridge.mm:
22625        (-[WebCoreFrameBridge createFrameViewWithNSView:marginWidth:marginHeight:]):
22626        (-[WebCoreFrameBridge copyRenderNode:copier:]):
22627        (-[WebCoreFrameBridge elementForView:]):
22628        (-[WebCoreFrameBridge RenderObject::nodeInfoAtPoint:]):
22629        * dom/DocumentImpl.cpp:
22630        (WebCore::widgetForNode):
22631        (WebCore::DocumentImpl::setFocusNode):
22632        * khtml/ecma/kjs_window.cpp:
22633        (KJS::Screen::getValueProperty):
22634        (KJS::WindowFunc::callAsFunction):
22635        * khtml/html/HTMLGenericFormElementImpl.cpp:
22636        (WebCore::HTMLGenericFormElementImpl::isKeyboardFocusable):
22637        (WebCore::HTMLGenericFormElementImpl::isMouseFocusable):
22638        * khtml/html/html_objectimpl.cpp:
22639        (WebCore::HTMLEmbedElementImpl::getEmbedInstance):
22640        (WebCore::HTMLObjectElementImpl::getObjectInstance):
22641        * kwq/KWQAccObject.mm:
22642        (-[KWQAccObject addChildrenToArray:]):
22643        (-[KWQAccObject attachmentView]):
22644        (-[KWQAccObject doAXTextMarkerForPosition:]):
22645        * kwq/KWQComboBox.h:
22646        * kwq/KWQComboBox.mm:
22647        (QComboBox::frameGeometry):
22648        (QComboBox::setFrameGeometry):
22649        (QComboBox::setFont):
22650        (QComboBox::focusPolicy):
22651        (-[KWQPopUpButtonCell widget]):
22652        (-[KWQPopUpButton widget]):
22653        (-[KWQPopUpButton mouseDown:]):
22654        (-[KWQPopUpButton becomeFirstResponder]):
22655        (-[KWQPopUpButton resignFirstResponder]):
22656        (-[KWQPopUpButton nextKeyView]):
22657        (-[KWQPopUpButton previousKeyView]):
22658        * kwq/KWQFileButton.h:
22659        * kwq/KWQFileButton.mm:
22660        (KWQFileButton::focusPolicy):
22661        * kwq/KWQFrame.h:
22662        * kwq/KWQKCursor.h:
22663        * kwq/KWQKJavaAppletWidget.h:
22664        * kwq/KWQKJavaAppletWidget.mm:
22665        (KJavaAppletWidget::KJavaAppletWidget):
22666        * kwq/KWQLineEdit.h:
22667        * kwq/KWQLineEdit.mm:
22668        (QLineEdit::setFont):
22669        (QLineEdit::setPalette):
22670        (QLineEdit::focusPolicy):
22671        * kwq/KWQListBox.h:
22672        * kwq/KWQListBox.mm:
22673        (QListBox::QListBox):
22674        (QListBox::focusPolicy):
22675        (QListBox::setFont):
22676        (-[KWQListBoxScrollView widget]):
22677        (-[KWQListBoxScrollView becomeFirstResponder]):
22678        (-[KWQTableView mouseDown:]):
22679        (-[KWQTableView widget]):
22680        * kwq/KWQPainter.h:
22681        * kwq/KWQRenderTreeDebug.cpp:
22682        (write):
22683        * kwq/KWQScrollBar.h:
22684        * kwq/KWQScrollBar.mm:
22685        (-[KWQScrollBar widget]):
22686        (-[KWQScrollBar mouseDown:]):
22687        (QScrollBar::QScrollBar):
22688        (QScrollBar::~QScrollBar):
22689        * kwq/KWQScrollView.h:
22690        (QScrollView::QScrollView):
22691        * kwq/KWQScrollView.mm:
22692        (QScrollView::viewport):
22693        (QScrollView::childX):
22694        (QScrollView::childY):
22695        (QScrollView::addChild):
22696        (QScrollView::removeChild):
22697        * kwq/KWQSlider.h:
22698        * kwq/KWQSlider.mm:
22699        (-[KWQSlider mouseDown:]):
22700        (-[KWQSlider widget]):
22701        (QSlider::setFont):
22702        (QSlider::focusPolicy):
22703        * kwq/KWQTextArea.mm:
22704        (-[KWQTextAreaTextView widget]):
22705        * kwq/KWQTextEdit.h:
22706        * kwq/KWQTextEdit.mm:
22707        (QTextEdit::QTextEdit):
22708        (QTextEdit::setFont):
22709        (QTextEdit::focusPolicy):
22710        (QTextEdit::setPalette):
22711        * kwq/KWQTextField.mm:
22712        (-[KWQTextFieldController widget]):
22713        (-[KWQTextFieldController textView:shouldHandleEvent:]):
22714        (-[KWQTextFieldController textView:didHandleEvent:]):
22715        (-[KWQTextField widget]):
22716        (-[KWQTextField nextKeyView]):
22717        (-[KWQTextField previousKeyView]):
22718        (-[KWQSecureTextField widget]):
22719        (-[KWQSecureTextField nextKeyView]):
22720        (-[KWQSecureTextField previousKeyView]):
22721        (-[KWQSearchField widget]):
22722        (-[KWQSearchField nextKeyView]):
22723        (-[KWQSearchField previousKeyView]):
22724        * kwq/KWQView.h:
22725        * kwq/KWQWindowWidget.h:
22726        * kwq/KWQWindowWidget.mm:
22727        (KWQWindowWidget::topLevelWidget):
22728        * page/Frame.cpp:
22729        (WebCore::isFrameElement):
22730        (WebCore::Frame::frameForWidget):
22731        (WebCore::Frame::nodeForWidget):
22732        (WebCore::Frame::setDocumentFocus):
22733        (WebCore::Frame::clearDocumentFocus):
22734        (WebCore::Frame::passWidgetMouseDownEventToWidget):
22735        * page/Frame.h:
22736        * page/FrameView.cpp:
22737        (WebCore::FrameView::FrameView):
22738        (WebCore::FrameView::init):
22739        * page/FrameView.h:
22740        * page/Plugin.h:
22741        (WebCore::Plugin::Plugin):
22742        (WebCore::Plugin::view):
22743        * platform/Screen.h:
22744        * platform/mac/ScreenMac.mm:
22745        (WebCore::screen):
22746        (WebCore::screenDepth):
22747        (WebCore::screenRect):
22748        (WebCore::usableScreenRect):
22749        * rendering/render_applet.cpp:
22750        (WebCore::RenderApplet::layout):
22751        * rendering/render_form.cpp:
22752        (WebCore::ComboBoxWidget::ComboBoxWidget):
22753        (WebCore::RenderSelect::createListBox):
22754        * rendering/render_form.h:
22755        * rendering/render_frames.cpp:
22756        (WebCore::RenderPart::setWidget):
22757        * rendering/render_frames.h:
22758        * rendering/render_object.cpp:
22759        * rendering/render_replaced.cpp:
22760        (WebCore::RenderWidget::resizeWidget):
22761        (WebCore::RenderWidget::setQWidget):
22762        * rendering/render_replaced.h:
22763        (WebCore::RenderWidget::widget):
22764        Change name from QWidget to Widget, a few other changes to get compiling.
22765
22766=== WebCore-521.7 ===
22767
227682006-02-12  Darin Adler  <darin@apple.com>
22769
22770        Reviewed by Hyatt.
22771
22772        - fix http://bugs.webkit.org/show_bug.cgi?id=7206
22773          REGRESSION: PDF "images" no longer render within HTML pages
22774
22775        Test: fast/replaced/page-as-image.html
22776
22777        * platform/Image.cpp: (WebCore::Image::setNativeData):
22778        Return false in the case where the PDF document has not been created yet.
22779
227802006-02-12  Darin Adler  <darin@apple.com>
22781
22782        Reviewed by Maciej.
22783
22784        - http://bugs.webkit.org/show_bug.cgi?id=7209
22785          reimplement Timer so it uses only a single timer from the underlying OS
22786
22787        * WebCore.vcproj/WebCore/WebCore.vcproj: Removed old files, added new.
22788        * WebCore.xcodeproj/project.pbxproj: Ditto.
22789
22790        * platform/Timer.h: Updated for new timer implementation.
22791        * platform/Timer.cpp: Added. Platform-independent implementation of timers
22792        in terms of a single shared timer. Uses a heap to implement a priority queue
22793        so we know which timer to fire first.
22794
22795        * platform/SharedTimer.h: Added.
22796        * platform/mac/SharedTimerMac.cpp: Added.
22797        * platform/win/SharedTimerWin.cpp: Added.
22798
22799        * platform/mac/TimerMac.cpp: Removed.
22800        * platform/win/TimerWin.cpp: Removed.
22801
228022006-02-12  Eric Seidel  <eseidel@apple.com>
22803
22804        Reviewed by mjs.
22805
22806        * loader/CachedXSLStyleSheet.cpp: removed duplicate copy of xbl code.
22807
228082006-02-12  Maciej Stachowiak  <mjs@apple.com>
22809
22810        Unreviewed build fix.
22811
22812        - fix build
22813
22814        * bindings/scripts/CodeGeneratorJS.pm: Update for splitting of the
22815        dom_textimpl.h header.
22816
228172006-02-11  Maciej Stachowiak  <mjs@apple.com>
22818
22819        Reviewed by Darin.
22820
22821        - rename FrameTreeNode to FrameTree and treeNode() to tree()
22822        http://bugs.webkit.org/show_bug.cgi?id=7210
22823
22824        This may be slightly less accurate, but reads better.
22825
22826        * WebCore.xcodeproj/project.pbxproj:
22827        * bridge/mac/BrowserExtensionMac.mm:
22828        (WebCore::BrowserExtensionMac::createNewWindow):
22829        * bridge/mac/MacFrame.mm:
22830        (WebCore::MacFrame::submitForm):
22831        (WebCore::MacFrame::nextKeyViewInFrameHierarchy):
22832        * bridge/mac/WebCoreFrameBridge.mm:
22833        (-[WebCoreFrameBridge firstChild]):
22834        (-[WebCoreFrameBridge lastChild]):
22835        (-[WebCoreFrameBridge childCount]):
22836        (-[WebCoreFrameBridge previousSibling]):
22837        (-[WebCoreFrameBridge nextSibling]):
22838        (-[WebCoreFrameBridge appendChild:]):
22839        (-[WebCoreFrameBridge removeChild:]):
22840        (-[WebCoreFrameBridge setParent:]):
22841        (-[WebCoreFrameBridge parent]):
22842        (-[WebCoreFrameBridge setName:]):
22843        (-[WebCoreFrameBridge name]):
22844        * dom/DocumentImpl.cpp:
22845        (WebCore::DocumentImpl::parentDocument):
22846        * khtml/ecma/kjs_window.cpp:
22847        (KJS::Window::getValueProperty):
22848        (KJS::Window::put):
22849        (KJS::Window::isSafeScript):
22850        (KJS::WindowFunc::callAsFunction):
22851        * khtml/html/html_baseimpl.cpp:
22852        (WebCore::HTMLFrameElementImpl::isURLAllowed):
22853        * khtml/html/html_headimpl.cpp:
22854        (WebCore::HTMLLinkElementImpl::process):
22855        * page/Frame.cpp:
22856        (WebCore::Frame::stopLoading):
22857        (WebCore::Frame::clear):
22858        (WebCore::Frame::stopAnimations):
22859        (WebCore::Frame::checkCompleted):
22860        (WebCore::Frame::checkEmitLoadEvent):
22861        (WebCore::Frame::slotChildCompleted):
22862        (WebCore::Frame::findFrame):
22863        (WebCore::Frame::setZoomFactor):
22864        (WebCore::Frame::frameNames):
22865        (WebCore::Frame::frames):
22866        (WebCore::Frame::childFrameNamed):
22867        (WebCore::Frame::incrementFrameCount):
22868        (WebCore::Frame::decrementFrameCount):
22869        (WebCore::Frame::topLevelFrameCount):
22870        (WebCore::Frame::selectFrameElementInParentIfFullySelected):
22871        (WebCore::Frame::userGestureHint):
22872        (WebCore::Frame::canCachePage):
22873        (WebCore::Frame::updatePolicyBaseURL):
22874        (WebCore::Frame::setPolicyBaseURL):
22875        (WebCore::Frame::tree):
22876        (WebCore::Frame::frameDetached):
22877        (WebCore::Frame::updateBaseURLForEmptyDocument):
22878        * page/Frame.h:
22879        * page/FramePrivate.h:
22880        * page/FrameTree.cpp: Added.
22881        (WebCore::FrameTree::~FrameTree):
22882        (WebCore::FrameTree::setName):
22883        (WebCore::FrameTree::appendChild):
22884        (WebCore::FrameTree::removeChild):
22885        * page/FrameTree.h: Added.
22886        (WebCore::FrameTree::FrameTree):
22887        * page/FrameTreeNode.cpp: Removed.
22888        * page/FrameTreeNode.h: Removed.
22889        * rendering/render_frames.cpp:
22890        (WebCore::isURLAllowed):
22891
228922006-02-12  Dave Hyatt <hyatt@apple.com>
22893
22894        Fix for bug 7182, animated GIFs don't clear previous animation
22895        frames.  This checkin fixes the decoders in our tree (used on
22896        Win32 only).  It does not address the problem with ImageIO
22897        on Mac (which has the same bug).  This has been filed separately
22898        as Radar bug #4442031.
22899
22900        Reviewed by mjs
22901
22902        * platform/image-decoders/ImageDecoder.h:
22903        (WebCore::RGBA32Buffer::rect):
22904        (WebCore::RGBA32Buffer::setRect):
22905        (WebCore::RGBA32Buffer::ensureHeight):
22906        * platform/image-decoders/gif/GIFImageDecoder.cpp:
22907        (WebCore::GIFImageDecoder::initFrameBuffer):
22908        * platform/image-decoders/png/PNGImageDecoder.cpp:
22909        (WebCore::PNGImageDecoder::rowAvailable):
22910
229112006-02-11  Geoffrey Garen  <ggaren@apple.com>
22912
22913        - Fixed bad free resulting from 0 legnth StringImpl
22914
22915        No test case because currently this bug only has the effect of a bad
22916        free on exit().
22917
22918        * platform/StringImpl.cpp:
22919        (WebCore::StringImpl::StringImpl): Factored varied approaches to
22920        initialization into two common routines: initWithChar and
22921        initWithQChar. The common rule is: if we're not going to allocate
22922        a string, make sure to set s to 0 so fastFree doesn't try to free it
22923        later. For speed, initWithQChar uses memcpy() -- that's the only
22924        difference between the two.
22925        (WebCore::StringImpl::initWithChar):
22926        (WebCore::StringImpl::initWithQChar):
22927        * platform/StringImpl.h:
22928
229292006-02-11  Maciej Stachowiak  <mjs@apple.com>
22930
22931        Rubber stamped by Eric.
22932
22933        - split dom_textimpl.{h,cpp} by class.
22934
22935        * WebCore.xcodeproj/project.pbxproj:
22936        * bindings/objc/DOM.mm:
22937        * bridge/mac/MacFrame.mm:
22938        * dom/CDATASectionImpl.cpp: Added.
22939        * dom/CDATASectionImpl.h: Added.
22940        * dom/CharacterDataImpl.cpp: Added.
22941        * dom/CharacterDataImpl.h: Added.
22942        * dom/CommentImpl.cpp: Added.
22943        * dom/CommentImpl.h: Added.
22944        * dom/DocumentImpl.cpp:
22945        * dom/EditingTextImpl.cpp: Added.
22946        * dom/EditingTextImpl.h: Added.
22947        * dom/NodeImpl.cpp:
22948        * dom/TextImpl.cpp: Added.
22949        * dom/TextImpl.h: Added.
22950        * dom/dom2_rangeimpl.cpp:
22951        * dom/dom_elementimpl.cpp:
22952        * dom/dom_textimpl.cpp: Removed.
22953        * dom/dom_textimpl.h: Removed.
22954        * dom/xml_tokenizer.cpp:
22955        * khtml/ecma/kjs_dom.cpp:
22956        * khtml/ecma/kjs_html.cpp:
22957        * khtml/editing/SelectionController.cpp:
22958        * khtml/editing/apply_style_command.cpp:
22959        * khtml/editing/break_blockquote_command.cpp:
22960        * khtml/editing/composite_edit_command.cpp:
22961        * khtml/editing/delete_from_text_node_command.cpp:
22962        * khtml/editing/delete_selection_command.cpp:
22963        * khtml/editing/htmlediting.cpp:
22964        * khtml/editing/insert_into_text_node_command.cpp:
22965        * khtml/editing/insert_line_break_command.cpp:
22966        * khtml/editing/insert_paragraph_separator_command.cpp:
22967        * khtml/editing/insert_text_command.cpp:
22968        * khtml/editing/join_text_nodes_command.cpp:
22969        * khtml/editing/markup.cpp:
22970        * khtml/editing/rebalance_whitespace_command.cpp:
22971        * khtml/editing/replace_selection_command.cpp:
22972        * khtml/editing/split_text_node_command.cpp:
22973        * khtml/editing/split_text_node_containing_element.cpp:
22974        * khtml/editing/visible_position.cpp:
22975        * khtml/html/HTMLElementImpl.cpp:
22976        * khtml/html/HTMLKeygenElementImpl.cpp:
22977        * khtml/html/HTMLOptionElementImpl.cpp:
22978        * khtml/html/HTMLTextAreaElementImpl.cpp:
22979        * khtml/html/html_headimpl.cpp:
22980        * khtml/html/html_objectimpl.cpp:
22981        * khtml/html/htmlparser.cpp:
22982        * khtml/xsl/xslt_processorimpl.cpp:
22983        * page/Frame.cpp:
22984        * rendering/RenderText.h:
22985        * rendering/render_frames.cpp:
22986
229872006-02-11  Alexander Kellett  <lypanov@kde.org>
22988
22989        Reviewed by eseidel.
22990
22991        - Fixing http://bugs.webkit.org/show_bug.cgi?id=6942
22992          Implement support for "em" and "ex" relative lengths.
22993
22994        - Layout tests changes:
22995            Fixed: svg/W3C-SVG-1.1/coords-units-03-b.svg
22996            New:   svg/custom/coords-relative-units-transforms.svg
22997
22998        * ksvg2/svg/SVGLengthImpl.cpp:
22999        (SVGLengthImpl::SVGLengthImpl):
23000        (SVGLengthImpl::value):
23001        (SVGLengthImpl::updateValue):
23002        (SVGLengthImpl::updateValueInSpecifiedUnits):
23003        * ksvg2/svg/SVGLengthImpl.h:
23004
230052006-02-11  Darin Adler  <darin@apple.com>
23006
23007        Rubber-stamped by Eric.
23008
23009        - renamed all the platform/mac files to have a Mac suffix
23010          (Hyatt and I discussed this change recently)
23011
23012        * WebCore.xcodeproj/project.pbxproj:
23013        * platform/mac/Color.mm: Removed.
23014        * platform/mac/ColorMac.mm: Added.
23015        * platform/mac/FloatPoint.mm: Removed.
23016        * platform/mac/FloatPointMac.mm: Added.
23017        * platform/mac/FloatRect.mm: Removed.
23018        * platform/mac/FloatRectMac.mm: Added.
23019        * platform/mac/FloatSize.mm: Removed.
23020        * platform/mac/FloatSizeMac.mm: Added.
23021        * platform/mac/Image.mm: Removed.
23022        * platform/mac/ImageMac.mm: Added.
23023        * platform/mac/ImageSource.cpp: Removed.
23024        * platform/mac/ImageSourceMac.cpp: Added.
23025        * platform/mac/IntPoint.mm: Removed.
23026        * platform/mac/IntPointMac.mm: Added.
23027        * platform/mac/IntRect.mm: Removed.
23028        * platform/mac/IntRectMac.mm: Added.
23029        * platform/mac/IntSize.mm: Removed.
23030        * platform/mac/IntSizeMac.mm: Added.
23031        * platform/mac/QString.mm: Removed.
23032        * platform/mac/QStringMac.mm: Added.
23033        * platform/mac/Screen.mm: Removed.
23034        * platform/mac/ScreenMac.mm: Added.
23035        * platform/mac/SystemTime.cpp: Removed.
23036        * platform/mac/SystemTimeMac.cpp: Added.
23037        * platform/mac/Timer.cpp: Removed.
23038        * platform/mac/TimerMac.cpp: Added.
23039
230402006-02-11  Eric Seidel  <eseidel@apple.com>
23041
23042        Rubber-stamped by darin.
23043
23044        Push kcanvas into WebCore namespace.
23045        Fix KSVG2 to use WebCore namespace.
23046        Remove all uses of khtml:: and KDOM:: from SVG code.
23047
23048        Too many files changed to bother showing here.
23049
230502006-02-11  Mitz Pettel  <opendarwin.org@mitzpettel.com>
23051
23052         Test: fast/table/edge-offsets.html
23053
23054         Reviewed by Hyatt.
23055
23056         - fix http://bugs.webkit.org/show_bug.cgi?id=7054
23057           Vertical scroll bars do not appear or do not scroll completely
23058
23059         * rendering/RenderTableSection.cpp:
23060         (WebCore::RenderTableSection::lowestPosition): Override the superclass implementation
23061         to return the lowest of all the cells' lowest positions and the section's.
23062         (WebCore::RenderTableSection::rightmostPosition): Ditto for rightmost.
23063         (WebCore::RenderTableSection::leftmostPosition): Ditto for leftmost.
23064         * rendering/RenderTableSection.h:
23065
230662006-02-11  Mitz Pettel  <opendarwin.org@mitzpettel.com>
23067
23068        No test until we figure out how to make one.
23069
23070         Reviewed by Darin.
23071
23072         - fix http://bugs.webkit.org/show_bug.cgi?id=7189
23073           XSLT result parsing stops prematurely
23074
23075         * khtml/xsl/xslt_processorimpl.cpp:
23076         (DOM::XSLTProcessorImpl::createDocumentFromSource): Removed the call to setParsing(false) from here
23077         since it stopped parsing prematurely. Now the frame will call it when the tokenizer is finished.
23078         * page/Frame.cpp:
23079         (WebCore::Frame::clear): Disconnect the finishedParsing signal handler from the document.
23080         (WebCore::Frame::setDocument): Disconnect the signal handler from the old document and
23081         connect it to the new document.
23082
230832006-02-11  Mitz Pettel  <opendarwin.org@mitzpettel.com>
23084
23085         Reviewed by Hyatt.
23086
23087         - fix http://bugs.webkit.org/show_bug.cgi?id=6821
23088           Fix for 5983 will not always update hover correctly.
23089
23090         * khtml/xml/DocumentImpl.cpp:
23091         (WebCore::DocumentImpl::hoveredNodeDetached): Added this method. Moved the hover logic from
23092         NodeImpl::detach here, modified to use the DOM tree instead of hoverAncestor,
23093         to handle the case that the hover node is a text node, and to schedule an update
23094         of hover state.
23095         (WebCore::DocumentImpl::activeChainNodeDetached): Added this method to trim the
23096         active chain above the node being detached.
23097         * khtml/xml/DocumentImpl.h:
23098         * khtml/xml/NodeImpl.cpp:
23099         (WebCore::NodeImpl::detach): Moved most of the hover logic out of here into
23100         DocumentImpl. Reset m_active and m_inActiveChain and call activeChainNodeDetached
23101         when detaching an active node.
23102         * manual-tests/bugzilla-6821.html: Added.
23103         * page/FrameView.cpp:
23104         (WebCore::FrameViewPrivate::FrameViewPrivate): Added hover-state update timer.
23105         (WebCore::FrameViewPrivate::reset):
23106         (WebCore::FrameView::~FrameView):
23107         (WebCore::FrameView::viewportMouseMoveEvent):
23108         (WebCore::FrameView::hoverTimerFired): Call DocumentImpl::prepareMouseEvent
23109         when the timer fires to cause hover state to update.
23110         (WebCore::FrameView::scheduleHoverStateUpdate): Added.
23111         * page/FrameView.h:
23112
231132006-02-11  Alexey Proskuryakov  <ap@nypop.com>
23114
23115        Reviewed by Darin.
23116
23117       - fix http://bugs.webkit.org/show_bug.cgi?id=3400
23118         setting the .src of an iframe to the same value does not reload page
23119
23120        Test cases:
23121        * fast/frames/frame-set-same-location.html
23122        * fast/frames/frame-set-same-src.html
23123        * fast/frames/iframe-set-same-location.html
23124        * fast/frames/iframe-set-same-src.html
23125
23126        * khtml/html/html_baseimpl.cpp:
23127        (WebCore::HTMLFrameElementImpl::setLocation):
23128        Remove the check for the new URL being different from the current one.
23129        Moved updateForNewURL() code into setLocation().
23130        * khtml/html/html_baseimpl.h:
23131
231322006-02-10  Eric Seidel  <eseidel@apple.com>
23133
23134        Reviewed by hyatt.
23135
23136        Adding support for external entity declarations in XSLT.
23137        http://bugs.webkit.org/show_bug.cgi?id=7184
23138        <rdar://problem/4271696> support external DTD references in XSLT
23139
23140        * dom/xml_tokenizer.cpp:
23141        (WebCore::OffsetBuffer::OffsetBuffer): new support class
23142        (WebCore::OffsetBuffer::readOutBytes): read method
23143        (WebCore::shouldAllowExternalLoad): for preventing common urls
23144        (WebCore::openFunc): now does a synchronous data load
23145        (WebCore::readFunc): returns data from the offset buffer
23146        (WebCore::closeFunc): deletes offset buffer
23147        (WebCore::setLoaderForLibXMLCallbacks): helper function
23148        (WebCore::createQStringParser): cleanup
23149        (WebCore::XMLTokenizer::finish):
23150        * dom/xml_tokenizer.h:
23151        * khtml/xsl/xsl_stylesheetimpl.cpp:
23152        (WebCore::XSLStyleSheetImpl::parseString):
23153        * khtml/xsl/xsl_stylesheetimpl.h:
23154
231552006-02-10  Beth Dakin  <bdakin@apple.com>
23156
23157        Reviewed by Hyatt
23158
23159        Fix for <rdar://problem/4149655> Frequently reported crash, repro
23160        at lastminute.se in khtml::RenderBlock::createLineBoxes
23161
23162        Some crazy combination of an anonymous table, an inline form, and
23163        generated content caused table objects to be added to a flow and
23164        then split. This is very bad. Once the crash was fixed, there were
23165        still some rendering issues that this patch also fixes. We needed
23166        to make sure we only special case forms for non-CSS tables so that
23167        the form and generated content render as expected.
23168
23169        * rendering/RenderContainer.cpp:
23170        (WebCore::RenderContainer::appendChildNode): Assert that if we are
23171        a block flow, our child cannot be a table object.
23172        (WebCore::RenderContainer::insertChildNode): Same.
23173        * rendering/RenderTable.cpp:
23174        (WebCore::RenderTable::addChild): Only special-case forms if we are
23175        not a CSS table.
23176        * rendering/RenderTableRow.cpp:
23177        (WebCore::RenderTableRow::addChild): Same.
23178        * rendering/RenderTableSection.cpp:
23179        (WebCore::RenderTableSection::addChild): Same.
23180        * rendering/render_inline.cpp:
23181        (WebCore::RenderInline::addChildToFlow): Here is the crash fix. Check to make sure our containing block is a block flow.
23182
231832006-02-10  Darin Adler  <darin@apple.com>
23184
23185        - fixed the build, this time for sure
23186
23187        * bindings/js/JSDOMCore.cpp: Touch this file, since the project doesn't get
23188        the dependencies right.
23189        * bindings/js/JSDOMEvents.cpp: Ditto.
23190
23191        * bridge/mac/WebCoreFrameBridge.mm: (aeDescFromJSValue): Fix an uninitialized
23192        variable warning and also tightened the code for Boolean, String, and Number
23193        up a bit.
23194
231952006-02-10  Geoffrey Garen  <ggaren@apple.com>
23196
23197        Reviewed by eric.
23198
23199        - Fixed build.
23200
23201        * bridge/mac/WebCoreFrameBridge.mm:
23202        * khtml/ecma/kjs_binding.h:
23203        (KJS::DOMFunction::toPrimitive):
23204        * khtml/ecma/kjs_dom.cpp:
23205        (KJS::DOMNode::toPrimitive):
23206        (KJS::DOMNodeList::toPrimitive):
23207        * khtml/ecma/kjs_dom.h:
23208        * khtml/ecma/kjs_window.cpp:
23209        (KJS::Location::toPrimitive):
23210        (KJS::Selection::toPrimitive):
23211        * khtml/ecma/kjs_window.h:
23212
232132006-02-09  Darin Adler  <darin@apple.com>
23214
23215        Reviewed by Hyatt.
23216
23217        - <rdar://problem/4430614> RenderThemeMac crashes under GC
23218
23219        * rendering/render_theme_mac.mm:
23220        (WebCore::RenderThemeMac::RenderThemeMac): Initialize all the pointers.
23221        (WebCore::RenderThemeMac::setCheckboxCellState): Use KWQRetainNSRelease so
23222        we can retain a pointer to an ObjC object in a C++ class.
23223        (WebCore::RenderThemeMac::setRadioCellState): Ditto.
23224        (WebCore::RenderThemeMac::setButtonCellState): Ditto.
23225        (WebCore::RenderThemeMac::setTextFieldCellState): Ditto.
23226
23227        * kwq/KWQResourceLoader.h: Remove unneeded forward declaration.
23228
232292006-02-09  Darin Adler  <darin@apple.com>
23230
23231        Reviewed by Eric and Geoff.
23232
23233        - changed basic DOM mutation calls to assert that "this"
23234          is not floating, then added more uses of RefPtr to prevent the
23235          assertion from firing (at least during my testing and layout tests)
23236
23237        - removed use of PassRefPtr as the type of a local variable; after talking
23238          with Maciej and Eric, this type of use is now "deprecated"
23239
23240        * bindings/js/JSDOMCore.cpp: Touched this file to get things to build.
23241
23242        * bindings/objc/DOM.mm:
23243        (-[DOMRange extractContents]):
23244        (-[DOMRange cloneContents]):
23245        (-[DOMRange cloneRange]):
23246        * khtml/ecma/kjs_range.cpp:
23247        (KJS::DOMRange::getValueProperty):
23248        (KJS::DOMRangeProtoFunc::callAsFunction):
23249        * khtml/editing/Selection.cpp:
23250        (WebCore::Selection::toRange):
23251        * bridge/mac/WebCoreFrameBridge.mm:
23252        (-[WebCoreFrameBridge documentFragmentWithMarkupString:baseURLString:]):
23253        * dom/ContainerNodeImpl.cpp:
23254        (WebCore::ContainerNodeImpl::insertBefore):
23255        (WebCore::ContainerNodeImpl::replaceChild):
23256        (WebCore::ContainerNodeImpl::removeChild):
23257        (WebCore::ContainerNodeImpl::appendChild):
23258        * dom/DocPtr.h: Removed uses of NULL and unused deprecated functions.
23259        * dom/dom2_rangeimpl.h:
23260        * dom/dom2_rangeimpl.cpp:
23261        (WebCore::RangeImpl::RangeImpl):
23262        (WebCore::RangeImpl::startContainer):
23263        (WebCore::RangeImpl::endContainer):
23264        (WebCore::RangeImpl::commonAncestorContainer):
23265        (WebCore::RangeImpl::setStart):
23266        (WebCore::RangeImpl::setEnd):
23267        (WebCore::RangeImpl::collapse):
23268        (WebCore::RangeImpl::compareBoundaryPoints):
23269        (WebCore::RangeImpl::boundaryPointsValid):
23270        (WebCore::RangeImpl::processContents):
23271        (WebCore::RangeImpl::extractContents):
23272        (WebCore::RangeImpl::cloneContents):
23273        (WebCore::RangeImpl::insertNode):
23274        (WebCore::RangeImpl::createContextualFragment):
23275        (WebCore::RangeImpl::detach):
23276        (WebCore::RangeImpl::cloneRange):
23277        (WebCore::RangeImpl::selectNodeContents):
23278        (WebCore::RangeImpl::surroundContents):
23279        (WebCore::RangeImpl::containedByReadOnly):
23280        (WebCore::RangeImpl::startPosition):
23281        (WebCore::RangeImpl::endPosition):
23282        (WebCore::RangeImpl::startNode):
23283        (WebCore::RangeImpl::editingStartPosition):
23284        (WebCore::rangeOfContents):
23285        * dom/dom_elementimpl.h:
23286        * dom/dom_elementimpl.cpp:
23287        (WebCore::AttrImpl::AttrImpl):
23288        (WebCore::AttrImpl::~AttrImpl):
23289        (WebCore::AttrImpl::setValue):
23290        (WebCore::AttrImpl::childTypeAllowed):
23291        (WebCore::AttrImpl::childrenChanged):
23292        (WebCore::ElementImpl::removeAttributeNode):
23293        (WebCore::NamedAttrMapImpl::clearAttributes):
23294        (WebCore::CSSMappedAttributeDeclarationImpl::~CSSMappedAttributeDeclarationImpl):
23295        (WebCore::MappedAttributeImpl::clone):
23296        * dom/DocumentFragmentImpl.cpp:
23297        (DOM::DocumentFragmentImpl::cloneNode):
23298        * dom/dom_xmlimpl.cpp:
23299        (WebCore::EntityReferenceImpl::cloneNode):
23300        (WebCore::ProcessingInstructionImpl::ProcessingInstructionImpl):
23301        (WebCore::ProcessingInstructionImpl::checkStyleSheet):
23302        (WebCore::ProcessingInstructionImpl::setStyleSheet):
23303        * dom/dom_position.cpp:
23304        * khtml/editing/break_blockquote_command.cpp:
23305        (WebCore::BreakBlockquoteCommand::doApply):
23306        * khtml/editing/composite_edit_command.cpp:
23307        (WebCore::CompositeEditCommand::appendBlockPlaceholder):
23308        (WebCore::CompositeEditCommand::insertBlockPlaceholder):
23309        (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
23310        (WebCore::createBlockPlaceholderElement):
23311        * khtml/editing/delete_selection_command.cpp:
23312        (WebCore::DeleteSelectionCommand::insertPlaceholderForAncestorBlockContent):
23313        (WebCore::DeleteSelectionCommand::moveNodesAfterNode):
23314        * khtml/editing/html_interchange.cpp:
23315        * khtml/editing/htmlediting.cpp:
23316        (WebCore::rebalanceWhitespaceInTextNode):
23317        (WebCore::nonBreakingSpaceString):
23318        (WebCore::createDefaultParagraphElement):
23319        (WebCore::createBreakElement):
23320        (WebCore::createTabSpanElement):
23321        * khtml/editing/insert_line_break_command.cpp:
23322        (khtml::InsertLineBreakCommand::doApply):
23323        * khtml/editing/insert_paragraph_separator_command.cpp:
23324        (WebCore::InsertParagraphSeparatorCommand::doApply):
23325        * khtml/editing/insert_paragraph_separator_command.h:
23326        * khtml/editing/insert_text_command.cpp:
23327        (khtml::InsertTextCommand::insertTab):
23328        * khtml/editing/markup.cpp:
23329        (khtml::createFragmentFromMarkup):
23330        (khtml::createParagraphContentsFromString):
23331        (khtml::createFragmentFromText):
23332        (khtml::createFragmentFromNodeList):
23333        * khtml/editing/rebalance_whitespace_command.cpp:
23334        * khtml/editing/replace_selection_command.cpp:
23335        (WebCore::ReplacementFragment::ReplacementFragment):
23336        (WebCore::ReplacementFragment::insertFragmentForTestRendering):
23337        (WebCore::ReplaceSelectionCommand::doApply):
23338        * khtml/editing/visible_text.cpp:
23339        (khtml::CharacterIterator::range):
23340        (khtml::findPlainText):
23341        * khtml/html/HTMLElementImpl.cpp:
23342        (WebCore::HTMLElementImpl::cloneNode):
23343        * khtml/html/htmlparser.cpp:
23344        (HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
23345        * ksvg2/svg/SVGTransformableImpl.cpp:
23346        (SVGTransformableImpl::parseTransformAttribute):
23347        * ksvg2/svg/SVGUseElementImpl.cpp:
23348        (SVGUseElementImpl::closeRenderer):
23349
233502006-02-09  Alexander Kellett  <lypanov@kde.org>
23351
23352        Reviewed and landed by Maciej.
23353
23354        Factor out common parts of Linear/Radial GradientQuartz
23355        up into KRenderingPaintServerGradientQuartz.
23356
23357        Cleanup only, no layout tests needed or affected.
23358
23359        * kcanvas/device/KRenderingPaintServer.h:
23360        * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
23361        (KRenderingPaintServerGradientQuartz::updateQuartzGradientCache):
23362        (KRenderingPaintServerGradientQuartz::draw):
23363        (KRenderingPaintServerGradientQuartz::setup):
23364        (KRenderingPaintServerGradientQuartz::renderPath):
23365        (KRenderingPaintServerGradientQuartz::teardown):
23366        * kcanvas/device/quartz/KRenderingPaintServerQuartz.h:
23367        (KRenderingPaintServerLinearGradientQuartz::draw):
23368        (KRenderingPaintServerLinearGradientQuartz::setup):
23369        (KRenderingPaintServerLinearGradientQuartz::teardown):
23370        (KRenderingPaintServerLinearGradientQuartz::renderPath):
23371        (KRenderingPaintServerRadialGradientQuartz::draw):
23372        (KRenderingPaintServerRadialGradientQuartz::setup):
23373        (KRenderingPaintServerRadialGradientQuartz::teardown):
23374        (KRenderingPaintServerRadialGradientQuartz::renderPath):
23375
233762006-02-09  Maciej Stachowiak  <mjs@apple.com>
23377
23378        Reviewed by Hyatt.
23379
23380        - various Frame cleanup:
23381
23382        Make Frame-related classes Noncopyable.
23383        Remove nearly all of Frame's friends.
23384        Remove some unused stuff.
23385        Remove unneeded class forward declarations from Frame.h
23386
23387        * page/Frame.cpp:
23388        * page/Frame.h:
23389        * page/FrameTreeNode.h:
23390        (WebCore::FrameTreeNode::FrameTreeNode):
23391        (WebCore::FrameTreeNode::name):
23392        (WebCore::FrameTreeNode::parent):
23393        (WebCore::FrameTreeNode::setParent):
23394        (WebCore::FrameTreeNode::nextSibling):
23395        (WebCore::FrameTreeNode::previousSibling):
23396        (WebCore::FrameTreeNode::firstChild):
23397        (WebCore::FrameTreeNode::lastChild):
23398        (WebCore::FrameTreeNode::childCount):
23399        * page/FrameView.cpp:
23400        (WebCore::FrameView::viewportMouseMoveEvent):
23401        * page/Page.h:
23402        (WebCore::Page::mainFrame):
23403        * page/Plugin.h:
23404        (WebCore::Plugin::Plugin):
23405        (WebCore::Plugin::view):
23406
234072006-02-09  Dave Hyatt <hyatt@apple.com
23408
23409        Minor image cleanup.  Move some variables that all the
23410        image decoders have in common up into the base class.
23411
23412        Stub out the boring parts of the JPEG decoder also, so that
23413        the patch that does the decoding will be all meat. :)
23414
23415        Reviewed by mjs
23416
23417        * WebCore.vcproj/WebCore/WebCore.vcproj:
23418        * platform/image-decoders/ImageDecoder.h:
23419        (WebCore::ImageDecoder::m_failed):
23420        (WebCore::ImageDecoder::size):
23421        (WebCore::ImageDecoder::failed):
23422        (WebCore::ImageDecoder::setFailed):
23423        * platform/image-decoders/gif/GIFImageDecoder.cpp:
23424        (WebCore::GIFImageDecoder::GIFImageDecoder):
23425        (WebCore::GIFImageDecoder::~GIFImageDecoder):
23426        (WebCore::GIFImageDecoder::setData):
23427        (WebCore::GIFImageDecoder::isSizeAvailable):
23428        (WebCore::GIFImageDecoder::repetitionCount):
23429        (WebCore::GIFImageDecoder::frameBufferAtIndex):
23430        (WebCore::GIFImageDecoder::decode):
23431        (WebCore::GIFImageDecoder::decodingHalted):
23432        (WebCore::GIFImageDecoder::haveDecodedRow):
23433        (WebCore::GIFImageDecoder::gifComplete):
23434        * platform/image-decoders/gif/GIFImageDecoder.h:
23435        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: Added.
23436        (WebCore::JPEGImageReader::JPEGImageReader):
23437        (WebCore::JPEGImageReader::~JPEGImageReader):
23438        (WebCore::JPEGImageReader::close):
23439        (WebCore::JPEGImageReader::decode):
23440        (WebCore::JPEGImageDecoder::JPEGImageDecoder):
23441        (WebCore::JPEGImageDecoder::~JPEGImageDecoder):
23442        (WebCore::JPEGImageDecoder::setData):
23443        (WebCore::JPEGImageDecoder::isSizeAvailable):
23444        (WebCore::JPEGImageDecoder::frameBufferAtIndex):
23445        (WebCore::JPEGImageDecoder::decode):
23446        * platform/image-decoders/jpeg/JPEGImageDecoder.h:
23447        * platform/image-decoders/png/PNGImageDecoder.cpp:
23448        (WebCore::PNGImageDecoder::PNGImageDecoder):
23449        * platform/image-decoders/png/PNGImageDecoder.h:
23450
234512006-02-09  Maciej Stachowiak  <mjs@apple.com>
23452
23453        Rubber-stamped by Hyatt.
23454
23455        - moved khtml/xml to dom
23456
23457        * dom: moved from khtml/xml
23458        * WebCore.xcodeproj/project.pbxproj: Updated for new file locations.
23459        * WebCore+SVG/KDOMHeaders.h: Updated for new header locations.
23460        * dom/dom2_rangeimpl.cpp: ditto
23461        * dom/dom2_traversalimpl.cpp: ditto
23462        * dom/dom_textimpl.cpp: ditto
23463        * dom/dom_xmlimpl.cpp: ditto
23464        * khtml/dom/dom2_events.cpp: ditto
23465        * khtml/ecma/kjs_binding.cpp: ditto
23466        * khtml/ecma/kjs_dom.cpp: ditto
23467        * khtml/ecma/kjs_events.cpp: ditto
23468        * khtml/ecma/kjs_html.cpp: ditto
23469        * khtml/ecma/kjs_range.cpp: ditto
23470        * khtml/ecma/kjs_views.cpp: ditto
23471        * khtml/editing/Selection.cpp: ditto
23472        * khtml/editing/SelectionController.cpp: ditto
23473        * khtml/editing/delete_from_text_node_command.cpp: ditto
23474        * khtml/editing/edit_command.cpp: ditto
23475        * khtml/editing/insert_into_text_node_command.cpp: ditto
23476        * khtml/editing/insert_line_break_command.cpp: ditto
23477        * khtml/editing/insert_paragraph_separator_command.cpp: ditto
23478        * khtml/editing/insert_text_command.cpp: ditto
23479        * khtml/editing/join_text_nodes_command.cpp: ditto
23480        * khtml/editing/markup.cpp: ditto
23481        * khtml/editing/merge_identical_elements_command.cpp: ditto
23482        * khtml/editing/rebalance_whitespace_command.cpp: ditto
23483        * khtml/editing/remove_node_attribute_command.cpp: ditto
23484        * khtml/editing/set_node_attribute_command.cpp: ditto
23485        * khtml/editing/split_element_command.cpp: ditto
23486        * khtml/editing/split_text_node_command.cpp: ditto
23487        * khtml/editing/split_text_node_containing_element.cpp: ditto
23488        * khtml/editing/visible_position.cpp: ditto
23489        * khtml/editing/visible_position.h: ditto
23490        * khtml/editing/visible_text.cpp: ditto
23491        * khtml/editing/visible_text.h: ditto
23492        * khtml/editing/visible_units.cpp: ditto
23493        * khtml/editing/wrap_contents_in_dummy_span_command.cpp: ditto
23494        * khtml/html/HTMLElementImpl.h: ditto
23495        * khtml/html/html_documentimpl.cpp: ditto
23496        * khtml/html/html_headimpl.cpp: ditto
23497        * khtml/xbl/xbl_binding_manager.cpp: ditto
23498        * khtml/xbl/xbl_tokenizer.cpp: ditto
23499        * khtml/xbl/xbl_tokenizer.h: ditto
23500        * ksvg2/svg/SVGAElementImpl.cpp: ditto
23501        * rendering/InlineTextBox.cpp: ditto
23502        * rendering/RenderContainer.cpp: ditto
23503        * rendering/RenderText.h: ditto
23504        * rendering/RenderTextField.cpp: ditto
23505        * rendering/render_frames.cpp: ditto
23506        * rendering/render_layer.cpp: ditto
23507
235082006-02-08  Mitz Pettel  <opendarwin.org@mitzpettel.com>
23509
23510        Test: fast/block/positioning/window-height-change.html
23511
23512        Reviewed by Hyatt.
23513
23514        - fix http://bugs.webkit.org/show_bug.cgi?id=5813
23515          positioned blocks don't update when resizing the window vertically
23516
23517        * rendering/RenderBlock.cpp:
23518        (WebCore::RenderBlock::layoutBlock): Always relayout positioned children of
23519        the root, since their positions may depend on the viewport's height which
23520        may have changed.
23521        * rendering/render_flexbox.cpp:
23522        (khtml::RenderFlexibleBox::layoutBlock): Ditto.
23523
235242006-02-08  Dave Hyatt <hyatt@apple.com>
23525
23526        Add support for tiling of backgrounds using Cairo.
23527
23528        Reviewed by darin
23529
23530        * Image Viewer/ImageView.cpp:
23531        * platform/cairo/ImageCairo.cpp:
23532        (WebCore::Image::tileInRect):
23533
235342006-02-08  Boris Daljevic  <boris@backbase.com>
23535
23536        Reviewed and tweaked by Darin.
23537
23538        - fix http://bugs.webkit.org/show_bug.cgi?id=6648
23539          Safari strips namespace prefix when using setAttribute(), but should treat it as part of name
23540
23541        Test: fast/dom/Element/setAttribute-with-colon.html
23542
23543        * khtml/xml/dom_elementimpl.h: (ElementImpl::setAttribute): Removed body
23544        * khtml/xml/dom_elementimpl.cpp: (ElementImpl::setAttribute): Changed code so that
23545        attribute is not parsed into prefix and local name.
23546
235472006-02-08  Justin Garcia  <justin.garcia@apple.com>
23548
23549        Original patch by Graham Dennis, reviewed by me
23550        Changes made by me, reviewed by thatcher
23551
23552        <http://bugs.webkit.org/show_bug.cgi?id=3982>
23553        webViewDidBeginEditing, webViewDidEndEditing notification methods not called on delegate
23554
23555        * bridge/mac/MacFrame.h:
23556        * bridge/mac/MacFrame.mm:
23557        (WebCore::MacFrame::didBeginEditing):
23558        (WebCore::MacFrame::didEndEditing):
23559        * bridge/mac/WebCoreFrameBridge.h:
23560        * khtml/xml/DocumentImpl.cpp:
23561        (WebCore::DocumentImpl::didBeginEditing):
23562        (WebCore::DocumentImpl::didEndEditing):
23563        (WebCore::DocumentImpl::setFocusNode):
23564        * khtml/xml/DocumentImpl.h:
23565        * khtml/xml/dom_elementimpl.cpp:
23566        (WebCore::ElementImpl::focus):
23567        * page/Frame.h:
23568        (WebCore::Frame::didBeginEditing):
23569        (WebCore::Frame::didEndEditing):
23570
235712006-02-08  Mitz Pettel  <opendarwin.org@mitzpettel.com>
23572
23573        Test: fast/block/positioning/relayout-on-position-change.html
23574
23575        Reviewed by Hyatt.
23576
23577        - fix http://bugs.webkit.org/show_bug.cgi?id=7095
23578          Removing positioning from an element does not relayout properly
23579
23580        * rendering/render_object.cpp:
23581        (WebCore::RenderObject::setStyle): The second call to setNeedsLayoutAndMinMaxRecalc
23582        did not mark containing blocks for relayout based on the new position value since
23583        the object itself was already marked as needing layout. Changed the first call to
23584        only mark the containing blocks (based on the old position value) and not the
23585        object itself.
23586
235872006-02-08  Maciej Stachowiak  <mjs@apple.com>
23588
23589        Reviewed by Eric.
23590
23591        RenderPath refactoring:
23592
23593        - Rename the files to RenderPath
23594        - Push the portable code from KCanvasItemQuartz down to RenderPath
23595        - Move most of the unportable code from KCanvasItemQuartz to KCanvasPathQuartz
23596
23597        The only thing left in KCanvasItemQuartz is marker support. That should be factored to separate
23598        iterating the path elements (KCanvasPathQuartz needs to provide that) and drawing the markers
23599        (which should be done in portable code).
23600
23601        * ForwardingHeaders/kcanvas/RenderPath.h: Removed.
23602        * WebCore.xcodeproj/project.pbxproj:
23603        * kcanvas/KCanvasItem.cpp: Removed.
23604        * kcanvas/KCanvasItem.h: Removed.
23605        * kcanvas/KCanvasPath.h:
23606        * kcanvas/RenderPath.cpp: Added.
23607        (RenderPath::mapAbsolutePointToLocal):
23608        (RenderPath::fillContains):
23609        (RenderPath::strokeContains):
23610        (RenderPath::strokeBBox):
23611        (RenderPath::relativeBBox):
23612        (RenderPath::setPath):
23613        (RenderPath::layout):
23614        (RenderPath::getAbsoluteRepaintRect):
23615        (RenderPath::requiresLayer):
23616        (RenderPath::lineHeight):
23617        (RenderPath::baselinePosition):
23618        (RenderPath::paint):
23619        (RenderPath::nodeAtPoint):
23620        * kcanvas/RenderPath.h: Added.
23621        * kcanvas/device/quartz/KCanvasItemQuartz.h:
23622        * kcanvas/device/quartz/KCanvasItemQuartz.mm:
23623        * kcanvas/device/quartz/KCanvasPathQuartz.h:
23624        * kcanvas/device/quartz/KCanvasPathQuartz.mm:
23625        (KCanvasPathQuartz::boundingBox):
23626        (scratchContext):
23627        (KCanvasPathQuartz::strokeBoundingBox):
23628        (pathContainsPoint):
23629        (KCanvasPathQuartz::containsPoint):
23630        (KCanvasPathQuartz::strokeContainsPoint):
23631        * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
23632        (KRenderingDeviceQuartz::createItem):
23633        * kcanvas/device/quartz/QuartzSupport.h:
23634        * kcanvas/device/quartz/QuartzSupport.mm:
23635        (applyStrokeStyleToContext):
23636        * ksvg2/svg/SVGStyledElementImpl.cpp:
23637        (SVGStyledElementImpl::updateCanvasItem):
23638        (SVGStyledElementImpl::pushAttributeContext):
23639        * ksvg2/svg/SVGStyledLocatableElementImpl.cpp:
23640        * ksvg2/svg/SVGStyledTransformableElementImpl.cpp:
23641        * kwq/KWQRenderTreeDebug.cpp:
23642
236432006-02-08  Adele Peterson  <adele@apple.com>
23644
23645        Fix broken layout tests.
23646
23647        * khtml/xml/NodeImpl.cpp:
23648        (WebCore::NodeImpl::dispatchGenericEvent): iterator is null, so we have to reset it to the first node in the chain.
23649
236502006-02-08  Adele Peterson  <adele@apple.com>
23651
23652        Reviewed by Maciej.
23653
23654        - Fixed <rdar://problem/4325160>
23655          REGRESSION(416.12-420+): window events not stopped by stopPropagation (affects macnn forums)
23656
23657        Tests:
23658        * fast/events/window-events-bubble.html
23659        * fast/events/window-events-bubble2.html
23660        * fast/events/window-events-capture.html
23661
23662        * khtml/xml/DocumentImpl.cpp:
23663        (WebCore::DocumentImpl::handleWindowEvent): Added to send events directly to the window.  This code used to be in defaultEventHandler, but that wasn't sending them at the right time.
23664        (WebCore::DocumentImpl::defaultEventHandler): Moved code to send window events to handleWindowEvent.
23665        * khtml/xml/DocumentImpl.h: Added handleWindowEvent.
23666        * khtml/xml/NodeImpl.cpp:
23667        (WebCore::NodeImpl::dispatchGenericEvent): fire window events in capture and bubble phases.
23668        (WebCore::NodeImpl::dispatchWindowEvent): call handleWindowEvent.
23669
236702006-02-08  Anders Carlsson  <andersca@mac.com>
23671
23672        Rubber stamped by Maciej.
23673
23674        Move JSCore.cpp to bindings/js/JSDOMCore.cpp and
23675        rename JSEvents.cpp to JSDOMEvents.cpp
23676
23677        * JSCore.cpp: Removed.
23678        * WebCore.vcproj/WebCore/WebCore.vcproj:
23679        * WebCore.xcodeproj/project.pbxproj:
23680        * bindings/js/JSDOMCore.cpp: Added.
23681        * bindings/js/JSDOMEvents.cpp: Added.
23682        * bindings/js/JSEvents.cpp: Removed.
23683
236842006-02-08  Anders Carlsson  <andersca@mac.com>
23685
23686        Reviewed by Maciej.
23687
23688        - http://bugs.webkit.org/show_bug.cgi?id=7108
23689        Autogenerate most of Element
23690
23691        * JSCore.cpp:
23692        Add JSElement.cpp.
23693
23694        * bindings/scripts/CodeGeneratorJS.pm:
23695        Handle a bunch of new types.
23696
23697        * khtml/ecma/kjs_dom.cpp:
23698        (KJS::DOMElement::getValueProperty):
23699        (KJS::DOMElementProtoFunc::callAsFunction):
23700        Remove code that is autogenerated now.
23701
23702        (KJS::getDOMNode):
23703        Create a JSElement instead of a DOMElement.
23704
23705        (KJS::getDOMNodeList):
23706        Take a PassRefPtr like some of the other get methods.
23707
23708        * khtml/ecma/kjs_dom.h:
23709        (KJS::DOMElement::):
23710        Remove the now unused enums.
23711
23712        * khtml/ecma/kjs_html.cpp:
23713        (KJS::):
23714        (KJS::HTMLElement::HTMLElement):
23715        (KJS::HTMLElement::getOwnPropertySlot):
23716        (KJS::KJS::HTMLElement::toString):
23717        (KJS::KJS::HTMLElement::put):
23718        * khtml/ecma/kjs_html.h:
23719        Have HTMLElement inherit from JSElement.
23720
23721        * khtml/xml/Element.idl: Added.
23722
237232006-02-08  Dave Hyatt <hyatt@apple.com>
23724
23725        Make the Cairo image surface only reflect the portion of
23726        the image that has been decoded so far.   That way we don't
23727        have to zero fill our RGBA32 buffers, and we avoid painting
23728        the empty portion.
23729
23730        Reviewed by timo
23731
23732        * Viewer/ImageView.cpp:
23733        * WebCore.vcproj/WebCore/WebCore.vcproj:
23734        * platform/cairo/ImageSourceCairo.cpp:
23735        (WebCore::createDecoder):
23736        (WebCore::ImageSource::createFrameAtIndex):
23737        * platform/image-decoders/ImageDecoder.h:
23738        (WebCore::RGBA32Buffer::RGBA32Buffer):
23739        (WebCore::RGBA32Buffer::height):
23740        (WebCore::RGBA32Buffer::ensureHeight):
23741        (WebCore::RGBA32Buffer::setStatus):
23742        (WebCore::RGBA32Buffer::setDuration):
23743        (WebCore::RGBA32Buffer::setIncludeInNextFrame):
23744        * platform/image-decoders/gif/GIFImageDecoder.cpp:
23745        (WebCore::GIFImageDecoder::haveDecodedRow):
23746        (WebCore::GIFImageDecoder::frameComplete):
23747        * platform/image-decoders/png/PNGImageDecoder.cpp:
23748        (WebCore::PNGImageDecoder::rowAvailable):
23749        (WebCore::PNGImageDecoder::pngComplete):
23750
237512006-02-08  Dave Hyatt <hyatt@apple.com>
23752
23753        Implement support for PNGs on Win32.  Includes support for
23754        interlacing and transparency.
23755
23756        Also optimized the GIF loop that sets the RGBA values to
23757        increment the pointer through the loop instead of doing multiplies
23758        and adds from the base every time.
23759
23760        Reviewed by mjs
23761
23762        * platform/image-decoders/ImageDecoder.h:
23763        (WebCore::RGBA32Buffer::setRGBA):
23764        * platform/image-decoders/gif/GIFImageDecoder.cpp:
23765        (WebCore::GIFImageDecoder::haveDecodedRow):
23766        * platform/image-decoders/png/PNGImageDecoder.cpp:
23767        (WebCore::PNGImageReader::PNGImageReader):
23768        (WebCore::PNGImageReader::~PNGImageReader):
23769        (WebCore::PNGImageReader::close):
23770        (WebCore::PNGImageReader::decode):
23771        (WebCore::PNGImageReader::decodingSizeOnly):
23772        (WebCore::PNGImageReader::pngPtr):
23773        (WebCore::PNGImageReader::infoPtr):
23774        (WebCore::PNGImageReader::interlaceBuffer):
23775        (WebCore::PNGImageReader::hasAlpha):
23776        (WebCore::PNGImageReader::setReadOffset):
23777        (WebCore::PNGImageReader::setHasAlpha):
23778        (WebCore::PNGImageReader::createInterlaceBuffer):
23779        (WebCore::PNGImageDecoder::PNGImageDecoder):
23780        (WebCore::PNGImageDecoder::~PNGImageDecoder):
23781        (WebCore::PNGImageDecoder::setData):
23782        (WebCore::PNGImageDecoder::isSizeAvailable):
23783        (WebCore::PNGImageDecoder::frameBufferAtIndex):
23784        (WebCore::PNGImageDecoder::decode):
23785        (WebCore::decodingFailed):
23786        (WebCore::decodingWarning):
23787        (WebCore::headerAvailable):
23788        (WebCore::PNGImageDecoder::headerAvailable):
23789        (WebCore::rowAvailable):
23790        (WebCore::PNGImageDecoder::rowAvailable):
23791        (WebCore::pngComplete):
23792        (WebCore::PNGImageDecoder::pngComplete):
23793        * platform/image-decoders/png/PNGImageDecoder.h:
23794        (WebCore::PNGImageDecoder::setFailed):
23795        (WebCore::PNGImageDecoder::reader):
23796        (WebCore::PNGImageDecoder::decodingFailed):
23797        * platform/image-decoders/png/mozpngconf.h:
23798
237992006-02-07  Maciej Stachowiak  <mjs@apple.com>
23800
23801        Rubber stamped by Hyatt.
23802
23803        - move kwq/KWQString.mm to platform/QString.cpp, split out nonportable parts, speculative
23804        port of one remaining nonportable bit to windows.
23805
23806        * ForwardingHeaders/qstring.h:
23807        * WebCore+SVG/KDOMSettings.h:
23808        * WebCore+SVG/kdom.h:
23809        * WebCore.xcodeproj/project.pbxproj:
23810        * css/cssparser.h:
23811        * css/cssstyleselector.cpp:
23812        * kcanvas/KCanvasResources.h:
23813        * kcanvas/KCanvasTreeDebug.h:
23814        * khtml/ecma/kjs_window.h:
23815        * khtml/editing/html_interchange.cpp:
23816        * khtml/editing/visible_position.h:
23817        * khtml/editing/visible_text.h:
23818        * khtml/editing/visible_units.cpp:
23819        * khtml/html/FormDataList.h:
23820        * khtml/html/html_objectimpl.cpp:
23821        * khtml/html/htmltokenizer.h:
23822        * khtml/misc/decoder.h:
23823        * khtml/misc/formdata.h:
23824        * khtml/xbl/xbl_protohandler.cpp:
23825        * khtml/xml/dom_position.cpp:
23826        * khtml/xsl/xslt_processorimpl.h:
23827        * ksvg2/svg/SVGHelper.h:
23828        * ksvg2/svg/SVGPreserveAspectRatioImpl.cpp:
23829        * ksvg2/svg/SVGStyleElementImpl.cpp:
23830        * ksvg2/svg/SVGURIReferenceImpl.h:
23831        * ksvg2/svg/svgpathparser.cpp:
23832        * kwq/KWQAccObjectCache.mm:
23833        * kwq/KWQBuffer.h:
23834        * kwq/KWQEvent.h:
23835        * kwq/KWQFont.mm:
23836        * kwq/KWQFontFamily.h:
23837        * kwq/KWQFontMetrics.h:
23838        * kwq/KWQKConfigBase.h:
23839        * kwq/KWQKDebug.h:
23840        * kwq/KWQKHTMLSettings.h:
23841        * kwq/KWQKJobClasses.h:
23842        * kwq/KWQKJobClasses.mm:
23843        * kwq/KWQKLocale.mm:
23844        * kwq/KWQKSSLKeyGen.mm:
23845        * kwq/KWQKURL.h:
23846        * kwq/KWQLineEdit.h:
23847        * kwq/KWQRegExp.h:
23848        * kwq/KWQRenderTreeDebug.h:
23849        * kwq/KWQString.h: Removed.
23850        * kwq/KWQString.mm: Removed.
23851        * kwq/KWQStringList.h:
23852        * kwq/KWQTextCodec.h:
23853        * kwq/KWQTextStream.h:
23854        * kwq/KWQTextUtilities.mm:
23855        * kwq/WebCoreScriptDebugger.mm:
23856        * loader/Cache.h:
23857        * platform/Color.cpp:
23858        * platform/Color.h:
23859        * platform/QString.cpp: Added.
23860        (allocateHandle):
23861        (KWQStringData::KWQStringData):
23862        (QString::QString):
23863        (QString::insert):
23864        (QString::detach):
23865        (QString::remove):
23866        (QString::setLength):
23867        (QString::fill):
23868        (initializeHandleNodeBlock):
23869        (allocateNode):
23870        (freeHandle):
23871        * platform/QString.h: Added.
23872        * platform/SegmentedString.h:
23873        * platform/StringImpl.h:
23874        * platform/mac/Image.mm:
23875        * platform/mac/QString.mm: Added.
23876        (QString::setBufferFromCFString):
23877        (QString::fromCFString):
23878        (QString::fromNSString):
23879        (QString::getNSString):
23880        (QString::utf8):
23881        (QString::fromUtf8):
23882        * rendering/bidi.h:
23883        * rendering/break_lines.cpp:
23884
238852006-02-07  Maciej Stachowiak  <mjs@apple.com>
23886
23887        Reviewed by Adele.
23888
23889        - remove all remains of old-style frame tree, ChildFrame, ObjectContents and FrameList are all gone
23890
23891        * WebCore.xcodeproj/project.pbxproj:
23892        * bridge/BrowserExtension.h:
23893        * bridge/mac/BrowserExtensionMac.h:
23894        * bridge/mac/BrowserExtensionMac.mm:
23895        (WebCore::BrowserExtensionMac::createNewWindow):
23896        * khtml/ecma/kjs_window.cpp:
23897        (KJS::createNewWindow):
23898        (KJS::Window::indexGetter):
23899        (KJS::Window::getOwnPropertySlot):
23900        (KJS::WindowFunc::callAsFunction):
23901        (KJS::FrameArray::getValueProperty):
23902        (KJS::FrameArray::indexGetter):
23903        (KJS::FrameArray::nameGetter):
23904        (KJS::FrameArray::getOwnPropertySlot):
23905        * kwq/KWQFrame.mm:
23906        (QFrame::setFrameStyle):
23907        * page/Frame.cpp:
23908        (WebCore::Frame::Frame):
23909        (WebCore::Frame::stopLoading):
23910        (WebCore::Frame::clear):
23911        (WebCore::Frame::stopAnimations):
23912        (WebCore::Frame::checkCompleted):
23913        (WebCore::Frame::checkEmitLoadEvent):
23914        (WebCore::Frame::requestFrame):
23915        (WebCore::Frame::requestObject):
23916        (WebCore::Frame::loadSubframe):
23917        (WebCore::Frame::findFrame):
23918        (WebCore::Frame::frameExists):
23919        (WebCore::Frame::setZoomFactor):
23920        (WebCore::Frame::frameNames):
23921        (WebCore::Frame::frames):
23922        (WebCore::Frame::childFrameNamed):
23923        (WebCore::Frame::slotPartRemoved):
23924        (WebCore::Frame::connectChild):
23925        (WebCore::Frame::disconnectChild):
23926        (WebCore::Frame::canCachePage):
23927        (WebCore::Frame::setPolicyBaseURL):
23928        (WebCore::Frame::treeNode):
23929        (WebCore::Frame::frameDetached):
23930        * page/Frame.h:
23931        * page/FramePrivate.h:
23932        * page/FrameTreeNode.h:
23933        (WebCore::FrameTreeNode::name):
23934        (WebCore::FrameTreeNode::parent):
23935        (WebCore::FrameTreeNode::nextSibling):
23936        (WebCore::FrameTreeNode::previousSibling):
23937        (WebCore::FrameTreeNode::firstChild):
23938        (WebCore::FrameTreeNode::lastChild):
23939        (WebCore::FrameTreeNode::childCount):
23940        * page/ObjectContents.h: Removed.
23941        * page/Plugin.h:
23942        (WebCore::Plugin::view):
23943
239442006-02-07  Adele Peterson  <adele@apple.com>
23945
23946        Reviewed by Maciej.
23947
23948        - Fixed <rdar://problem/3727939> Safari strips \0 characters from HTML tags making them valid
23949
23950        Test: fast/encoding/decoder-allow-null-chars.html
23951
23952        * kwq/KWQTextCodec.cpp:
23953        (KWQTextDecoder::convertLatin1): Removed stripping of null characters
23954        (unwanted): ditto.
23955
239562006-02-07  David Hyatt <hyatt@apple.com>
23957
23958        Land the skeleton of a PNG decoder for Win32.
23959
23960        Reviewed by Eric
23961
23962        * WebCore.vcproj/WebCore/WebCore.vcproj:
23963        * platform/cairo/ImageSourceCairo.cpp:
23964        (WebCore::createDecoder):
23965        * platform/image-decoders/png/PNGImageDecoder.cpp: Added.
23966        (WebCore::PNGImageDecoderPrivate::PNGImageDecoderPrivate):
23967        (WebCore::PNGImageDecoderPrivate::~PNGImageDecoderPrivate):
23968        (WebCore::PNGImageDecoderPrivate::decode):
23969        (WebCore::PNGImageDecoder::PNGImageDecoder):
23970        (WebCore::PNGImageDecoder::~PNGImageDecoder):
23971        (WebCore::PNGImageDecoder::setData):
23972        (WebCore::PNGImageDecoder::isSizeAvailable):
23973        (WebCore::PNGImageDecoder::size):
23974        (WebCore::PNGImageDecoder::frameBufferAtIndex):
23975        (WebCore::PNGImageDecoder::decode):
23976        * platform/image-decoders/png/PNGImageDecoder.h: Added.
23977
239782006-02-07  Eric Seidel  <eseidel@apple.com>
23979
23980        Reviewed by hyatt.
23981
23982        Removed ImageSubset, making ImageViewer link directly to WebCore.
23983
23984        * Viewer.vcproj:
23985        * WebCore.vcproj/ImageSubset: Removed.
23986        * WebCore.vcproj/ImageSubset/ImageSubset.vcproj: Removed.
23987        * WebCore.vcproj/WebCore.sln:
23988        * WebCore.vcproj/WebCore/WebCore.vcproj:
23989
239902006-02-07  Geoffrey Garen  <ggaren@apple.com>
23991
23992        Reviewed by darin.
23993
23994        - Fixed <rdar://problem/4425269> REGRESSION: wrong size pop-up when
23995        downloading attachment at webmail.mac.com (6882)
23996
23997        The bug was that the feature string parser didn't always initialize the
23998        *Set variables, so WebCore assumed a height was set when it wasn't,
23999        and used a garbage height variable.
24000
24001        While there, I fixed two other bugs: (1) The parser wasn't chewing up
24002        as many characters as I thought it was. (Chewing up extra characters
24003        is necessary to match Win IE.) (2) We considered \t and \f to be
24004        whitespace, but Win IE doesn't.
24005
24006        * manual-tests/window-open-features-parsing.html: Added these cases,
24007        fixed up comments.
24008
24009        * bridge/BrowserExtension.h: Cleaned up declaration order a bit.
24010        * khtml/ecma/kjs_window.cpp:
24011        (KJS::isSeparator): New function, tells you if a character is a
24012        separator
24013        (KJS::parseWindowFeatures): Always initialize *Set to false. Drive
24014        parsing based on invalid characters ('separators') rather than valid
24015        ones, to match Win IE.
24016
240172006-02-07  Alexey Proskuryakov  <ap@nypop.com>
24018
24019        Reviewed by Timothy.
24020
24021        Convert JavaScript objects to appropriate AppleScript types, instead of only strings
24022        http://bugs.webkit.org/show_bug.cgi?id=7012
24023
24024        Tests: fast/AppleScript/*
24025
24026        * bridge/mac/WebCoreFrameBridge.h:
24027        * bridge/mac/WebCoreFrameBridge.mm:
24028        (aeDescFromJSValue):
24029        (-[WebCoreFrameBridge aeDescByEvaluatingJavaScriptFromString:]):
24030
240312006-02-07  Dave Hyatt <hyatt@apple.com>
24032
24033        Rename ImageDecoderPlugin to ImageDecoder.  Rename
24034        GIFReader to GIFImageReder.  Rename GIFDecoderPlugin to
24035        GIFImageDecoder.
24036
24037        Reviewed by mjs
24038
24039        * WebCore.vcproj/WebCore/WebCore.vcproj:
24040        * platform/cairo/ImageSourceCairo.cpp:
24041        (WebCore::createDecoder):
24042        (WebCore::ImageSource::setData):
24043        * platform/image-decoders/ImageDecoder.h: Added.
24044        (WebCore::ImageDecoder::~ImageDecoder):
24045        * platform/image-decoders/ImageDecoderPlugin.h: Removed.
24046        * platform/image-decoders/gif/GIFDecoderPlugin.cpp: Removed.
24047        * platform/image-decoders/gif/GIFDecoderPlugin.h: Removed.
24048        * platform/image-decoders/gif/GIFImageDecoder.cpp: Added.
24049        (WebCore::GIFImageDecoderPrivate::GIFImageDecoderPrivate):
24050        (WebCore::GIFImageDecoderPrivate::~GIFImageDecoderPrivate):
24051        (WebCore::GIFImageDecoderPrivate::decode):
24052        (WebCore::GIFImageDecoder::GIFImageDecoder):
24053        (WebCore::GIFImageDecoder::~GIFImageDecoder):
24054        (WebCore::GIFImageDecoder::setData):
24055        (WebCore::GIFImageDecoder::isSizeAvailable):
24056        (WebCore::GIFImageDecoder::size):
24057        (WebCore::GIFImageDecoder::frameCount):
24058        (WebCore::GIFImageDecoder::repetitionCount):
24059        (WebCore::GIFImageDecoder::frameBufferAtIndex):
24060        (WebCore::GIFImageDecoder::decode):
24061        (WebCore::GIFImageDecoder::sizeNowAvailable):
24062        (WebCore::GIFImageDecoder::decodingHalted):
24063        (WebCore::GIFImageDecoder::haveDecodedRow):
24064        (WebCore::GIFImageDecoder::frameComplete):
24065        (WebCore::GIFImageDecoder::gifComplete):
24066        * platform/image-decoders/gif/GIFImageDecoder.h: Added.
24067        * platform/image-decoders/gif/GIFImageReader.cpp: Added.
24068        (GIFImageReader::output_row):
24069        (GIFImageReader::do_lzw):
24070        (GIFImageReader::read):
24071        * platform/image-decoders/gif/GIFImageReader.h: Added.
24072        (GIFImageReader::GIFImageReader):
24073        (GIFImageReader::~GIFImageReader):
24074        * platform/image-decoders/gif/GIFReader.cpp: Removed.
24075        * platform/image-decoders/gif/GIFReader.h: Removed.
24076
240772006-02-07  David Hyatt  <hyatt@apple.com>
24078
24079        Rename ImageDecoder to ImageSource.
24080
24081        Reviewed by mjs
24082
24083        * WebCore.xcodeproj/project.pbxproj:
24084        * platform/Image.cpp:
24085        (WebCore::Image::cacheFrame):
24086        (WebCore::Image::size):
24087        (WebCore::Image::setNativeData):
24088        (WebCore::Image::frameCount):
24089        (WebCore::Image::isSizeAvailable):
24090        * platform/Image.h:
24091        * platform/ImageDecoder.h: Removed.
24092        * platform/ImageSource.h: Added.
24093        * platform/cairo/ImageCairo.cpp:
24094        (WebCore::Image::drawInRect):
24095        * platform/cairo/ImageDecoderCairo.cpp: Removed.
24096        * platform/cairo/ImageSourceCairo.cpp: Added.
24097        (WebCore::createDecoderPlugin):
24098        (WebCore::ImageSource::ImageSource):
24099        (WebCore::ImageSource::~ImageSource):
24100        (WebCore::ImageSource::initialized):
24101        (WebCore::ImageSource::setData):
24102        (WebCore::ImageSource::isSizeAvailable):
24103        (WebCore::ImageSource::size):
24104        (WebCore::ImageSource::repetitionCount):
24105        (WebCore::ImageSource::frameCount):
24106        (WebCore::ImageSource::createFrameAtIndex):
24107        (WebCore::ImageSource::frameDurationAtIndex):
24108        * platform/mac/Image.mm:
24109        (WebCore::Image::drawInRect):
24110        * platform/mac/ImageData.mm: Removed.
24111        * platform/mac/ImageDecoder.cpp: Removed.
24112        * platform/mac/ImageSource.cpp: Added.
24113        (WebCore::ImageSource::ImageSource):
24114        (WebCore::ImageSource::~ImageSource):
24115        (WebCore::ImageSource::initialized):
24116        (WebCore::ImageSource::setData):
24117        (WebCore::ImageSource::isSizeAvailable):
24118        (WebCore::ImageSource::size):
24119        (WebCore::ImageSource::repetitionCount):
24120        (WebCore::ImageSource::frameCount):
24121        (WebCore::ImageSource::createFrameAtIndex):
24122        (WebCore::ImageSource::frameDurationAtIndex):
24123
241242006-02-07  David Hyatt  <hyatt@apple.com>
24125
24126        Combine ImageData and Image (the result ends up in Image).
24127
24128        Reviewed by mjs
24129
24130        * WebCore.xcodeproj/project.pbxproj:
24131        * bindings/objc/DOM.mm:
24132        (-[DOMElement _image]):
24133        (-[DOMElement _imageTIFFRepresentation]):
24134        * bridge/mac/MacFrame.mm:
24135        (WebCore::MacFrame::fileWrapperForElement):
24136        * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
24137        (KCanvasFEImageQuartz::getCIFilter):
24138        * khtml/ecma/kjs_html.cpp:
24139        (KJS::KJS::Context2DFunction::callAsFunction):
24140        (KJS::drawPattern):
24141        (KJS::_rh):
24142        (KJS::ImagePattern::createPattern):
24143        * kwq/KWQClipboard.mm:
24144        (WebCore::KWQClipboard::dragNSImage):
24145        * kwq/KWQCursor.h:
24146        * kwq/KWQCursor.mm:
24147        (WebCore::createCustomCursor):
24148        (WebCore::QCursor::QCursor):
24149        * kwq/KWQPainter.h:
24150        * kwq/KWQPainter.mm:
24151        (WebCore::QPainter::drawImageAtPoint):
24152        (WebCore::QPainter::drawImageInRect):
24153        (WebCore::QPainter::drawImage):
24154        (WebCore::QPainter::drawFloatImage):
24155        (WebCore::QPainter::drawTiledImage):
24156        (WebCore::QPainter::drawScaledAndTiledImage):
24157        * loader/CachedImage.cpp:
24158        (WebCore::CachedImage::image):
24159        * loader/CachedImage.h:
24160        * page/FrameView.cpp:
24161        (WebCore::selectCursor):
24162        * platform/Image.cpp:
24163        (WebCore::Image::Image):
24164        (WebCore::Image::~Image):
24165        (WebCore::Image::invalidateData):
24166        (WebCore::Image::cacheFrame):
24167        (WebCore::Image::isNull):
24168        (WebCore::Image::size):
24169        (WebCore::Image::setData):
24170        (WebCore::Image::setNativeData):
24171        (WebCore::Image::frameCount):
24172        (WebCore::Image::isSizeAvailable):
24173        (WebCore::Image::frameAtIndex):
24174        (WebCore::Image::frameDurationAtIndex):
24175        (WebCore::Image::shouldAnimate):
24176        (WebCore::Image::startAnimation):
24177        (WebCore::Image::stopAnimation):
24178        (WebCore::Image::resetAnimation):
24179        (WebCore::Image::advanceAnimation):
24180        (WebCore::Image::rect):
24181        * platform/Image.h:
24182        (KXMLCore::):
24183        (WebCore::FrameData::m_duration):
24184        (WebCore::FrameData::~FrameData):
24185        (WebCore::Image::currentFrame):
24186        (WebCore::Image::animationObserver):
24187        (WebCore::Image::setIsPDF):
24188        * platform/ImageData.cpp: Removed.
24189        * platform/ImageData.h: Removed.
24190        * platform/cairo/ImageCairo.cpp:
24191        (WebCore::FrameData::clear):
24192        (WebCore::Image::initNativeData):
24193        (WebCore::Image::destroyNativeData):
24194        (WebCore::Image::invalidateNativeData):
24195        (WebCore::Image::drawInRect):
24196        (WebCore::Image::tileInRect):
24197        (WebCore::Image::scaleAndTileInRect):
24198        * platform/mac/Image.mm:
24199        (WebCore::FrameData::clear):
24200        (WebCore::Image::initNativeData):
24201        (WebCore::Image::destroyNativeData):
24202        (WebCore::Image::invalidateNativeData):
24203        (WebCore::Image::loadResource):
24204        (WebCore::Image::supportsType):
24205        (WebCore::Image::checkForSolidColor):
24206        (WebCore::Image::getTIFFRepresentation):
24207        (WebCore::Image::getNSImage):
24208        (WebCore::Image::getCGImageRef):
24209        (WebCore::Image::drawInRect):
24210        (WebCore::drawPattern):
24211        (WebCore::Image::tileInRect):
24212        (WebCore::Image::scaleAndTileInRect):
24213        * rendering/render_image.cpp:
24214        (WebCore::RenderImage::imageChanged):
24215        (WebCore::RenderImage::resetAnimation):
24216        (WebCore::RenderImage::paint):
24217        (WebCore::RenderImage::nullImage):
24218        * rendering/render_image.h:
24219        (WebCore::RenderImage::image):
24220        * rendering/render_list.cpp:
24221        (RenderListItem::getAbsoluteRepaintRect):
24222        (RenderListMarker::paint):
24223        (RenderListMarker::calcMinMaxWidth):
24224        * rendering/render_object.cpp:
24225        (WebCore::RenderObject::paintBorderImage):
24226
242272006-02-06  Maciej Stachowiak  <mjs@apple.com>
24228
24229        Reviewed by Eric.
24230
24231        - fixed "remove frame, renderer and completed flag from ChildFrame, make Frame track these"
24232        http://bugs.webkit.org/show_bug.cgi?id=7125
24233
24234        - fixed "onload event never called for iframe element with emtpy or about:blank src"
24235        http://bugs.webkit.org/show_bug.cgi?id=3609
24236
24237        * bridge/mac/MacFrame.h:
24238        * bridge/mac/MacFrame.mm:
24239        (WebCore::MacFrame::MacFrame): pass along renderer
24240        (WebCore::MacFrame::nextKeyViewInFrameHierarchy): get owner element in newfangled way
24241        * bridge/mac/WebCoreFrameBridge.h:
24242        * bridge/mac/WebCoreFrameBridge.mm:
24243        (-[WebCoreFrameBridge removeChild:]): don't mess with renderer
24244        (-[WebCoreFrameBridge init]): call new designated initializer
24245        (-[WebCoreFrameBridge initWithRenderer:]): new designated initializer
24246        (-[WebCoreFrameBridge dealloc]): don't mess with renderer
24247        (-[WebCoreFrameBridge finalize]): ditto
24248        (-[WebCoreFrameBridge installInFrame:]): ditto
24249        * page/Frame.cpp:
24250        (WebCore::FrameList::find): get name from frame not ChildFrame
24251        (WebCore::Frame::init): take renderer parameter
24252        (WebCore::Frame::clear): clear m_plugins, not m_objects
24253        (WebCore::Frame::childBegin): updated comment
24254        (WebCore::Frame::stop): add check-completed for documentless case here
24255        (WebCore::Frame::checkCompleted): don't track separate completed flag
24256        in ChildFrame, use the sub Frame object's own
24257        (WebCore::Frame::checkEmitLoadEvent): ditto
24258        (WebCore::Frame::requestFrame): don't store renderer and name in ChildFrame,
24259        instead pass them along
24260        (WebCore::Frame::requestObject): ditto above
24261        (WebCore::Frame::loadPlugin): expect renderer parameter
24262        (WebCore::Frame::loadSubframe): expect renderer and name parameters
24263        (WebCore::Frame::slotChildStarted): don't mess with ChildFrame
24264        (WebCore::Frame::slotChildCompleted): ditto
24265        (WebCore::Frame::childFrame): don't check m_objects
24266        (WebCore::Frame::frameExists): fix spacing, remove obsolete check and comment
24267        (WebCore::Frame::frameNames): get name from frame
24268        (WebCore::Frame::ownerElement): simplify a lot since the Frame knows its owner
24269        renderer now
24270        (WebCore::Frame::ownerRenderer): added
24271        (WebCore::Frame::canCachePage): check m_plugins not m_objects
24272        * page/Frame.h:
24273        * page/FramePrivate.h:
24274        (WebCore::ChildFrame): Remove constructor, most fields.
24275        (WebCore::FramePrivate::FramePrivate): Pass ownerRenderer
24276        * rendering/render_frames.cpp:
24277        (WebCore::RenderPartObject::updateWidget): Make sure to pass name attr
24278        to requestObject.
24279
242802006-02-06  Adele Peterson  <adele@apple.com>
24281
24282        Reviewed by Maciej.
24283
24284        - fix http://bugs.webkit.org/show_bug.cgi?id=6944
24285          REGRESSION: crash when loading page w/ <link> that has a DOMSubtreeModified event listener
24286
24287        Test: fast/events/event-listener-on-link.html
24288
24289        * khtml/xml/dom_elementimpl.h: Added createAttrImplIfNeeded, removed allocateImpl,
24290         changed AttrImpl contructor to remove createTextChild bool, added createTextChild method,
24291         changed getAttributeNode, getAttributeNodeNS, getNamedItem, getNamedItemNS, and item to return PassRefPtrs.
24292        (DOM::ElementImpl::getAttributeNode):
24293        * khtml/xml/dom_elementimpl.cpp:
24294        (WebCore::AttributeImpl::createAttrImplIfNeeded): New method to replace allocateImpl.
24295         This will use a RefPtr for the AttrImpl, check for an existing AttrImpl, create one if there isn't one,
24296         and will call the new createTextChild.
24297        (WebCore::AttrImpl::AttrImpl):  Moved creation of text child to new createTextChild method.
24298         If done in the constructor, the ref count is still 0, and the act of appending the text node
24299         could cause the AttrImpl to be destroyed.
24300        (WebCore::AttrImpl::createTextChild): Moved code from AttrImpl contructor.
24301         Also, I've added an assert to make sure that any callers of this have ref'd the AttrImpl.
24302        (WebCore::AttrImpl::cloneNode): Used RefPtr instead of PassRefPtr, and then called release() on it before returning.
24303        (WebCore::ElementImpl::cloneNode): ditto.
24304        (WebCore::ElementImpl::getAttributeNodeNS): Changed return type to PassRefPtr.
24305        (WebCore::NamedAttrMapImpl::getNamedItemNS): ditto.
24306        (WebCore::NamedAttrMapImpl::getNamedItem): ditto. Changed use of allocateImpl to createAttrImplIfNeeded
24307        (WebCore::NamedAttrMapImpl::setNamedItem): ditto.
24308        (WebCore::NamedAttrMapImpl::removeNamedItem): ditto.
24309        (WebCore::NamedAttrMapImpl::item): ditto.
24310        * khtml/xml/DocumentImpl.cpp:
24311        (WebCore::DocumentImpl::createAttributeNS): Changed return type to PassRefPtr and removed bool from AttrImpl contructor call.
24312        * khtml/xml/DocumentImpl.h: Now returns a PassRefPtr for createAttribute and createAttributeNS.
24313        (WebCore::DocumentImpl::createAttribute):
24314        * khtml/xml/NamedNodeMapImpl.h: Now returns a PassRefPtr for getNamedItem, getNamedItemNS, and item.
24315        (WebCore::NamedNodeMapImpl::getNamedItem):
24316        * bindings/objc/DOM.mm:
24317        (-[DOMNamedNodeMap getNamedItem:]): Call get() since the methods discussed above now return PassRefPtrs.
24318        (-[DOMNamedNodeMap item:]): ditto.
24319        (-[DOMNamedNodeMap getNamedItemNS::]): ditto.
24320        (-[DOMDocument createAttribute:]): ditto.
24321        (-[DOMDocument createAttributeNS::]): ditto.
24322        (-[DOMElement getAttributeNode:]): ditto.
24323        (-[DOMElement getAttributeNodeNS::]): ditto.
24324
243252006-02-06  Maciej Stachowiak  <mjs@apple.com>
24326
24327        Reviewed by Darin.
24328
24329        - fixed 7094: onfocus/onblur on non-form-controls bubble
24330        http://bugs.webkit.org/show_bug.cgi?id=7094
24331
24332        * khtml/html/HTMLElementImpl.cpp:
24333        (WebCore::HTMLElementImpl::parseMappedAttribute): connect onfocus/onblur to
24334        focus/blur, not DOMFocusIn/DOMFocusOut
24335
243362006-02-06  Eric Seidel  <eseidel@apple.com>
24337
24338        Add svn:ignore properties for visual studio internals.
24339
243402006-02-06  Dave Hyatt <hyatt@apple.com>
24341
24342        Commit the image viewer test app, and all the Win32 project
24343        changes to build both it and Cairo.
24344
24345        Reviewed by eric
24346
24347        * Viewer: Added.
24348        * Viewer.aps: Added.
24349        * Viewer.cpp: Added.
24350        * Viewer.h: Added.
24351        * Viewer.ico: Added.
24352        * Viewer.rc: Added.
24353        * Viewer.reg: Added.
24354        * Viewer.vcproj: Added.
24355        * Viewer/ImageDocument.cpp: Added.
24356        * Viewer/ImageDocument.h: Added.
24357        * Viewer/ImageMainFrame.cpp: Added.
24358        * Viewer/ImageMainFrame.h: Added.
24359        * Viewer/ImageView.cpp: Added.
24360        * Viewer/ImageView.h: Added.
24361        * Viewer/Resource.h: Added.
24362        * Viewer/res: Added.
24363        * Viewer/res/ImageViewer.rc2: Added.
24364        * Viewer/res/Toolbar.bmp: Added.
24365        * Viewer/stdafx.cpp: Added.
24366        * Viewer/stdafx.h: Added.
24367        * ViewerDoc.ico: Added.
24368        * WebCore.vcproj/WebCore.sln:
24369        * WebCore.vcproj/WebCore/WebCore.vcproj:
24370
243712006-02-06  Dave Hyatt <hyatt@apple.com>
24372
24373        Reviewed by darin
24374
24375        * khtml/html/html_imageimpl.h:
24376        (WebCore::HTMLImageElementImpl::compositeOperator):
24377        * loader/CachedImage.cpp:
24378        * platform/Array.h:
24379        * platform/FloatSize.h:
24380        * platform/Image.cpp:
24381        (WebCore::Image::Image):
24382        (WebCore::Image::compositeOperatorFromString):
24383        * platform/Image.h:
24384        * platform/ImageData.cpp:
24385        (WebCore::FrameData::clear):
24386        (WebCore::ImageData::ImageData):
24387        (WebCore::ImageData::frameAtIndex):
24388        * platform/ImageData.h:
24389        * platform/ImageDecoder.h:
24390        * platform/Timer.h:
24391        * platform/cairo/.cvsignore: Added.
24392        * platform/cairo/ImageCairo.cpp: Added.
24393        (WebCore::Image::loadResource):
24394        (WebCore::Image::supportsType):
24395        (WebCore::graphicsContext):
24396        (WebCore::setCompositingOperation):
24397        (WebCore::Image::drawInRect):
24398        (WebCore::Image::tileInRect):
24399        (WebCore::Image::scaleAndTileInRect):
24400        * platform/cairo/ImageDecoderCairo.cpp: Added.
24401        (WebCore::createDecoderPlugin):
24402        (WebCore::ImageDecoder::ImageDecoder):
24403        (WebCore::ImageDecoder::~ImageDecoder):
24404        (WebCore::ImageDecoder::initialized):
24405        (WebCore::ImageDecoder::setData):
24406        (WebCore::ImageDecoder::isSizeAvailable):
24407        (WebCore::ImageDecoder::size):
24408        (WebCore::ImageDecoder::repetitionCount):
24409        (WebCore::ImageDecoder::frameCount):
24410        (WebCore::ImageDecoder::createFrameAtIndex):
24411        (WebCore::ImageDecoder::frameDurationAtIndex):
24412        (WebCore::RGBA32Buffer::setDuration):
24413        (WebCore::RGBA32Buffer::setIncludeInNextFrame):
24414        (WebCore::RGBA32Buffer::bytes):
24415        (WebCore::RGBA32Buffer::status):
24416        (WebCore::RGBA32Buffer::duration):
24417        (WebCore::RGBA32Buffer::includeInNextFrame):
24418        (WebCore::RGBA32Buffer::setRGBA):
24419        (WebCore::ImageDecoderPlugin::~ImageDecoderPlugin):
24420        (WebCore::ImageDecoderPlugin::setData):
24421        (WebCore::ImageDecoderPlugin::frameCount):
24422        (WebCore::ImageDecoderPlugin::repetitionCount):
24423        * platform/image-decoders/gif: Added.
24424        * platform/image-decoders/gif/GIFDecoderPlugin.cpp: Added.
24425        (WebCore::GIFDecoderPluginPrivate::GIFDecoderPluginPrivate):
24426        (WebCore::GIFDecoderPluginPrivate::~GIFDecoderPluginPrivate):
24427        (WebCore::GIFDecoderPluginPrivate::decode):
24428        (WebCore::GIFDecoderPluginPrivate::frameCount):
24429        (WebCore::GIFDecoderPluginPrivate::repetitionCount):
24430        (WebCore::GIFDecoderPluginPrivate::setReadOffset):
24431        (WebCore::GIFDecoderPluginPrivate::isTransparent):
24432        (WebCore::GIFDecoderPluginPrivate::getColorMap):
24433        (WebCore::GIFDecoderPluginPrivate::frameXOffset):
24434        (WebCore::GIFDecoderPluginPrivate::frameYOffset):
24435        (WebCore::GIFDecoderPluginPrivate::transparentPixel):
24436        (WebCore::GIFDecoderPluginPrivate::duration):
24437        (WebCore::GIFDecoderPlugin::GIFDecoderPlugin):
24438        (WebCore::GIFDecoderPlugin::~GIFDecoderPlugin):
24439        (WebCore::GIFDecoderPlugin::setData):
24440        (WebCore::GIFDecoderPlugin::isSizeAvailable):
24441        (WebCore::GIFDecoderPlugin::size):
24442        (WebCore::GIFDecoderPlugin::frameCount):
24443        (WebCore::GIFDecoderPlugin::repetitionCount):
24444        (WebCore::GIFDecoderPlugin::frameBufferAtIndex):
24445        (WebCore::GIFDecoderPlugin::decode):
24446        (WebCore::GIFDecoderPlugin::sizeNowAvailable):
24447        (WebCore::GIFDecoderPlugin::decodingHalted):
24448        (WebCore::GIFDecoderPlugin::haveDecodedRow):
24449        (WebCore::GIFDecoderPlugin::frameComplete):
24450        (WebCore::GIFDecoderPlugin::gifComplete):
24451        * platform/image-decoders/gif/GIFDecoderPlugin.h: Added.
24452        (WebCore::GIFDecoderPlugin::frameDurationAtIndex):
24453        (WebCore::GIFDecoderPlugin::):
24454        * platform/image-decoders/gif/GIFReader.cpp: Added.
24455        (GIFReader::output_row):
24456        (GIFReader::do_lzw):
24457        (GIFReader::read):
24458        * platform/image-decoders/gif/GIFReader.h: Added.
24459        (GIFFrameReader::GIFFrameReader):
24460        (GIFFrameReader::~GIFFrameReader):
24461        (GIFReader::GIFReader):
24462        (GIFReader::~GIFReader):
24463        (GIFReader::close):
24464        * platform/win/ImageDecoderPlugin.h: Added.
24465        (WebCore::RGBA32Buffer::):
24466        (WebCore::RGBA32Buffer::RGBA32Buffer):
24467        (WebCore::RGBA32Buffer::setStatus):
24468        (WebCore::RGBA32Buffer::setDuration):
24469        (WebCore::RGBA32Buffer::setIncludeInNextFrame):
24470        (WebCore::RGBA32Buffer::bytes):
24471        (WebCore::RGBA32Buffer::status):
24472        (WebCore::RGBA32Buffer::duration):
24473        (WebCore::RGBA32Buffer::includeInNextFrame):
24474        (WebCore::RGBA32Buffer::setRGBA):
24475        (WebCore::ImageDecoderPlugin::ImageDecoderPlugin):
24476        (WebCore::ImageDecoderPlugin::~ImageDecoderPlugin):
24477        (WebCore::ImageDecoderPlugin::setData):
24478        (WebCore::ImageDecoderPlugin::isSizeAvailable):
24479        (WebCore::ImageDecoderPlugin::size):
24480        (WebCore::ImageDecoderPlugin::frameCount):
24481        (WebCore::ImageDecoderPlugin::repetitionCount):
24482        (WebCore::ImageDecoderPlugin::frameBufferAtIndex):
24483        * platform/win/TimerWin.cpp: Added.
24484        (WebCore::timerFired):
24485        (WebCore::TimerBase::TimerBase):
24486        (WebCore::TimerBase::~TimerBase):
24487        (WebCore::TimerBase::start):
24488        (WebCore::TimerBase::startRepeating):
24489        (WebCore::TimerBase::startOneShot):
24490        (WebCore::TimerBase::stop):
24491        (WebCore::TimerBase::isActive):
24492        (WebCore::TimerBase::nextFireInterval):
24493        (WebCore::TimerBase::repeatInterval):
24494        (WebCore::TimerBase::fire):
24495        (WebCore::isDeferringTimers):
24496        (WebCore::setDeferringTimers):
24497
244982006-02-06  Vicki Murley  <vicki@apple.com>
24499
24500        Reviewed by Darin and Eric.
24501
24502        - fix <rdar://problem/4414918> REGRESSION: images dragged into contenteditable area
24503        end up outside of editable area (6525)
24504
24505        * bridge/mac/WebCoreFrameBridge.mm:
24506        (-[WebCoreFrameBridge RenderObject::nodeInfoAtPoint:]): Moved code from
24507        elementAtPoint to this new method.  This method takes a point and returns a NodeInfo
24508        for the deepest node at that point.
24509        (-[WebCoreFrameBridge elementAtPoint:]): Use new nodeInfoAtPoint method.
24510        (-[WebCoreFrameBridge _visiblePositionForPoint:]): Ditto.
24511
245122006-02-04  Darin Adler  <darin@apple.com>
24513
24514        Reviewed by Adele.
24515
24516        - fix http://bugs.webkit.org/show_bug.cgi?id=7071
24517          REGRESSION: Jumping to an anchor identifier makes page scroll horizontally
24518
24519        Test: fast/overflow/scroll-vertical-not-horizontal.html
24520
24521        * rendering/render_layer.cpp: (WebCore::RenderLayer::getRectToExpose):
24522        Fixed rectangle intersections so that the X and Y dimensions are independent,
24523        to fix the bug. Also restructured the function a bit so it's even easier to
24524        read and understand.
24525
245262006-02-06  David Harrison  <harrison@apple.com>
24527
24528        Suggested by Darin.
24529
24530        * khtml/html/HTMLElementImpl.cpp:
24531        (WebCore::HTMLElementImpl::createContextualFragment):
24532        - make nextChild a RefPtr to survive possible DOM changes
24533
245342006-02-06  Beth Dakin  <bdakin@apple.com>
24535
24536        Reviewed by John and Adele
24537
24538        Fix for <rdar://problem/4323167> REGRESSION (TOT): Crash in
24539        RenderTable::colToEffCol entering text into text input field
24540
24541        Some of the autofill code assumes that the form's label is in a
24542        table cell, but this is not necessarily the case. This fix checks
24543        that the renderer is actually a table cell before treating it as
24544        such.
24545
24546        * bridge/mac/MacFrame.mm:
24547        (WebCore::MacFrame::searchForLabelsAboveCell): Check if the
24548        renderer is a table cell.
24549
245502006-02-06  Darin Adler  <darin@apple.com>
24551
24552        Reviewed by John.
24553
24554        - fix <rdar://problem/4432562> REGRESSION (TOT):
24555          Safari's "stop loading" active, "view source" inactive after page load [7058]
24556          http://bugs.webkit.org/show_bug.cgi?id=7058
24557
24558        * page/Frame.h: Make redirectionTimerFired virtual.
24559        * bridge/mac/MacFrame.h: Override redirectionTimerFired.
24560        * bridge/mac/MacFrame.mm: (WebCore::MacFrame::redirectionTimerFired):
24561        Send the redirectionTimerCancelled callback here, even though it has
24562        fired rather than being cancelled.
24563
24564        * manual-tests/redirect.html: Added.
24565        * manual-tests/redirection-target.html: Added.
24566
245672006-02-06  David Harrison  <harrison@apple.com>
24568
24569        Reviewed by John.
24570
24571        Fix TOT regression where Mail.app replies were getting truncated.
24572        Was caused by 1/26/2006 checkin for http://bugs.webkit.org/show_bug.cgi?id=6754
24573
24574        No layout test because this code cannot be reached via JS operations.
24575
24576        * khtml/html/HTMLElementImpl.cpp:
24577        (WebCore::HTMLElementImpl::createContextualFragment):
24578        - restore code that sampled nextSibling() before node is removed
24579        - also, add asserts that the DOM mutation methods yield a 0 exception code, so problems
24580          can be caught closer to the cause.
24581
245822006-02-05  Anders Carlsson  <andersca@mac.com>
24583
24584        Reviewed by Maciej.
24585
24586        - http://bugs.webkit.org/show_bug.cgi?id=7091
24587        Autogenerate even more.
24588
24589        * JSCore.cpp:
24590        Add new generated files.
24591
24592        * bindings/scripts/CodeGeneratorJS.pm:
24593        Add "IsIndex" extended attribute for parameters. Any parameter that is "unsigned long"
24594        and has this attribute will be checked to make sure that it's not < 0. If it is, an index size error
24595        exception will be thrown.
24596
24597        * khtml/ecma/kjs_dom.cpp:
24598        (KJS::toAttr):
24599        Use JSAttr::info.
24600
24601        (KJS::getDOMNode):
24602        Use new constructors.
24603
24604        * khtml/ecma/kjs_dom.h:
24605        Remove classes that are generated now.
24606
24607        * khtml/xml/Attr.idl: Added.
24608        * khtml/xml/CharacterData.idl: Added.
24609        * khtml/xml/Entity.idl: Added.
24610        * khtml/xml/Notation.idl: Added.
24611        * khtml/xml/ProcessingInstruction.idl: Added.
24612        * khtml/xml/Text.idl: Added.
24613
246142006-02-05  Maciej Stachowiak  <mjs@apple.com>
24615
24616        Reviewed by Darin.
24617
24618        Re-landed the following with more fixes so it does not break tests:
24619
24620        - various event cleanup, including fixing of the load event for iframes
24621        http://bugs.webkit.org/show_bug.cgi?id=7079
24622
24623        Specific changes:
24624
24625        - don't bother to nil-check the document, a node can never have a null document now
24626        - move temp event forgetting from dispatchEvent to dispatchGenericEvent
24627        - pass event down using RefPtr::release() to avoid ref thrashing
24628        - support default handlers even for non-bubbling events (only on
24629          target node) and skip calling default event handler explicitly in
24630          callers
24631        - dispatch a whole separate load event to a frame document's containing frame
24632        - don't let propagationStopped prevent this new event
24633        - remove bogus security check for iframe onload
24634        - dispatch window events on the document, not the body, and also for non-html
24635        - set onload, onunload, onbeforeunload from frameset tags on the window object
24636        - don't restrict load/unload events to HTML
24637        - send default handler to the dispatch object as previously
24638
24639        * bridge/mac/MacFrame.mm:
24640        (WebCore::MacFrame::shouldClose):
24641        * khtml/html/html_baseimpl.cpp:
24642        (WebCore::HTMLFrameElementImpl::parseMappedAttribute):
24643        (WebCore::HTMLFrameSetElementImpl::parseMappedAttribute):
24644        * khtml/xml/DocumentImpl.cpp:
24645        (WebCore::DocumentImpl::implicitClose):
24646        * khtml/xml/NodeImpl.cpp:
24647        (WebCore::NodeImpl::dispatchEvent):
24648        (WebCore::NodeImpl::dispatchGenericEvent):
24649        (WebCore::NodeImpl::dispatchWindowEvent):
24650        * khtml/xml/NodeImpl.h:
24651        * page/Frame.cpp:
24652        (WebCore::Frame::stopLoading):
24653        (WebCore::Frame::setWindowHasFocus):
24654
246552006-02-05  Darin Adler  <darin@apple.com>
24656
24657        Reviewed by Geoff.
24658
24659        - fix <rdar://problem/4197997> -[DOMHTMLSelectElement options] always returns an empty list
24660
24661        * khtml/html/HTMLOptionsCollectionImpl.h: Changed to be a subclass of HTMLCollectionImpl.
24662        * khtml/html/HTMLOptionsCollectionImpl.cpp: Added.
24663
24664        * WebCore.vcproj/WebCore/WebCore.vcproj: Added new source file.
24665        * WebCore.xcodeproj/project.pbxproj: Ditto.
24666
24667        * bindings/objc/DOMHTML.mm:
24668        (-[DOMHTMLOptionsCollection setLength:]): Handle possible exception.
24669        (-[DOMHTMLSelectElement options]): Add get() since this is now a PassRefPtr.
24670
24671        * khtml/ecma/kjs_html.cpp:
24672        (KJS::HTMLElement::selectIndexGetter): Call options() instead of optionsHTMLCollection().
24673        (KJS::HTMLElement::selectGetter): Ditto.
24674        (KJS::KJS::HTMLElement::put): Ditto.
24675        (KJS::HTMLElement::selectSetter): Ditto.
24676        (KJS::KJS::HTMLSelectCollection::put): Ditto.
24677
24678        * khtml/html/HTMLSelectElementImpl.h: Tweaked formatting. Eliminated m_options.
24679        Changed m_minwidth and m_size to int instead of short. Removed optionsHTMLCollection().
24680        Changed options() to return a PassRefPtr.
24681        * khtml/html/HTMLSelectElementImpl.cpp:
24682        (WebCore::HTMLSelectElementImpl::~HTMLSelectElementImpl): Get rid of code to drop m_options.
24683        (WebCore::HTMLSelectElementImpl::remove): Remove unnecesssary RefPtr use, since that's
24684        handled fine by removeChild.
24685        (WebCore::HTMLSelectElementImpl::options): Change to create a new HTMLOptionsCollectionImpl
24686        each time, like other collection calls. Maybe we should change this eventually to use a
24687        HashMap so we can pass out the same collection over and over again, or could have a pointer
24688        stored in the select element that's managed by the collection itself.
24689
246902006-02-05  Darin Adler  <darin@apple.com>
24691
24692        Reviewed by Maciej.
24693
24694        - fix http://bugs.webkit.org/show_bug.cgi?id=6908
24695          REGRESSION: Replacing existing <option> shuffles it to the end of the list
24696
24697        Test: fast/forms/select-replace-option.html
24698
24699        * khtml/ecma/kjs_html.cpp: (KJS::KJS::HTMLSelectCollection::put):
24700        Use optionsHTMLCollection, because options isn't really implemented yet.
24701
247022006-02-05  Darin Adler  <darin@apple.com>
24703
24704        Reviewed by Maciej.
24705
24706        - fix http://bugs.webkit.org/show_bug.cgi?id=6941
24707          Assertion failure in MacFrame::bridgeForWidget() on manual-tests/textfield-onblur.html
24708
24709        * kwq/KWQTextField.mm: (-[KWQTextFieldController setHasFocus:]):
24710        Add check for nil in case the blur event causes the KWQLineEdit to be
24711        destroyed.
24712
247132006-02-05  Darin Adler  <darin@apple.com>
24714
24715        Reviewed by Maciej.
24716
24717        - fix http://bugs.webkit.org/show_bug.cgi?id=6962
24718          REGRESSION: www.usa.phillips.com crashes due to <param> with no name
24719
24720        Test: fast/replaced/object-param-no-name.html
24721
24722        * rendering/render_frames.cpp: (WebCore::RenderPartObject::updateWidget):
24723        Check for empty name, and skip processing the name/value of that <param> element.
24724
247252006-02-05  Darin Adler  <darin@apple.com>
24726
24727        - rolled out Maciej's event cleanup patch, which is causing problems
24728
24729        I believe he has a fix, and he'll re-land the patch with the fix later.
24730
24731        Original fix was <http://bugs.webkit.org/show_bug.cgi?id=7079>.
24732        Problems described in <http://bugs.webkit.org/show_bug.cgi?id=7084>.
24733
247342006-02-05  Darin Adler  <darin@apple.com>
24735
24736        * ksvg2/css/KSVGCSSParser.cpp: Remove config.h, since this is included by another
24737        .cpp file -- oops!
24738
247392006-02-05  Darin Adler  <darin@apple.com>
24740
24741        Discussed with Anders (didn't get real review).
24742
24743        - fix build
24744
24745        * WebCore+SVG/SVGNamesWrapper.cpp: Touch file, not getting rebuilt even though
24746        it includes config.h which changed.
24747        * WebCore+SVG/XLinkNamesWrapper.cpp: Ditto.
24748
24749        * ksvg2/css/KSVGCSSParser.cpp: Added include of config.h.
24750        * platform/mac/ImageDecoder.cpp: Ditto.
24751
24752        * WebCore.vcproj/WebCore/WebCore.vcproj: Removed IntPoint.cpp and IntSize.cpp.
24753        * WebCore.xcodeproj/project.pbxproj: Ditto.
24754        * platform/IntPoint.cpp: Removed. Was empty.
24755        * platform/IntSize.cpp: Removed. Was empty.
24756
247572006-02-05  Darin Adler  <darin@apple.com>
24758
24759        Reviewed by Maciej.
24760
24761        - fix http://bugs.webkit.org/show_bug.cgi?id=7048
24762          Reproducible crash when onscroll handler deletes the layer or its object
24763
24764        Test: onscroll-layer-self-destruct.html
24765
24766        * rendering/render_layer.cpp: (WebCore::RenderLayer::scrollToOffset):
24767        Don't send the scroll event until after we've done everything else we
24768        need to do.
24769
247702006-02-05  Darin Adler  <darin@apple.com>
24771
24772        Rubber stamped by Maciej.
24773
24774        - renamed DOMString and DOMStringImpl to String and StringImpl, and moved into platform
24775
24776        * config.h: Put in transitional defines so old code can still refer to the classes
24777        as DOMString and DOMStringImpl.
24778
24779        * platform/AtomicString.cpp: Added.
24780        * platform/AtomicString.h: Added.
24781        * platform/AtomicStringImpl.h: Added.
24782        * platform/PlatformString.h: Added.
24783        * platform/String.cpp: Added.
24784        * platform/StringImpl.cpp: Added.
24785        * platform/StringImpl.h: Added.
24786        Moved files here and renamed them. PlatformString.h would be named String.h except
24787        that conflicts with <string.h> on non-case-sensitive file systems.
24788
24789        * khtml/xml/dom_atomicstring.cpp: Removed.
24790        * khtml/xml/dom_atomicstring.h: Removed.
24791        * khtml/xml/dom_stringimpl.cpp: Removed.
24792        * khtml/xml/dom_stringimpl.h: Removed.
24793        * khtml/dom/dom_string.cpp: Removed.
24794        * khtml/dom/dom_string.h: Removed.
24795
24796        * WebCore.xcodeproj/project.pbxproj: Updated for file adds and removes.
24797        * WebCore.vcproj/WebCore/WebCore.vcproj: Ditto.
24798
24799        * WebCore+SVG/KDOMHeaders.h:
24800        * WebCore+SVG/Namespace.h:
24801        * WebCore+SVG/kdom.h:
24802        * bindings/objc/DOM.mm:
24803        * bindings/objc/DOMCSS.mm:
24804        * bindings/objc/DOMHTML.mm:
24805        * bindings/objc/DOMInternal.mm:
24806        * bridge/BrowserExtension.h:
24807        * css/css_base.h:
24808        * css/css_computedstyle.cpp:
24809        * css/css_grammar.y:
24810        * css/css_ruleimpl.h:
24811        * css/css_stylesheetimpl.cpp:
24812        * css/css_stylesheetimpl.h:
24813        * css/css_valueimpl.cpp:
24814        * css/csshelper.cpp:
24815        * css/csshelper.h:
24816        * css/cssparser.h:
24817        * css/cssstyleselector.h:
24818        * kcanvas/KCanvasTreeDebug.cpp:
24819        * khtml/dom/dom2_events.h:
24820        * khtml/ecma/JSXMLHttpRequest.cpp:
24821        * khtml/ecma/kjs_html.cpp:
24822        * khtml/ecma/kjs_window.cpp:
24823        * khtml/editing/SelectionController.cpp:
24824        * khtml/editing/apply_style_command.cpp:
24825        * khtml/editing/delete_from_text_node_command.h:
24826        * khtml/editing/insert_into_text_node_command.h:
24827        * khtml/editing/jsediting.h:
24828        * khtml/editing/rebalance_whitespace_command.h:
24829        * khtml/editing/remove_css_property_command.h:
24830        * khtml/editing/typing_command.h:
24831        * khtml/html/FormDataList.h:
24832        * khtml/html/HTMLNameCollectionImpl.h:
24833        * khtml/html/html_baseimpl.cpp:
24834        * khtml/html/html_objectimpl.cpp:
24835        * khtml/khtml_events.h:
24836        * khtml/xbl/xbl_binding.h:
24837        * khtml/xbl/xbl_protobinding.h:
24838        * khtml/xbl/xbl_protohandler.h:
24839        * khtml/xbl/xbl_protoimplementation.h:
24840        * khtml/xml/DOMImplementationImpl.cpp:
24841        * khtml/xml/EventNames.h:
24842        * khtml/xml/NameNodeListImpl.h:
24843        * khtml/xml/NamedNodeMapImpl.h:
24844        * khtml/xml/NodeImpl.cpp:
24845        * khtml/xml/NodeImpl.h:
24846        * khtml/xml/dom2_eventsimpl.h:
24847        * khtml/xml/dom_atomicstringlist.h:
24848        * khtml/xml/dom_elementimpl.h:
24849        * khtml/xml/dom_qname.h:
24850        * khtml/xml/dom_xmlimpl.cpp:
24851        * khtml/xml/xml_tokenizer.h:
24852        * khtml/xsl/xsl_stylesheetimpl.cpp:
24853        * khtml/xsl/xslt_processorimpl.h:
24854        * ksvg2/misc/KCanvasRenderingStyle.cpp:
24855        * ksvg2/svg/SVGAngleImpl.h:
24856        * ksvg2/svg/SVGAnimateColorElementImpl.cpp:
24857        * ksvg2/svg/SVGAnimatedStringImpl.h:
24858        * ksvg2/svg/SVGAnimationElementImpl.cpp:
24859        * ksvg2/svg/SVGColorImpl.h:
24860        * ksvg2/svg/SVGDOMImplementationImpl.cpp:
24861        * ksvg2/svg/SVGElementImpl.cpp:
24862        * ksvg2/svg/SVGFitToViewBoxImpl.cpp:
24863        * ksvg2/svg/SVGLangSpaceImpl.cpp:
24864        * ksvg2/svg/SVGLangSpaceImpl.h:
24865        * ksvg2/svg/SVGLengthImpl.h:
24866        * ksvg2/svg/SVGMarkerElementImpl.cpp:
24867        * ksvg2/svg/SVGPaintImpl.h:
24868        * ksvg2/svg/SVGPathSegImpl.h:
24869        * ksvg2/svg/SVGPreserveAspectRatioImpl.cpp:
24870        * ksvg2/svg/SVGSVGElementImpl.cpp:
24871        * ksvg2/svg/SVGScriptElementImpl.cpp:
24872        * ksvg2/svg/SVGStringListImpl.h:
24873        * ksvg2/svg/SVGStylableImpl.h:
24874        * ksvg2/svg/SVGStyleElementImpl.cpp:
24875        * ksvg2/svg/SVGStyledElementImpl.cpp:
24876        * ksvg2/svg/SVGSymbolElementImpl.cpp:
24877        * ksvg2/svg/SVGViewElementImpl.cpp:
24878        * kwq/KWQAccObject.mm:
24879        * kwq/KWQFontFamily.h:
24880        * kwq/KWQFontFamily.mm:
24881        * kwq/KWQKJobClasses.h:
24882        * kwq/KWQKJobClasses.mm:
24883        * loader/Cache.h:
24884        * loader/CachedObject.h:
24885        * loader/CachedXBLDocument.h:
24886        * loader/CachedXSLStyleSheet.h:
24887        * loader/DocLoader.h:
24888        * page/Frame.cpp:
24889        * page/FrameTreeNode.h:
24890        * platform/SegmentedString.h:
24891        * rendering/render_image.h:
24892        * rendering/render_style.cpp:
24893        * xml/xmlhttprequest.cpp:
24894        Updated all includes to use new filenames.
24895
248962006-02-05  Maciej Stachowiak  <mjs@apple.com>
24897
24898        Reviewed by Darin.
24899
24900        - various event cleanup, including fixing of the load event for iframes
24901        http://bugs.webkit.org/show_bug.cgi?id=7079
24902
24903        Specific changes:
24904
24905        - don't bother to nil-check the document, a node can never have a null document now
24906        - move temp event forgetting from dispatchEvent to dispatchGenericEvent
24907        - pass event down using RefPtr::release() to avoid ref thrashing
24908        - support default handlers even for non-bubbling events (only on
24909          target node) and skip calling default event handler explicitly in
24910          callers
24911        - dispatch a whole separate load event to a frame document's containing frame
24912        - don't let propagationStopped prevent this new event
24913        - remove bogus security check for iframe onload
24914
24915        * bridge/mac/MacFrame.mm:
24916        (WebCore::MacFrame::shouldClose):
24917        * khtml/xml/NodeImpl.cpp:
24918        (WebCore::NodeImpl::dispatchEvent):
24919        (WebCore::NodeImpl::dispatchGenericEvent):
24920        (WebCore::NodeImpl::dispatchWindowEvent):
24921        * khtml/xml/NodeImpl.h:
24922
249232006-02-05  Maciej Stachowiak  <mjs@apple.com>
24924
24925        Reviewed and landed by Anders.
24926
24927        * bindings/objc/DOM.mm:
24928        (-[DOMNode replaceChild::]):
24929        (KJS::DOMNodeProtoFunc::callAsFunction):
24930        Return correct child. Fixes test case failures introduced by the fix to
24931        http://bugs.webkit.org/show_bug.cgi?id=7076
24932
249332006-02-05  David Kilzer  <ddkilzer@kilzer.net>
24934
24935        Reviewed by Darin, landed by ap (with a tweak suggested by Darin).
24936
24937        - Fixed --no-svg build on http://build.webkit.org/.
24938
24939        * kwq/KWQPainter.mm: Include "FloatRect.h".
24940
249412006-02-04  Maciej Stachowiak  <mjs@apple.com>
24942
24943        Reviewed by Darin.
24944
24945        - Just return bool from DOM child mutation methods instead of the node
24946        http://bugs.webkit.org/show_bug.cgi?id=7076
24947
24948        * bindings/objc/DOM.mm:
24949        (-[DOMNode insertBefore::]):
24950        (-[DOMNode replaceChild::]):
24951        (-[DOMNode removeChild:]):
24952        (-[DOMNode appendChild:]):
24953        * khtml/ecma/kjs_dom.cpp:
24954        (KJS::DOMNodeProtoFunc::callAsFunction):
24955        * khtml/html/HTMLOptGroupElementImpl.cpp:
24956        (WebCore::HTMLOptGroupElementImpl::insertBefore):
24957        (WebCore::HTMLOptGroupElementImpl::replaceChild):
24958        (WebCore::HTMLOptGroupElementImpl::removeChild):
24959        (WebCore::HTMLOptGroupElementImpl::appendChild):
24960        * khtml/html/HTMLOptGroupElementImpl.h:
24961        * khtml/html/HTMLSelectElementImpl.cpp:
24962        (WebCore::HTMLSelectElementImpl::insertBefore):
24963        (WebCore::HTMLSelectElementImpl::replaceChild):
24964        (WebCore::HTMLSelectElementImpl::removeChild):
24965        (WebCore::HTMLSelectElementImpl::appendChild):
24966        * khtml/html/HTMLSelectElementImpl.h:
24967        * khtml/html/HTMLTextAreaElementImpl.cpp:
24968        (WebCore::HTMLTextAreaElementImpl::setDefaultValue):
24969        * khtml/html/html_tableimpl.cpp:
24970        (WebCore::HTMLTableElementImpl::createTFoot):
24971        * khtml/xml/ContainerNodeImpl.cpp:
24972        (WebCore::ContainerNodeImpl::insertBefore):
24973        (WebCore::ContainerNodeImpl::replaceChild):
24974        (WebCore::ContainerNodeImpl::removeChild):
24975        (WebCore::ContainerNodeImpl::appendChild):
24976        * khtml/xml/ContainerNodeImpl.h:
24977        * khtml/xml/NodeImpl.cpp:
24978        (WebCore::NodeImpl::insertBefore):
24979        (WebCore::NodeImpl::replaceChild):
24980        (WebCore::NodeImpl::removeChild):
24981        (WebCore::NodeImpl::appendChild):
24982        * khtml/xml/NodeImpl.h:
24983        * khtml/xml/xml_tokenizer.cpp:
24984        (WebCore::XMLTokenizer::insertErrorMessageBlock):
24985
249862006-02-04  Maciej Stachowiak  <mjs@apple.com>
24987
24988        - reverted CSS media queries patch, as it causes random crashes on the
24989        layout tests with a debug build.
24990
24991        * WebCore.xcodeproj/project.pbxproj:
24992        * css/css_grammar.y:
24993        * css/css_mediaqueryeval.cpp: Removed.
24994        * css/css_mediaqueryeval.h: Removed.
24995        * css/css_mediaqueryimpl.cpp: Removed.
24996        * css/css_mediaqueryimpl.h: Removed.
24997        * css/css_stylesheetimpl.cpp:
24998        (MediaListImpl::MediaListImpl):
24999        (MediaListImpl::contains):
25000        (MediaListImpl::deleteMedium):
25001        (MediaListImpl::mediaText):
25002        (MediaListImpl::setMediaText):
25003        * css/css_stylesheetimpl.h:
25004        (DOM::MediaListImpl::length):
25005        (DOM::MediaListImpl::item):
25006        (DOM::MediaListImpl::appendMedium):
25007        * css/css_valueimpl.h:
25008        * css/csshelper.h:
25009        * css/cssmediafeatures.in: Removed.
25010        * css/cssparser.cpp:
25011        * css/cssparser.h:
25012        * css/cssstyleselector.cpp:
25013        (WebCore::CSSStyleSelector::CSSStyleSelector):
25014        (WebCore::CSSStyleSelector::init):
25015        (WebCore::CSSStyleSelector::~CSSStyleSelector):
25016        (WebCore::CSSStyleSelector::loadDefaultStyle):
25017        (WebCore::CSSStyleSelector::styleForElement):
25018        (WebCore::CSSStyleSelector::styleRulesForElement):
25019        (WebCore::CSSRuleSet::addRulesFromSheet):
25020        (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
25021        * css/cssstyleselector.h:
25022        * css/makemediafeatures: Removed.
25023        * css/maketokenizer:
25024        * css/tokenizer.flex:
25025        * khtml/html/html_headimpl.cpp:
25026        (WebCore::HTMLLinkElementImpl::process):
25027        (WebCore::HTMLLinkElementImpl::setStyleSheet):
25028        (WebCore::HTMLStyleElementImpl::childrenChanged):
25029        * platform/Screen.h:
25030        * platform/mac/Screen.mm:
25031
250322006-02-04  Andrew Wellington  <proton@wiretapped.net>
25033
25034        Reviewed and tweaked by Darin.
25035
25036        - fixed regressions caused by fix for bug 5776 earlier today
25037
25038        * rendering/render_list.h: Remove m_value from RenderListMarker, add it to RenderListItem.
25039        A few other tweaks, including getting rid of "friend" relationship.
25040        * rendering/render_list.cpp:
25041        (RenderListItem::RenderListItem): Initialize m_value.
25042        (RenderListItem::setStyle): Restore old behavior of making no marker for LNONE case.
25043        (RenderListItem::calcValue): Work on m_value, not m_marker->m_value.
25044        (RenderListItem::resetValue): Reset m_value, even if there's no marker.
25045        (RenderListMarker::RenderListMarker): Remove code to set up m_value.
25046        (RenderListMarker::calcMinMaxWidth): Get marker value from list item.
25047
25048        * rendering/RenderContainer.cpp: (updateListMarkerNumbers): Call resetValue by its new name.
25049
250502006-02-04  Maciej Stachowiak  <mjs@apple.com>
25051
25052        Reviewed by Hyatt.
25053
25054        - change JavaScript collector statistics calls to use HashCountedSet instead
25055        of CFSet; other misc cleanup
25056        http://bugs.webkit.org/show_bug.cgi?id=7072
25057
25058        * kwq/WebCoreJavaScript.h:
25059        * kwq/WebCoreJavaScript.mm:
25060        (+[WebCoreJavaScript protectedObjectCount]): Renamed from referencedObjectCounts
25061        (+[WebCoreJavaScript rootObjectTypeCounts]): Renamed from rootObjectClasses,
25062        changed from NSSet to NSCountedSet.
25063
250642006-02-04  Maciej Stachowiak  <mjs@apple.com>
25065
25066        Reviewed by Darin.
25067
25068        - refactor and simplify code using ChildFrame in preparation for removing it
25069        http://bugs.webkit.org/show_bug.cgi?id=7065
25070
25071        * WebCore.xcodeproj/project.pbxproj: reordered slightly.
25072        * bridge/mac/MacFrame.h:
25073        * bridge/mac/MacFrame.mm:
25074        (WebCore::MacFrame::createFrame): Don't take isObject parameter, just check tag name
25075        * khtml/html/HTMLFormElementImpl.cpp:
25076        (WebCore::HTMLFormElementImpl::prepareSubmit): remove obsolete hasOnlyLocalReferences check
25077        * khtml/html/html_baseimpl.cpp:
25078        (WebCore::HTMLFrameElementImpl::isURLAllowed): remove obsolete hasOnlyLocalReferences check
25079        * loader/DocLoader.cpp:
25080        (khtml::DocLoader::requestImage): remove obsolete hasOnlyLocalReferences check
25081        (khtml::DocLoader::requestStyleSheet): remove obsolete hasOnlyLocalReferences check
25082        (khtml::DocLoader::requestScript): remove obsolete hasOnlyLocalReferences check
25083        (khtml::DocLoader::requestXSLStyleSheet): remove obsolete hasOnlyLocalReferences check
25084        * page/Frame.cpp:
25085        (WebCore::Frame::requestFrame): refactored and simplified
25086        (WebCore::Frame::requestObject): ditto
25087        (WebCore::Frame::shouldUsePlugin): ditto
25088        (WebCore::Frame::loadPlugin): ditto
25089        (WebCore::Frame::loadSubframe): ditto
25090        (WebCore::Frame::frameNames): remove obsolete m_bPreloaded check
25091        (WebCore::Frame::frames): ditto
25092        (WebCore::Frame::connectChild): check isFrame, not child type
25093        (WebCore::Frame::disconnectChild): ditto
25094        (WebCore::Frame::handleFallbackContent): greatly simplify using onwerElement
25095        (WebCore::Frame::updateBaseURLForEmptyDocument): use ownerElement, notChildFrame
25096        (WebCore::Frame::onlyLocalReferences): removed
25097        (WebCore::Frame::setOnlyLocalReferences): removed
25098        * page/Frame.h:
25099        * page/FramePrivate.h:
25100        (WebCore::ChildFrame::ChildFrame): remove most fields.
25101        * rendering/render_frames.cpp:
25102        (WebCore::RenderPartObject::updateWidget): Remove redundant setting of base URL for child document
25103        of iframe, Frame itself takes care of this already
25104
251052006-02-03  Andrew Wellington  <proton@wiretapped.net>
25106
25107        Reviewed and tweaked by Darin.
25108
25109        - fix http://bugs.webkit.org/show_bug.cgi?id=5776
25110          Generated numbers of ordered lists (OL) are not calculated right
25111
25112        Uses the DOM tree to calculate previous nodes and nest correctly
25113
25114        Tests:
25115        * fast/lists/olstart.html
25116        * fast/lists/ol-display-types.html
25117
25118        * khtml/html/html_listimpl.cpp:
25119        (DOM::HTMLLIElementImpl::attach): remove calculation of start node value
25120        * rendering/render_list.cpp:
25121        (RenderListItem::setStyle): set up an m_marker even if the style is to
25122        not display the marker, to get the numbering right
25123        (enclosingList): gets the list enclosing the given node
25124        (previousListItemElement): gets the previous element in the list
25125        (RenderListItem::calcListValue): calculate the value correctly
25126
251272006-02-03  Geoffrey Garen  <ggaren@apple.com>
25128
25129        Reviewed by beth.
25130
25131        - Fixed <rdar://problem/4394868> window.open fails to parse
25132        "width=200px"
25133
25134        Cause: QString::toInt() is too aggressive; it parses letters as numbers.
25135        The fix is to switch to DOMString. It's all the rage these days,
25136        and its toInt() behavior matches what we want.
25137
25138        * manual-tests/window-open-features-parsing.html: Added "px" case to
25139        giant evil string.
25140
25141        * khtml/ecma/kjs_window.cpp:
25142        (KJS::setWindowFeature):
25143        (KJS::parseWindowFeatures):
25144        (KJS::WindowFunc::callAsFunction):
25145
251462006-02-03  Kimmo Kinnunen  <kimmo.t.kinnunen@nokia.com>
25147
25148        Reviewed by Dave Hyatt and Tim H.
25149
25150        Bug 4127: WebCore doesn't support Media Queries (CSS3 module)
25151        http://bugs.webkit.org/show_bug.cgi?id=4127
25152
25153        http://www.w3.org/TR/css3-mediaqueries/
25154
25155        * WebCore.xcodeproj/project.pbxproj:
25156        * css/css_grammar.y:
25157        * css/css_mediaqueryeval.cpp: Added.
25158        (MediaQueryEvaluator):
25159        (MediaQueryEvaluator::~MediaQueryEvaluator):
25160        (MediaQueryEvaluator::mediaTypeMatch):
25161        (applyRestrictor):
25162        (MediaQueryEvaluator::eval):
25163        (parseAspectRatio):
25164        * css/css_mediaqueryeval.h: Added.
25165        * css/css_mediaqueryimpl.cpp: Added.
25166        (MediaQueryExpImpl::MediaQueryExpImpl):
25167        (MediaQueryExpImpl::~MediaQueryExpImpl):
25168        (MediaQueryExpImpl::mediaFeature):
25169        (MediaQueryExpImpl::value):
25170        (MediaQueryImpl::MediaQueryImpl):
25171        (MediaQueryImpl::~MediaQueryImpl):
25172        (MediaQueryImpl::restrictor):
25173        (MediaQueryImpl::expressions):
25174        (MediaQueryImpl::mediaType):
25175        (MediaQueryImpl::operator==):
25176        * css/css_mediaqueryimpl.h: Added.
25177        (DOM::MediaQueryExpImpl::operator==):
25178        (DOM::MediaQueryExpListImpl::MediaQueryExpListImpl):
25179        (DOM::MediaQueryExpListImpl::append):
25180        (DOM::MediaQueryExpListImpl::list):
25181        (DOM::MediaQueryImpl::):
25182        * css/css_stylesheetimpl.cpp:
25183        (MediaListImpl::MediaListImpl):
25184        (MediaListImpl::deleteMedium):
25185        (mediaQueryAsDOMString):
25186        (MediaListImpl::mediaText):
25187        (MediaListImpl::setMediaText):
25188        (MediaListImpl::item):
25189        (MediaListImpl::appendMedium):
25190        (MediaListImpl::appendMediaQuery):
25191        * css/css_stylesheetimpl.h:
25192        (DOM::MediaListImpl::length):
25193        (DOM::MediaListImpl::mediaQueries):
25194        * css/css_valueimpl.h:
25195        * css/csshelper.h:
25196        * css/cssmediafeatures.in: Added.
25197        * css/cssparser.cpp:
25198        (CSSParser::parseMediaQuery):
25199        * css/cssparser.h:
25200        * css/cssstyleselector.cpp:
25201        (WebCore::CSSStyleSelector::CSSStyleSelector):
25202        (WebCore::CSSStyleSelector::init):
25203        (WebCore::CSSStyleSelector::~CSSStyleSelector):
25204        (WebCore::CSSStyleSelector::loadDefaultStyle):
25205        (WebCore::CSSStyleSelector::styleForElement):
25206        (WebCore::CSSStyleSelector::styleRulesForElement):
25207        (WebCore::CSSRuleSet::addRulesFromSheet):
25208        (WebCore::CSSStyleSelector::defaultStyleForRoot):
25209        * css/cssstyleselector.h:
25210        * css/makemediafeatures: Added.
25211        * css/maketokenizer:
25212        * css/tokenizer.flex:
25213        * khtml/html/html_headimpl.cpp:
25214        (WebCore::HTMLLinkElementImpl::process):
25215        (WebCore::HTMLLinkElementImpl::setStyleSheet):
25216        (WebCore::HTMLStyleElementImpl::childrenChanged):
25217        * platform/Screen.h:
25218        * platform/mac/Screen.mm:
25219        (WebCore::screenDepthPerComponent):
25220        (WebCore::screenIsMonochrome):
25221
252222006-02-03  Timothy Hatcher  <timothy@apple.com>
25223
25224        Reviewed by Justin.
25225
25226        Renamed configuration names to Debug, Release and Production.
25227
25228        * WebCore.xcodeproj/project.pbxproj:
25229
252302006-02-03  Beth Dakin  <bdakin@apple.com>
25231
25232        Reviewed by Hyatt.
25233
25234        No test cases added because this is an unreproducible crash.
25235
25236        This is a speculative fix for <rdar://problem/4048026>
25237        CrashTracer: [BOUNCE BACK] 1219 crashes in Safari at
25238        com.apple.WebCore: KHTMLParser::popOneBlock + 36
25239
25240        It seems possible that current could be nil when this function is
25241        called, so the speculative fix is to add a nil check.
25242
25243        * khtml/html/htmlparser.cpp:
25244        (HTMLParser::popOneBlock): Added nil check.
25245
252462006-02-03  David Hyatt  <hyatt@apple.com>
25247
25248        Refactoring of the image classes to make them even more
25249        portable.
25250
25251        Reviewed by mjs
25252
25253        * WebCore.xcodeproj/project.pbxproj:
25254        * platform/Image.cpp:
25255        (WebCore::m_animationObserver):
25256        (WebCore::Image::Image):
25257        (WebCore::Image::~Image):
25258        (WebCore::Image::resetAnimation):
25259        (WebCore::Image::setData):
25260        (WebCore::Image::isNull):
25261        (WebCore::Image::size):
25262        (WebCore::Image::rect):
25263        (WebCore::Image::width):
25264        (WebCore::Image::height):
25265        (WebCore::):
25266        (WebCore::Image::compositeOperatorFromString):
25267        * platform/ImageData.cpp: Added.
25268        (WebCore::FrameData::clear):
25269        (WebCore::ImageData::ImageData):
25270        (WebCore::ImageData::~ImageData):
25271        (WebCore::ImageData::invalidateData):
25272        (WebCore::ImageData::cacheFrame):
25273        (WebCore::ImageData::isNull):
25274        (WebCore::ImageData::size):
25275        (WebCore::ImageData::setData):
25276        (WebCore::ImageData::setNativeData):
25277        (WebCore::ImageData::frameCount):
25278        (WebCore::ImageData::isSizeAvailable):
25279        (WebCore::ImageData::frameAtIndex):
25280        (WebCore::ImageData::frameDurationAtIndex):
25281        (WebCore::ImageData::shouldAnimate):
25282        (WebCore::ImageData::startAnimation):
25283        (WebCore::ImageData::stopAnimation):
25284        (WebCore::ImageData::resetAnimation):
25285        (WebCore::ImageData::advanceAnimation):
25286        * platform/ImageData.h: Added.
25287        (KXMLCore::):
25288        (WebCore::FrameData::m_duration):
25289        (WebCore::FrameData::~FrameData):
25290        (WebCore::ImageData::setIsPDF):
25291        (WebCore::ImageData::currentFrame):
25292        * platform/ImageDecoder.h:
25293        * platform/mac/Image.mm:
25294        (WebCore::Image::loadResource):
25295        (WebCore::Image::supportsType):
25296        (WebCore::Image::getCGImageRef):
25297        (WebCore::Image::getNSImage):
25298        (WebCore::Image::getTIFFRepresentation):
25299        (WebCore::graphicsContext):
25300        (WebCore::setCompositingOperation):
25301        (WebCore::fillSolidColorInRect):
25302        (WebCore::Image::drawInRect):
25303        (WebCore::drawPattern):
25304        (WebCore::Image::tileInRect):
25305        (WebCore::Image::scaleAndTileInRect):
25306        * platform/mac/ImageData.mm: Added.
25307        (WebCore::setCompositingOperation):
25308        (WebCore::ImageData::invalidateAppleSpecificData):
25309        (WebCore::ImageData::checkForSolidColor):
25310        (WebCore::ImageData::getTIFFRepresentation):
25311        (WebCore::ImageData::getNSImage):
25312        * platform/mac/PDFDocumentImage.h: Added.
25313        * platform/mac/PDFDocumentImage.mm: Added.
25314        (WebCore::releasePDFDocumentData):
25315        (WebCore::PDFDocumentImage::PDFDocumentImage):
25316        (WebCore::PDFDocumentImage::~PDFDocumentImage):
25317        (WebCore::PDFDocumentImage::documentRef):
25318        (WebCore::PDFDocumentImage::mediaBox):
25319        (WebCore::PDFDocumentImage::bounds):
25320        (WebCore::PDFDocumentImage::adjustCTM):
25321        (WebCore::PDFDocumentImage::setCurrentPage):
25322        (WebCore::PDFDocumentImage::currentPage):
25323        (WebCore::PDFDocumentImage::pageCount):
25324        (WebCore::PDFDocumentImage::draw):
25325
253262006-02-03  David Hyatt  <hyatt@apple.com>
25327
25328        Make a new class called ImageDecoder that wraps a CGImageSource.
25329        This paves the way for ImageData to become portable as well.
25330
25331        Reviewed by mjs
25332
25333        * WebCore.xcodeproj/project.pbxproj:
25334        * platform/ImageDecoder.h: Added.
25335        * platform/mac/Image.mm:
25336        (WebCore::ImageData::~ImageData):
25337        (WebCore::ImageData::invalidateData):
25338        (WebCore::ImageData::cacheFrame):
25339        (WebCore::ImageData::size):
25340        (WebCore::ImageData::setCFData):
25341        (WebCore::ImageData::frameCount):
25342        (WebCore::ImageData::isSizeAvailable):
25343        (WebCore::ImageData::drawInRect):
25344        * platform/mac/ImageDecoder.cpp: Added.
25345        (WebCore::ImageDecoder::ImageDecoder):
25346        (WebCore::ImageDecoder::~ImageDecoder):
25347        (WebCore::imageSourceOptions):
25348        (WebCore::ImageDecoder::initialized):
25349        (WebCore::ImageDecoder::setData):
25350        (WebCore::ImageDecoder::isSizeAvailable):
25351        (WebCore::ImageDecoder::size):
25352        (WebCore::ImageDecoder::repetitionCount):
25353        (WebCore::ImageDecoder::frameCount):
25354        (WebCore::ImageDecoder::createFrameAtIndex):
25355        (WebCore::ImageDecoder::frameDurationAtIndex):
25356
253572006-02-02  David Hyatt  <hyatt@apple.com>
25358
25359        Move ImageAnimationObserver into its own file.
25360
25361        Reviewed by mjs
25362
25363        * WebCore.xcodeproj/project.pbxproj:
25364        * loader/CachedImage.h:
25365        * platform/Image.h:
25366        * platform/ImageAnimationObserver.h: Added.
25367        (WebCore::ImageAnimationObserver::~ImageAnimationObserver):
25368        * platform/mac/Image.mm:
25369
253702006-02-02  Maciej Stachowiak  <mjs@apple.com>
25371
25372        Reviewed by Adele.
25373
25374        - remove all use of the ChildFrame from outside Frame.cpp, in preparation for removing it
25375
25376        * bridge/mac/MacFrame.h:
25377        * bridge/mac/MacFrame.mm:
25378        (WebCore::MacFrame::frameDetached): Factor out the ChildFrame manipulations into a base
25379        class method.
25380        (WebCore::MacFrame::objectContentType): factored out from createPart, calls the bridge to
25381        determine contents for an Object tag.
25382        (WebCore::MacFrame::createPlugin): factor out code from createPart that makes a Plugin.
25383        (WebCore::MacFrame::createFrame): ditto for code that makes a Frame.
25384        (WebCore::MacFrame::createEmptyDocument): factored out part into the superclass
25385        * khtml/xml/DocumentImpl.cpp:
25386        (WebCore::DocumentImpl::ownerElement): Call new ownerElement method on Frame
25387        instead of mucking at Frame internals.
25388        * page/Frame.cpp:
25389        (WebCore::Frame::createPart): Moved here from MacFrame, but some of the guts were
25390        factored out.
25391        (WebCore::Frame::ownerElement): New method, logic moved from DocumentImpl.
25392        (WebCore::Frame::frameDetached): New virtual method, the part of this that
25393        pokes at ChildFrame structures.
25394        (WebCore::Frame::updateBaseURLForEmptyDocument): Helper that looks at the ChildFrame
25395        array for the benefit of createEmptyDocument.
25396        * page/Frame.h:
25397        * page/Page.h: Fix up modeline.
25398        * page/Plugin.h: Added.
25399        (WebCore::Plugin::Plugin): Moved here from MacFrame.mm, since it is now used by Frame.
25400        (WebCore::Plugin::view): ditto
25401
254022006-02-02  David Hyatt  <hyatt@apple.com>
25403
25404        Avoid extra copies of all the decoded image bytes.
25405
25406        Reviewed by mjs
25407
25408        * platform/mac/Image.mm:
25409        (WebCore::ImageData::setData):
25410
254112006-02-02  Justin Garcia  <justin.garcia@apple.com>
25412
25413        Reviewed by darin, harrison
25414
25415        <http://bugs.webkit.org/show_bug.cgi?id=6586>
25416        REGRESSION: visible_text.cpp assertion failure in Mail.app
25417
25418        Calling range() on a WordIterator destroyed its RangeImpl, use
25419        RefPtr instead of PassRefPtr.
25420        Turned on continuous spell checking to test the fix, found
25421        a crasher caused by invalid positions created in
25422        previousBoundary.
25423
25424        Added layout test:
25425        * editing/selection/end-of-document.html
25426
25427        * khtml/editing/visible_text.h:
25428        * khtml/editing/visible_units.cpp:
25429        (khtml::previousBoundary):
25430
254312006-02-02  David Hyatt  <hyatt@apple.com>
25432
25433        Vectorize Image.  Optimize so that we no longer throw away
25434        all CGImageRefs.  Now we just throw away the last frame.
25435
25436        Reviewed by mjs
25437
25438        * platform/mac/Image.mm:
25439        (WebCore::FrameData::m_duration):
25440        (WebCore::FrameData::~FrameData):
25441        (WebCore::FrameData::clear):
25442        (WebCore::ImageData::invalidateData):
25443        (WebCore::ImageData::cacheFrame):
25444        (WebCore::ImageData::frameAtIndex):
25445        (WebCore::ImageData::frameDurationAtIndex):
25446
254472006-01-31  Geoffrey Garen  <ggaren@apple.com>
25448
25449        Reviewed by mjs.
25450
25451        Cleaned up some stuff I came across when working with JS enabled/
25452        disabled code:
25453
25454        (1) Renamed initScript to initScriptIfNeeded, because that's what it
25455            does
25456        (2) Removed dead or otherwise irrelevent code
25457        (3) Fixed up comments
25458        (4) Removed NULL checks for interpreter() since it never returns NULL,
25459            replaced with single assert().
25460
25461        No test case because there's no change in behavior.
25462
25463        * khtml/ecma/kjs_proxy.cpp:
25464        (WebCore::KJSProxyImpl::evaluate): 1
25465        (WebCore::KJSProxyImpl::createHTMLEventHandler): 1
25466        (WebCore::KJSProxyImpl::createSVGEventHandler): 1
25467        (WebCore::KJSProxyImpl::interpreter): 4
25468        (WebCore::KJSProxyImpl::initScriptIfNeeded): 1
25469        * khtml/ecma/kjs_proxy.h: 1
25470        * page/Frame.cpp:
25471        (Frame::didOpenURL): 2, 3
25472        (Frame::stopLoading): 2
25473        (Frame::jScriptEnabled): 2
25474        (Frame::jScript): changed method call to data member access to match
25475                          style of rest of class
25476        (Frame::javaEnabled): 2
25477        (Frame::pluginsEnabled): 2
25478        (Frame::begin): 3
25479        (Frame::userGestureHint): 4
25480        (Frame::pauseTimeouts): collapsed a line
25481        (Frame::resumeTimeouts): ditto
25482        (Frame::saveInterpreterBuiltins): 4
25483        (Frame::restoreInterpreterBuiltins): 4
25484        * page/Frame.h: 2
25485        * page/FramePrivate.h: 2
25486        (FramePrivate::FramePrivate): 2
25487
254882006-02-02  David Hyatt  <hyatt@apple.com>
25489
25490        Fix for PLT performance regression.  Make sure that the document's load event timer
25491        isn't started again if it's already active.
25492
25493        Reviewed by mjs
25494
25495        * khtml/xml/DocumentImpl.cpp:
25496        (WebCore::DocumentImpl::dispatchImageLoadEventSoon):
25497
254982006-02-02  Darin Adler  <darin@apple.com>
25499
25500        Reviewed by Maciej.
25501
25502        - fix http://bugs.webkit.org/show_bug.cgi?id=7000
25503          REGRESSION: Scrolling is triggering onunload in TOT
25504
25505        Tests:
25506        - fast/events/onunload-body-property.html
25507        - fast/events/onunload-window-property.html
25508
25509        * khtml/ecma/kjs_dom.cpp:
25510        (KJS::DOMNode::getValueProperty): Change onunload case to use unloadEvent, not scrollEvent.
25511        (KJS::DOMNode::putValueProperty): Ditto.
25512        * khtml/ecma/kjs_window.cpp:
25513        (KJS::Window::getValueProperty): Ditto.
25514        (KJS::Window::putValueProperty): Ditto.
25515
255162006-02-02  Darin Adler  <darin@apple.com>
25517
25518        Reviewed by Hyatt.
25519
25520        - fix http://bugs.webkit.org/show_bug.cgi?id=6998
25521          setTimeout(0) tight loop uses almost all CPU (need 10ms minimum for timeout?)
25522
25523        * khtml/ecma/kjs_window.cpp: (KJS::WindowQObject::installTimeout): When converting
25524        the timeout number from an integer ms to a double seconds, use a 10 ms minimum.
25525
255262006-02-02  Darin Adler  <darin@apple.com>
25527
25528        - added a FIXME about an incorrect change made to FloatRect
25529          to fix the Win32 compile
25530
25531        * platform/FloatRect.cpp: (WebCore::enclosingIntRect): Added FIXME
25532        because this should do a ceil operation, not a round operation.
25533
255342006-02-02  David Hyatt  <hyatt@apple.com>
25535
25536       Fix for bug 6957, rewrite image rendering in C++ and move it to
25537       WebCore.  Animation now stops lazily and just uses the CachedObject
25538       notification system to push updates so that rects no longer need to
25539       be cached (or sets of animating renderers in specific views).
25540
25541       Reviewed by darin
25542
25543        * WebCore.exp:
25544        * bindings/objc/DOM.mm:
25545        (-[DOMElement _image]):
25546        (-[DOMElement _imageTIFFRepresentation]):
25547        * bindings/objc/DOMPrivate.h:
25548        * bridge/mac/MacFrame.mm:
25549        (WebCore::MacFrame::khtmlMouseMoveEvent):
25550        (WebCore::MacFrame::fileWrapperForElement):
25551        * bridge/mac/WebCoreFrameBridge.h:
25552        * bridge/mac/WebCoreFrameBridge.mm:
25553        (-[WebCoreFrameBridge elementAtPoint:]):
25554        * kcanvas/RenderSVGImage.cpp:
25555        (RenderSVGImage::imageChanged):
25556        * kcanvas/RenderSVGImage.h:
25557        * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
25558        (KCanvasFEImageQuartz::getCIFilter):
25559        * khtml/ecma/kjs_html.cpp:
25560        (KJS::drawPattern):
25561        * kwq/KWQClipboard.h:
25562        (WebCore::KWQClipboard::setDragHasStarted):
25563        * kwq/KWQClipboard.mm:
25564        (WebCore::KWQClipboard::dragNSImage):
25565        * kwq/KWQCursor.mm:
25566        (WebCore::createCustomCursor):
25567        * kwq/KWQPainter.h:
25568        (WebCore::QPainter::):
25569        * kwq/KWQPainter.mm:
25570        (WebCore::QPainter::drawFloatImage):
25571        (WebCore::QPainter::drawTiledImage):
25572        (WebCore::QPainter::drawScaledAndTiledImage):
25573        * kwq/KWQScrollView.h:
25574        * kwq/KWQScrollView.mm:
25575        (QScrollView::inWindow):
25576        * kwq/WebCoreImageRendererFactory.h:
25577        * kwq/WebCoreImageRendererFactory.m:
25578        * loader/CachedImage.cpp:
25579        (WebCore::CachedImage::ref):
25580        (WebCore::CachedImage::imageRect):
25581        (WebCore::CachedImage::notifyObservers):
25582        (WebCore::CachedImage::data):
25583        (WebCore::CachedImage::error):
25584        (WebCore::CachedImage::shouldStopAnimation):
25585        (WebCore::CachedImage::animationAdvanced):
25586        * loader/CachedImage.h:
25587        (WebCore::CachedImage::canRender):
25588        * loader/CachedObjectClient.h:
25589        (WebCore::CachedObjectClient::imageChanged):
25590        (WebCore::CachedObjectClient::willRenderImage):
25591        * platform/Image.h:
25592        (WebCore::ImageAnimationObserver::~ImageAnimationObserver):
25593        (WebCore::Image::animationObserver):
25594        (WebCore::Image::):
25595        * platform/mac/Image.mm:
25596        (WebCore::releasePDFDocumentData):
25597        (WebCore::PDFDocumentImage::PDFDocumentImage):
25598        (WebCore::PDFDocumentImage::~PDFDocumentImage):
25599        (WebCore::PDFDocumentImage::documentRef):
25600        (WebCore::PDFDocumentImage::mediaBox):
25601        (WebCore::PDFDocumentImage::bounds):
25602        (WebCore::PDFDocumentImage::adjustCTM):
25603        (WebCore::PDFDocumentImage::setCurrentPage):
25604        (WebCore::PDFDocumentImage::currentPage):
25605        (WebCore::PDFDocumentImage::pageCount):
25606        (WebCore::PDFDocumentImage::draw):
25607        (WebCore::ImageData::setIsPDF):
25608        (WebCore::ImageData::currentFrame):
25609        (WebCore::m_PDFDoc):
25610        (WebCore::ImageData::~ImageData):
25611        (WebCore::ImageData::invalidateData):
25612        (WebCore::ImageData::cacheFrame):
25613        (WebCore::ImageData::checkForSolidColor):
25614        (WebCore::ImageData::isNull):
25615        (WebCore::ImageData::size):
25616        (WebCore::ImageData::setData):
25617        (WebCore::ImageData::setCFData):
25618        (WebCore::ImageData::imageSourceOptions):
25619        (WebCore::ImageData::frameCount):
25620        (WebCore::ImageData::isSizeAvailable):
25621        (WebCore::ImageData::frameAtIndex):
25622        (WebCore::ImageData::getTIFFRepresentation):
25623        (WebCore::ImageData::getNSImage):
25624        (WebCore::ImageData::frameDurationAtIndex):
25625        (WebCore::ImageData::shouldAnimate):
25626        (WebCore::ImageData::startAnimation):
25627        (WebCore::ImageData::stopAnimation):
25628        (WebCore::ImageData::resetAnimation):
25629        (WebCore::ImageData::advanceAnimation):
25630        (WebCore::ImageData::setCompositingOperation):
25631        (WebCore::ImageData::fillSolidColorInRect):
25632        (WebCore::ImageData::drawInRect):
25633        (WebCore::drawPattern):
25634        (WebCore::):
25635        (WebCore::ImageData::tileInRect):
25636        (WebCore::ImageData::scaleAndTileInRect):
25637        (WebCore::Image::loadResource):
25638        (WebCore::Image::supportsType):
25639        (WebCore::m_animationObserver):
25640        (WebCore::Image::Image):
25641        (WebCore::Image::~Image):
25642        (WebCore::Image::getCGImageRef):
25643        (WebCore::Image::getNSImage):
25644        (WebCore::Image::getTIFFRepresentation):
25645        (WebCore::Image::resetAnimation):
25646        (WebCore::Image::setData):
25647        (WebCore::Image::isNull):
25648        (WebCore::Image::size):
25649        (WebCore::Image::rect):
25650        (WebCore::graphicsContext):
25651        (WebCore::Image::drawInRect):
25652        (WebCore::Image::tileInRect):
25653        (WebCore::Image::scaleAndTileInRect):
25654        * rendering/render_box.cpp:
25655        (WebCore::RenderBox::paintBackgroundExtended):
25656        * rendering/render_image.cpp:
25657        (WebCore::RenderImage::setCachedImage):
25658        (WebCore::RenderImage::imageChanged):
25659        * rendering/render_image.h:
25660        * rendering/render_line.cpp:
25661        (WebCore::InlineFlowBox::paintBackground):
25662        (WebCore::InlineFlowBox::paintBackgroundAndBorder):
25663        * rendering/render_list.cpp:
25664        (RenderListMarker::imageChanged):
25665        * rendering/render_list.h:
25666        * rendering/render_object.cpp:
25667        (WebCore::RenderObject::mustRepaintBackgroundOrBorder):
25668        (WebCore::RenderObject::paintBorderImage):
25669        (WebCore::RenderObject::paintBorder):
25670        (WebCore::RenderObject::imageChanged):
25671        (WebCore::RenderObject::willRenderImage):
25672        * rendering/render_object.h:
25673
256742006-02-02  Mitz Pettel  <opendarwin.org@mitzpettel.com>
25675
25676        Test: fast/block/positioning/height-change.html
25677
25678        Reviewed by Hyatt.
25679
25680        - fix http://bugs.webkit.org/show_bug.cgi?id=6881
25681          Block with position:absolute bottom:0 doesn't always move when height
25682          of containing block changes (affects Safari RSS)
25683
25684        * rendering/RenderBlock.cpp:
25685        (WebCore::RenderBlock::layoutBlock): Relayout positioned children if the
25686        block's height changed during layout.
25687        * rendering/render_flexbox.cpp:
25688        (WebCore::RenderFlexibleBox::layoutBlock): Ditto.
25689
256902006-02-02  Maciej Stachowiak  <mjs@apple.com>
25691
25692        Reviewed by Darin.
25693
25694        - Move name and parent from Frame to FrameTreeNode
25695        http://bugs.webkit.org/show_bug.cgi?id=6994
25696
25697        * bridge/mac/BrowserExtensionMac.mm:
25698        (WebCore::BrowserExtensionMac::createNewWindow):
25699        * bridge/mac/MacFrame.h:
25700        * bridge/mac/MacFrame.mm:
25701        (WebCore::MacFrame::generateFrameName):
25702        (WebCore::MacFrame::submitForm):
25703        (WebCore::Frame::frameDetached):
25704        (WebCore::MacFrame::nextKeyViewInFrameHierarchy):
25705        (WebCore::MacFrame::createEmptyDocument):
25706        * bridge/mac/WebCoreFrameBridge.mm:
25707        (-[WebCoreFrameBridge setParent:]):
25708        (-[WebCoreFrameBridge parent]):
25709        (-[WebCoreFrameBridge setName:]):
25710        (-[WebCoreFrameBridge name]):
25711        * khtml/ecma/kjs_window.cpp:
25712        (KJS::Window::getValueProperty):
25713        (KJS::Window::put):
25714        (KJS::Window::isSafeScript):
25715        (KJS::WindowFunc::callAsFunction):
25716        * khtml/html/html_baseimpl.cpp:
25717        (WebCore::HTMLFrameElementImpl::isURLAllowed):
25718        * khtml/html/html_headimpl.cpp:
25719        (WebCore::HTMLLinkElementImpl::process):
25720        * khtml/xml/DocumentImpl.cpp:
25721        (WebCore::DocumentImpl::ownerElement):
25722        (WebCore::DocumentImpl::parentDocument):
25723        * page/Frame.cpp:
25724        (WebCore::Frame::checkCompleted):
25725        (WebCore::Frame::redirectionTimerFired):
25726        (WebCore::Frame::requestFrameName):
25727        (WebCore::Frame::slotChildCompleted):
25728        (WebCore::Frame::incrementFrameCount):
25729        (WebCore::Frame::decrementFrameCount):
25730        (WebCore::Frame::topLevelFrameCount):
25731        (WebCore::Frame::selectFrameElementInParentIfFullySelected):
25732        (WebCore::Frame::handleFallbackContent):
25733        (WebCore::Frame::userGestureHint):
25734        (WebCore::Frame::canCachePage):
25735        (WebCore::Frame::updatePolicyBaseURL):
25736        * page/Frame.h:
25737        * page/FramePrivate.h:
25738        (WebCore::FramePrivate::FramePrivate):
25739        * page/FrameTreeNode.cpp:
25740        (WebCore::FrameTreeNode::setName):
25741        (WebCore::FrameTreeNode::appendChild):
25742        (WebCore::FrameTreeNode::removeChild):
25743        * page/FrameTreeNode.h:
25744        (WebCore::FrameTreeNode::FrameTreeNode):
25745        (WebCore::FrameTreeNode::name):
25746        (WebCore::FrameTreeNode::parent):
25747        (WebCore::FrameTreeNode::setParent):
25748        * rendering/render_frames.cpp:
25749        (WebCore::isURLAllowed):
25750
257512006-02-01  Darin Adler  <darin@apple.com>
25752
25753        Checking in without review because I *just* broke this with my last check-in.
25754
25755        - fix http://bugs.webkit.org/show_bug.cgi?id=7018
25756          REGRESSION: clearTimeout no longer works
25757
25758        Test: fast/dom/Window/clear-timeout.html
25759
25760        * khtml/ecma/kjs_window.cpp: (WindowQObject::clearTimeout): Fixed a
25761        != that should have been a ==.
25762
257632006-02-01  Darin Adler  <darin@apple.com>
25764
25765        Reviewed by Hyatt.
25766
25767        - use Timer for everything, kill timer features of QObject, QTimer, QTimerEvent
25768
25769        * ForwardingHeaders/kxmlcore/Noncopyable.h: Added.
25770        * ForwardingHeaders/kxmlcore/OwnArrayPtr.h: Added.
25771        * ForwardingHeaders/kxmlcore/OwnPtr.h: Added.
25772        * ForwardingHeaders/qtimer.h: Removed.
25773        * kwq/KWQTimer.cpp: Removed.
25774        * kwq/KWQTimer.h: Removed.
25775
25776        * kwq/KWQObject.h:
25777        * kwq/KWQObject.cpp: Remove timer-related features.
25778
25779        * kwq/KWQEvent.h: Remove QTimerEvent.
25780
25781        * WebCore.xcodeproj/project.pbxproj: Updated for file changes.
25782        * WebCore.vcproj/WebCore/WebCore.vcproj: Ditto.
25783
25784        * platform/Timer.h: Change to use nextFireInterval rather than nextFireTime.
25785        More convenient and also no need to define what the epoch is. Change TimerBase
25786        to use a virtual function rather than a function pointer. Added setDeferringTimers
25787        function to ensure timers don't fire while handling an event.
25788        * platform/mac/Timer.cpp:
25789        (WebCore::timerFired): Added deferral support.
25790        (WebCore::fireDeferred): Added.
25791        (WebCore::TimerBase::TimerBase): Simplify to remove function pointer.
25792        (WebCore::TimerBase::~TimerBase): Put in here, no longer inline.
25793        (WebCore::TimerBase::start): Change to use interval.
25794        (WebCore::TimerBase::startRepeating): Change since we use interval now.
25795        (WebCore::TimerBase::startOneShot): Ditto.
25796        (WebCore::TimerBase::stop): Added deferral support.
25797        (WebCore::TimerBase::nextFireInterval): Added.
25798        (WebCore::TimerBase::fire): Added.
25799        (WebCore::isDeferringTimers): Added.
25800        (WebCore::setDeferringTimers): Added.
25801
25802        * bridge/mac/MacFrame.mm:
25803        (WebCore::MacFrame::startRedirectionTimer): Update for change to Timer class.
25804        (WebCore::MacFrame::passMouseDownEventToWidget): Update to use setDeferringTimers
25805        instead of QObject::setDefersTimers.
25806
25807        * khtml/ecma/kjs_window.h:
25808        * khtml/ecma/kjs_window.cpp:
25809        (KJS::DOMWindowTimer): Added. Class for JavaScript "timeout".
25810        (KJS::WindowQObject::parentDestroyed): Update to use DOMWindowTimer.
25811        (KJS::WindowQObject::installTimeout): Ditto.
25812        (KJS::WindowQObject::pauseTimeouts): Ditto.
25813        (KJS::WindowQObject::resumeTimeouts): Ditto.
25814        (KJS::WindowQObject::clearTimeout): Ditto.
25815        (KJS::WindowQObject::timerFired): Ditto.
25816        (KJS::DOMWindowTimer::fired): Added.
25817
25818        * khtml/html/htmltokenizer.h:
25819        * khtml/html/htmltokenizer.cpp:
25820        (WebCore::HTMLTokenizer::HTMLTokenizer): Use Timer instead of timer ID.
25821        (WebCore::HTMLTokenizer::reset): Ditto.
25822        (WebCore::HTMLTokenizer::continueProcessing): Ditto.
25823        (WebCore::HTMLTokenizer::write): Ditto.
25824        (WebCore::HTMLTokenizer::stopParsing): Ditto.
25825        (WebCore::HTMLTokenizer::processingData): Ditto.
25826        (WebCore::HTMLTokenizer::timerFired): Ditto.
25827        (WebCore::HTMLTokenizer::end): Ditto.
25828        (WebCore::HTMLTokenizer::finish): Ditto.
25829
25830        * khtml/xml/DocumentImpl.h:
25831        * khtml/xml/DocumentImpl.cpp:
25832        (WebCore::DocumentImpl::DocumentImpl): Updated for changes to use RefPtr
25833        more cases, and not use it for m_svgExtensions.
25834        (WebCore::DocumentImpl::~DocumentImpl): Delete m_svgExtensions instead of
25835        just deref'ing it since it's no longer shared.
25836        (WebCore::DocumentImpl::implementation): Update for RefPtr.
25837        (WebCore::DocumentImpl::elementSheet): Ditto.
25838        (WebCore::DocumentImpl::styleSheets): Ditto.
25839        (WebCore::DocumentImpl::recalcStyleSelector): Ditto.
25840        (WebCore::DocumentImpl::dispatchImageLoadEventSoon): Update to use new style timer.
25841        (WebCore::DocumentImpl::removeImage): Ditto.
25842        (WebCore::DocumentImpl::dispatchImageLoadEventsNow): Ditto.
25843        (WebCore::DocumentImpl::imageLoadEventTimerFired): Ditto.
25844        (WebCore::DocumentImpl::svgExtensions): Update for RefPtr.
25845        (WebCore::DocumentImpl::accessSVGExtensions): Ditto.
25846
25847        * ksvg2/misc/KSVGTimeScheduler.h:
25848        (WebCore::TimeScheduler::document):
25849        * ksvg2/misc/KSVGTimeScheduler.cpp:
25850        (WebCore::SVGTimer::downcast):
25851        (WebCore::SVGTimer::SVGTimer):
25852        (WebCore::SVGTimer::start):
25853        (WebCore::SVGTimer::calculateTimePercentage):
25854        (WebCore::SVGTimer::notifyAll):
25855        (WebCore::SVGTimer::addNotify):
25856        (WebCore::SVGTimer::removeNotify):
25857        (WebCore::TimeScheduler::TimeScheduler):
25858        (WebCore::TimeScheduler::~TimeScheduler):
25859        (WebCore::TimeScheduler::addTimer):
25860        (WebCore::TimeScheduler::connectIntervalTimer):
25861        (WebCore::TimeScheduler::disconnectIntervalTimer):
25862        (WebCore::TimeScheduler::startAnimations):
25863        (WebCore::TimeScheduler::toggleAnimations):
25864        (WebCore::TimeScheduler::timerFired):
25865        Rework to use new timer.
25866
25867        * ksvg2/misc/SVGDocumentExtensions.h:
25868        * ksvg2/misc/SVGDocumentExtensions.cpp:
25869        Make SVGDocumentExtensions no longer be shared, be solely owned by the document.
25870
25871        * ksvg2/svg/SVGDocumentImpl.cpp:
25872        (WebCore::SVGDocumentImpl::createStyleSelector): Update for RefPtr use.
25873
25874        * kwq/KWQSlot.cpp: Remove endLifeSupport and timerNotify slots.
25875
25876        * page/Frame.h:
25877        * page/Frame.cpp:
25878        (WebCore::Frame::selectionLayoutChanged): Update to use new style timer.
25879        (WebCore::Frame::caretBlinkTimerFired): Ditto.
25880        * page/FramePrivate.h: (WebCore::FramePrivate::FramePrivate): Ditto.
25881
25882        * page/FrameView.h:
25883        * page/FrameView.cpp:
25884        (WebCore::FrameViewPrivate::FrameViewPrivate): Update to use new style timer.
25885        (WebCore::FrameView::clear): Ditto.
25886        (WebCore::FrameView::layout): Ditto.
25887        (WebCore::FrameView::layoutTimerFired): Ditto.
25888        (WebCore::FrameView::scheduleRelayout): Ditto.
25889        (WebCore::FrameView::layoutPending): Ditto.
25890        (WebCore::FrameView::haveDelayedLayoutScheduled): Ditto.
25891        (WebCore::FrameView::unscheduleRelayout): Ditto.
25892
25893        * page/ObjectContents.h: Remove unneeded includes.
25894
25895        * rendering/render_frames.cpp: Removed include of <qtimer.h>.
25896
25897        * rendering/render_layer.h:
25898        * rendering/render_layer.cpp:
25899        (WebCore::Marquee::Marquee): Use new style timers.
25900        (WebCore::Marquee::start): Ditto.
25901        (WebCore::Marquee::suspend): Ditto.
25902        (WebCore::Marquee::stop): Ditto.
25903        (WebCore::Marquee::updateMarqueeStyle): Ditto.
25904        (WebCore::Marquee::timerFired): Ditto.
25905
259062006-02-01  Darin Adler  <darin@apple.com>
25907
25908        Reviewed by Beth.
25909
25910        Fix for <rdar://problem/4424126> REGRESSION(412-420+): yellow
25911        highlight fails to follow cursor when mousing over star rating
25912        (6232)
25913
25914        Event coordinates cannot be calculated until there is a target.
25915        This patch restructures the code so that the coordinates are
25916        initialized when the mouse event is created but are not calculated
25917        until the target is set.
25918
25919        * khtml/xml/dom2_eventsimpl.cpp:
25920        (WebCore::EventImpl::setTarget): Now calls receivedTarget() if the
25921        target is not nil.
25922        (WebCore::EventImpl::receivedTarget): virtual receivedTarget()
25923        (WebCore::MouseRelatedEventImpl::MouseRelatedEventImpl): Call
25924        initCoordinates()
25925        (WebCore::MouseRelatedEventImpl::initCoordinates): Formerly called
25926        computePositions(), this now only initializes the coordinates and
25927        lets receivedTarget() take care of the computations.
25928        (WebCore::MouseRelatedEventImpl::receivedTarget): Takes care of
25929        computing the coordinates.
25930        (WebCore::MouseEventImpl::initMouseEvent): Call initCoordinates()
25931        * khtml/xml/dom2_eventsimpl.h:
25932        (WebCore::EventImpl::target): Fix spacing.
25933        (WebCore::EventImpl::currentTarget): Same.
25934        (WebCore::EventImpl::setCurrentTarget): Same.
25935
259362006-01-31  Maciej Stachowiak  <mjs@apple.com>
25937
25938        Reviewed by Darin.
25939
25940        - fixed REGRESSION: assertion failure mousing over DHTML menus at www.worldofwarcraft.com
25941        http://bugs.webkit.org/show_bug.cgi?id=6931
25942
25943        * rendering/render_layer.cpp:
25944        (WebCore::RenderLayer::hitTestLayer): Iterate vectors in a way that won't break on empty ones.
25945
259462006-01-31  Adele Peterson  <adele@apple.com>
25947
25948        Reviewed by Darin.
25949
25950        http://bugs.webkit.org/show_bug.cgi?id=6862
25951        Input's value doesn't get updated after typing in new text field
25952
25953        Added test:
25954        fast/forms/input-changing-value.html
25955
25956        Added an event listener for a DOMCharacterDataModifiedEvent on the inner div.
25957        When we get the event, then we update the input element's value field.
25958
25959        There may be performance problems with this approach that we will have to
25960        address before flipping the switch to use these new text fields.
25961
25962        * rendering/RenderTextField.cpp:
25963        (WebCore::InputMutationListener::handleEvent): calls subtreeHasChanged
25964        (WebCore::m_mutationListener):
25965        (WebCore::RenderTextField::~RenderTextField): remove the event listener.
25966        (WebCore::RenderTextField::setStyle): Remove unnecessary setStyle on text node.
25967         It should inherit style from the div already.
25968        (WebCore::RenderTextField::updateFromElement): add the event listener.
25969        (WebCore::RenderTextField::subtreeHasChanged): updates the input element's value.
25970        * rendering/RenderTextField.h:
25971        (WebCore::InputMutationListener::InputMutationListener): Added.
25972        (WebCore::InputMutationListener::renderTextField): Added.
25973        (WebCore::InputMutationListener::setInputElement): Added.
25974
259752006-01-31  Antti Koivisto <koivisto@iki.fi>
25976
25977        Reviewed by Dave Hyatt.
25978        Landed by Timothy Hatcher.
25979
25980        http://bugs.webkit.org/show_bug.cgi?id=4959
25981        Bug 4959: inline style not terminated properly after <form>
25982
25983        * khtml/html/htmlparser.cpp:
25984        (HTMLParser::isResidualStyleTag): add <span> as residual style tag
25985        (HTMLParser::isAffectedByResidualStyle): add <form> as tag affected by residual style
25986
259872006-01-31  Vicki Murley <vicki@apple.com>
25988
25989        Reviewed by Geoff.
25990
25991        - fix <rdar://problem/4426668> REGRESSION: sometimes URLs with named anchors in a
25992        page don't jump to proper location in document (6916). Added test cases for this
25993        fix and past link jumping bug fixes.
25994
25995        * khtml/xml/ContainerNodeImpl.cpp:
25996        (WebCore::ContainerNodeImpl::getUpperLeftCorner): Traverse up the parent node chain
25997        until you find one that has a sibling.
25998        * manual-tests/linkjump-1.html: Added a note here - the bug for this test case is
25999        still broken in TOT.
26000        * manual-tests/linkjump-2.html: Added. Renamed scrollToAnchor.html, to group it with the
26001        rest of the link jumping tests.
26002        * manual-tests/linkjump-3.html: Added. Test case for this bug, <rdar://problem/4426668>.
26003        * manual-tests/linkjump-4.html: Added. Test case for past fix, <rdar://problem/4247537>.
26004        * manual-tests/linkjump-5.html: Added. Test case for past fix, <rdar://problem/4256060>.
26005        * manual-tests/scrollToAnchor.html: Removed.
26006
260072006-01-31  David Harrison  <harrison@apple.com>
26008
26009        Reviewed by John.
26010        <rdar://problem/4423922> TOT REGRESSION (r12358): first iframe in pair fails to copy
26011
26012        Layout test added:
26013        * editing/pasteboard/paste-empty-startcontainer.html
26014
26015        * khtml/xml/dom2_rangeimpl.cpp:
26016        (DOM::RangeImpl::startNode):
26017        - use empty non-textual m_startContainer itself if m_startOffset is 0, rather then nextSibling()
26018
260192006-01-31  Mitz Pettel  <opendarwin.org@mitzpettel.com>
26020
26021        Test: fast/forms/selected-index-assert.html.
26022
26023        Reviewed by Adele.
26024
26025        - fix http://bugs.webkit.org/show_bug.cgi?id=6942
26026          Assertion failure in HTMLSelectElementImpl::selectedIndex (m_multiple)
26027
26028        * khtml/html/HTMLSelectElementImpl.cpp:
26029        (WebCore::HTMLSelectElementImpl::selectedIndex): Removed bogus assert.
26030        -1 is the correct value to return if no option is selected.
26031
260322006-01-31  Beth Dakin  <bdakin@apple.com>
26033
26034        Reviewed by Adele.
26035
26036        Fixing build bustage. Removing include of khtml_factory.h since it
26037        has been removed.
26038
26039        * rendering/font.cpp: No longer include khtml_factory.h
26040
260412006-01-31  David Kilzer  <ddkilzer@kilzer.net>
26042
26043        Reviewed by Hyatt.
26044
26045        - fix http://bugs.webkit.org/show_bug.cgi?id=6584
26046          REGRESSION: button after unclosed button gives trouble
26047
26048        * khtml/html/htmlparser.cpp: (HTMLParser::getNode):
26049        Add buttonTag to error handling table to take care of unclosed tags.
26050
260512006-01-31  Mitz Pettel  <opendarwin.org@mitzpettel.com>
26052
26053        Test: fast/parser/script-after-frameset-assert.html
26054
26055        Reviewed by Darin.
26056
26057        - fix http://bugs.webkit.org/show_bug.cgi?id=6959
26058          REGRESSION: Assertion failure in HTMLTokenizer::parseTag (!scriptNode) on page with ignored scripts
26059
26060        * khtml/html/htmltokenizer.cpp:
26061        (WebCore::HTMLTokenizer::scriptHandler): Reset scriptNode to 0 if the
26062        script is being skipped.
26063
260642006-01-31  Mitz Pettel  <opendarwin.org@mitzpettel.com>
26065
26066        Reviewed by Darin.
26067
26068        - fix http://bugs.webkit.org/show_bug.cgi?id=6960
26069          REGRESSION: Assertion failure in table_layout.cpp:216 calcWidthArray()
26070
26071        * rendering/table_layout.cpp: (WebCore::FixedTableLayout::calcWidthArray):
26072        Remove the assertion.
26073
260742006-01-31  Anders Carlsson  <andersca@mac.com>
26075
26076        Reviewed by John.
26077
26078        - fix http://bugs.webkit.org/show_bug.cgi?id=6964
26079        ImagePatterns are always rendered mirrored
26080
26081        * khtml/ecma/kjs_html.cpp:
26082        (KJS::ImagePattern::createPattern):
26083        Don't mirror the x coordinate when creating the pattern.
26084
260852006-01-31  Darin Adler  <darin@apple.com>
26086
26087        Reviewed by Hyatt.
26088
26089        - added a Timer class
26090        - used the Timer class for the redirection timer
26091        - moved Frame, FrameView, MacFrame, and FrameNodeTree into WebCore namespace
26092        - removed more KWQ
26093
26094        * ForwardingHeaders/khtml_factory.h: Removed.
26095        * kwq/KWQKHTMLFactory.cpp: Removed.
26096        * kwq/KWQKHTMLFactory.h: Removed.
26097
26098        * platform/Timer.h: Added.
26099        * platform/mac/Timer.cpp: Added.
26100
26101        * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for added and removed files.
26102        * WebCore.xcodeproj/project.pbxproj: Ditto.
26103
26104        * page/Frame.h:
26105        * page/Frame.cpp:
26106        (WebCore::Frame::init): Remove code to set up slotRedirect.
26107        (WebCore::Frame::checkCompleted): Call start/stopRedirectionTimer instead of using
26108        the redirection timer directly.
26109        (WebCore::Frame::scheduleRedirection): Ditto.
26110        (WebCore::Frame::scheduleLocationChange): Ditto.
26111        (WebCore::Frame::scheduleHistoryNavigation): Ditto.
26112        (WebCore::Frame::cancelRedirection): Ditto.
26113        (WebCore::Frame::redirectionTimerFired): Renamed from slotRedirect.
26114        (WebCore::Frame::slotParentCompleted): More startRedirectionTimer.
26115        (WebCore::Frame::startRedirectionTimer): Added. Virtual bottleneck to start the
26116        redirection timer.
26117        (WebCore::Frame::stopRedirectionTimer): Added. Virtual bottleneck to stop the
26118        redirection timer.
26119
26120        * page/FramePrivate.h: Changed m_redirectionTimer from a QTimer to a Timer.
26121
26122        * bridge/mac/MacFrame.mm:
26123        (WebCore::MacFrame::startRedirectionTimer): Added. Avoids the need for the QTimer
26124        "monitor" feature that I had added a while back to implement the client-redirected
26125        callback.
26126        (WebCore::MacFrame::stopRedirectionTimer): Ditto.
26127
26128        * kwq/KWQSlot.cpp: Removed slotRedirected.
26129
26130        * ForwardingHeaders/ksvg2/KSVGPart.h: Removed using to put Frame into various
26131        namespaces (all of which are WebCore now anyway).
26132
26133        * bindings/objc/DOMInternal.mm:
26134        * bridge/mac/BrowserExtensionMac.h:
26135        * bridge/mac/KWQKHTMLView.cpp:
26136        * bridge/mac/MacFrame.h:
26137        * bridge/mac/WebCoreFrameBridge.h:
26138        * bridge/mac/WebCoreFrameBridge.mm:
26139        * bridge/mac/WebCorePageBridge.h:
26140        * bridge/mac/WebCorePageBridge.mm:
26141        * css/cssstyleselector.cpp:
26142        * css/cssstyleselector.h:
26143        * khtml/ecma/kjs_binding.cpp:
26144        * khtml/ecma/kjs_binding.h:
26145        * khtml/ecma/kjs_navigator.cpp:
26146        * khtml/ecma/kjs_navigator.h:
26147        * khtml/ecma/kjs_proxy.h:
26148        * khtml/ecma/kjs_window.h:
26149        * khtml/editing/SelectionController.h:
26150        * khtml/editing/jsediting.h:
26151        * khtml/html/html_baseimpl.h:
26152        * khtml/html/html_documentimpl.cpp:
26153        * khtml/html/html_documentimpl.h:
26154        * khtml/html/html_headimpl.h:
26155        * khtml/html/htmlparser.h:
26156        * khtml/html/htmltokenizer.h:
26157        * khtml/xml/DOMImplementationImpl.h:
26158        * khtml/xml/DocumentImpl.h:
26159        * khtml/xml/dom2_eventsimpl.h:
26160        * khtml/xml/xml_tokenizer.h:
26161        * khtml/xsl/xslt_processorimpl.h:
26162        * ksvg2/svg/SVGDocumentImpl.cpp:
26163        * kwq/KWQClipboard.h:
26164        * kwq/KWQComboBox.mm:
26165        * kwq/KWQFileButton.h:
26166        * kwq/KWQFrame.mm:
26167        * kwq/KWQKJavaAppletWidget.h:
26168        * kwq/KWQListBox.mm:
26169        * kwq/KWQSignalStubs.cpp:
26170        * kwq/KWQSlider.mm:
26171        * kwq/KWQTextField.mm:
26172        * kwq/KWQWidget.mm:
26173        * kwq/WebCoreSettings.mm:
26174        * kwq/WebCoreTextRendererFactory.mm:
26175        * loader/DocLoader.h:
26176        * page/FrameTreeNode.cpp:
26177        * page/FrameTreeNode.h:
26178        * page/FrameView.cpp:
26179        * page/FrameView.h:
26180        * page/Page.cpp:
26181        * page/Page.h:
26182        * rendering/InlineTextBox.h:
26183        * rendering/font.cpp:
26184        * rendering/render_canvas.h:
26185        * rendering/render_frames.h:
26186        * rendering/render_object.h:
26187        * rendering/render_replaced.h:
26188        Updated for namespace and header changes.
26189
261902006-01-31  Anders Carlsson  <andersca@mac.com>
26191
26192        Reviewed by Darin.
26193
26194        The WebCore part of http://bugs.webkit.org/show_bug.cgi?id=6907
26195        REGRESSION: United.com menus messed up due to document.all/MSIE sniff
26196
26197        * khtml/ecma/kjs_html.h:
26198        (KJS::HTMLAllCollection::masqueradeAsUndefined):
26199        Update for name change.
26200
262012006-01-30  Geoffrey Garen  <ggaren@apple.com>
26202
26203        Reviewed by mjs.
26204
26205        - Speculative fix for <rdar://problem/4135845> Crash executing
26206        cross-frame script on timeout in KJS::ScheduledAction::execute
26207
26208        If we ever get a reproducible case of 4135845, I'll add a test for it.
26209
26210        This is a re-working of Maciej's fix for 3157014 (circa 2003!). Since
26211        you can't reliably predict what the state of the page will be when
26212        a timer fires, I've made the timer responsbile for making sure that
26213        everything is OK to execute.
26214
26215        I tested @ http://www.javascriptkit.com/script/cut3.shtml with various
26216        combinations of reload, back, and regular navigations with JS enabled/
26217        disabled to ensure that the previous crash didn't return. I also ran a
26218        leaks test and discovered some, but none unique to this patch. (See
26219        <rdar://problem/4427420> TOT REGRESSION: Leaks seen on page with
26220        JavaScript timer.)
26221
26222        * khtml/ecma/kjs_window.cpp:
26223        (KJS::ScheduledAction::execute): Return early if there's no window
26224        object. (This happens when JavaScript is disabled.)
26225        (KJS::Window::retrieveWindow): Reversed a backwards ASSERT, increased
26226        prettiness. (The assert fired while I was testing. Not sure why we
26227        haven't seen it before.)
26228        * page/Frame.cpp:
26229        (Frame::didOpenURL): Returned setting of JavaScript enabled/disabled
26230        preference to its rightful place. This introduces a new behavior: now,
26231        the unload event does not fire after you've disabled JavaScript. That
26232        seems like a good thing. (See <rdar://problem/4426506> Disabling
26233        JavaScript should immediately end JavaScript execution.)
26234        (Frame::begin): Ditto.
26235
262362006-01-30  Geoffrey Garen  <ggaren@apple.com>
26237
26238        Reviewed by Dave Harrison.
26239
26240        - Fixed <rdar://problem/4378159> crash in KWQKHTMLPart::userGestureHint
26241        from javascript enabled/disabled inconsistency when pasting webpage
26242        into email or blot
26243
26244        * page/Frame.cpp:
26245        (Frame::userGestureHint): Check root frame's jScript() for NULL instead
26246        of checking inner frame's jScript().
26247
26248        After init() has been called on a frame, but before begin() has been
26249        called, the frame can have JavaScript enabled when its parent doesn't.
26250        (That seems wrong, so I've filed <rdar://problem/4426499> Child frame
26251        momentarily has JavaScript enabled even though parent frame doesn't.)
26252
26253        Regardless, it's better programming practice to NULL check the actual
26254        pointer you're going to use, so that's what I've done here.
26255
26256        * manual-tests/paste-crash.html: Added.
26257        (No automated test because the crash depends on JavaScript being
26258        disabled.)
26259
262602006-01-30  Beth Dakin  <bdakin@apple.com>
26261
26262        Reviewed by Geoff
26263
26264        Fix for <rdar://problem/4298052> Crash in KWQCheckIfReloading at
26265        http://www.inquisitorx.com/beta/
26266
26267        It is possible for the DocLoader's frame to be nil when the
26268        DocLoader is not nil, so we need nil checks.
26269
26270        * kwq/KWQLoader.mm:
26271        (KWQServeRequest): Nil check.
26272        (KWQServeSynchronousRequest): Same.
26273        (KWQCheckIfReloading): Same.
26274        (KWQCheckCacheObjectStatus): Same.
26275        (KWQCacheObjectExpiresTime): Same.
26276        * kwq/KWQPageState.mm: Same.
26277
262782006-01-30  Eric Seidel  <eseidel@apple.com>
26279
26280        Add #import "KWQFontMetrics.h" to fix no-svg build.
26281
26282        * kwq/KWQPainter.mm:
26283
262842006-01-30  Darin Adler  <darin@apple.com>
26285
26286        Reviewed by Eric.
26287
26288        - cleanup of Int/Float-Size/Point/Rect classes
26289
26290        I did this as part of a redo of QMatrix, but I decided I should
26291        land this part separately.
26292
26293        Eliminated the concept of a null rect or point, which used to be
26294        indicated by negative width and height.
26295
26296        Changed right and bottom to to be, e.g., 2 for a rect at (0,0) 2x2.
26297        The old code followed Qt's system that says right is 1 in those cases,
26298        which is inappropriate for floating point, and old fashioned because
26299        modern graphics systems use coordinates for lines between pixels, not
26300        the pixels themselves.
26301
26302        Other API improvements to the point, size, and rect classes. For example,
26303        functions named with verbs now always modify the object itself.
26304
26305        * rendering/render_theme_mac.mm: (RenderThemeMac::paintButton): Fixed
26306        a bug where it said x() where it should say y().
26307
26308        * bridge/mac/MacFrame.h:
26309        * bridge/mac/MacFrame.mm:
26310        * bridge/mac/WebCoreFrameBridge.mm:
26311        * kcanvas/KCanvasContainer.cpp:
26312        * kcanvas/KCanvasItem.cpp:
26313        * kcanvas/RenderSVGImage.cpp:
26314        * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
26315        * kcanvas/device/quartz/KCanvasItemQuartz.mm:
26316        * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
26317        * khtml/ecma/kjs_dom.cpp:
26318        * khtml/ecma/kjs_window.cpp:
26319        * khtml/editing/SelectionController.cpp:
26320        * khtml/html/html_inlineimpl.cpp:
26321        * khtml/html/html_objectimpl.cpp:
26322        * khtml/html/html_objectimpl.h:
26323        * khtml/misc/khtmllayout.h:
26324        * ksvg2/svg/SVGSVGElementImpl.cpp:
26325        * kwq/KWQAccObject.mm:
26326        * kwq/KWQComboBox.mm:
26327        * kwq/KWQFileButton.mm:
26328        * kwq/KWQFontMetrics.mm:
26329        * kwq/KWQPainter.h:
26330        * kwq/KWQPainter.mm:
26331        * kwq/KWQRegion.cpp:
26332        * kwq/KWQRenderTreeDebug.cpp:
26333        * kwq/KWQScrollView.mm:
26334        * kwq/KWQWMatrix.cpp:
26335        * kwq/KWQWidget.h:
26336        * kwq/KWQWidget.mm:
26337        * kwq/KWQWindowWidget.mm:
26338        * loader/CachedImage.cpp:
26339        * page/Frame.cpp:
26340        * page/FrameView.cpp:
26341        * platform/FloatPoint.cpp:
26342        * platform/FloatPoint.h:
26343        * platform/FloatRect.cpp:
26344        * platform/FloatRect.h:
26345        * platform/FloatSize.cpp:
26346        * platform/FloatSize.h:
26347        * platform/Image.h:
26348        * platform/IntPoint.cpp:
26349        * platform/IntPoint.h:
26350        * platform/IntPointArray.cpp:
26351        * platform/IntPointArray.h:
26352        * platform/IntRect.cpp:
26353        * platform/IntRect.h:
26354        * platform/IntSize.cpp:
26355        * platform/IntSize.h:
26356        * platform/mac/FloatPoint.mm:
26357        * platform/mac/FloatRect.mm:
26358        * platform/mac/FloatSize.mm:
26359        * platform/mac/Image.mm:
26360        * platform/mac/IntPoint.mm:
26361        * platform/mac/IntRect.mm:
26362        * platform/mac/IntSize.mm:
26363        * platform/mac/Screen.mm:
26364        * rendering/InlineTextBox.cpp:
26365        * rendering/RenderBlock.cpp:
26366        * rendering/RenderBlock.h:
26367        * rendering/RenderTable.cpp:
26368        * rendering/RenderTableCell.cpp:
26369        * rendering/RenderText.cpp:
26370        * rendering/render_box.cpp:
26371        * rendering/render_canvas.cpp:
26372        * rendering/render_canvasimage.cpp:
26373        * rendering/render_flow.cpp:
26374        * rendering/render_form.cpp:
26375        * rendering/render_frames.cpp:
26376        * rendering/render_layer.cpp:
26377        * rendering/render_line.cpp:
26378        * rendering/render_list.cpp:
26379        * rendering/render_object.cpp:
26380        * rendering/render_object.h:
26381        * rendering/render_replaced.cpp:
26382
263832006-01-29  Maciej Stachowiak  <mjs@apple.com>
26384
26385        Reviewed by Darin.
26386
26387        - Remove QSortedList and QPtrList sorting support
26388        http://bugs.webkit.org/show_bug.cgi?id=6929
26389
26390        * WebCore.xcodeproj/project.pbxproj:
26391        * kcanvas/device/KRenderingPaintServerGradient.cpp:
26392        (operator<<): Implement for Vector<KCGradientStop>
26393        (KRenderingPaintServerGradient::gradientStops): Use a Vector, not a subclass of
26394        QPtrList that sorts on every insert
26395        (compareStopOffset): Comparison function for sorting.
26396        (KRenderingPaintServerGradient::setGradientStops): Add a version that takes a Vector which sorts,
26397        and another which knows how to copy from another gradient paint server.
26398        * kcanvas/device/KRenderingPaintServerGradient.h:
26399        (makeGradientStop): Make a gradient stop pair.
26400        * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
26401        (KRenderingPaintServerGradientQuartz::~KRenderingPaintServerGradientQuartz): use delete
26402        on stops cache
26403        (KRenderingPaintServerGradientQuartz::updateQuartzGradientStopsCache): adapt to Vector
26404        * kcanvas/device/quartz/KRenderingPaintServerQuartz.h:
26405        * khtml/editing/visible_text.cpp:
26406        (khtml::compareBoxStart): Comparison function for sorting.
26407        (khtml::TextIterator::handleTextNode): Use Vector and std::sort instead of QSortedList
26408        for sorting. Keep current position as an index.
26409        (khtml::TextIterator::handleTextBox): Adapt for Vector use.
26410        * khtml/editing/visible_text.h:
26411        * ksvg2/svg/SVGGradientElementImpl.cpp:
26412        (SVGGradientElementImpl::rebuildStops): Use a Vector. Instead of modifying the existing one,
26413        make a fresh one and assign it.
26414        * ksvg2/svg/SVGLinearGradientElementImpl.cpp:
26415        (SVGLinearGradientElementImpl::buildGradient): don't copy item by item, just assign directly.
26416        * ksvg2/svg/SVGRadialGradientElementImpl.cpp:
26417        (SVGRadialGradientElementImpl::buildGradient): ditto
26418        * ksvg2/svg/SVGStopElementImpl.h:
26419        * kwq/KWQListImpl.cpp:
26420        * kwq/KWQPtrList.h:
26421        (QPtrList::sort): Removed.
26422        * kwq/KWQSortedList.h: Removed.
26423        * rendering/InlineTextBox.h: Remove now unneeded operator< and operator=
26424
264252006-01-29  Darin Adler  <darin@apple.com>
26426
26427        Reviewed by Maciej.
26428
26429        - killed more KWQ, KWinModule and QVariant
26430
26431        * ForwardingHeaders/kwinmodule.h: Removed.
26432        * ForwardingHeaders/qvariant.h: Removed.
26433
26434        * kwq/KWQKWinModule.h: Removed.
26435        * kwq/KWQKWinModule.mm: Removed.
26436        * kwq/KWQVariant.cpp: Removed.
26437        * kwq/KWQVariant.h: Removed.
26438
26439        * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for removal.
26440        * WebCore.xcodeproj/project.pbxproj: Ditto.
26441
26442        * khtml/ecma/kjs_binding.h:
26443        * khtml/ecma/kjs_binding.cpp: Remove QVariant stuff.
26444
26445        * bridge/mac/WebCoreFrameBridge.mm:
26446        (-[WebCoreFrameBridge stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
26447        * khtml/ecma/kjs_events.cpp: (KJS::JSAbstractEventListener::handleEvent):
26448        * khtml/ecma/kjs_proxy.h:
26449        * khtml/ecma/kjs_proxy.cpp: (WebCore::KJSProxyImpl::evaluate):
26450        * page/Frame.h:
26451        * page/Frame.cpp:
26452        (getString):
26453        (Frame::replaceContentsWithScriptResult):
26454        (Frame::executeScript):
26455        (Frame::executeScheduledScript):
26456        (Frame::changeLocation):
26457        (Frame::urlSelected):
26458        (Frame::submitForm):
26459        Changed to use JSValue instead of QVariant for result of executing JavaScript.
26460
26461        * kwq/KWQObject.h: Removed a bunch of unneeded includes and forward declarations.
26462
26463        * bridge/mac/MacFrame.mm:
26464        * khtml/ecma/kjs_window.h:
26465        * khtml/ecma/kjs_window.cpp:
26466        * khtml/html/html_inlineimpl.cpp:
26467        * khtml/html/htmltokenizer.cpp:
26468        * khtml/xml/DocumentImpl.cpp:
26469        * khtml/xml/NodeImpl.cpp:
26470        * khtml/xml/dom2_eventsimpl.cpp:
26471        * khtml/xml/xml_tokenizer.cpp:
26472        * kwq/KWQComboBox.mm:
26473        * kwq/KWQFileButton.mm:
26474        * kwq/KWQListBox.mm:
26475        * kwq/KWQObject.cpp:
26476        * kwq/KWQSlider.mm:
26477        * kwq/KWQTextArea.mm:
26478        * kwq/KWQTextField.mm:
26479        * loader/CachedImage.h:
26480        * page/FrameView.h:
26481        * page/FrameView.cpp:
26482        * rendering/render_form.cpp:
26483        Updated includes, since KWQObject.h now includes less.
26484        Also updated callers to executeScript since one overload was removed.
26485
264862006-01-29  Eric Seidel <eseidel@apple.com>
26487
26488        Reviewed by darin.
26489
26490        Added back #include <qvaluelist.h> to fix WIN32 build.
26491
26492        * rendering/render_style.h:
26493
264942006-01-29  Darin Adler  <darin@apple.com>
26495
26496        Reviewed by Hyatt (drag image fix) and Maciej (the rest).
26497
26498        - fixed just-introduced crash dragging images
26499
26500        I don't know how to make a layout test for this.
26501
26502        * kwq/KWQClipboard.mm: (WebCore::KWQClipboard::dragImage): Fixed crash on
26503        dragging by initializing m_dragImage to 0.
26504
26505        - http://bugs.webkit.org/show_bug.cgi?id=6923
26506          remove more of KWQ, including the screen functions from QDesktopWidget
26507
26508        * kwq/KWQApplication.h: Removed.
26509        * kwq/KWQApplication.mm: Removed.
26510        * kwq/KWQGlobal.cpp: Removed.
26511        * kwq/KWQKPartsEvent.cpp: Removed.
26512        * kwq/KWQKPartsEvent.h: Removed.
26513        * kwq/KWQPair.h: Removed.
26514        * kwq/KWQStyle.cpp: Removed.
26515        * kwq/KWQStyle.h: Removed.
26516
26517        * ForwardingHeaders/kparts/event.h: Removed.
26518        * ForwardingHeaders/qapplication.h: Removed.
26519        * ForwardingHeaders/qstyle.h: Removed.
26520
26521        * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for above changes.
26522        * WebCore.xcodeproj/project.pbxproj: Ditto.
26523
26524        * platform/Screen.h: Added. Replaces the desktop widget stuff in KWQApplication.mm.
26525        * platform/mac/Screen.mm: Added.
26526
26527        * kwq/KWQDef.h: Removed everything except for kMin and kMax from here.
26528        We should port to std::min and std::max, and then we can get rid of this
26529        header altogether.
26530
26531        * kwq/KWQKCursor.h: Removed setAutoHideCursor.
26532        * kwq/KWQKCursor.mm: Ditto.
26533
26534        * kwq/KWQWidget.h: Removed style() and setStyle() functions.
26535        * kwq/KWQWidget.mm: Ditto.
26536
26537        * khtml/ecma/kjs_window.h:
26538        * khtml/ecma/kjs_window.cpp:
26539        (KJS::Screen::Screen): Store a pointer to the Frame.
26540        (KJS::Screen::getValueProperty): Port to use the new Screen.h functions.
26541        (KJS::showModalDialog): Ditto.
26542        (KJS::Window::getValueProperty): Ditto.
26543        (KJS::WindowFunc::callAsFunction): Ditto.
26544
26545        * khtml/khtml_events.h:
26546        * khtml/khtml_events.cpp: Removed much of the code here.
26547        This can be cut down even more.
26548
26549        * khtml/misc/khtmllayout.h: Removed unused stuff and updated for KWQ changes.
26550
26551        * kwq/KWQCString.cpp:
26552        * kwq/KWQKURL.mm:
26553        * kwq/KWQPainter.mm:
26554        * kwq/KWQRegExp.cpp:
26555        * kwq/KWQRenderTreeDebug.cpp:
26556        * kwq/KWQString.h:
26557        * kwq/KWQString.mm:
26558        * kwq/KWQTextCodec.cpp:
26559        * WebCore+SVG/KDOMSettings.cpp:
26560        * bridge/mac/MacFrame.mm:
26561        * bridge/mac/WebCoreFrameBridge.mm:
26562        * css/cssparser.cpp:
26563        * kcanvas/KCanvasItem.cpp:
26564        * khtml/ecma/kjs_navigator.cpp:
26565        * khtml/html/HTMLSelectElementImpl.cpp:
26566        * khtml/html/html_tableimpl.h:
26567        * khtml/html/htmltokenizer.cpp:
26568        * khtml/misc/decoder.cpp:
26569        * ksvg2/css/KSVGCSSParser.cpp:
26570        * ksvg2/css/SVGRenderStyle.h:
26571        * page/Frame.h:
26572        * page/Frame.cpp:
26573        * page/FrameView.cpp:
26574        * platform/IntPointArray.cpp:
26575        * rendering/RenderBlock.cpp:
26576        * rendering/RenderTable.cpp:
26577        * rendering/bidi.cpp:
26578        * rendering/bidi.h:
26579        * rendering/render_form.cpp:
26580        * rendering/render_object.cpp:
26581        * rendering/render_object.h:
26582        * rendering/render_replaced.cpp:
26583        * rendering/render_style.h:
26584        * rendering/table_layout.cpp:
26585        Updated for above KWQ changes. Changed tabs to spaces.
26586
265872006-01-29  Eric Seidel <eseidel@apple.com>
26588
26589        Reviewed by hyatt.
26590
26591        Fix build for Win32.
26592
26593        * WebCore.vcproj/WebCore/WebCore.vcproj:
26594
265952006-01-29  David Hyatt  <hyatt@apple.com>
26596
26597        Fix for bug 6910, don't let Image be assignable or copiable.  It will soon represent  the actual
26598        original Image (including the data) and as such must remain unique.
26599
26600        Reviewed by darin
26601
26602        * kcanvas/KCanvasFilters.cpp:
26603        (KCanvasFEImage::~KCanvasFEImage):
26604        (KCanvasFEImage::setCachedImage):
26605        * kcanvas/KCanvasFilters.h:
26606        (KCanvasFEImage::KCanvasFEImage):
26607        (KCanvasFEImage::cachedImage):
26608        * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
26609        (KCanvasFEImageQuartz::getCIFilter):
26610        * khtml/ecma/kjs_events.cpp:
26611        (KJS::ClipboardProtoFunc::callAsFunction):
26612        * khtml/ecma/kjs_html.cpp:
26613        (KJS::KJS::Context2DFunction::callAsFunction):
26614        (KJS::drawPattern):
26615        (KJS::_rh):
26616        (KJS::ImagePattern::~ImagePattern):
26617        (KJS::ImagePattern::createPattern):
26618        * khtml/ecma/kjs_html.h:
26619        (KJS::ImagePattern::cachedImage):
26620        * khtml/html/html_imageimpl.h:
26621        (WebCore::HTMLImageElementImpl::cachedImage):
26622        * khtml/xml/dom2_eventsimpl.h:
26623        * ksvg2/svg/SVGCursorElementImpl.cpp:
26624        (SVGCursorElementImpl::~SVGCursorElementImpl):
26625        (SVGCursorElementImpl::parseMappedAttribute):
26626        * ksvg2/svg/SVGCursorElementImpl.h:
26627        (KSVG::SVGCursorElementImpl::cachedImage):
26628        * ksvg2/svg/SVGFEImageElementImpl.cpp:
26629        (SVGFEImageElementImpl::~SVGFEImageElementImpl):
26630        (SVGFEImageElementImpl::parseMappedAttribute):
26631        (SVGFEImageElementImpl::notifyFinished):
26632        * kwq/KWQClipboard.h:
26633        * kwq/KWQClipboard.mm:
26634        (WebCore::KWQClipboard::dragImage):
26635        (WebCore::KWQClipboard::setDragImage):
26636        (WebCore::KWQClipboard::setDragImageElement):
26637        (WebCore::KWQClipboard::imageChanged):
26638        (WebCore::KWQClipboard::dragNSImage):
26639        * platform/Image.h:
26640
266412006-01-29  Darin Adler  <darin@apple.com>
26642
26643        Reviewed by Hyatt.
26644
26645        - fix http://bugs.webkit.org/show_bug.cgi?id=6914
26646          REGRESSION: fast/block/basic/014.html crashes Safari
26647
26648        * rendering/render_image.h:
26649        (WebCore::RenderImage::image): Return a null image when m_cachedImage is 0.
26650        (WebCore::RenderImage::errorOccurred): Return false when m_cachedImage is 0.
26651        * rendering/render_image.cpp: (WebCore::RenderImage::nullImage): Added.
26652        Returns a global null image for use when we have no cached image.
26653
26654        - fix http://bugs.webkit.org/show_bug.cgi?id=6919
26655          REGRESSION: Background images don't paint when they are finished loading
26656
26657        * rendering/render_object.h: Renamed the old setImage to imageChanged, the
26658        new name for the same function.
26659        * rendering/render_object.cpp: (WebCore::RenderObject::imageChanged): Ditto.
26660        * rendering/render_list.cpp: (RenderListMarker::imageChanged): Changed the
26661        call to parent to call the new imageChanged instead of the old setImage.
26662
26663        - fixed something else that was causing some layout test crashes
26664
26665        * kwq/KWQRenderTreeDebug.cpp: (externalRepresentation): Rearrange so we won't
26666        ever dereference a null pointer here.
26667
266682006-01-29  Maciej Stachowiak  <mjs@apple.com>
26669
26670        Reviewed by Darin.
26671
26672        - replace QValueVector and QPtrVector use with Vector, and remove them.
26673        http://bugs.webkit.org/show_bug.cgi?id=6909
26674
26675        * ForwardingHeaders/q3valuevector.h: Removed.
26676        * ForwardingHeaders/qptrvector.h: Removed.
26677        * ForwardingHeaders/qvector.h: Removed.
26678        * WebCore+SVG/KDOMSettings.cpp:
26679        (KDOMSettings::init):
26680        (KDOMSettings::isAdFiltered):
26681        * WebCore.xcodeproj/project.pbxproj:
26682        * bridge/mac/WebCoreFrameBridge.mm:
26683        (-[WebCoreFrameBridge elementWithName:inForm:]):
26684        (-[WebCoreFrameBridge controlsInForm:]):
26685        * css/cssstyleselector.h:
26686        * khtml/html/HTMLCollectionImpl.cpp:
26687        (WebCore::HTMLCollectionImpl::updateNameCache):
26688        (WebCore::HTMLCollectionImpl::namedItems):
26689        * khtml/html/HTMLCollectionImpl.h:
26690        * khtml/html/HTMLFormCollectionImpl.cpp:
26691        (WebCore::HTMLFormCollectionImpl::HTMLFormCollectionImpl):
26692        (WebCore::HTMLFormCollectionImpl::calcLength):
26693        (WebCore::HTMLFormCollectionImpl::item):
26694        (WebCore::HTMLFormCollectionImpl::getNamedFormItem):
26695        (WebCore::HTMLFormCollectionImpl::updateNameCache):
26696        * khtml/html/HTMLFormElementImpl.cpp:
26697        (WebCore::HTMLFormElementImpl::~HTMLFormElementImpl):
26698        (WebCore::HTMLFormElementImpl::length):
26699        (WebCore::HTMLFormElementImpl::submitClick):
26700        (WebCore::HTMLFormElementImpl::formData):
26701        (WebCore::HTMLFormElementImpl::submit):
26702        (WebCore::HTMLFormElementImpl::reset):
26703        (WebCore::insertIntoVector):
26704        (WebCore::removeFromVector):
26705        (WebCore::HTMLFormElementImpl::formElementIndex):
26706        (WebCore::HTMLFormElementImpl::registerImgElement):
26707        * khtml/html/HTMLFormElementImpl.h:
26708        * ksvg2/svg/SVGTextElementImpl.cpp:
26709        * kwq/KWQComboBox.h:
26710        * kwq/KWQListBox.h:
26711        * kwq/KWQPtrVector.h: Removed.
26712        * kwq/KWQRenderTreeDebug.cpp:
26713        (writeLayers):
26714        * kwq/KWQValueVector.h: Removed.
26715        * kwq/KWQVectorImpl.cpp: Removed.
26716        * kwq/KWQVectorImpl.h: Removed.
26717        * loader/loader.cpp:
26718        (WebCore::Loader::cancelRequests):
26719        * rendering/render_layer.cpp:
26720        (WebCore::RenderLayer::paintLayer):
26721        (WebCore::RenderLayer::hitTestLayer):
26722        (WebCore::compareZIndex):
26723        (WebCore::RenderLayer::updateZOrderLists):
26724        (WebCore::RenderLayer::collectLayers):
26725        * rendering/render_layer.h:
26726        (khtml::RenderLayer::posZOrderList):
26727        (khtml::RenderLayer::negZOrderList):
26728
267292006-01-29  Mitz Pettel  <opendarwin.org@mitzpettel.com>
26730
26731        Test: fast/table/border-collapsing/rtl-border-collapsing.html
26732
26733        Reviewed by Darin.
26734
26735        - fix http://bugs.webkit.org/show_bug.cgi?id=6888
26736          Collapsed borders appear on the wrong side or on the wrong cell in RTL tables
26737
26738        * rendering/RenderTable.cpp:
26739        (WebCore::RenderTable::cellBefore): Renamed cellLeft to this.
26740        (WebCore::RenderTable::cellAfter): Renamed cellRight to this.
26741        * rendering/RenderTable.h:
26742        * rendering/RenderTableCell.cpp:
26743        (WebCore::RenderTableCell::collapsedLeftBorder): Added the RTL case.
26744        (WebCore::RenderTableCell::collapsedRightBorder): Ditto.
26745        (WebCore::RenderTableCell::borderLeft):
26746        (WebCore::RenderTableCell::borderRight):
26747        (WebCore::RenderTableCell::collectBorders):
26748        (WebCore::RenderTableCell::paintCollapsedBorder):
26749        * rendering/RenderTableCell.h:
26750
267512006-01-29  Darin Adler  <darin@apple.com>
26752
26753        Reviewed by Maciej.
26754
26755        - fix http://bugs.webkit.org/show_bug.cgi?id=6550
26756          REGRESSION: window.open('myurl', '_self') fails to load myurl in current window
26757
26758        Tests:
26759        * fast/dom/Window/window-open-parent-no-parent.html: Added.
26760        * fast/dom/Window/window-open-parent.html: Added.
26761        * fast/dom/Window/window-open-self.html: Added.
26762        * fast/dom/Window/window-open-top.html: Added.
26763
26764        * khtml/ecma/kjs_window.cpp: (KJS::WindowFunc::callAsFunction):
26765        Fix check for special frame names. These special frame names are supposed
26766        to always be unaffected by pop-up blocking. But the code instead was
26767        saying that the special frame names are always blocked. Oops!
26768
267692006-01-29  Darin Adler  <darin@apple.com>
26770
26771        Suggested by Alexey.
26772
26773        - fixed something Alexey noticed in the new exception names
26774
26775        Test: fast/dom/Range/range-exceptions.html
26776
26777        * khtml/ecma/kjs_binding.cpp: Added 0 to fix an off-by-one error for the
26778        names of the two DOM range exceptions.
26779
267802006-01-29  David Harrison  <harrison@apple.com>
26781
26782        Reviewed by John.
26783
26784        Fix two problems with editing around empty list items:
26785        1) Arrowing up or down to an empty list item skipped the list item
26786        2) Deleting the content of a list item made it so you could never get the cursor inside the empty item
26787
26788        Added tests:
26789        * selection/move-by-line-002.html
26790        * deleting/delete-listitem-002.html
26791
26792        * khtml/editing/composite_edit_command.cpp:
26793        (WebCore::CompositeEditCommand::addBlockPlaceholderIfNeeded):
26794        - special check for empty list item because list marker assures non-zero height()
26795
26796        * khtml/xml/dom_position.cpp:
26797        (DOM::Position::inRenderedContent):
26798        - fix check wrt BRs because text box is not required
26799
26800        * rendering/bidi.cpp:
26801        (khtml::RenderBlock::constructLine):
26802        - make sure that br by itself in a list item gets a text-style box
26803
26804        (khtml::RenderBlock::findNextLineBreak):
26805        - make sure that br by itself in a list item gets a box at all
26806
268072006-01-29  Eric Seidel  <eseidel@apple.com>
26808
26809        Reviewed by hyatt & darin.
26810
26811        There are a few small, but intertwined fixes in this patch:
26812
26813        Remaining fixes for SVGTetris:
26814        http://bugs.webkit.org/show_bug.cgi?id=6889
26815
26816        Testing blocked by: http://bugs.webkit.org/show_bug.cgi?id=6905
26817
26818        Fix for CDF support:
26819        http://bugs.webkit.org/show_bug.cgi?id=6025
26820
26821        Updated test: svg/custom/simpleCDF.xml
26822
26823        Fix for filter updating:
26824        http://bugs.webkit.org/show_bug.cgi?id=6849
26825
26826        Testing blocked by: http://bugs.webkit.org/show_bug.cgi?id=6904
26827
26828        Also, as a side effect of 6849, fixed double-apply of filters, improving:
26829        http://bugs.webkit.org/show_bug.cgi?id=6713
26830
26831        Results updated for most tests, pixel results improved for filter tests.
26832
26833        * kcanvas/KCanvasFilters.cpp:
26834        (KCanvasFilter::filterBBoxForItemBBox): moved into baseclass
26835        * kcanvas/KCanvasFilters.h:
26836        * kcanvas/RenderSVGImage.cpp:
26837        (RenderSVGImage::paint): use relativeBBox
26838        (RenderSVGImage::relativeBBox): added
26839        (RenderSVGImage::imageChanged): added
26840        (RenderSVGImage::getAbsoluteRepaintRect): fixed
26841        * kcanvas/RenderSVGImage.h:
26842        (KSVG::RenderSVGImage::imageChanged): added.
26843        * kcanvas/device/quartz/KCanvasFilterQuartz.h:
26844        * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
26845        (KCanvasFilterQuartz::applyFilter): use new baseclass method
26846        (KCanvasFEFloodQuartz::getCIFilter): fixed.
26847        * kcanvas/device/quartz/KCanvasItemQuartz.h:
26848        * kcanvas/device/quartz/KCanvasItemQuartz.mm:
26849        (KCanvasItemQuartz::layout): update width/height
26850        (KCanvasItemQuartz::getAbsoluteRepaintRect): fixed.
26851        (KCanvasItemQuartz::requiresLayer): moved to .cpp
26852        (KCanvasItemQuartz::lineHeight): added.
26853        (KCanvasItemQuartz::baselinePosition): added.
26854        * kcanvas/device/quartz/KCanvasResourcesQuartz.h:
26855        * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
26856        (KCanvasContainerQuartz::canHaveChildren): moved to .cpp
26857        (KCanvasContainerQuartz::requiresLayer): moved to .cpp
26858        (KCanvasContainerQuartz::lineHeight): added.
26859        (KCanvasContainerQuartz::baselinePosition): added.
26860        (KCanvasContainerQuartz::paint): fixed.
26861        (KCanvasContainerQuartz::viewportTransform): fixed.
26862        (KCanvasContainerQuartz::getAbsoluteRepaintRect): fixed.
26863        (KCanvasContainerQuartz::absoluteTransform): fixed.
26864        * rendering/render_object.cpp:
26865        (WebCore::RenderObject::absoluteTransform): fixed apply order.
26866
268672006-01-29  Eric Seidel  <eseidel@apple.com>
26868
26869        Reviewed by hyatt.
26870
26871        First set of fixes for SVG Tetris:
26872        http://bugs.webkit.org/show_bug.cgi?id=6889
26873
26874        Tests:
26875        * svg/custom/viewport-update.svg
26876        Key press test not yet possible:
26877        http://bugs.webkit.org/show_bug.cgi?id=6906
26878
26879        * bridge/mac/MacFrame.mm:
26880        (MacFrame::keyEvent): pass key events to things other than HTML
26881        * ksvg2/svg/SVGSVGElementImpl.cpp:
26882        (WebCore::SVGSVGElementImpl::parseMappedAttribute): update viewport
26883
268842006-01-29  Eric Seidel  <eseidel@apple.com>
26885
26886        Reviewed by mjs.
26887
26888        Fix SVG layout tests crash due to Vector change.
26889
26890        * kcanvas/device/KRenderingDevice.cpp:
26891        (KRenderingDevice::currentContext): check isEmpty, return 0
26892
268932006-01-28  Eric Seidel  <eseidel@apple.com>
26894
26895        Reviewed by mjs.
26896
26897        Remove bogus IntRect operator.
26898
26899        * platform/FloatRect.h:
26900
269012006-01-28  David Hyatt  <hyatt@apple.com>
26902
26903        Cleanup of RenderImage.  Eliminate unneeded members and methods.
26904
26905        Reviewed by darin
26906
26907        * bridge/mac/WebCoreFrameBridge.mm:
26908        (-[WebCoreFrameBridge elementAtPoint:]):
26909        * khtml/ecma/kjs_html.cpp:
26910        (KJS::KJS::Context2DFunction::callAsFunction):
26911        (KJS::drawPattern):
26912        * khtml/html/HTMLInputElementImpl.cpp:
26913        (WebCore::HTMLInputElementImpl::attach):
26914        * khtml/html/html_imageimpl.cpp:
26915        (WebCore::HTMLImageLoader::notifyFinished):
26916        (WebCore::HTMLImageElementImpl::attach):
26917        * khtml/html/html_imageimpl.h:
26918        (WebCore::HTMLImageElementImpl::compositeOperator):
26919        * khtml/html/html_objectimpl.cpp:
26920        (WebCore::HTMLObjectElementImpl::attach):
26921        * ksvg2/svg/SVGImageElementImpl.cpp:
26922        (SVGImageElementImpl::attach):
26923        * kwq/KWQPainter.h:
26924        * kwq/KWQPainter.mm:
26925        (WebCore::QPainter::drawImageAtPoint):
26926        (WebCore::QPainter::drawImageInRect):
26927        (WebCore::QPainter::drawImage):
26928        (WebCore::QPainter::drawFloatImage):
26929        (WebCore::QPainter::drawTiledImage):
26930        (WebCore::QPainter::drawScaledAndTiledImage):
26931        * kwq/WebCoreImageRenderer.h:
26932        * loader/CachedImage.cpp:
26933        (WebCore::CachedImage::ref):
26934        (WebCore::CachedImage::notifyObservers):
26935        (WebCore::CachedImage::data):
26936        (WebCore::CachedImage::error):
26937        * loader/CachedImage.h:
26938        * loader/CachedObjectClient.h:
26939        (WebCore::CachedObjectClient::imageChanged):
26940        * platform/Image.h:
26941        (WebCore::Image::):
26942        * platform/mac/Image.mm:
26943        (WebCore::Image::Image):
26944        (WebCore::Image::resetAnimation):
26945        (WebCore::Image::operator=):
26946        (WebCore::Image::stopAnimations):
26947        (WebCore::):
26948        (WebCore::Image::compositeOperatorFromString):
26949        * rendering/render_box.cpp:
26950        (WebCore::RenderBox::paintBackgroundExtended):
26951        * rendering/render_canvasimage.cpp:
26952        (WebCore::RenderCanvasImage::paint):
26953        * rendering/render_image.cpp:
26954        (WebCore::RenderImage::RenderImage):
26955        (WebCore::RenderImage::~RenderImage):
26956        (WebCore::RenderImage::setContentObject):
26957        (WebCore::RenderImage::setCachedImage):
26958        (WebCore::RenderImage::imageChanged):
26959        (WebCore::RenderImage::resetAnimation):
26960        (WebCore::RenderImage::paint):
26961        (WebCore::RenderImage::layout):
26962        (WebCore::RenderImage::updateAltText):
26963        (WebCore::RenderImage::calcReplacedWidth):
26964        (WebCore::RenderImage::calcReplacedHeight):
26965        * rendering/render_image.h:
26966        (WebCore::RenderImage::cachedImage):
26967        (WebCore::RenderImage::image):
26968        (WebCore::RenderImage::errorOccurred):
26969        * rendering/render_list.cpp:
26970        (RenderListMarker::paint):
26971        (RenderListMarker::imageChanged):
26972        * rendering/render_list.h:
26973        * rendering/render_object.cpp:
26974        (WebCore::RenderObject::paintBorderImage):
26975        (WebCore::RenderObject::setImage):
26976        * rendering/render_object.h:
26977
269782006-01-28  Darin Adler  <darin@apple.com>
26979
26980        Reviewed by Eric.
26981
26982        - fix http://bugs.webkit.org/show_bug.cgi?id=6711
26983          crash if an event is dispatched to a listener that uses handleEvent
26984
26985        Test: fast/events/dispatch-to-handle-event.html
26986
26987        * khtml/ecma/kjs_events.cpp: (KJS::JSAbstractEventListener::handleEvent):
26988        Remove boolean that is always false, and correct the one place that was
26989        checking it to check the correct pointer instead.
26990
269912006-01-28  Maciej Stachowiak  <mjs@apple.com>
26992
26993        Reviewed by Darin.
26994
26995        - remove QPtrStack, replace with Vector or traverseNextNode as appropriate
26996
26997        * WebCore.xcodeproj/project.pbxproj:
26998        * kcanvas/device/KRenderingDevice.cpp:
26999        (KRenderingDevice::currentContext):
27000        (KRenderingDevice::popContext):
27001        (KRenderingDevice::pushContext):
27002        * kcanvas/device/KRenderingDevice.h:
27003        * khtml/html/html_documentimpl.cpp:
27004        * khtml/xml/DocumentImpl.cpp:
27005        * khtml/xml/xml_tokenizer.cpp:
27006        (WebCore::XMLTokenizer::XMLTokenizer):
27007        * kwq/KWQAccObject.mm:
27008        (-[KWQAccObject addChildrenToArray:]):
27009        * kwq/KWQPainter.mm:
27010        (WebCore::QPainter::save):
27011        (WebCore::QPainter::restore):
27012        * kwq/KWQPtrStack.h: Removed.
27013        * ForwardingHeaders/qptrstack.h: Removed.
27014        * ForwardingHeaders/q3ptrstack.h: Removed.
27015
270162006-01-28  Maciej Stachowiak  <mjs@apple.com>
27017
27018        - added missing forwarding header to fix build.
27019
27020        * ForwardingHeaders/kxmlcore/Vector.h: Added.
27021
270222006-01-28  Darin Adler  <darin@apple.com>
27023
27024        * khtml/ecma/kjs_binding.cpp: (KJS::setDOMException): Removed extra parameter
27025        to fix the build.
27026
270272006-01-28  Maciej Stachowiak  <mjs@apple.com>
27028
27029        Reviewed by Darin.
27030
27031        - converted KWQKURL to use Vector
27032        http://bugs.webkit.org/show_bug.cgi?id=6900
27033
27034        Use Vector in place of Array, and in place of the custom stack
27035        buffers with overflow.
27036
27037        * kwq/KWQKURL.mm:
27038        (KURL::KURL):
27039        (KURL::decode_string):
27040        (KURL::parse):
27041        (KURL::encode_string):
27042        (findHostnamesInMailToURL):
27043        (encodeHostnames):
27044
270452006-01-28  Darin Adler  <darin@apple.com>
27046
27047        Reviewed by Maciej.
27048
27049        - http://bugs.webkit.org/show_bug.cgi?id=6895
27050          include exception names in JavaScript form of DOM exception
27051
27052        * khtml/ecma/kjs_binding.cpp: (KJS::setDOMException): Include the name of the
27053        exception in the error message.
27054
270552006-01-28  Mitz Pettel  <opendarwin.org@mitzpettel.com>
27056
27057        Test: fast/table/add-before-anonymous-child.html
27058
27059        Reviewed by Darin.
27060
27061        - fix http://bugs.webkit.org/show_bug.cgi?id=5868
27062          Crash on HP.com with ToT and Safari 2.0.2 in khtml::RenderContainer::detach()
27063
27064        * rendering/RenderTableRow.cpp:
27065        (WebCore::RenderTableRow::addChild): If beforeChild is inside an anonymous
27066        cell, insert into the cell.
27067        * rendering/RenderTableSection.cpp:
27068        (WebCore::RenderTableSection::addChild): Changed comment.
27069
270702006-01-28  David Hyatt  <hyatt@apple.com>
27071
27072        Eliminate the mask() method on Image.  It's unused.
27073
27074        * platform/Image.h:
27075        * platform/mac/Image.mm:
27076
270772006-01-28  David Hyatt  <hyatt@apple.com>
27078
27079        Clean up the Image class.  Eliminate the MIME type member variable.
27080        Eliminate an unused constructor.  Fix the constructor to take
27081        a QString rather than an NSString so that it's portable.  Rename
27082        the receivedData method to decode.  Move canRenderImageType into
27083        the Image class as a static method.
27084
27085        Reviewed by mjs
27086
27087        * khtml/html/html_objectimpl.cpp:
27088        (WebCore::HTMLObjectElementImpl::isImageType):
27089        * kwq/KWQLoader.h:
27090        * kwq/KWQLoader.mm:
27091        (KWQResponseMIMEType):
27092        * loader/CachedImage.cpp:
27093        (WebCore::CachedImage::data):
27094        * platform/Image.h:
27095        * platform/mac/Image.mm:
27096        (WebCore::Image::supportsType):
27097        (WebCore::Image::Image):
27098        (WebCore::Image::~Image):
27099        (WebCore::Image::decode):
27100        (WebCore::Image::operator=):
27101
271022006-01-28  Alexander Kellett  <lypanov@kde.org>
27103
27104        Reviewed by eseidel.
27105
27106        SourceAlpha does not display until window is redrawn (resized)
27107        http://bugs.webkit.org/show_bug.cgi?id=6375
27108
27109        Test: svg/custom/filter-source-alpha.svg
27110
27111        * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
27112        (KCanvasFilterQuartz::inputImage):
27113
271142006-01-28  David Hyatt  <hyatt@apple.com>
27115
27116        Fix CachedImage.h/.cpp up.  Lots of cleanup.  Eliminated
27117        unused code and cleaned up method and member names.
27118
27119        Reviewed by darin
27120
27121        * WebCore.xcodeproj/project.pbxproj:
27122        * khtml/html/html_imageimpl.cpp:
27123        (WebCore::HTMLImageElementImpl::width):
27124        (WebCore::HTMLImageElementImpl::height):
27125        * loader/CachedImage.cpp:
27126        (WebCore::CachedImage::CachedImage):
27127        (WebCore::CachedImage::ref):
27128        (WebCore::CachedImage::deref):
27129        (WebCore::CachedImage::image):
27130        (WebCore::CachedImage::imageSize):
27131        (WebCore::CachedImage::decodedRect):
27132        (WebCore::CachedImage::notifyObservers):
27133        (WebCore::CachedImage::clear):
27134        (WebCore::CachedImage::data):
27135        (WebCore::CachedImage::error):
27136        (WebCore::CachedImage::checkNotify):
27137        * loader/CachedImage.h:
27138        (WebCore::CachedImage::isDecoded):
27139        (WebCore::CachedImage::isErrorImage):
27140        (WebCore::CachedImage::schedule):
27141        (WebCore::CachedImage::isImage):
27142        * loader/CachedImageCallback.cpp: Removed.
27143        * loader/CachedImageCallback.h: Removed.
27144        * loader/loader.cpp:
27145        (WebCore::Loader::servePendingRequests):
27146        (WebCore::Loader::slotFinished):
27147        * platform/Image.h:
27148        * platform/mac/Image.mm:
27149        (WebCore::Image::receivedData):
27150        * rendering/render_box.cpp:
27151        (WebCore::RenderBox::paintBackgroundExtended):
27152        * rendering/render_image.cpp:
27153        (WebCore::RenderImage::setImage):
27154        (WebCore::RenderImage::paint):
27155        * rendering/render_line.cpp:
27156        (WebCore::InlineFlowBox::paintBackground):
27157        (WebCore::InlineFlowBox::paintBackgroundAndBorder):
27158        * rendering/render_list.cpp:
27159        (RenderListMarker::setImage):
27160        * rendering/render_object.cpp:
27161        (WebCore::RenderObject::mustRepaintBackgroundOrBorder):
27162        (WebCore::RenderObject::paintBorder):
27163        (WebCore::RenderObject::setImage):
27164
271652006-01-27  Maciej Stachowiak  <mjs@apple.com>
27166
27167        Reviewed by Geoff.
27168
27169        - GC after destroying the very last frame to avoid node leak false positives
27170        http://bugs.webkit.org/show_bug.cgi?id=6884
27171
27172        * ForwardingHeaders/JSLock.h: added
27173        * page/Page.cpp:
27174        (Page::~Page): In debug mode, when destroying the last page,
27175        0 out m_mainFrame to destroy the very last frame and then garbage collect,
27176        so a GC happens at a time when the stack won't have references into the JS
27177        heap for the conservative GC to catch.
27178
271792006-01-27  Maciej Stachowiak  <mjs@apple.com>
27180
27181        Reviewed by Eric.
27182
27183        - remove nearly all the substance of ObjectContents and put it on Frame
27184        http://bugs.webkit.org/show_bug.cgi?id=6885
27185
27186        * ForwardingHeaders/kjs/JSLock.h: Added.
27187        * bridge/mac/MacFrame.mm:
27188        (Plugin::Plugin): renamed from KWQPluginPart, make it able to store a view.
27189        (Plugin::view): And return the QWidget* view.
27190        (MacFrame::createPart): Use Plugin instead of KWQPluginPart, avoid setWidget.
27191        (MacFrame::setView): Don't use m_url directly so much, and use through d-> if
27192        needed.
27193        (MacFrame::userAgent): ditto
27194        (MacFrame::openURLFromPageCache): ditto
27195        * kwq/KWQObject.cpp:
27196        (QObject::inherits): Removed case for ObjectContents, which is not long for this
27197        world.
27198        * kwq/KWQObject.h:
27199        * page/Frame.cpp:
27200        (Frame::init): Don't pass parent() to FramePrivate, we can't possibly have one
27201        yet.
27202        (Frame::restoreURL): d->m_url, not m_url
27203        (Frame::didOpenURL): ditto
27204        (Frame::executeScript): ditto
27205        (Frame::receivedFirstData): ditto
27206        (Frame::begin): ditto
27207        (Frame::gotoAnchor): ditto
27208        (Frame::requestObject): ditto, plus only use Frame methods when we really have a Frame.
27209        (Frame::processObjectRequest): ditto, also get view() not widget().
27210        (Frame::childFrame): remove excess spaces and pointless assert.
27211        (Frame::parentFrame): just call parent() (could probably remove this).
27212        (Frame::reparseConfiguration): d->m_url not m_url
27213        (Frame::canCachePage): ditto
27214        (Frame::updatePolicyBaseURL): ditto
27215        (Frame::scrollToAnchor): ditto
27216        (Frame::setName): set in FramePrivate
27217        (Frame::name): get from FramePrivate
27218        (Frame::setParent): similarly
27219        (Frame::parent): similarly
27220        (Frame::url): similarly
27221        * page/Frame.h:
27222        * page/FramePrivate.h:
27223        (FramePrivate::FramePrivate): Added m_parent, m_name and m_url.
27224        * page/FrameView.cpp:
27225        (FrameView::viewportMousePressEvent): Call frame directly instead of
27226        sending through QApplication.
27227        (FrameView::viewportMouseDoubleClickEvent): ditto
27228        (FrameView::viewportMouseMoveEvent): ditto
27229        (FrameView::viewportMouseReleaseEvent): ditto
27230        * page/ObjectContents.h:
27231        (ObjectContents::ObjectContents): Removed url, setParent, parent, name,
27232        setName, openURL, closeURL, widget, setWidget, event and customEvent methods,
27233        and corresponding fields. Add pure virtual view() method.
27234
272352006-01-27  Darin Adler  <darin@apple.com>
27236
27237        Reviewed by Adele.
27238
27239        - fix http://bugs.webkit.org/show_bug.cgi?id=6075
27240          REGRESSION: event.relatedTarget not working, breaks menus at www.ati.com
27241
27242        Test: fast/events/related-target.html
27243
27244        * khtml/xml/NodeImpl.h:
27245        * khtml/xml/NodeImpl.cpp: (WebCore::NodeImpl::dispatchMouseEvent): Added a
27246        relatedTarget parameter to a couple overloads.
27247
27248        * page/FrameView.cpp:
27249        (FrameView::viewportMouseMoveEvent): Moved code to set prevMouseX/Y out of here
27250        and into dispatchMouseEvent, because it now handles mouseout and mouseover events,
27251        and that's what these globals are used for. This fixes DumpRenderTree to work
27252        properly with mouseout and mouseover (because it delivers only mouse down and up,
27253        no mouse move events).
27254        (FrameView::dispatchMouseEvent): Passed in the "other" node as the related target
27255        for mouseout and mouseover events. Also set prevMouseX/Y.
27256
272572006-01-27  David Hyatt  <hyatt@apple.com>
27258
27259        Fix for 6867.  Rename QPixmap to Image and move it to platform/.
27260        Eliminate QPaintDevice and QPaintDeviceMetrics completely, since
27261        they aren't necessary.
27262
27263        Reviewed by anders
27264
27265        * ForwardingHeaders/q3paintdevicemetrics.h: Removed.
27266        * ForwardingHeaders/qpaintdevice.h: Removed.
27267        * ForwardingHeaders/qpaintdevicemetrics.h: Removed.
27268        * ForwardingHeaders/qpixmap.h: Removed.
27269        * WebCore.xcodeproj/project.pbxproj:
27270        * bridge/mac/MacFrame.mm:
27271        (MacFrame::fileWrapperForElement):
27272        * bridge/mac/WebCoreFrameBridge.mm:
27273        (-[WebCoreFrameBridge reapplyStylesForDeviceType:]):
27274        (nowPrinting):
27275        (-[WebCoreFrameBridge elementAtPoint:]):
27276        * css/css_valueimpl.cpp:
27277        (WebCore::CSSPrimitiveValueImpl::computeLength):
27278        (WebCore::CSSPrimitiveValueImpl::computeLengthFloat):
27279        * css/css_valueimpl.h:
27280        * css/csshelper.cpp:
27281        * css/cssstyleselector.cpp:
27282        (WebCore::CSSStyleSelector::CSSStyleSelector):
27283        (WebCore::CSSStyleSelector::init):
27284        (WebCore::CSSStyleSelector::initForStyleResolve):
27285        (WebCore::CSSStyleSelector::styleForElement):
27286        (WebCore::CSSStyleSelector::pseudoStyleForElement):
27287        (WebCore::convertToLength):
27288        (WebCore::CSSStyleSelector::applyProperty):
27289        (WebCore::CSSStyleSelector::mapBackgroundXPosition):
27290        (WebCore::CSSStyleSelector::mapBackgroundYPosition):
27291        * css/cssstyleselector.h:
27292        * kcanvas/KCanvasFilters.h:
27293        (KCanvasFEImage::image):
27294        (KCanvasFEImage::setImage):
27295        * kcanvas/KCanvasImage.h:
27296        * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
27297        (KCanvasFEImageQuartz::getCIFilter):
27298        * kcanvas/device/quartz/KCanvasResourcesQuartz.h:
27299        (KCanvasImageQuartz::init):
27300        * khtml/ecma/kjs_events.cpp:
27301        (KJS::ClipboardProtoFunc::callAsFunction):
27302        * khtml/ecma/kjs_html.cpp:
27303        (KJS::KJS::Context2DFunction::callAsFunction):
27304        (KJS::drawPattern):
27305        (KJS::_rh):
27306        (KJS::ImagePattern::createPattern):
27307        * khtml/ecma/kjs_html.h:
27308        (KJS::ImagePattern::image):
27309        * khtml/ecma/kjs_window.cpp:
27310        (KJS::Screen::getValueProperty):
27311        * khtml/editing/SelectionController.h:
27312        * khtml/html/html_imageimpl.h:
27313        (WebCore::HTMLImageElementImpl::image):
27314        * khtml/misc/helper.h:
27315        * khtml/xml/DocumentImpl.cpp:
27316        (WebCore::DocumentImpl::DocumentImpl):
27317        (WebCore::DocumentImpl::~DocumentImpl):
27318        (WebCore::DocumentImpl::recalcStyle):
27319        (WebCore::DocumentImpl::attach):
27320        (WebCore::DocumentImpl::detach):
27321        * khtml/xml/DocumentImpl.h:
27322        (WebCore::DocumentImpl::printing):
27323        (WebCore::DocumentImpl::setPrinting):
27324        * khtml/xml/dom2_eventsimpl.h:
27325        * ksvg2/css/SVGCSSStyleSelector.cpp:
27326        * ksvg2/misc/KCanvasRenderingStyle.cpp:
27327        (WebCore::KSVGPainterFactory::cssPrimitiveToLength):
27328        (WebCore::KSVGPainterFactory::strokePainter):
27329        * ksvg2/svg/SVGCursorElementImpl.cpp:
27330        (SVGCursorElementImpl::notifyFinished):
27331        * ksvg2/svg/SVGCursorElementImpl.h:
27332        (KSVG::SVGCursorElementImpl::image):
27333        * ksvg2/svg/SVGDocumentImpl.cpp:
27334        (SVGDocumentImpl::SVGDocumentImpl):
27335        * ksvg2/svg/SVGFEImageElementImpl.cpp:
27336        (SVGFEImageElementImpl::notifyFinished):
27337        * ksvg2/svg/SVGMaskElementImpl.cpp:
27338        (KSVG::SVGMaskElementImpl::drawMaskerContent):
27339        * ksvg2/svg/SVGSVGElementImpl.cpp:
27340        * kwq/KWQApplication.h:
27341        * kwq/KWQApplication.mm:
27342        (QDesktopWidget::screenDepth):
27343        * kwq/KWQClipboard.h:
27344        * kwq/KWQClipboard.mm:
27345        (WebCore::KWQClipboard::dragImage):
27346        (WebCore::KWQClipboard::setDragImage):
27347        (WebCore::KWQClipboard::setDragImageElement):
27348        * kwq/KWQComboBox.mm:
27349        * kwq/KWQCursor.h:
27350        * kwq/KWQCursor.mm:
27351        (WebCore::createCustomCursor):
27352        (WebCore::QCursor::QCursor):
27353        * kwq/KWQKPartsEvent.h:
27354        * kwq/KWQObject.h:
27355        * kwq/KWQPaintDevice.h: Removed.
27356        * kwq/KWQPaintDeviceMetrics.h: Removed.
27357        * kwq/KWQPaintDeviceMetrics.mm: Removed.
27358        * kwq/KWQPainter.h:
27359        (WebCore::QPainter::printing):
27360        * kwq/KWQPainter.mm:
27361        (WebCore::QPainter::drawImage):
27362        (WebCore::QPainter::drawFloatImage):
27363        (WebCore::QPainter::drawTiledImage):
27364        (WebCore::QPainter::drawScaledAndTiledImage):
27365        * kwq/KWQPixmap.h: Removed.
27366        * kwq/KWQPixmap.mm: Removed.
27367        * kwq/KWQPrinter.h:
27368        (QPrinter::QPrinter):
27369        * kwq/KWQWidget.h:
27370        * loader/Cache.cpp:
27371        (khtml::Cache::init):
27372        (khtml::Cache::clear):
27373        (khtml::Cache::requestImage):
27374        (khtml::Cache::getStatistics):
27375        * loader/Cache.h:
27376        * loader/CachedImage.cpp:
27377        (WebCore::CachedImage::CachedImage):
27378        (WebCore::CachedImage::ref):
27379        (WebCore::CachedImage::tiled_image):
27380        (WebCore::CachedImage::image):
27381        (WebCore::CachedImage::image_size):
27382        (WebCore::CachedImage::do_notify):
27383        (WebCore::CachedImage::data):
27384        (WebCore::CachedImage::error):
27385        * loader/CachedImage.h:
27386        * loader/CachedImageCallback.cpp:
27387        (WebCore::CachedImageCallback::notifyUpdate):
27388        (WebCore::CachedImageCallback::notifyFinished):
27389        (WebCore::CachedImageCallback::handleError):
27390        * loader/CachedObject.h:
27391        (WebCore::CachedObject::):
27392        * loader/CachedObjectClient.h:
27393        (WebCore::CachedObjectClient::setImage):
27394        * loader/DocLoader.cpp:
27395        (khtml::DocLoader::setAutoloadImages):
27396        (khtml::DocLoader::setShowAnimations):
27397        * loader/loader.cpp:
27398        (WebCore::Loader::servePendingRequests):
27399        (WebCore::Loader::slotFinished):
27400        * page/Frame.cpp:
27401        (Frame::paint):
27402        * page/Frame.h:
27403        * page/FrameView.cpp:
27404        (selectCursor):
27405        * page/FrameView.h:
27406        * platform/Image.h: Added.
27407        * platform/mac/Image.mm: Added.
27408        (WebCore::Image::loadResource):
27409        (WebCore::Image::Image):
27410        (WebCore::Image::~Image):
27411        (WebCore::Image::imageRef):
27412        (WebCore::Image::resetAnimation):
27413        (WebCore::Image::setAnimationRect):
27414        (-[WebImageCallback initWithCallback:WebCore::]):
27415        (WebCore::Image::shouldUseThreadedDecoding):
27416        (WebCore::Image::receivedData):
27417        (WebCore::Image::mask):
27418        (WebCore::Image::isNull):
27419        (WebCore::Image::size):
27420        (WebCore::Image::rect):
27421        (WebCore::Image::width):
27422        (WebCore::Image::height):
27423        (WebCore::Image::resize):
27424        (WebCore::Image::operator=):
27425        (WebCore::Image::increaseUseCount):
27426        (WebCore::Image::decreaseUseCount):
27427        (WebCore::Image::stopAnimations):
27428        (WebCore::Image::flushRasterCache):
27429        * rendering/InlineTextBox.cpp:
27430        (khtml::InlineTextBox::paint):
27431        * rendering/InlineTextBox.h:
27432        * rendering/RenderBlock.cpp:
27433        (WebCore::RenderBlock::paintChildren):
27434        (WebCore::RenderBlock::paintObject):
27435        * rendering/RenderText.h:
27436        * rendering/font.cpp:
27437        (khtml::Font::update):
27438        * rendering/font.h:
27439        * rendering/render_box.cpp:
27440        (WebCore::RenderBox::paintBackgroundExtended):
27441        * rendering/render_canvasimage.cpp:
27442        (WebCore::RenderCanvasImage::paint):
27443        * rendering/render_flow.cpp:
27444        (RenderFlow::paintLines):
27445        * rendering/render_image.cpp:
27446        (WebCore::RenderImage::RenderImage):
27447        (WebCore::RenderImage::~RenderImage):
27448        (WebCore::RenderImage::setContentObject):
27449        (WebCore::RenderImage::setImage):
27450        (WebCore::RenderImage::paint):
27451        (WebCore::RenderImage::layout):
27452        (WebCore::RenderImage::calcReplacedWidth):
27453        (WebCore::RenderImage::calcReplacedHeight):
27454        * rendering/render_image.h:
27455        (WebCore::RenderImage::image):
27456        (WebCore::RenderImage::getImage):
27457        * rendering/render_line.cpp:
27458        (WebCore::InlineFlowBox::paintBackground):
27459        (WebCore::InlineFlowBox::paintBackgroundAndBorder):
27460        * rendering/render_list.cpp:
27461        (RenderListItem::getAbsoluteRepaintRect):
27462        (RenderListMarker::paint):
27463        (RenderListMarker::setImage):
27464        (RenderListMarker::calcMinMaxWidth):
27465        * rendering/render_list.h:
27466        * rendering/render_object.cpp:
27467        (WebCore::RenderObject::mustRepaintBackgroundOrBorder):
27468        (WebCore::RenderObject::paintBorderImage):
27469        (WebCore::RenderObject::paintBorder):
27470        (WebCore::RenderObject::setImage):
27471        * rendering/render_object.h:
27472        * rendering/render_replaced.cpp:
27473        (WebCore::RenderWidget::paint):
27474        * rendering/render_replaced.h:
27475        * rendering/render_theme_mac.mm:
27476        (khtml::RenderThemeMac::setFontFromControlSize):
27477
274782006-01-27  Darin Adler  <darin@apple.com>
27479
27480        Reviewed by Maciej.
27481
27482        - fix another part of http://bugs.webkit.org/show_bug.cgi?id=6731
27483          REGRESSION: change event fires at load time for checked items
27484
27485        Revised test: fast/forms/radio-button-no-change-event.html
27486
27487        * khtml/html/HTMLInputElementImpl.cpp: (WebCore::HTMLInputElementImpl::setChecked):
27488        Don't send a change event for a radio button getting unchecked (matches Gecko at least).
27489
274902006-01-26  Eric Seidel  <eseidel@apple.com>
27491
27492        Reviewed by mjs.
27493
27494        Leak fixes in SVG code.
27495        http://bugs.webkit.org/show_bug.cgi?id=6588
27496
27497        * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
27498        (teardownShadingWithStyle): delete image and context when through.
27499        (KRenderingPaintServerGradientQuartz::KRenderingPaintServerGradientQuartz): zero out cached mask
27500        (KRenderingPaintServerGradientQuartz::~KRenderingPaintServerGradientQuartz): destroy cached mask image.
27501        (KRenderingPaintServerLinearGradientQuartz::setup): delete mask before making new
27502        (KRenderingPaintServerRadialGradientQuartz::setup): delete mask before making new
27503        * ksvg2/misc/KCanvasRenderingStyle.cpp:
27504        (WebCore::sharedSolidPaintServer): forgot "static" keyword
27505        * ksvg2/svg/SVGPolyElementImpl.cpp:
27506        (SVGPolyElementImpl::notifyAttributeChange): use RefPtr
27507
275082006-01-26  Maciej Stachowiak  <mjs@apple.com>
27509
27510        Reviewed by Eric.
27511
27512        - various leaks on "fast" LayoutTests
27513
27514        http://bugs.webkit.org/show_bug.cgi?id=6819
27515        http://bugs.webkit.org/show_bug.cgi?id=6823
27516        http://bugs.webkit.org/show_bug.cgi?id=6824
27517
27518        It turns out these all had the same cause.
27519
27520        * page/Frame.cpp:
27521        (Frame::clear): If we have a document, make sure to cancel parsing,
27522        in case it has a tokenizer and parser that are keeping it alive. Use
27523        cancelParsing to avoid possibly accidentally firing the onload handler.
27524        * khtml/xml/DocumentImpl.cpp:
27525        (WebCore::DocumentImpl::cancelParsing): Factored out of implicitOpen.
27526        (WebCore::DocumentImpl::implicitOpen): Call cancelParsing now.
27527        * khtml/xml/DocumentImpl.h:
27528
275292006-01-26  Beth Dakin  <bdakin@apple.com>
27530
27531        Reviewed by Hyatt.
27532
27533        Fix for <rdar://problem/4256504> khtml::RenderBlock::skipWhitespace
27534        crashes upon interaction with radio buttons.
27535
27536        The old code held an assumption that positioned elements would
27537        always have line boxes. This is not necessarily the case, so this
27538        patch makes sure that the lines are dirtied appropriately.
27539
27540        * rendering/RenderContainer.cpp:
27541        (WebCore::RenderContainer::removeChildNode): Call
27542        dirtyLinesFromChangedChild() if oldChild is positioned and has
27543        inline children.
27544        (WebCore::RenderContainer::insertChildNode): Only check the the
27545        child is not floating; it can be positioned.
27546
275472006-01-26  Mitz Pettel  <opendarwin.org@mitzpettel.com>
27548
27549        Test: fast/dom/HTMLImageElement/image-without-renderer-width.html
27550
27551        Reviewed and landed by Anders.
27552
27553        - fix http://bugs.webkit.org/show_bug.cgi?id=6841
27554          REGRESSION: WebKit (Thursday, January 26, 2006) crash in HTMLImageElementImpl::width()
27555
27556        * khtml/html/html_imageimpl.cpp:
27557        (WebCore::HTMLImageElementImpl::width): Return the image's dimensions only if it isn't
27558        null, but even if it hasn't finished loading.
27559        (WebCore::HTMLImageElementImpl::height): Ditto.
27560
275612006-01-26  Adele Peterson  <adele@apple.com>
27562
27563        Reviewed by Hyatt and Vicki.
27564
27565        Fix for broken layout tests.
27566
27567        * khtml/html/HTMLInputElementImpl.cpp: (WebCore::HTMLInputElementImpl::focus):
27568
275692006-01-26  Anders Carlsson  <andersca@mac.com>
27570
27571        Reviewed by Eric.
27572
27573        - http://bugs.webkit.org/show_bug.cgi?id=6845
27574        Autogenerate more classes
27575
27576        This makes DocumentType and DOMImplementation autogenerated.
27577
27578        * JSCore.cpp: Added.
27579
27580        * WebCore.xcodeproj/project.pbxproj:
27581        Add JSCore.cpp
27582
27583        * bindings/scripts/CodeGeneratorJS.pm:
27584        Add attributes for controlling how null values should be converted
27585        to and from DOMString objects.
27586
27587        * bindings/scripts/IDLParser.pm:
27588        * bindings/scripts/IDLStructure.pm:
27589        Remove the extended attributes hash on attribute objects and
27590        use the one on the signature.
27591
27592        * khtml/ecma/kjs_dom.cpp:
27593        (KJS::DOMNodeProtoFunc::callAsFunction):
27594        For isSupported, just convert the version argument to an empty string if
27595        null is passed in. The reason for this change is that the autogenerated
27596        binding for DOMImplementation::hasFeature does the same thing. This also makes
27597        us behave like Mozilla and Opera.
27598
27599        (KJS::toDocumentType):
27600        (KJS::getDOMNode):
27601        Use JSDocumentType.
27602
27603        (KJS::getDOMDOMImplementation):
27604        Use JSDOMImplementation.
27605
27606        * khtml/ecma/kjs_dom.h:
27607        Remove DOMDOMImplementation and DOMDocumentType
27608
27609        * khtml/xml/DOMImplementation.idl: Added.
27610        * khtml/xml/DocumentType.idl: Added.
27611
276122006-01-26  Alexander Kellett  <lypanov@kde.org>
27613
27614        Reviewed by eseidel.  Landed by eseidel.
27615
27616        <text> elements with a scale on a parent <g> breaks nodeAtPoint
27617        Fix http://bugs.webkit.org/show_bug.cgi?id=6843
27618
27619        Test: svg/custom/text-hit-test.svg
27620
27621        * kcanvas/RenderSVGText.cpp:
27622        (RenderSVGText::nodeAtPoint):
27623
276242006-01-26  Maciej Stachowiak  <mjs@apple.com>
27625
27626        Reviewed by Geoff.
27627
27628        - fixed a couple hundred node leaks on the traversal layout tests
27629        http://bugs.webkit.org/show_bug.cgi?id=6828
27630
27631        There were three basic problems here, any one of which was enough
27632        to cause the leak.
27633
27634        1) If the filter function for a NodeFilter, NodeIterator or TreeWalker
27635        had that object in scope, it would cause a GC reference cycle. I fixed
27636        this by making these JS functions get marked by the corresponding JS object,
27637        as for XMLHttpRequest.
27638
27639        2) The TraversalImpl class that's a base class for NodeIteratorImpl and
27640        TreeWalkerImpl did not have a virtual destructor, leading the Shared
27641        template to call the base class destructor on deref.
27642
27643        3) ref/deref on the document were mismatched, I fixed all that sort of nonsense
27644        by using RefPtr instead of manual ref/deref.
27645
27646        * khtml/dom/dom2_traversal.h:
27647        (DOM::NodeFilterCondition::mark): Add no-op virtual mark method, JS subclass
27648        will do something useful here.
27649        * khtml/ecma/kjs_traversal.cpp:
27650        (KJS::DOMNodeIterator::mark): Mark the DOM-level filter.
27651        (KJS::DOMNodeFilter::mark): ditto
27652        (KJS::DOMTreeWalker::mark): ditto
27653        (KJS::JSNodeFilterCondition::JSNodeFilterCondition): reformatted.
27654        (KJS::JSNodeFilterCondition::mark): Mark the filter function.
27655        * khtml/ecma/kjs_traversal.h:
27656        * khtml/xml/dom2_traversalimpl.cpp:
27657        (DOM::NodeFilterImpl::NodeFilterImpl): diligently applied RefPtr
27658        (DOM::TraversalImpl::TraversalImpl): ditto
27659        (DOM::TraversalImpl::~TraversalImpl): ditto
27660        (DOM::NodeIteratorImpl::NodeIteratorImpl): ditto
27661        (DOM::NodeIteratorImpl::~NodeIteratorImpl): ditto
27662        (DOM::NodeIteratorImpl::setReferenceNode): ditto
27663        (DOM::TreeWalkerImpl::TreeWalkerImpl): ditto
27664        (DOM::TreeWalkerImpl::setCurrentNode): ditto
27665        * khtml/xml/dom2_traversalimpl.h:
27666        (DOM::NodeFilterImpl::mark): call mark() on the codition
27667        (DOM::TraversalImpl::root): Use .get()
27668        (DOM::TraversalImpl::filter): ditto
27669        (DOM::NodeIteratorImpl::referenceNode): ditto
27670        (DOM::NodeIteratorImpl::document): ditto
27671        (DOM::TreeWalkerImpl::currentNode): ditto
27672
276732006-01-26  Maciej Stachowiak  <mjs@apple.com>
27674
27675        Reviewed by Geoff.
27676
27677        - fixed ~40 DOM nodes leaked when running any two of the outerHTML DOM tests (actually just a false positive)
27678        http://bugs.webkit.org/show_bug.cgi?id=6822
27679
27680        * kwq/KWQPageState.mm:
27681        (-[KWQPageState clear]): Garbage collect after deleting a bunch of
27682        stuff that holds onto JS objects. This should avoid false positive leaks
27683        and is good in any case since page state deallocation is already deferred.
27684
276852006-01-26  Adele Peterson  <adele@apple.com>
27686
27687        Reviewed by Vicki.
27688
27689        - fix for <rdar://problem/4422624> REGRESSION: crash loading webmail.mac.com
27690
27691        Test added:
27692        fast/forms/input-no-renderer.html
27693
27694        * khtml/html/HTMLInputElementImpl.cpp:
27695        (WebCore::HTMLInputElementImpl::focus): Nil check for renderer.
27696
276972006-01-26  David Harrison  <harrison@apple.com>
27698
27699        Reviewed by Timothy.
27700
27701        - fix http://bugs.webkit.org/show_bug.cgi?id=6835
27702          REGRESSION: WebKit crashes when loading a script on Wikipedia
27703
27704        Test added:
27705        editing/deleting/delete-listitem-001.html
27706
27707        * rendering/render_list.cpp:
27708        (RenderListItem::setStyle):
27709        (RenderListItem::resetMarkerValue):
27710        (RenderListItem::getAbsoluteRepaintRect):
27711        (RenderListMarker::paint):
27712
277132006-01-26  Mitz Pettel  <opendarwin.org@mitzpettel.com>
27714
27715        Reviewed by Darin, landed by ap.
27716
27717        - fix http://bugs.webkit.org/show_bug.cgi?id=6388
27718          REGRESSION: Incomplete repaint when dragging the map on Google maps
27719
27720        * manual-tests/bugzilla-6388.html: Added.
27721        * rendering/render_layer.cpp:
27722        (WebCore::RenderLayer::computeRepaintRects): Cache the object's absolute position
27723        before update.
27724        (WebCore::RenderLayer::updateLayerPositions): Use the cached position to determine if
27725        the object moved. If it did, do a full repaint.
27726        * rendering/render_layer.h:
27727
277282006-01-26  Eric Seidel  <eseidel@apple.com>
27729
27730        Fixes xcode project to better notice when generated files change.
27731        Also fixes failing test cases on build slaves.
27732
27733        * WebCore.xcodeproj/project.pbxproj:
27734
277352006-01-26  Mitz Pettel  <opendarwin.org@mitzpettel.com>
27736
27737        Reviewed by Darin, committed by ap.
27738
27739        - fix http://bugs.webkit.org/show_bug.cgi?id=6278
27740          REGRESSION: Incomplete repaint when table cell width changes during layout
27741
27742        * manual-tests/bugzilla-6278.html: Added.
27743        * rendering/RenderTableSection.cpp:
27744        (WebCore::RenderTableSection::setCellWidths): If during layout a cell changes from
27745        not needing layout to needing layout, call repaintObjectsBeforeLayout on it.
27746
277472006-01-26  Eric Seidel  <eseidel@apple.com>
27748
27749        Reviewed by mjs.
27750
27751        SVG shows up blank in WebKit+SVG
27752        http://bugs.webkit.org/show_bug.cgi?id=6620
27753
27754        Test: svg/custom/viewport-no-width-height.svg
27755
27756        * css/svg.css: default to width/height 100% for <svg>
27757
277582006-01-26  Anders Carlsson  <andersca@mac.com>
27759
27760        Reviewed by Darin.
27761
27762        http://bugs.webkit.org/show_bug.cgi?id=6805
27763        Support constants in IDL files
27764
27765        * bindings/scripts/CodeGeneratorJS.pm:
27766        If an interface has constants, generate a constructor
27767        object and add the constants as properties. Also add a
27768        getConstructor method to the interface object.
27769
27770        * bindings/scripts/CodeGenerator.pm:
27771        * bindings/scripts/generate-bindings.pl:
27772        Add a --force-generation flag to force regeneration of files
27773        even though nothing has changed.
27774
27775        * khtml/ecma/kjs_events.cpp:
27776        * khtml/ecma/kjs_events.h:
27777        Remove MutationEventConstructor and DOMMutationEvent,
27778        those are autogenerated now.
27779
27780        * bindings/js/JSEvents.cpp:
27781        Include JSMutationEvent.cpp
27782
27783        * khtml/ecma/kjs_window.cpp:
27784        (KJS::Window::getValueProperty):
27785        * khtml/ecma/kjs_window.h:
27786        (KJS::Window::):
27787        Add MutationEvent property.
27788
27789        * khtml/xml/MutationEvent.idl: Added.
27790
277912006-01-25  Alexander Kellett  <lypanov@kde.org>
27792
27793        Reviewed by eseidel.  Landed by eseidel
27794
27795        Percentage values for width, height are not rendered correctly.
27796        http://bugs.webkit.org/show_bug.cgi?id=5331
27797
27798        Tests:
27799        * svg/custom/percentage-rect.svg
27800        * svg/custom/percentage-rect2.svg
27801
27802        Create items for even empty paths to prevent an empty render tree.
27803        Calculate the viewport element on the fly rather than caching it,
27804        unless there is no context from which to calculate it. Call
27805        notifyAttributeChange() on layout to fix usage of viewport
27806        percentages for lengths. Remove portion of code which appears to
27807        do nothing but worsen the situation.
27808
27809        * kcanvas/device/quartz/KCanvasItemQuartz.h:
27810        * kcanvas/device/quartz/KCanvasItemQuartz.mm:
27811        (KCanvasItemQuartz::layout):
27812        * ksvg2/svg/SVGLengthImpl.cpp:
27813        (SVGLengthImpl::value):
27814        * ksvg2/svg/SVGStyledElementImpl.cpp:
27815        (SVGStyledElementImpl::createRenderer):
27816
278172006-01-26  Eric Seidel  <eseidel@apple.com>
27818
27819        Reviewed by hyatt.
27820
27821        Disable <animateTransform> to stop layout test crashes.
27822        http://bugs.webkit.org/show_bug.cgi?id=6780
27823
27824        * ksvg2/misc/KSVGTimeScheduler.cpp: hack out animateTransform.
27825
278262006-01-26  Eric Seidel  <eseidel@apple.com>
27827
27828        Reviewed by mjs.
27829
27830        Deploy RefPtr throughout more of WebCore
27831        http://bugs.webkit.org/show_bug.cgi?id=6754
27832
27833        * bridge/mac/MacFrame.mm:
27834        (MacFrame::shouldClose): no need to call .get()
27835        * khtml/html/HTMLElementImpl.cpp:
27836        (WebCore::HTMLElementImpl::createContextualFragment):
27837        * khtml/html/HTMLSelectElementImpl.cpp:
27838        (WebCore::HTMLSelectElementImpl::remove):
27839        * khtml/html/HTMLTextAreaElementImpl.cpp:
27840        (WebCore::HTMLTextAreaElementImpl::setDefaultValue):
27841        * khtml/html/html_baseimpl.cpp:
27842        (WebCore::HTMLBodyElementImpl::HTMLBodyElementImpl):
27843        (WebCore::HTMLBodyElementImpl::~HTMLBodyElementImpl):
27844        (WebCore::HTMLBodyElementImpl::createLinkDecl):
27845        (WebCore::HTMLBodyElementImpl::parseMappedAttribute):
27846        * khtml/html/html_baseimpl.h:
27847        * khtml/html/html_headimpl.cpp:
27848        (WebCore::HTMLLinkElementImpl::HTMLLinkElementImpl):
27849        (WebCore::HTMLLinkElementImpl::~HTMLLinkElementImpl):
27850        (WebCore::HTMLLinkElementImpl::process):
27851        (WebCore::HTMLLinkElementImpl::setStyleSheet):
27852        (WebCore::HTMLLinkElementImpl::isLoading):
27853        (WebCore::HTMLStyleElementImpl::HTMLStyleElementImpl):
27854        (WebCore::HTMLStyleElementImpl::childrenChanged):
27855        (WebCore::HTMLStyleElementImpl::isLoading):
27856        * khtml/html/html_headimpl.h:
27857        (DOM::HTMLLinkElementImpl::sheet):
27858        (DOM::HTMLStyleElementImpl::sheet):
27859        * khtml/html/html_tableimpl.cpp:
27860        (WebCore::HTMLTableElementImpl::parseMappedAttribute):
27861        (WebCore::HTMLTableSectionElementImpl::insertRow):
27862        (WebCore::HTMLTableSectionElementImpl::deleteRow):
27863        (WebCore::HTMLTableRowElementImpl::deleteCell):
27864        * khtml/xml/NodeImpl.cpp:
27865        (WebCore::NodeImpl::dispatchEvent):
27866        (WebCore::NodeImpl::dispatchGenericEvent):
27867        (WebCore::NodeImpl::dispatchWindowEvent):
27868        (WebCore::NodeImpl::dispatchMouseEvent):
27869        (WebCore::NodeImpl::dispatchKeyEvent):
27870        (WebCore::NodeImpl::createRendererIfNeeded):
27871        * khtml/xml/NodeImpl.h:
27872        * khtml/xml/dom_elementimpl.cpp:
27873        (WebCore::MappedAttributeImpl::clone):
27874        (WebCore::StyledElementImpl::StyledElementImpl):
27875        (WebCore::StyledElementImpl::createInlineStyleDecl):
27876        (WebCore::StyledElementImpl::destroyInlineStyleDecl):
27877        (WebCore::StyledElementImpl::getInlineStyleDecl):
27878        * khtml/xml/dom_elementimpl.h:
27879        (DOM::MappedAttributeImpl::MappedAttributeImpl):
27880        (DOM::MappedAttributeImpl::style):
27881        (DOM::MappedAttributeImpl::decl):
27882        (DOM::MappedAttributeImpl::setDecl):
27883        (DOM::StyledElementImpl::inlineStyleDecl):
27884        * khtml/xml/dom_position.cpp:
27885        (DOM::Position::Position):
27886        (DOM::Position::clear):
27887        * khtml/xml/dom_position.h:
27888        (DOM::Position::node):
27889
278902006-01-25  Maciej Stachowiak  <mjs@apple.com>
27891
27892        Reviewed by Dave Hyatt.
27893
27894        - garbage collect a bit later when destroying Frame (fixes node leak false positives)
27895        http://bugs.webkit.org/show_bug.cgi?id=6818
27896
27897        * khtml/ecma/kjs_proxy.cpp:
27898        (WebCore::KJSProxyImpl::~KJSProxyImpl): Garbage collect after destroying
27899        the script interpreter.
27900        * page/Frame.cpp:
27901        (Frame::clear): Add a boolean parameter to indicate whether properties
27902        of the window object should also be cleared (defaults to true).
27903        (Frame::~Frame): Call clear(false) instead of clear()
27904        * page/Frame.h:
27905
279062006-01-25  Maciej Stachowiak  <mjs@apple.com>
27907
27908        Reviewed by Darin.
27909
27910        - Turn on NodeImpl leak counter for debug builds
27911        http://bugs.webkit.org/show_bug.cgi?id=6808
27912
27913        * khtml/xml/NodeImpl.cpp:
27914        (WebCore::NodeImplCounter::~NodeImplCounter): Uncomment node
27915        counter now tit won't give a lot of false positives.
27916
279172006-01-25  Maciej Stachowiak  <mjs@apple.com>
27918
27919        Reviewed by Dave Hyatt.
27920
27921        - fixed "Whole DOM tree can leak if Document is hover/active/focus node on quit"
27922        http://bugs.webkit.org/show_bug.cgi?id=6809
27923
27924        This fixes 175 reproducible node leaks in the editing layout tests.
27925
27926        * khtml/xml/DocumentImpl.cpp:
27927        (WebCore::DocumentImpl::detach): Clear hover, focus and active nodes. It doesn't
27928        make sense to have these without a view anyway, and if any of them is the document
27929        it can cause a leak of the whole DOM.
27930
279312006-01-25  Adele Peterson  <adele@apple.com>
27932
27933        Reviewed by Maciej.
27934
27935        http://bugs.webkit.org/show_bug.cgi?id=6816
27936        Crash in dispatchMouseEvent - Missing nil check
27937
27938        No test added because I was not able to reproduce the crash reliably.
27939
27940        * page/FrameView.cpp: (FrameView::dispatchMouseEvent):
27941
279422006-01-25  Justin Garcia  <justin.garcia@apple.com>
27943
27944        Reviewed by mjs
27945
27946        <http://bugs.webkit.org/show_bug.cgi?id=6644>
27947        TinyMCE: Undo operation crashes Safari
27948        <rdar://problem/4343068>
27949        Some shouldChangeSelection calls are nonsensical
27950
27951        Notify the SelectionController of node removals,
27952        and blow away the selection when end points are removed.
27953
27954        Tests added:
27955        * editing/selection/remove-node-1.html
27956        * editing/selection/remove-node-2.html
27957
27958        * khtml/editing/SelectionController.cpp:
27959        (WebCore::MutationListener::handleEvent):
27960        (WebCore::SelectionController::SelectionController):
27961        (WebCore::SelectionController::~SelectionController):
27962        (WebCore::SelectionController::operator=):
27963        (WebCore::SelectionController::moveTo):
27964        (WebCore::SelectionController::setSelection):
27965        (WebCore::SelectionController::nodeWillBeRemoved):
27966        (WebCore::SelectionController::clear):
27967        (WebCore::SelectionController::setBase):
27968        (WebCore::SelectionController::setExtent):
27969        * khtml/editing/SelectionController.h:
27970        (WebCore::MutationListener::MutationListener):
27971        (WebCore::MutationListener::selectionController):
27972        (WebCore::MutationListener::setSelectionController):
27973        * rendering/RenderContainer.cpp:
27974        (WebCore::RenderContainer::removeChildNode):
27975        * rendering/render_flow.cpp:
27976        (RenderFlow::destroy):
27977
279782006-01-25  Adele Peterson  <adele@apple.com>
27979
27980        Reviewed by Hyatt.
27981
27982        This change lets us display an aqua appearance for the new text fields.
27983
27984        Updated results for:
27985        * fast/forms/input-appearance-focus.html
27986
27987        * rendering/RenderTextField.cpp: (WebCore::RenderTextField::createDivStyle):
27988          remove styling of the div, since RenderTheme handles that now.
27989        * rendering/render_theme.cpp:
27990        (khtml::RenderTheme::adjustStyle): call adjustTextFieldStyle.
27991        (khtml::RenderTheme::paint): call paintTextField.
27992        (khtml::RenderTheme::adjustTextFieldStyle): added FIXME to turn off appearance later.
27993        * rendering/render_theme.h: added adjustTextFieldStyle, paintTextField
27994        * rendering/render_theme_mac.h: added paintTextField, setTextFieldState, and NSTextFieldCell.
27995        * rendering/render_theme_mac.mm:
27996        (khtml::): Added static textFieldMargins.
27997        (khtml::RenderThemeMac::adjustRepaintRect): update text field state and size.
27998        (khtml::RenderThemeMac::paintTextField): Added. Paints the NSTextFieldCell
27999        (khtml::RenderThemeMac::setTextFieldCellState): Initialize NSTextFieldCell, and update enabled state.
28000
280012006-01-25  David Hyatt  <hyatt@apple.com>
28002
28003        Rename QBrush to Brush and move it to platform/.  Remove unused QPoint/Size/RectF forwarding
28004        headers.
28005
28006        * ForwardingHeaders/QPointF: Removed.
28007        * ForwardingHeaders/QRectF: Removed.
28008        * ForwardingHeaders/QSizeF: Removed.
28009        * WebCore.xcodeproj/project.pbxproj:
28010        * khtml/editing/SelectionController.cpp:
28011        (WebCore::SelectionController::paintCaret):
28012        * kwq/KWQBrush.h: Removed.
28013        * kwq/KWQNamespace.h:
28014        * kwq/KWQObject.h:
28015        * kwq/KWQPainter.h:
28016        * kwq/KWQPainter.mm:
28017        (QPainter::setBrush):
28018        (QPainter::brush):
28019        (QPainter::drawRect):
28020        (QPainter::drawEllipse):
28021        (QPainter::drawConvexPolygon):
28022        (QPainter::fillRect):
28023        * kwq/KWQPalette.h:
28024        (QColorGroup::brush):
28025        * platform/Brush.h: Added.
28026        (WebCore::Brush::):
28027        (WebCore::Brush::Brush::Brush):
28028        (WebCore::Brush::operator==):
28029        (WebCore::Brush::operator!=):
28030        * rendering/RenderBlock.cpp:
28031        (WebCore::RenderBlock::fillHorizontalSelectionGap):
28032        (WebCore::RenderBlock::fillVerticalSelectionGap):
28033        (WebCore::RenderBlock::fillLeftSelectionGap):
28034        (WebCore::RenderBlock::fillRightSelectionGap):
28035        * rendering/render_box.cpp:
28036        (WebCore::RenderBox::outlineBox):
28037        * rendering/render_canvasimage.cpp:
28038        (WebCore::RenderCanvasImage::paint):
28039        * rendering/render_image.cpp:
28040        (WebCore::RenderImage::paint):
28041        * rendering/render_list.cpp:
28042        (RenderListMarker::paint):
28043        * rendering/render_replaced.cpp:
28044        (WebCore::RenderWidget::paint):
28045
280462006-01-25  Anders Carlsson  <andersca@mac.com>
28047
28048        Reviewed by Timothy Hatcher.
28049
28050        http://bugs.webkit.org/show_bug.cgi?id=6807
28051        generate-bindings.pl should not use find command
28052
28053        * bindings/scripts/generate-bindings.pl:
28054        Use opendir and readdir instead of find.
28055
280562006-01-25  David Hyatt <hyatt@apple.com
28057
28058        Fix Win32 build bustage. Make the autogeneration from .idl work
28059        just like it does on Mac.  Also update the project to account for
28060        the move of QPen.
28061
28062        * WebCore.vcproj/WebCore/WebCore.vcproj:
28063        * WebCore.vcproj/WebCore/build-generated-files.sh:
28064        * bindings/scripts/generate-bindings.pl:
28065
280662006-01-25  David Hyatt  <hyatt@apple.com>
28067
28068        Rename QPen to Pen and move it to the platform/ directory.
28069
28070        * ForwardingHeaders/qpen.h: Removed.
28071        * WebCore.xcodeproj/project.pbxproj:
28072        * kwq/KWQNamespace.h:
28073        (Qt::):
28074        * kwq/KWQPainter.h:
28075        * kwq/KWQPainter.mm:
28076        (QPainter::pen):
28077        (QPainter::setPen):
28078        (QPainter::drawRect):
28079        (QPainter::drawLine):
28080        (QPainter::drawEllipse):
28081        (QPainter::drawArc):
28082        (QPainter::drawConvexPolygon):
28083        * kwq/KWQPen.cpp: Removed.
28084        * kwq/KWQPen.h: Removed.
28085        * platform/Pen.cpp: Added.
28086        (WebCore::Pen::Pen):
28087        (WebCore::Pen::color):
28088        (WebCore::Pen::width):
28089        (WebCore::Pen::style):
28090        (WebCore::Pen::setColor):
28091        (WebCore::Pen::setWidth):
28092        (WebCore::Pen::setStyle):
28093        (WebCore::Pen::operator==):
28094        (WebCore::Pen::operator!=):
28095        * platform/Pen.h: Added.
28096        (WebCore::Pen::):
28097        * rendering/InlineTextBox.cpp:
28098        (khtml::InlineTextBox::paintMarkedTextUnderline):
28099        * rendering/RenderTableCell.cpp:
28100        (WebCore::outlineBox):
28101        * rendering/RenderText.cpp:
28102        * rendering/render_box.cpp:
28103        (WebCore::RenderBox::outlineBox):
28104        * rendering/render_frames.cpp:
28105        (WebCore::RenderFrameSet::userResize):
28106        * rendering/render_image.cpp:
28107        * rendering/render_line.cpp:
28108        * rendering/render_list.cpp:
28109        * rendering/render_object.cpp:
28110        (WebCore::RenderObject::drawBorder):
28111
281122006-01-25  Timothy Hatcher  <timothy@apple.com>
28113
28114        Move off of -[NSFont widthOfString:] since it is now deprecated.
28115        Use the NSStringDrawing -[NSString sizeWithAttributes:] API.
28116
28117        * bridge/mac/MacFrame.mm:
28118        (MacFrame::attributedString):
28119        * kwq/KWQTextArea.mm:
28120        (-[KWQTextAreaTextView sizeWithColumns:rows:]):
28121
281222006-01-24  Tim Omernick  <timo@apple.com>
28123
28124        Reviewed by Dave Harrison.
28125
28126        <rdar://problem/4339024>
28127        <http://bugs.webkit.org/show_bug.cgi?id=6785> "Fix for possible leak of applet, object, or embed
28128        (and plugin view)"
28129
28130        No test cases added.  This is a fix for a leak which is difficult to trigger under normal page load
28131        circumstances, because it requires that the host application modify an <embed> using the Objective C
28132        API.
28133
28134        * khtml/html/html_objectimpl.cpp:
28135        (WebCore::HTMLAppletElementImpl::~HTMLAppletElementImpl):
28136        Assert that appletInstance has been deleted by detach().
28137        (WebCore::HTMLAppletElementImpl::detach):
28138        Delete appletInstance, because it references the widget owned by the renderer we're about to destroy.
28139        It is assumed elsewhere (getRuntimeObject(), kjs_dom.cpp) that the instance is owned by the applet
28140        element.  Therefore, it is required that the element destroy the instance in its tear-down phase.
28141        (WebCore::HTMLEmbedElementImpl::~HTMLEmbedElementImpl):
28142        Assert that embedInstance has been deleted by detach().
28143        (WebCore::HTMLEmbedElementImpl::detach):
28144        Delete embedInstance, same reason.  This is the one that fixes <rdar://problem/4339024>.
28145        (WebCore::HTMLObjectElementImpl::~HTMLObjectElementImpl):
28146        Assert that objectInstance has been deleted by detach().
28147        (WebCore::HTMLObjectElementImpl::detach):
28148        Delete embedInstance, same reason.
28149        * khtml/html/html_objectimpl.h:
28150        Declared HTMLAppletElementImpl::detach() and HTMLEmbedElementImpl::detach().
28151
281522006-01-24  Anders Carlsson  <andersca@mac.com>
28153
28154        Reviewed by Darin.
28155
28156        - http://bugs.webkit.org/show_bug.cgi?id=5975
28157        WebCore needs to use KDOM-like DOM binding autogeneration
28158
28159        This is a first cut at an autogeneration framework based on
28160        what KDOM uses, but with some changes to be able to move
28161        gradually to using autogenerated files. Currently only Javascript
28162        is supported, but ObjC support could be added by writing a new code
28163        generator package.
28164
28165        * WebCore.xcodeproj/project.pbxproj:
28166        Call generate-bindings.pl
28167
28168        * bindings/js/JSEvents.cpp: Added.
28169        New file which #includes all generated files in the event module
28170        (Just JSWheelEvent.cpp for now)
28171
28172        * khtml/xml/WheelEvent.idl: Added.
28173
28174        * bindings/scripts: Added.
28175        * bindings/scripts/CodeGenerator.pm: Added.
28176        * bindings/scripts/CodeGeneratorJS.pm: Added.
28177        * bindings/scripts/IDLParser.pm: Added.
28178        * bindings/scripts/IDLStructure.pm: Added.
28179        * bindings/scripts/generate-bindings.pl: Added.
28180
28181        * khtml/ecma/kjs_events.cpp:
28182        Remove DOMWheelEvent class.
28183
28184        (KJS::getDOMEvent):
28185        Use JSWheelEvent here.
28186
28187        * khtml/ecma/kjs_events.h:
28188        Remove DOMWheelEvent class.
28189
281902006-01-25  David Harrison  <harrison@apple.com>
28191
28192        Reviewed by Justin.
28193
28194        <rdar://problem/3907635> copy/paste of list item text moves list item up one <LI>
28195        <rdar://problem/3907647> Enhance list editing: return inserts <li></li>
28196        <rdar://problem/4060158> deleting selection within table deletes more than intended
28197        <rdar://problem/4061232> Deleting a list can delete unselected content
28198        <rdar://problem/4062212> after pasting in contents of web.apple.com, typing before start adds to table instead of before table
28199        <rdar://problem/4064437> After copy/paste from bugweb cannot go back to entering text at left side of page
28200        <rdar://problem/4259845> Table editing in design mode is broken
28201        <rdar://problem/4287667> Insertion point goes before table instead of inside first cell
28202        <rdar://problem/4345749> Editing HTML - Enter at end of <LI> inserts uneditable blank <LI>
28203        <rdar://problem/4345794> HTML editing: Enter at end of last <LI> does not add new <LI>
28204        <rdar://problem/4345825> HTML Editing: editing first <LI> element removes first <LI> and more
28205        <rdar://problem/4345835> HTML editing: editing last <LI> removes everything within <BODY>
28206        <rdar://problem/4345879> HTML editing: editing first <TD> moves data out of table
28207
28208        ...also added showTree() static functions because switch to gcc 4.0 makes calling instance methods unreliable
28209
28210        - numerous small changes to handle empty list items
28211        - fix numeric list marker updating when adding/deleting list items
28212        - start to decompose "special element" handling, replacing it with appropriate handling of the different
28213          kinds of special elements in various situations, rather than giving a blanket treatment.  I will do more
28214          of this in subsequent checkins.
28215        - numerous small editing/selection changes to handle VisiblePosition at table offset childNodeCount()
28216        - simplify and fix equivalentRangeCompliantPosition, rename it to rangeCompliantEquivalent and make it static
28217        - some minor reformatting to current standards
28218        - the comments in the list below are for changes not covered by the above comments
28219
28220        * khtml/editing/Selection.cpp:
28221        (WebCore::Selection::toRange):
28222        (WebCore::Selection::validate):
28223        * khtml/editing/SelectionController.cpp:
28224        (WebCore::SelectionController::modifyExtendingLeftBackward):
28225        - character selection backward from after table selects the table
28226        (WebCore::showTree):
28227        * khtml/editing/composite_edit_command.cpp:
28228        (WebCore::CompositeEditCommand::removeFullySelectedNode):
28229        - make sure empty cell has some height
28230        (WebCore::CompositeEditCommand::positionOutsideTabSpan):
28231        - check for !isTabSpanTextNode() to make calling this function easier
28232        (WebCore::CompositeEditCommand::addBlockPlaceholderIfNeeded):
28233        * khtml/editing/delete_selection_command.cpp:
28234        (WebCore::positionBeforePossibleContainingSpecialElement):
28235        (WebCore::positionAfterPossibleContainingSpecialElement):
28236        (WebCore::DeleteSelectionCommand::initializeStartEnd):
28237        - new.  more consistent handling of special element boundaries.
28238        (WebCore::DeleteSelectionCommand::initializePositionData):
28239        (WebCore::DeleteSelectionCommand::handleGeneralDelete):
28240        - handle childless block (e.g. empty table cell)
28241        - allow merging across list items
28242        (WebCore::DeleteSelectionCommand::moveNodesAfterNode):
28243        - use new isEmpty() method for renderers, to handle empty list items
28244        * khtml/editing/delete_selection_command.h:
28245        * khtml/editing/htmlediting.cpp:
28246        (WebCore::isAtomicNode):
28247        (WebCore::editingIgnoresContent):
28248        - new.  smarter check than isReplaced()
28249        (WebCore::rangeCompliantEquivalent):
28250        (WebCore::maxDeepOffset):
28251        (WebCore::isFirstVisiblePositionInSpecialElement):
28252        (WebCore::positionBeforeContainingSpecialElement):
28253        (WebCore::isLastVisiblePositionInSpecialElement):
28254        (WebCore::positionAfterContainingSpecialElement):
28255        (WebCore::positionOutsideContainingSpecialElement):
28256        (WebCore::positionBeforeNode):
28257        (WebCore::positionAfterNode):
28258        (WebCore::isListElement):
28259        (WebCore::isTableElement):
28260        (WebCore::isFirstVisiblePositionAfterTableElement):
28261        (WebCore::positionBeforePrecedingTableElement):
28262        (WebCore::positionAvoidingSpecialElementBoundary):
28263        * khtml/editing/htmlediting.h:
28264        * khtml/editing/insert_line_break_command.cpp:
28265        (khtml::InsertLineBreakCommand::doApply):
28266        * khtml/editing/insert_paragraph_separator_command.cpp:
28267        (khtml::InsertParagraphSeparatorCommand::doApply):
28268        * khtml/editing/insert_text_command.cpp:
28269        (khtml::InsertTextCommand::prepareForTextInsertion):
28270        (khtml::InsertTextCommand::input):
28271        * khtml/editing/replace_selection_command.cpp:
28272        (WebCore::isMailPasteAsQuotationNode):
28273        (WebCore::ReplacementFragment::countRenderedBlocks):
28274        (WebCore::ReplaceSelectionCommand::doApply):
28275        - allow for fact that fragments have no VisiblePositions
28276        * khtml/editing/visible_position.cpp:
28277        (khtml::VisiblePosition::isCandidate):
28278        (khtml::showTree):
28279        (khtml::makeRange):
28280        (khtml::setStart):
28281        (khtml::setEnd):
28282        * khtml/editing/visible_position.h:
28283        * khtml/editing/visible_units.cpp:
28284        (khtml::previousBoundary):
28285        (khtml::nextBoundary):
28286        (khtml::startOfLine):
28287        - allow for fact that renderers for list markers and other generated content
28288          have no corresponding NodeImpl.
28289        (khtml::endOfLine):
28290        - ditto
28291        (khtml::nextLinePosition):
28292        (khtml::startOfParagraph):
28293        (khtml::endOfParagraph):
28294        * khtml/xml/ContainerNodeImpl.cpp:
28295        (WebCore::ContainerNodeImpl::getUpperLeftCorner):
28296        (WebCore::ContainerNodeImpl::childNode):
28297        * khtml/xml/ContainerNodeImpl.h:
28298        * khtml/xml/NodeImpl.cpp:
28299        (WebCore::NodeImpl::childNode):
28300        (WebCore::NodeImpl::traversePreviousNode):
28301        (WebCore::NodeImpl::nextEditable):
28302        (WebCore::showTree):
28303        * khtml/xml/NodeImpl.h:
28304        * khtml/xml/dom_position.cpp:
28305        (DOM::Position::upstream):
28306        (DOM::Position::downstream):
28307        (DOM::Position::inRenderedContent):
28308        (DOM::showTree):
28309        * khtml/xml/dom_position.h:
28310        * rendering/render_canvas.cpp:
28311        (RenderCanvas::selectionRect):
28312        * rendering/render_list.cpp:
28313        (RenderListItem::calcListValue):
28314        (RenderListItem::isEmpty):
28315        (getParentOfFirstLineBox):
28316        (RenderListItem::resetMarkerValue):
28317        (RenderListItem::updateMarkerLocation):
28318        * rendering/render_list.h:
28319        (khtml::RenderListMarker::isListMarker):
28320        * rendering/render_object.cpp:
28321        (WebCore::RenderObject::nextRenderer):
28322        (WebCore::RenderObject::previousRenderer):
28323        (WebCore::showTree):
28324        * rendering/render_object.h:
28325        (WebCore::RenderObject::getBaselineOfLastLineBox):
28326        (WebCore::RenderObject::isEmpty):
28327
283282006-01-25  Timothy Hatcher  <timothy@apple.com>
28329
28330        Build fix, -[NSFont defaultLineHeightForFont] is deprecated.
28331        We need to use -[NSLayoutManager defaultLineHeightForFont:] instead.
28332
28333        * kwq/KWQLineEdit.mm:
28334        (QLineEdit::sizeForCharacterWidth):
28335        (QLineEdit::baselinePosition):
28336
283372006-01-24  Darin Adler  <darin@apple.com>
28338
28339        Reviewed by Adele.
28340
28341        - fix http://bugs.webkit.org/show_bug.cgi?id=6731
28342          REGRESSION: change event fires at load time for checked items
28343
28344        Test: fast/forms/radio-button-no-change-event.html
28345
28346        * khtml/html/HTMLInputElementImpl.cpp: (WebCore::HTMLInputElementImpl::setChecked):
28347        One of many possible fixes: Don't send the event if the element is not yet in
28348        a document (as in when parsing the initial attributes).
28349
283502006-01-24  Adele Peterson  <adele@apple.com>
28351
28352        Reviewed by Hyatt.
28353
28354        This change will allow the new text field elements to get focus, and to respond to the focus and blur events.
28355
28356        Added: fast/forms/input-appearance-focus.html
28357
28358        * khtml/html/HTMLElementImpl.cpp: (WebCore::HTMLElementImpl::isFocusable):
28359          Removed recently added code that allowed editable elements with no parent to be focusable.
28360          We don't need to do this now that we try to focus the input element, instead of the inner div.
28361        * khtml/html/HTMLGenericFormElementImpl.cpp: (WebCore::HTMLGenericFormElementImpl::isMouseFocusable): Added case to for text fields.
28362        * khtml/html/HTMLInputElementImpl.cpp:
28363        (WebCore::HTMLInputElementImpl::focus): Added. Selects contents of text field.
28364        (WebCore::HTMLInputElementImpl::setSelectionStart): Added break; in switch statement.
28365        (WebCore::HTMLInputElementImpl::setSelectionEnd): ditto.
28366        (WebCore::HTMLInputElementImpl::select): ditto.
28367        (WebCore::HTMLInputElementImpl::setSelectionRange): ditto.
28368        * khtml/html/HTMLInputElementImpl.h: Added focus()
28369        * khtml/xml/dom_elementimpl.h: Made focus() virtual.
28370        * page/Frame.cpp: (Frame::setFocusNodeIfNeeded):
28371          Walk up the Render Tree instead of the DOM tree when trying to find a node to focus.
28372          This will let us choose the input node instead of one of the nodes in the shadow tree.
28373        * page/FrameView.cpp: (FrameView::dispatchMouseEvent): ditto.
28374        * rendering/RenderContainer.cpp: (WebCore::RenderContainer::destroyLeftoverChildren): Corrected misspelling.
28375        * rendering/RenderTextField.cpp:
28376        (WebCore::RenderTextField::select): Implemented.  Select contents of inner div.
28377        * rendering/RenderTextField.h:
28378        (WebCore::RenderTextField::renderName): Changed order.
28379        (WebCore::RenderTextField::removeLeftoverAnonymousBoxes): ditto.
28380
283812006-01-24  Darin Adler  <darin@apple.com>
28382
28383        Reviewed by Eric.
28384
28385        - fix http://bugs.webkit.org/show_bug.cgi?id=6782
28386          REGRESSION: replaceChild broken when node to replace is first (TinyMCE test app broken)
28387
28388        - fix http://bugs.webkit.org/show_bug.cgi?id=6784
28389          REGRESSION: 25 layout tests failing (basic DOM operations)
28390
28391        Test: fast/dom/replace-first-child.html
28392
28393        * khtml/xml/ContainerNodeImpl.cpp:
28394        (WebCore::ContainerNodeImpl::insertBefore): Change one place that hands off ownership of
28395        as PassRefPtr that causes us to almost always return 0. Fix test that would screw up when
28396        both "prev" and "refChild->previousSibling()" were 0.
28397        (WebCore::ContainerNodeImpl::appendChild): Changed a nearly-identical place handing off
28398        ownership as above.
28399
284002006-01-24  Maciej Stachowiak  <mjs@apple.com>
28401
28402        Reviewed by Dave Hyatt.
28403
28404        - fixed crash if a node is removed from the DOM before being reparented due to residual style
28405        http://bugs.webkit.org/show_bug.cgi?id=6778
28406
28407        * khtml/html/htmlparser.cpp:
28408        (HTMLParser::handleResidualStyleCloseTagAcrossBlocks): If the
28409        block has been removed from the document, then do not remove it
28410        from its parent or add it to its new location. This prevents the
28411        crash and matches Mozilla.
28412
284132006-01-24  Darin Adler  <darin@apple.com>
28414
28415        Reviewed by John Sullivan.
28416
28417        - http://bugs.webkit.org/show_bug.cgi?id=6750
28418          replace QDateTime with a simpler platform abstraction
28419
28420        * ForwardingHeaders/qdatetime.h: Removed.
28421        * kwq/KWQDateTime.cpp: Removed.
28422        * kwq/KWQDateTime.h: Removed.
28423
28424        * platform/SystemTime.h: Added.
28425        * platform/mac/SystemTime.cpp: (WebCore::currentTime): Added.
28426        * platform/win: Added.
28427        * platform/win/SystemTime.cpp: (WebCore::currentTime): Added.
28428
28429        * WebCore.vcproj/WebCore/WebCore.vcproj: Added new files, removed old.
28430        * WebCore.xcodeproj/project.pbxproj: Ditto.
28431
28432        * css/css_base.h: Removed include of <qdatetime.h>.
28433        * css/cssstyleselector.cpp: Ditto.
28434
28435        * khtml/html/htmltokenizer.h:
28436        * khtml/html/htmltokenizer.cpp: Convert tabs to spaces.
28437        (WebCore::HTMLTokenizer::continueProcessing): Change parameter from QTime to double.
28438        Use currentTime() instead of QTime::elapsed().
28439        (WebCore::HTMLTokenizer::write): Use currentTime() instead of QTime::elapsed().
28440
28441        * config.h: Added HAVE_FUNC_USLEEP for now, not sure this is really a
28442        good way to handle this.
28443        * khtml/xml/ContainerNodeImpl.cpp: (WebCore::ContainerNodeImpl::setActive):
28444        Use currentTime() instead of QTime::elapsed(). Use HAVE_FUNC_USLEEP for the if.
28445
28446        * khtml/xml/DocumentImpl.h:
28447        * khtml/xml/DocumentImpl.cpp:
28448        (WebCore::DocumentImpl::DocumentImpl): Use currentTime() instead of QTime::elapsed().
28449        (WebCore::DocumentImpl::implicitClose): Ditto.
28450        (WebCore::DocumentImpl::minimumLayoutDelay): Ditto.
28451        (WebCore::DocumentImpl::elapsedTime): Ditto.
28452
28453        * khtml/xml/dom2_eventsimpl.cpp: (WebCore::EventImpl::EventImpl): Use currentTime()
28454        instead of local function called currentTimeStamp().
28455
28456        * khtml/xml/xml_tokenizer.h: Removed declaration of class QTime.
28457
28458        * ksvg2/misc/KSVGTimeScheduler.h:
28459        * ksvg2/misc/KSVGTimeScheduler.cpp:
28460        (KSVG::TimeScheduler::TimeScheduler): Use currentTime instead of QTime::elapsed.
28461        (KSVG::TimeScheduler::startAnimations): Ditto.
28462        (KSVG::TimeScheduler::toggleAnimations): Ditto.
28463        (KSVG::TimeScheduler::elapsed): Ditto.
28464
28465        * page/Frame.cpp: (Frame::clear): Removed unused m_parsetime.
28466        * page/FramePrivate.h: Ditto.
28467
284682006-01-24  David Hyatt  <hyatt@apple.com>
28469
28470        Fix for bug 6781, convert QColor to Color (and QRgb to RGBA32).  r=maciej.
28471
28472        * ForwardingHeaders/qcolor.h: Removed.
28473        * WebCore+SVG/KDOMSettings.h:
28474        * WebCore+SVG/RGBColorImpl.cpp:
28475        (RGBColorImpl::RGBColorImpl):
28476        (RGBColorImpl::red):
28477        (RGBColorImpl::green):
28478        (RGBColorImpl::blue):
28479        * WebCore+SVG/RGBColorImpl.h:
28480        * WebCore.xcodeproj/project.pbxproj:
28481        * bindings/objc/DOMCSS.mm:
28482        (getWrapperForRGB):
28483        (setWrapperForRGB):
28484        (removeWrapperForRGB):
28485        (-[DOMRGBColor dealloc]):
28486        (-[DOMRGBColor finalize]):
28487        (-[DOMRGBColor red]):
28488        (-[DOMRGBColor green]):
28489        (-[DOMRGBColor blue]):
28490        (-[DOMRGBColor _initWithRGB:]):
28491        (+[DOMRGBColor _RGBColorWithRGB:]):
28492        (-[DOMRGBColor alpha]):
28493        (-[DOMRGBColor _color]):
28494        * bridge/mac/MacFrame.mm:
28495        (MacFrame::attributedString):
28496        (MacFrame::fontAttributesForSelectionStart):
28497        (MacFrame::bodyBackgroundColor):
28498        (convertAttributesToUnderlines):
28499        * css/css_valueimpl.cpp:
28500        (WebCore::CSSPrimitiveValueImpl::CSSPrimitiveValueImpl):
28501        (WebCore::CSSPrimitiveValueImpl::cssText):
28502        * css/csshelper.h:
28503        * css/cssparser.cpp:
28504        (CSSParser::parseColor):
28505        (CSSParser::parseColorFromValue):
28506        * css/cssparser.h:
28507        * css/cssstyleselector.cpp:
28508        (WebCore::CSSStyleSelector::canShareStyleWithElement):
28509        (WebCore::):
28510        (WebCore::colorForCSSValue):
28511        (WebCore::CSSStyleSelector::applyProperty):
28512        (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
28513        * css/cssstyleselector.h:
28514        * kcanvas/KCanvasFilters.h:
28515        (KCanvasFEDiffuseLighting::lightingColor):
28516        (KCanvasFEDiffuseLighting::setLightingColor):
28517        (KCanvasFEFlood::floodColor):
28518        (KCanvasFEFlood::setFloodColor):
28519        (KCanvasFESpecularLighting::lightingColor):
28520        (KCanvasFESpecularLighting::setLightingColor):
28521        * kcanvas/KCanvasTreeDebug.cpp:
28522        (operator<<):
28523        * kcanvas/KCanvasTreeDebug.h:
28524        * kcanvas/device/KRenderingDevice.h:
28525        * kcanvas/device/KRenderingPaintServerGradient.cpp:
28526        (KCSortedGradientStopList::addStop):
28527        * kcanvas/device/KRenderingPaintServerGradient.h:
28528        * kcanvas/device/KRenderingPaintServerSolid.cpp:
28529        (KRenderingPaintServerSolid::color):
28530        (KRenderingPaintServerSolid::setColor):
28531        * kcanvas/device/KRenderingPaintServerSolid.h:
28532        * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
28533        (ciColor):
28534        * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
28535        (setupShadingWithStyle):
28536        * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
28537        (KRenderingPaintServerPatternQuartz::setup):
28538        * khtml/ecma/kjs_css.h:
28539        * khtml/ecma/kjs_html.cpp:
28540        (KJS::KJS::Context2DFunction::callAsFunction):
28541        (KJS::colorRefFromValue):
28542        (KJS::colorFromValue):
28543        (KJS::Context2D::putValueProperty):
28544        (KJS::GradientFunction::callAsFunction):
28545        * khtml/ecma/kjs_html.h:
28546        * khtml/editing/apply_style_command.cpp:
28547        (WebCore::StyleChange::checkForLegacyHTMLStyleChange):
28548        * khtml/html/html_baseimpl.cpp:
28549        (WebCore::HTMLBodyElementImpl::parseMappedAttribute):
28550        * khtml/misc/helper.h:
28551        * khtml/xml/DocumentImpl.cpp:
28552        (WebCore::DocumentImpl::DocumentImpl):
28553        (WebCore::DocumentImpl::resetLinkColor):
28554        (WebCore::DocumentImpl::resetVisitedLinkColor):
28555        * khtml/xml/DocumentImpl.h:
28556        (WebCore::DocumentImpl::setTextColor):
28557        (WebCore::DocumentImpl::textColor):
28558        (WebCore::DocumentImpl::linkColor):
28559        (WebCore::DocumentImpl::visitedLinkColor):
28560        (WebCore::DocumentImpl::activeLinkColor):
28561        (WebCore::DocumentImpl::setLinkColor):
28562        (WebCore::DocumentImpl::setVisitedLinkColor):
28563        (WebCore::DocumentImpl::setActiveLinkColor):
28564        * ksvg2/css/SVGCSSStyleSelector.cpp:
28565        (KDOM::CSSStyleSelector::applySVGProperty):
28566        * ksvg2/css/SVGRenderStyle.h:
28567        * ksvg2/css/SVGRenderStyleDefs.h:
28568        * ksvg2/misc/KCanvasRenderingStyle.cpp:
28569        (WebCore::KSVGPainterFactory::fillPaintServer):
28570        * ksvg2/misc/KSVGTimeScheduler.cpp:
28571        (KSVG::SVGTimer::notifyAll):
28572        * ksvg2/svg/SVGAnimateColorElementImpl.cpp:
28573        (SVGAnimateColorElementImpl::handleTimerEvent):
28574        (SVGAnimateColorElementImpl::clampColor):
28575        (SVGAnimateColorElementImpl::color):
28576        (SVGAnimateColorElementImpl::initialColor):
28577        * ksvg2/svg/SVGAnimateColorElementImpl.h:
28578        * ksvg2/svg/SVGAnimateElementImpl.cpp:
28579        (SVGAnimateElementImpl::handleTimerEvent):
28580        * ksvg2/svg/SVGColorImpl.cpp:
28581        (SVGColorImpl::setRGBColor):
28582        (SVGColorImpl::color):
28583        * ksvg2/svg/SVGColorImpl.h:
28584        * ksvg2/svg/SVGGradientElementImpl.cpp:
28585        (SVGGradientElementImpl::rebuildStops):
28586        * kwq/KWQAccObject.mm:
28587        (AXAttributeStringSetStyle):
28588        * kwq/KWQBrush.h:
28589        (QBrush::QBrush::QBrush):
28590        (QBrush::color):
28591        (QBrush::setColor):
28592        * kwq/KWQColor.h: Removed.
28593        * kwq/KWQColor.mm: Removed.
28594        * kwq/KWQColorData.gperf: Removed.
28595        * kwq/KWQKConfigBase.h:
28596        * kwq/KWQKConfigBase.mm:
28597        (KConfig::readColorEntry):
28598        * kwq/KWQLineEdit.mm:
28599        (QLineEdit::setPalette):
28600        * kwq/KWQNamespace.h:
28601        (Qt::):
28602        * kwq/KWQObject.h:
28603        * kwq/KWQPainter.h:
28604        * kwq/KWQPainter.mm:
28605        (QPainter::setPen):
28606        (QPainter::setBrush):
28607        (QPainter::drawText):
28608        (QPainter::drawHighlightForText):
28609        (QPainter::selectedTextBackgroundColor):
28610        (_fillRectXX):
28611        (QPainter::setShadow):
28612        (QPainter::initFocusRing):
28613        * kwq/KWQPalette.h:
28614        (QColorGroup::QColorGroup):
28615        (QColorGroup::color):
28616        (QColorGroup::setColor):
28617        (QColorGroup::background):
28618        (QColorGroup::foreground):
28619        (QColorGroup::base):
28620        (QPalette::QPalette):
28621        (QPalette::background):
28622        (QPalette::foreground):
28623        * kwq/KWQPen.cpp:
28624        (QPen::QPen):
28625        (QPen::color):
28626        (QPen::setColor):
28627        * kwq/KWQPen.h:
28628        * kwq/KWQRenderTreeDebug.cpp:
28629        (operator<<):
28630        * kwq/KWQTextEdit.mm:
28631        (QTextEdit::setPalette):
28632        * loader/CachedImage.cpp:
28633        (WebCore::CachedImage::tiled_pixmap):
28634        * loader/CachedImage.h:
28635        * page/Frame.cpp:
28636        (Frame::paint):
28637        * page/Frame.h:
28638        (MarkedTextUnderline::MarkedTextUnderline):
28639        * platform/Color.cpp: Added.
28640        (WebCore::makeRGB):
28641        (WebCore::makeRGBA):
28642        (WebCore::parseHexColor):
28643        (WebCore::Color::Color):
28644        (WebCore::Color::name):
28645        (WebCore::Color::setNamedColor):
28646        (WebCore::Color::hsv):
28647        (WebCore::Color::setHsv):
28648        (WebCore::Color::light):
28649        (WebCore::Color::dark):
28650        (WebCore::Color::getRgbaF):
28651        * platform/Color.h: Added.
28652        (WebCore::Color::Color):
28653        (WebCore::Color::rgb):
28654        (WebCore::Color::setRgb):
28655        (WebCore::operator==):
28656        (WebCore::operator!=):
28657        * platform/ColorData.gperf: Added.
28658        * rendering/InlineTextBox.cpp:
28659        (khtml::simpleDifferenceBetweenColors):
28660        (khtml::correctedTextColor):
28661        (khtml::InlineTextBox::paint):
28662        (khtml::InlineTextBox::paintSelection):
28663        (khtml::InlineTextBox::paintMarkedTextBackground):
28664        (khtml::InlineTextBox::paintDecoration):
28665        * rendering/RenderTable.h:
28666        (WebCore::RenderTable::bgColor):
28667        * rendering/RenderTableCell.cpp:
28668        (WebCore::outlineBox):
28669        (WebCore::RenderTableCell::paintBoxDecorations):
28670        * rendering/font.cpp:
28671        (khtml::Font::drawHighlightForText):
28672        (khtml::Font::drawText):
28673        * rendering/font.h:
28674        * rendering/render_box.cpp:
28675        (WebCore::RenderBox::paintRootBoxDecorations):
28676        (WebCore::RenderBox::paintBackgrounds):
28677        (WebCore::RenderBox::paintBackground):
28678        (WebCore::RenderBox::paintBackgroundExtended):
28679        (WebCore::RenderBox::outlineBox):
28680        * rendering/render_box.h:
28681        * rendering/render_flow.cpp:
28682        (RenderFlow::paintFocusRing):
28683        (RenderFlow::paintOutlineForLine):
28684        * rendering/render_form.cpp:
28685        (RenderFieldset::paintBorderMinusLegend):
28686        * rendering/render_frames.cpp:
28687        (WebCore::RenderFrameSet::userResize):
28688        * rendering/render_image.cpp:
28689        (WebCore::RenderImage::paint):
28690        * rendering/render_layer.h:
28691        * rendering/render_line.cpp:
28692        (WebCore::InlineFlowBox::paintBackgrounds):
28693        (WebCore::InlineFlowBox::paintBackground):
28694        (WebCore::InlineFlowBox::paintBackgroundAndBorder):
28695        (WebCore::InlineFlowBox::paintDecorations):
28696        (WebCore::EllipsisBox::paint):
28697        * rendering/render_line.h:
28698        * rendering/render_list.cpp:
28699        (RenderListMarker::paint):
28700        * rendering/render_object.cpp:
28701        (WebCore::RenderObject::drawBorder):
28702        (WebCore::RenderObject::paintBorder):
28703        (WebCore::RenderObject::paintOutline):
28704        (WebCore::RenderObject::selectionColor):
28705        (WebCore::RenderObject::getTextDecorationColors):
28706        * rendering/render_object.h:
28707        (WebCore::RenderObject::paintBackgroundExtended):
28708        * rendering/render_replaced.cpp:
28709        (WebCore::RenderReplaced::selectionColor):
28710        * rendering/render_replaced.h:
28711        * rendering/render_style.h:
28712        (khtml::BorderValue::isTransparent):
28713        (khtml::CollapsedBorderValue::color):
28714        (khtml::RenderStyle::hasBackground):
28715        (khtml::RenderStyle::borderLeftColor):
28716        (khtml::RenderStyle::borderRightColor):
28717        (khtml::RenderStyle::borderTopColor):
28718        (khtml::RenderStyle::borderBottomColor):
28719        (khtml::RenderStyle::outlineColor):
28720        (khtml::RenderStyle::color):
28721        (khtml::RenderStyle::backgroundColor):
28722        (khtml::RenderStyle::setBackgroundColor):
28723        (khtml::RenderStyle::setBorderLeftColor):
28724        (khtml::RenderStyle::setBorderRightColor):
28725        (khtml::RenderStyle::setBorderTopColor):
28726        (khtml::RenderStyle::setBorderBottomColor):
28727        (khtml::RenderStyle::setOutlineColor):
28728        (khtml::RenderStyle::setColor):
28729        (khtml::RenderStyle::initialColor):
28730        * rendering/render_theme.cpp:
28731        (khtml::RenderTheme::isControlStyled):
28732        * rendering/render_theme.h:
28733
287342006-01-24  Darin Adler  <darin@apple.com>
28735
28736        Reviewed by John and Anders.
28737
28738        - fix http://bugs.webkit.org/show_bug.cgi?id=6732
28739          REGRESSION: Repro crash at Google Maps
28740
28741        * khtml/ecma/JSXMLHttpRequest.cpp:
28742        (KJS::JSXMLHttpRequest::getValueProperty): Clean up a bit, using PassRefPtr where appropriate.
28743        (KJS::JSXMLHttpRequest::mark): Remove get calls now that getter functions don't return PassRefPtr.
28744        (KJS::JSXMLHttpRequest::JSXMLHttpRequest): Put the object into the DOM objects map.
28745        (KJS::JSXMLHttpRequest::~JSXMLHttpRequest): Remove the object from the DOM objects map. Also clear
28746        out both listeners so the implementation object isn't left with dangling pointers (since we won't
28747        be around to mark those objects any more).
28748        (KJS::JSXMLHttpRequestProtoFunc::callAsFunction): Tightened up the code a bit.
28749
28750        * xml/xmlhttprequest.h:
28751        * xml/xmlhttprequest.cpp:
28752        (WebCore::XMLHttpRequest::getResponseXML): Change to return just a plain old pointer. Remove
28753        the unnecessary typeIsXML boolean.
28754        (WebCore::XMLHttpRequest::onReadyStateChangeListener): Change to return just a plain old pointer.
28755        Update for name changes.
28756        (WebCore::XMLHttpRequest::setOnReadyStateChangeListener): Ditto.
28757        (WebCore::XMLHttpRequest::onLoadListener): Ditto.
28758        (WebCore::XMLHttpRequest::setOnLoadListener): Ditto.
28759        (WebCore::XMLHttpRequest::send): Protect the DOM wrapper if any as well as ourselves while
28760        the load is in progress.
28761        (WebCore::XMLHttpRequest::abort): Unprotect to balance out the above.
28762        (WebCore::XMLHttpRequest::slotFinished): Ditto.
28763
28764        * khtml/ecma/JSXMLHttpRequest.h: Just formatting changes.
28765
287662006-01-24  Darin Adler  <darin@apple.com>
28767
28768        Reviewed by Justin.
28769
28770        - fix http://bugs.webkit.org/show_bug.cgi?id=6753
28771          REGRESSION (r12282-12292): Crash loading TinyMCE test app
28772
28773        * khtml/xml/ContainerNodeImpl.h: Remove some internals that don't need
28774        to be member functions.
28775        * khtml/xml/ContainerNodeImpl.cpp:
28776        (WebCore::ContainerNodeImpl::insertBefore): Improved algorithm to keep
28777        refs to more things so that we don't end up with a dangling pointer (fixes
28778        the crash) and so that we do not crash if someone modifies the tree inside
28779        a DOM mutation event handler (theoretical only at this point, needs test
28780        cases).
28781        (WebCore::ContainerNodeImpl::replaceChild): Ditto.
28782        (WebCore::willRemoveChild): Changed from member function to free function.
28783        (WebCore::ContainerNodeImpl::removeChild): Fix potential problem if the
28784        mutation event handler moves the node into a different parent.
28785        (WebCore::ContainerNodeImpl::appendChild): Made changes like those in
28786        insertBefore above.
28787        (WebCore::dispatchChildInsertionEvents): Changed from member function to
28788        free function. Tightened up handling of some edge cases.
28789        (WebCore::dispatchChildRemovalEvents): Ditto.
28790
287912006-01-24  Darin Adler  <darin@apple.com>
28792
28793        Reviewed by John Sullivan.
28794
28795        - fix http://bugs.webkit.org/show_bug.cgi?id=6696
28796          REGRESSION: JavaScript window.opener set incorrectly
28797
28798        * khtml/ecma/kjs_window.cpp: (KJS::WindowFunc::callAsFunction):
28799        Fix local variable "frame" that was shadowing another local variable
28800        named "frame" by naming the one for the new frame "newFrame".
28801
288022006-01-24  Maciej Stachowiak  <mjs@apple.com>
28803
28804        - fix build
28805
28806        * ksvg2/scripts/make_names.pl: Update script to generate code that
28807        works with the new HashMap.
28808
288092006-01-23  Darin Adler  <darin@apple.com>
28810
28811        Reviewed by Eric.
28812
28813        - fixed a storage leak found by running run-webkit-tests fast --leak
28814
28815        * khtml/xml/dom_xmlimpl.cpp:
28816        (ProcessingInstructionImpl::checkStyleSheet): Removed bogus deref call,
28817        since the RefPtr handles it for us. Also deployed PassRefPtr in one place.
28818        (ProcessingInstructionImpl::setStyleSheet): Removed more bogus ref/deref calls.
28819
288202006-01-23  Maciej Stachowiak  <mjs@apple.com>
28821
28822        Rubber stamped by Eric.
28823
28824        - Made some functions return const AtomicString& instead of
28825        AtomicString because they could.
28826
28827        Result of Darin's and Eric's comments on the last patch.
28828
28829        * khtml/html/HTMLGenericFormElementImpl.cpp:
28830        (WebCore::HTMLGenericFormElementImpl::name):
28831        * khtml/html/HTMLGenericFormElementImpl.h:
28832        * khtml/html/HTMLInputElementImpl.cpp:
28833        (WebCore::HTMLInputElementImpl::name):
28834        * khtml/html/HTMLInputElementImpl.h:
28835
288362006-01-23  Maciej Stachowiak  <mjs@apple.com>
28837
28838        Reviewed by Eric.
28839
28840        - renamed PointerHash to PtrHash
28841        - made PtrHash the default hash function for int and pointer types that aren't further specialized
28842        - added an AtomicStringImpl class to make it easier and more typesafe to identity hash atomic strings
28843        - did appropriate consequent cleanup (very few places now need to declare a hash function)
28844        http://bugs.webkit.org/show_bug.cgi?id=6752
28845
28846        * bindings/objc/DOM.mm:
28847        * bridge/mac/WebCoreFrameBridge.mm:
28848        (-[WebCoreFrameBridge elementWithName:inForm:]):
28849        * css/cssstyleselector.cpp:
28850        (WebCore::CSSRuleSet::getIDRules):
28851        (WebCore::CSSRuleSet::getClassRules):
28852        (WebCore::CSSRuleSet::getTagRules):
28853        (WebCore::CSSRuleSet::addToRuleSet):
28854        * khtml/dom/dom_string.h:
28855        (KXMLCore::):
28856        * khtml/ecma/kjs_binding.cpp:
28857        (KJS::UString::UString):
28858        * khtml/ecma/kjs_dom.cpp:
28859        (KJS::DOMNode::mark):
28860        * khtml/ecma/kjs_html.cpp:
28861        (KJS::KJS::HTMLElement::classInfo):
28862        (KJS::HTMLElement::accessors):
28863        (KJS::HTMLElement::selectSetter):
28864        (KJS::HTMLElement::inputSetter):
28865        (KJS::HTMLElement::textAreaSetter):
28866        (KJS::HTMLElement::buttonSetter):
28867        * khtml/ecma/kjs_window.h:
28868        * khtml/editing/apply_style_command.cpp:
28869        (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
28870        * khtml/html/HTMLCollectionImpl.h:
28871        * khtml/html/HTMLElementImpl.cpp:
28872        (WebCore::HTMLElementImpl::isRecognizedTagName):
28873        (WebCore::inlineTagList):
28874        (WebCore::blockTagList):
28875        * khtml/html/HTMLFormCollectionImpl.cpp:
28876        (WebCore::HTMLFormCollectionImpl::updateNameCache):
28877        * khtml/html/HTMLGenericFormElementImpl.cpp:
28878        (WebCore::HTMLGenericFormElementImpl::name):
28879        (WebCore::HTMLGenericFormElementImpl::setName):
28880        * khtml/html/HTMLGenericFormElementImpl.h:
28881        * khtml/html/HTMLInputElementImpl.cpp:
28882        (WebCore::HTMLInputElementImpl::name):
28883        * khtml/html/HTMLInputElementImpl.h:
28884        * khtml/html/htmlfactory.cpp:
28885        (DOM::HTMLElementFactory::createHTMLElement):
28886        * khtml/html/htmlparser.cpp:
28887        (HTMLParser::isHeaderTag):
28888        (HTMLParser::isResidualStyleTag):
28889        (HTMLParser::isAffectedByResidualStyle):
28890        * khtml/xml/DocumentImpl.cpp:
28891        (WebCore::DocumentImpl::checkedRadioButtonForGroup):
28892        (WebCore::DocumentImpl::removeRadioButtonGroup):
28893        * khtml/xml/DocumentImpl.h:
28894        * khtml/xml/NodeImpl.h:
28895        * khtml/xml/dom_atomicstring.h:
28896        (DOM::AtomicString::AtomicString):
28897        (DOM::AtomicString::impl):
28898        (KXMLCore::):
28899        * khtml/xml/dom_stringimpl.cpp:
28900        (DOM::equal):
28901        * khtml/xml/dom_stringimpl.h:
28902        (KXMLCore::):
28903        * khtml/xml/xml_tokenizer.h:
28904        * ksvg2/misc/KSVGTimeScheduler.cpp:
28905        (KSVG::SVGTimer::notifyAll):
28906        * kwq/KWQKJobClasses.h:
28907        * kwq/KWQObject.cpp:
28908        * loader/CachedObject.h:
28909        * loader/CachedObjectClientWalker.h:
28910        * loader/loader.h:
28911        * page/Frame.cpp:
28912        (Frame::endAllLifeSupport):
28913        * rendering/render_canvas.cpp:
28914        (RenderCanvas::selectionRect):
28915        (RenderCanvas::setSelection):
28916        * rendering/render_canvas.h:
28917        * rendering/render_object.h:
28918        * xml/xmlhttprequest.h:
28919
289202006-01-23 Mitz Pettel  <opendarwin.org@mitzpettel.com>
28921
28922        Reviewed by Darin.
28923
28924        - fix http://bugs.webkit.org/show_bug.cgi?id=6733
28925          REGRESSION: html input doesn't honor change to value
28926
28927        * rendering/render_form.cpp: (RenderLineEdit::slotTextChanged): Made newText a
28928        DOMString. Assigning the empty DOMString to a QString and back to a DOMString
28929        resulted in a null string, which should be avoided here.
28930
28931        * khtml/dom/dom_string.cpp: (DOM::DOMString::qstring): Don't turn an empty
28932        DOMString into a null QString; make an empty QString instead.
28933
289342006-01-23  Darin Adler  <darin@apple.com>
28935
28936        Reviewed by Maciej.
28937
28938        - fix http://bugs.webkit.org/show_bug.cgi?id=6385
28939          REGRESSION: Unnamed frames return a generated name as window.frameElement.name
28940
28941        Test: fast/frames/frame-element-name.html
28942
28943        * khtml/ecma/kjs_html.cpp: (KJS::HTMLElement::getOwnPropertySlot):
28944        Remove the quirk where frame and iframe elements reflect all the
28945        properties of the window inside the frame. Testing indicates that
28946        no other browser does this -- not sure why we were doing it.
28947
289482006-01-23  Maciej Stachowiak  <mjs@apple.com>
28949
28950        Rubber stamped by Tim Hatcher.
28951
28952        - renamed insert() operation on HashSet, HashCountedSet and HashTable to add()
28953        for consistency with HashMap
28954
28955        * bridge/mac/MacFrame.mm:
28956        (MacFrame::didTellBridgeAboutLoad):
28957        * khtml/ecma/kjs_dom.cpp:
28958        (KJS::DOMNode::mark):
28959        * khtml/html/HTMLElementImpl.cpp:
28960        (WebCore::HTMLElementImpl::isRecognizedTagName):
28961        (WebCore::inlineTagList):
28962        (WebCore::blockTagList):
28963        * khtml/html/HTMLFormCollectionImpl.cpp:
28964        (WebCore::HTMLFormCollectionImpl::updateNameCache):
28965        * khtml/html/htmlparser.cpp:
28966        (HTMLParser::isHeaderTag):
28967        (HTMLParser::isResidualStyleTag):
28968        (HTMLParser::isAffectedByResidualStyle):
28969        * khtml/xml/DocumentImpl.cpp:
28970        (WebCore::DocumentImpl::addElementById):
28971        (WebCore::DocumentImpl::registerDisconnectedNodeWithEventListeners):
28972        * khtml/xml/NodeImpl.cpp:
28973        (WebCore::NodeImpl::registerNodeList):
28974        * khtml/xml/dom_atomicstring.cpp:
28975        (DOM::AtomicString::add):
28976        * khtml/xml/dom_qname.cpp:
28977        (DOM::QualifiedName::QualifiedName):
28978        * loader/CachedObject.cpp:
28979        (WebCore::CachedObject::ref):
28980        * page/Frame.cpp:
28981        (Frame::keepAlive):
28982        * rendering/render_canvas.cpp:
28983        (RenderCanvas::addWidget):
28984        * rendering/render_frames.cpp:
28985        (WebCore::RenderPartObject::updateWidget):
28986        * rendering/render_line.cpp:
28987        (WebCore::InlineFlowBox::paint):
28988        * xml/xmlhttprequest.cpp:
28989        (WebCore::XMLHttpRequest::addToRequestsByDocument):
28990
289912006-01-23  Justin Garcia  <justin.garcia@apple.com>
28992
28993        Reviewed by thatcher
28994
28995        Turned on -O2 for B&I build.
28996
28997        * WebCore.xcodeproj/project.pbxproj:
28998
289992006-01-23  Darin Adler  <darin@apple.com>
29000
29001        Reviewed by John Sullivan.
29002
29003        - fix http://bugs.webkit.org/show_bug.cgi?id=6617
29004          REGRESSION: Crash in cloneChildNodes when clicking element
29005
29006        Test: fast/dom/clone-node-form-elements-with-attr.html
29007
29008        Changed cloneNode and some other functions to return PassRefPtr.
29009        Also made m_render private and changed its name to m_renderer.
29010
29011        * bindings/objc/DOM.mm: (-[DOMNode cloneNode:]): Add call to get() needed
29012        now that cloneNode returns a PassRefPtr.
29013
29014        * khtml/editing/break_blockquote_command.cpp:
29015        (WebCore::BreakBlockquoteCommand::doApply):
29016        * khtml/editing/insert_paragraph_separator_command.cpp:
29017        (khtml::InsertParagraphSeparatorCommand::doApply):
29018        * khtml/editing/split_element_command.cpp:
29019        (khtml::SplitElementCommand::doApply):
29020        * khtml/html/htmlparser.cpp:
29021        (HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
29022        (HTMLParser::reopenResidualStyleTags):
29023        * khtml/xml/dom2_rangeimpl.cpp: (DOM::RangeImpl::processContents):
29024        * ksvg2/svg/SVGUseElementImpl.cpp: (SVGUseElementImpl::closeRenderer):
29025        Use RefPtr and PassRefPtr as appropriate, since the result of cloneNode
29026        is now a referenced object in a PassRefPtr rather than a floating one and
29027        so needs to be kept referenced until used.
29028
29029        * khtml/html/HTMLElementImpl.h:
29030        * khtml/html/HTMLElementImpl.cpp:
29031        (WebCore::HTMLElementImpl::cloneNode): Changed to return a PassRefPtr.
29032        (WebCore::HTMLElementImpl::children): Ditto.
29033        * khtml/xml/DocumentFragmentImpl.h:
29034        * khtml/xml/DocumentFragmentImpl.cpp:
29035        (DOM::DocumentFragmentImpl::cloneNode): Changed to return a PassRefPtr.
29036        * khtml/xml/DocumentImpl.h:
29037        * khtml/xml/DocumentTypeImpl.h:
29038        * khtml/xml/DocumentTypeImpl.cpp:
29039        (DOM::DocumentTypeImpl::cloneNode): Changed to return a PassRefPtr.
29040        * khtml/xml/NamedNodeMapImpl.h:
29041        (WebCore::NamedNodeMapImpl::getNamedItem): Changed to return PassRefPtr.
29042        (WebCore::NamedNodeMapImpl::removeNamedItem): Ditto.
29043        (WebCore::NamedNodeMapImpl::setNamedItemNS): Ditto.
29044
29045        * khtml/html/HTMLGenericFormElementImpl.cpp:
29046        (WebCore::HTMLGenericFormElementImpl::attach): Use renderer() instead of
29047        getting at m_render directly.
29048        (WebCore::HTMLGenericFormElementImpl::recalcStyle): Ditto.
29049        (WebCore::HTMLGenericFormElementImpl::isFocusable): Ditto.
29050        (WebCore::HTMLGenericFormElementImpl::isKeyboardFocusable): Ditto.
29051        (WebCore::HTMLGenericFormElementImpl::isMouseFocusable): Ditto.
29052        * khtml/html/HTMLInputElementImpl.cpp:
29053        (WebCore::HTMLInputElementImpl::selectionStart): Ditto.
29054        (WebCore::HTMLInputElementImpl::selectionEnd): Ditto.
29055        (WebCore::HTMLInputElementImpl::setSelectionStart): Ditto.
29056        (WebCore::HTMLInputElementImpl::setSelectionEnd): Ditto.
29057        (WebCore::HTMLInputElementImpl::select): Ditto.
29058        (WebCore::HTMLInputElementImpl::setSelectionRange): Ditto.
29059        (WebCore::HTMLInputElementImpl::parseMappedAttribute): Ditto.
29060        (WebCore::HTMLInputElementImpl::setValue): Ditto.
29061        (WebCore::HTMLInputElementImpl::defaultEventHandler): Ditto.
29062        * khtml/html/HTMLSelectElementImpl.cpp:
29063        (WebCore::HTMLSelectElementImpl::recalcStyle): Ditto.
29064        (WebCore::HTMLSelectElementImpl::setRecalcListItems): Ditto.
29065        (WebCore::HTMLSelectElementImpl::reset): Ditto.
29066        (WebCore::HTMLSelectElementImpl::notifyOptionSelected): Ditto.
29067        (WebCore::HTMLSelectElementImpl::defaultEventHandler): Ditto.
29068        * khtml/html/HTMLTextAreaElementImpl.cpp:
29069        (WebCore::HTMLTextAreaElementImpl::selectionStart): Ditto.
29070        (WebCore::HTMLTextAreaElementImpl::selectionEnd): Ditto.
29071        (WebCore::HTMLTextAreaElementImpl::setSelectionStart): Ditto.
29072        (WebCore::HTMLTextAreaElementImpl::setSelectionEnd): Ditto.
29073        (WebCore::HTMLTextAreaElementImpl::select): Ditto.
29074        (WebCore::HTMLTextAreaElementImpl::setSelectionRange): Ditto.
29075        (WebCore::HTMLTextAreaElementImpl::updateValue): Ditto.
29076        (WebCore::HTMLTextAreaElementImpl::setValue): Ditto.
29077        * khtml/html/html_baseimpl.cpp:
29078        (WebCore::HTMLFrameElementImpl::updateForNewURL): Ditto.
29079        (WebCore::HTMLFrameElementImpl::openURL): Ditto.
29080        (WebCore::HTMLFrameElementImpl::attach): Ditto.
29081        (WebCore::HTMLFrameElementImpl::close): Ditto.
29082        (WebCore::HTMLFrameElementImpl::willRemove): Ditto.
29083        (WebCore::HTMLFrameElementImpl::isFocusable): Ditto.
29084        (WebCore::HTMLFrameElementImpl::setFocus): Ditto.
29085        (WebCore::HTMLFrameElementImpl::frameWidth): Ditto.
29086        (WebCore::HTMLFrameElementImpl::frameHeight): Ditto.
29087        (WebCore::HTMLFrameSetElementImpl::defaultEventHandler): Ditto.
29088        (WebCore::HTMLFrameSetElementImpl::recalcStyle): Ditto.
29089        (WebCore::HTMLIFrameElementImpl::attach): Ditto.
29090        (WebCore::HTMLIFrameElementImpl::recalcStyle): Ditto.
29091        * khtml/html/html_imageimpl.cpp:
29092        (WebCore::HTMLImageElementImpl::parseMappedAttribute): Ditto.
29093        (WebCore::HTMLImageElementImpl::width): Ditto.
29094        (WebCore::HTMLImageElementImpl::height): Ditto.
29095        * khtml/html/html_inlineimpl.cpp:
29096        (WebCore::HTMLAnchorElementImpl::isFocusable): Ditto.
29097        * khtml/html/html_listimpl.cpp:
29098        (DOM::HTMLLIElementImpl::parseMappedAttribute): Ditto.
29099        (DOM::HTMLLIElementImpl::attach): Ditto.
29100        * khtml/html/html_objectimpl.cpp:
29101        (WebCore::HTMLAppletElementImpl::getAppletInstance): Ditto.
29102        (WebCore::HTMLAppletElementImpl::closeRenderer): Ditto.
29103        (WebCore::HTMLEmbedElementImpl::getEmbedInstance): Ditto.
29104        (WebCore::HTMLEmbedElementImpl::attach): Ditto.
29105        (WebCore::HTMLObjectElementImpl::getObjectInstance): Ditto.
29106        (WebCore::HTMLObjectElementImpl::parseMappedAttribute): Ditto.
29107        (WebCore::HTMLObjectElementImpl::attach): Ditto.
29108        (WebCore::HTMLObjectElementImpl::detach): Ditto.
29109        (WebCore::HTMLObjectElementImpl::recalcStyle): Ditto.
29110        * khtml/html/html_tableimpl.cpp:
29111        (WebCore::HTMLTableElementImpl::parseMappedAttribute): Ditto.
29112        (WebCore::HTMLTableElementImpl::attach): Ditto.
29113        * khtml/xml/ContainerNodeImpl.cpp:
29114        (WebCore::ContainerNodeImpl::getUpperLeftCorner): Ditto.
29115        (WebCore::ContainerNodeImpl::getLowerRightCorner): Ditto.
29116        (WebCore::ContainerNodeImpl::setActive): Ditto.
29117        (WebCore::ContainerNodeImpl::setHovered): Ditto.
29118        * khtml/xml/DocumentImpl.cpp:
29119        (WebCore::DocumentImpl::~DocumentImpl): Ditto.
29120        (WebCore::DocumentImpl::elementFromPoint): Ditto.
29121        (WebCore::DocumentImpl::recalcStyle): Ditto.
29122        (WebCore::DocumentImpl::attach): Ditto.
29123        (WebCore::DocumentImpl::restoreRenderer): Ditto.
29124        (WebCore::DocumentImpl::detach): Ditto.
29125        (WebCore::DocumentImpl::setVisuallyOrdered): Ditto.
29126        (WebCore::DocumentImpl::updateSelection): Ditto.
29127        (WebCore::DocumentImpl::prepareMouseEvent): Ditto.
29128        (WebCore::DocumentImpl::cloneNode): Changed to return PassRefPtr.
29129        (WebCore::DocumentImpl::recalcStyleSelector): Use renderer() instead
29130        of getting at m_render directly.
29131        (WebCore::DocumentImpl::setInPageCache): Ditto.
29132
29133        * khtml/xml/NodeImpl.h:
29134        * khtml/xml/NodeImpl.cpp:
29135        (WebCore::NodeImpl::NodeImpl): Changed m_render to m_renderer.
29136        (WebCore::NodeImpl::~NodeImpl): Changed use of m_render to renderer().
29137        (WebCore::NodeImpl::getRect): Ditto.
29138        (WebCore::NodeImpl::attach): Ditto.
29139        (WebCore::NodeImpl::detach): Ditto.
29140        (WebCore::NodeImpl::createRendererIfNeeded): Ditto.
29141        (WebCore::NodeImpl::getElementsByTagName): Changed to return PassRefPtr.
29142        (WebCore::NodeImpl::getElementsByTagNameNS): Ditto.
29143
29144        * khtml/xml/dom_elementimpl.h:
29145        * khtml/xml/dom_elementimpl.cpp:
29146        (WebCore::AttrImpl::cloneNode): Changed to return PassRefPtr.
29147        (WebCore::ElementImpl::cloneNode): Ditto.
29148        (WebCore::ElementImpl::scrollIntoView): Use renderer() instead of m_render.
29149        (WebCore::ElementImpl::scrollIntoViewIfNeeded): Ditto.
29150        (WebCore::ElementImpl::recalcStyle): Ditto.
29151        (WebCore::ElementImpl::setAttributeNode): Changed to return PassRefPtr.
29152        (WebCore::ElementImpl::removeAttributeNode): Ditto.
29153        (WebCore::NamedAttrMapImpl::removeNamedItemNS): Ditto.
29154        (WebCore::NamedAttrMapImpl::setNamedItem): Ditto.
29155        (WebCore::NamedAttrMapImpl::removeNamedItem): Ditto.
29156        (DOM::ElementImpl::setAttributeNodeNS): Ditto.
29157
29158        * khtml/xml/dom_textimpl.h:
29159        * khtml/xml/dom_textimpl.cpp:
29160        (CharacterDataImpl::setData): Changed use of m_render to renderer().
29161        (CharacterDataImpl::appendData): Ditto.
29162        (CharacterDataImpl::insertData): Ditto.
29163        (CharacterDataImpl::deleteData): Ditto.
29164        (CharacterDataImpl::replaceData): Ditto.
29165        (CommentImpl::cloneNode): Changed to return PassRefPtr.
29166        (TextImpl::splitText): Changed use of m_render to renderer().
29167        (TextImpl::cloneNode): Changed to return PassRefPtr.
29168        (TextImpl::recalcStyle): Changed use of m_render to renderer().
29169        (CDATASectionImpl::cloneNode): Changed to return PassRefPtr.
29170
29171        * khtml/xml/dom_xmlimpl.h:
29172        * khtml/xml/dom_xmlimpl.cpp:
29173        (DOM::EntityImpl::cloneNode): Changed to return PassRefPtr.
29174        (DOM::EntityReferenceImpl::cloneNode): Ditto.
29175        (DOM::NotationImpl::cloneNode): Ditto.
29176        (DOM::ProcessingInstructionImpl::cloneNode): Ditto.
29177
29178        - removed unused code
29179
29180        * khtml/html/html_documentimpl.cpp: Removed unused slotHistoryChanged function.
29181        * khtml/html/html_documentimpl.h: Ditto.
29182        * kwq/KWQObject.cpp: (QObject::connect): Removed special case for
29183        slotHistoryChanged, no longer used.
29184
29185        - fixed storage leak
29186
29187        * bridge/mac/MacFrame.mm: (MacFrame::~MacFrame): Delete window widget.
29188
291892006-01-23  Anders Carlsson  <andersca@mac.com>
29190
29191        Forgot to add this as part of
29192        http://bugs.webkit.org/show_bug.cgi?id=3869
29193
29194        * manual-tests/resources/webkit-background.png: Added.
29195
291962006-01-22  Darin Adler  <darin@apple.com>
29197
29198        - fix layout tests
29199
29200        * rendering/RenderTable.cpp: (WebCore::RenderTable::addChild): Added
29201        missing code to set wrapInAnonymousSection false in the case where
29202        adding a footer.
29203
292042006-01-22  Maciej Stachowiak  <mjs@apple.com>
29205
29206        Reviewed by Darin.
29207
29208        - Set up Page class and invert Frame / WebCoreFrameBridge ownership
29209        http://bugs.webkit.org/show_bug.cgi?id=6577
29210
29211        * bridge/mac/MacFrame.h:
29212        * bridge/mac/MacFrame.mm:
29213        (MacFrame::MacFrame): Initialize _bridge
29214        (MacFrame::~MacFrame): Clear the bridge's frame pointer and release it.
29215        (Frame::frameDetached): Reverse order of removing from old-style frames
29216        array and calling frameDetached.
29217        (MacFrame::createPart): Don't ref the part when creating it, since the child
29218        bridge is no longer going to own a ref.
29219        (MacFrame::setBridge): KWQRetain / KWQRelease since we know own the bridge.
29220        (MacFrame::detachFromView): New method; clear out the view.
29221        * bridge/mac/WebCoreFrameBridge.h:
29222        * bridge/mac/WebCoreFrameBridge.mm:
29223        (Bridge): Helper method to get a WebCoreFrameBridge from a Frame.
29224        (-[WebCoreFrameBridge firstChild]): Call through Frame.
29225        (-[WebCoreFrameBridge lastChild]): ditto
29226        (-[WebCoreFrameBridge childCount]): ditto
29227        (-[WebCoreFrameBridge previousSibling]): ditto
29228        (-[WebCoreFrameBridge nextSibling]): ditto
29229        (-[WebCoreFrameBridge isDescendantOfFrame:]): No need to cast parent
29230        pointer.
29231        (-[WebCoreFrameBridge appendChild:]): Call through Frame.
29232        (-[WebCoreFrameBridge _clearRenderPart]): New helper method to free
29233        the renderPart when removing a child.
29234        (-[WebCoreFrameBridge removeChild:]): Clear child's render part
29235        and call through to Frame.
29236        (-[WebCoreFrameBridge dealloc]): Remove unneeded m_frame-related code.
29237        (-[WebCoreFrameBridge finalize]): ditto
29238        (-[WebCoreFrameBridge clearFrame]): New helper method, needed now that
29239        bridge can outlive frame.
29240        (-[WebCoreFrameBridge handleFallbackContent]): Make safe against a null
29241        frame.
29242        (-[WebCoreFrameBridge removeFromFrame]): ditto
29243        * bridge/mac/WebCorePageBridge.h:
29244        * bridge/mac/WebCorePageBridge.mm:
29245        (-[WebCorePageBridge initWithMainFrame:]): Create a Page instance.
29246        (-[WebCorePageBridge dealloc]): Delete the Page.
29247        (-[WebCorePageBridge mainFrame]): Get the main frame from the Page.
29248        * khtml/ecma/kjs_binding.cpp:
29249        (KJS::ScriptInterpreter::globalExec): Override; keep frame alive, then
29250        call superclass.
29251        * khtml/ecma/kjs_binding.h:
29252        * khtml/ecma/kjs_proxy.cpp:
29253        (KJSProxyImpl::clear): Don't pass exec to window.
29254        (KJSProxyImpl::interpreter): Don't do keepAlive.
29255        * khtml/ecma/kjs_window.cpp:
29256        (KJS::Window::isSafeScript): If the active part's document is gone, use the frame's
29257        URL for security check purposes.
29258        (KJS::Window::clear): Don't take an ExecState parameter any more - it
29259        wasn't used.
29260        * khtml/ecma/kjs_window.h:
29261        * khtml/xml/DocumentImpl.cpp:
29262        (WebCore::DocumentImpl::implicitOpen): If we've got a tokenizer, delete
29263        it before closing - you don't ever want to fire an onload handler because of
29264        an open.
29265        * page/Frame.cpp:
29266        (Frame::init): Pass `this' to FramePrivate constructor.
29267        (FrameCounter::~FrameCounter): Added debug counting of leftover
29268        Frame objects on exit.
29269        (Frame::Frame): Moved out-of-line. Increment debug counter.
29270        (Frame::~Frame): Assert that there is no life support going, either at the
29271        start or end of this method. Decrement frame counter.
29272        (Frame::stopLoading): tweaked for the fact that ChildFrame::m_frame is now
29273        a RefPtr.
29274        (Frame::clear): ditto
29275        (Frame::stop): ditto
29276        (Frame::stopAnimations): ditto
29277        (Frame::checkEmitLoadEvent): ditto
29278        (Frame::processObjectRequest): ditto
29279        (Frame::childFrame): ditto
29280        (Frame::findFrame): ditto
29281        (Frame::setZoomFactor): ditto
29282        (Frame::frames): ditto
29283        (Frame::connectChild): ditto
29284        (Frame::disconnectChild): ditto
29285        (Frame::endAllLifeSupport): Method that, in debug mode, will clear
29286        all life suppor timers so the Frame exit counter works.
29287        (Frame::keepAlive): In debug mode, add proper support for
29288        endAllLifeSupport
29289        (Frame::slotEndLifeSupport): ditto
29290        (Frame::setPolicyBaseURL): Update for the fact that ChildFrame::m_frame is now
29291        a RefPtr.
29292        (Frame::treeNode): New helper method, get the FrameTreeNode class that implements
29293        frame tree traversal.
29294        (Frame::nextSibling): Simple wrapper that calls through to treeNode().
29295        (Frame::previousSibling): ditto
29296        (Frame::firstChild): ditto
29297        (Frame::lastChild): ditto
29298        (Frame::childCount): ditto
29299        (Frame::appendChild): ditto
29300        (Frame::removeChild): ditto
29301        (Frame::detachFromView): no-op, just a virtual base for the MAcFrame method.
29302        * page/Frame.h:
29303        * page/FramePrivate.h:
29304        (FramePrivate::FramePrivate): Add FrameTreeNode member.
29305        * page/FrameTreeNode.cpp: Added.
29306        (FrameTreeNode::~FrameTreeNode): detach all children from their view
29307        (FrameTreeNode::appendChild): implemented
29308        (FrameTreeNode::removeChild): implemented - make sure to detach child
29309        from its view.
29310        * page/FrameTreeNode.h: Added.
29311        (FrameTreeNode::FrameTreeNode): New; initialize fields tht need it.
29312        (FrameTreeNode::nextSibling): Trivial inline.
29313        (FrameTreeNode::previousSibling): ditto
29314        (FrameTreeNode::firstChild): ditto
29315        (FrameTreeNode::lastChild): ditto
29316        (FrameTreeNode::childCount): ditto
29317        * page/Page.cpp: Added.
29318        (Page::Page): Initialize mainFrame and bump pageCount appropriately.
29319        (Page::~Page): Detach main frame from view, handle ending life support
29320        when last frame is destroyed.
29321        * page/Page.h: Added.
29322        (Page::mainFrame): Trivial inline.
29323        * WebCore.xcodeproj/project.pbxproj: Add new files.
29324
293252006-01-22  Darin Adler  <darin@apple.com>
29326
29327        * Info.plist: Updated Apple copyright date. Need to update others
29328        too at some point.
29329
29330        * WebCore-svg.exp: Removed unused empty file.
29331
293322006-01-22  Eric Seidel  <eseidel@apple.com>
29333
29334        Reviewed by darin.
29335
29336        Make <animateColor> work again (broke during DOM merger).
29337        http://bugs.webkit.org/show_bug.cgi?id=5964
29338
29339        No layout test possible.
29340
29341        * WebCore.xcodeproj/project.pbxproj:
29342        * kcanvas/device/quartz/KCanvasItemQuartz.h:
29343        * kcanvas/device/quartz/KCanvasItemQuartz.mm:
29344        (KCanvasItemQuartz::getAbsoluteRepaintRect): moved to .cpp file
29345        * khtml/xml/DocumentImpl.cpp:
29346        (WebCore::DocumentImpl::implicitClose): start svg animations
29347        (WebCore::DocumentImpl::svgExtensions): svg document extensions
29348        (WebCore::DocumentImpl::accessSVGExtensions): svg doc extensions
29349        * khtml/xml/DocumentImpl.h:
29350        * ksvg2/css/SVGCSSStyleSelector.cpp:
29351        (KDOM::CSSStyleSelector::applySVGProperty):
29352        * ksvg2/svg/SVGAElementImpl.cpp:
29353        (SVGAElementImpl::defaultEventHandler): cleanup
29354        * ksvg2/svg/SVGAnimateColorElementImpl.cpp:
29355        (SVGAnimateColorElementImpl::handleTimerEvent): update css lookup
29356        * ksvg2/svg/SVGAnimateElementImpl.cpp:
29357        (SVGAnimateElementImpl::handleTimerEvent): fix css property lookup
29358        * ksvg2/svg/SVGAnimateTransformElementImpl.cpp:
29359        (SVGAnimateTransformElementImpl::handleTimerEvent):
29360        * ksvg2/svg/SVGAnimationElementImpl.cpp:
29361        (SVGAnimationElementImpl::closeRenderer): use doc extensions
29362        (SVGAnimationElementImpl::targetAttribute): fix css properties
29363        (SVGAnimationElementImpl::setTargetAttribute): fix css properties
29364        * ksvg2/svg/SVGDocumentImpl.cpp:
29365        (SVGDocumentImpl::svgView): remove unnecessary static cast
29366        (SVGDocumentImpl::executeScripts):
29367        * ksvg2/svg/SVGDocumentImpl.h:
29368        * ksvg2/svg/SVGElementImpl.cpp:
29369        (WebCore::SVGElementImpl::addSVGEventListener): helper function
29370        (WebCore::SVGElementImpl::parseMappedAttribute): use helper
29371        * ksvg2/svg/SVGElementImpl.h:
29372        * ksvg2/svg/SVGGElementImpl.cpp:
29373        * ksvg2/svg/SVGGElementImpl.h:
29374        * ksvg2/svg/SVGSVGElementImpl.cpp:
29375        (WebCore::SVGSVGElementImpl::SVGSVGElementImpl):
29376        (WebCore::SVGSVGElementImpl::~SVGSVGElementImpl):
29377        (WebCore::SVGSVGElementImpl::addSVGWindowEventListner): helper
29378        (WebCore::SVGSVGElementImpl::parseMappedAttribute): use helper
29379        * ksvg2/svg/SVGSVGElementImpl.h:
29380        * ksvg2/svg/SVGSetElementImpl.cpp:
29381        (SVGSetElementImpl::handleTimerEvent): use doc extensions
29382        * ksvg2/svg/SVGStyledElementImpl.h:
29383        * page/Frame.cpp:
29384        (Frame::pauseTimeouts): pause svg animation
29385        (Frame::resumeTimeouts): resume svg animation
29386        * rendering/render_canvas.h:
29387
293882006-01-22  Darin Adler  <darin@apple.com>
29389
29390        - fix deployment builds
29391
29392        * rendering/RenderTable.cpp: (WebCore::RenderTable::addChild): Init bool.
29393
293942006-01-22  Darin Adler  <darin@apple.com>
29395
29396        Reviewed by Maciej.
29397
29398        - fix http://bugs.webkit.org/show_bug.cgi?id=5731
29399          Form element as display table-cell hangs Safari (will eventually crash)
29400
29401        Test: fast/table/form-with-table-style.html
29402
29403        Hang was caused by the fact that RenderContainer has code to wrap table
29404        styled elements in appropriate anonymous table elements, but the table
29405        elements themselves have a special case for form elements that causes them
29406        to call through, which led to infinite recursion as RenderContainer kept
29407        making new tables which kept calling through to RenderContainer::addChild.
29408
29409        * rendering/RenderTable.cpp:
29410        (WebCore::RenderTable::addChild): Improved logic about wrapping children
29411        in anonymous table sections in the following ways: (1) Do wrap a form
29412        properly it has a table display style (such as table-cell or table-row).
29413        (2) When an item has a particular display style, check that it has the
29414        right type of render object before casting it to that type. Also
29415        restructured the code a little to make it slightly more readable.
29416        (WebCore::RenderTable::layout): Added a FIXME about forms that have a
29417        display style that makes it a table section, since they will be skipped
29418        here in the loop to lay children out.
29419        (WebCore::RenderTable::recalcSections): Added checks similar to the ones
29420        in addChild above.
29421
29422        * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::addChild):
29423        Moved form tag logic inside render object type check so that a table row
29424        that happens to be a form element won't be affected by the special form
29425        tag logic. Also added an explicit check for the table-cell style so we
29426        will wrap it in a row rather than just putting the form at this level.
29427
29428        * rendering/RenderTableRow.h: Removed removeChildNode and dump functions
29429        that just called through to the base class.
29430        * rendering/RenderTableRow.cpp: (WebCore::RenderTableRow::addChild):
29431        Moved form tag logic inside render object type check so that a table cell
29432        that happens to be a form element won't be affected by the special form
29433        tag logic. Removed unnecessary null check of section() at end of function.
29434
29435        * rendering/RenderTableCol.h: Removed addChild because all it did was
29436        assert (incorrectly) and then call through to the base class. Changed
29437        _span to be m_span.
29438        * rendering/RenderTableCol.cpp: Removed addChild function. Updated for
29439        change in name of m_span field.
29440
294412006-01-22  Darin Adler  <darin@apple.com>
29442
29443        Reviewed by Maciej.
29444
29445        - fix http://bugs.webkit.org/show_bug.cgi?id=3518
29446          REGRESSION (312-412): mojibake left behind when scrolling a clipped <select>
29447
29448        * kwq/KWQListBox.mm: (QListBox::QListBox): Call setCopiesOnScroll:NO.
29449        * kwq/KWQTextArea.mm: (-[KWQTextArea initWithFrame:]): Ditto.
29450
294512006-01-22  David Kilzer  <ddkilzer@kilzer.net>
29452
29453        Reviewed by Maciej.
29454
29455        - fix for http://bugs.webkit.org/show_bug.cgi?id=5656
29456        REGRESSION: Buttons on Yahoo! Mail misplaced in ToT
29457        <rdar://problem/4404335>
29458        Tests whether white-space mode on buttons is inheritied and not forced.
29459        Originally broken in Subversion revision r10909.
29460
29461        * css/html4.css: Remove default white-space value for <button> tag to
29462        allow it to be inherited.
29463        * rendering/render_theme_mac.mm:
29464        (khtml::RenderThemeMac::adjustButtonStyle): Fix misleading comment.
29465
29466        * css/UserAgentStyleSheets.cpp: Touched this file to make the rebuild
29467        of html4.css work (shouldn't have to do this).
29468
294692006-01-22  Darin Adler  <darin@apple.com>
29470
29471        * css/make-css-file-arrays.pl: Fix typo that was resulting in a bunch
29472        of whitespace that was supposed to go into a derived source file going
29473        to the console instead.
29474
294752006-01-22  Eric Seidel  <eseidel@apple.com>
29476
29477        Reviewed by darin.
29478
29479        SVG needs to support "evt" instead of "event" in event handlers.
29480        http://bugs.webkit.org/show_bug.cgi?id=5874
29481
29482        Test: svg/custom/evt-onload.svg
29483
29484        * WebCore.xcodeproj/project.pbxproj: added new classes
29485        * khtml/ecma/kjs_events.cpp:
29486        * khtml/ecma/kjs_events.h:
29487        * khtml/ecma/kjs_proxy.cpp:
29488        (WebCore::KJSProxyImpl::createHTMLEventHandler): simplified
29489        (WebCore::KJSProxyImpl::createSVGEventHandler): new
29490        * khtml/ecma/kjs_proxy.h:
29491        * khtml/ecma/kjs_window.cpp:
29492        * khtml/ecma/kjs_window.h:
29493        * khtml/xml/DocumentImpl.cpp:
29494        (WebCore::DocumentImpl::createHTMLEventListener): simplified
29495        (WebCore::DocumentImpl::createSVGEventListener): new
29496        * khtml/xml/DocumentImpl.h:
29497        * khtml/xml/NodeImpl.cpp:
29498        (WebCore::NodeImpl::dispatchEvent): use RefPtr
29499        * ksvg2/events/JSSVGLazyEventListener.cpp: Added.
29500        (WebCore::JSSVGLazyEventListener::JSSVGLazyEventListener): added.
29501        (WebCore::JSSVGLazyEventListener::eventParameterName): added.
29502        * ksvg2/events/JSSVGLazyEventListener.h: Added.
29503        * ksvg2/svg/SVGElementImpl.cpp:
29504        (SVGElementImpl::parseMappedAttribute): use new SVG event handler
29505        * ksvg2/svg/SVGSVGElementImpl.cpp:
29506        (SVGSVGElementImpl::parseMappedAttribute): use new SVG event handler
29507        * page/Frame.cpp: updated KJSProxyImpl namespace
29508        * page/Frame.h: updated KJSProxyImpl namespace
29509        * page/FramePrivate.h: updated KJSProxyImpl namespace
29510
295112006-01-22  Darin Adler  <darin@apple.com>
29512
29513       Reviewed by Maciej.
29514
29515       - fix http://bugs.webkit.org/show_bug.cgi?id=3508
29516         REGRESSION (125-412): problem with negative margin-top and position: absolute (vre.aitg.com)
29517         <rdar://problem/4093277> REGRESSION (125-312): layout problem at vre.aitg.com (3508)
29518
29519       Test: fast/css/position-negative-top-margin.html
29520
29521       * rendering/RenderBlock.cpp: (WebCore::RenderBlock::adjustPositionedBlock):
29522       Fixed two different problems that contributed to the bug: (1) Added a call to calcVerticalMargins
29523       otherwise the margin will always be 0. (2) Corrected logic for the negative margin case, which
29524       was comparing a negative margin-top to a number representing the absolute value of the margin.
29525
295262006-01-22  Alexey Proskuryakov  <ap@nypop.com>
29527
29528        Reviewed by Darin.
29529
29530       - fix http://bugs.webkit.org/show_bug.cgi?id=3702
29531         Web page is laid out incorrectly after printing with print-specific style sheet.
29532         <rdar://problem/3706259> Web page distorts after printing with print-specific style sheet (3702)
29533
29534        Also replaced tabs with spaces in the changed files.
29535
29536        Test cases:
29537        * fast/table/append-cells.html
29538        * fast/table/append-cells2.html
29539        * fast/table/remove-td-display-none.html
29540
29541        * rendering/RenderTable.cpp:
29542        (WebCore::RenderTable::recalcSections): Shrink columns and columnPos to the
29543          actual number of columns.
29544
29545        * rendering/RenderTableSection.cpp:
29546        (WebCore::RenderTableSection::numColumns): New function.
29547        (WebCore::RenderTableSection::dump): Use gridRows instead of grid.size() for row count,
29548          preventing crashes.
29549
29550        * rendering/RenderTableSection.h: Added numColumns() and a comment about cCol/cRow.
29551
295522006-01-22  Darin Adler  <darin@apple.com>
29553
29554        Reviewed by Anders.
29555
29556        - http://bugs.webkit.org/show_bug.cgi?id=6705
29557          use PassRefPtr in more of the basic DOM operations
29558
29559        Once we do the same with cloneNode, I believe we'll fix one of our P1 bugs,
29560        but cloneNode was a little too much to do without doing this first pass.
29561
29562        * khtml/xml/NodeImpl.cpp:
29563        (WebCore::NodeImpl::childNodes): Updated for parameter changes.
29564        (WebCore::NodeImpl::insertBefore): Ditto.
29565        (WebCore::NodeImpl::replaceChild): Ditto.
29566        (WebCore::NodeImpl::removeChild): Ditto.
29567        (WebCore::NodeImpl::appendChild): Ditto.
29568        (WebCore::NodeImpl::addChild): Ditto.
29569        (WebCore::NodeImpl::addEventListener): Ditto.
29570        (WebCore::NodeImpl::setHTMLEventListener): Ditto.
29571        (WebCore::NodeImpl::isDefaultNamespace): Updated for changed name of ancestorElement.
29572        (WebCore::NodeImpl::lookupPrefix): Ditto.
29573        (WebCore::NodeImpl::lookupNamespaceURI): Ditto.
29574        (WebCore::NodeImpl::lookupNamespacePrefix): Ditto.
29575        (WebCore::NodeImpl::ancestorElement): Changed name from getAncestorElement.
29576        * khtml/xml/NodeImpl.h: Changed most functions where it makes sense to take and return
29577        PassRefPtr instead of raw pointers. Even non-obvious cases like appendChild, where the
29578        return value has to be PassRefPtr only because it might be removed when the JavaScript
29579        triggered by the DOM mutation event runs (normally, there's no need to return an "owning"
29580        pointer because the tree now owns the newly-inserted node). Made the ancestorElement
29581        function private.
29582
29583        * khtml/xml/ContainerNodeImpl.cpp:
29584        (WebCore::ContainerNodeImpl::ContainerNodeImpl): Updated for changes from
29585        _first to m_firstChild and _last to m_lastChild.
29586        (WebCore::ContainerNodeImpl::removeAllChildren): Ditto.
29587        (WebCore::ContainerNodeImpl::firstChild): Ditto.
29588        (WebCore::ContainerNodeImpl::lastChild): Ditto.
29589        (WebCore::ContainerNodeImpl::insertBefore): Updated for parameter changes.
29590        (WebCore::ContainerNodeImpl::replaceChild): Ditto.
29591        (WebCore::ContainerNodeImpl::willRemove): Updated for m_lastChild.
29592        (WebCore::ContainerNodeImpl::removeChild): Updated for parameter changes.
29593        (WebCore::ContainerNodeImpl::removeChildren): Updated for m_first/lastChild.
29594        (WebCore::ContainerNodeImpl::appendChild): Updated for parameter changes.
29595        (WebCore::ContainerNodeImpl::hasChildNodes): Updated for m_firstChild.
29596        (WebCore::ContainerNodeImpl::addChild): Updated for parameter changes.
29597        (WebCore::ContainerNodeImpl::attach): Updated for m_firstChild.
29598        (WebCore::ContainerNodeImpl::detach): Ditto.
29599        (WebCore::ContainerNodeImpl::insertedIntoDocument): Ditto.
29600        (WebCore::ContainerNodeImpl::removedFromDocument): Ditto.
29601        (WebCore::ContainerNodeImpl::insertedIntoTree): Ditto.
29602        (WebCore::ContainerNodeImpl::removedFromTree): Ditto.
29603        * khtml/xml/ContainerNodeImpl.h: Removed unused checkSameDocument and checkIsChild.
29604        Made more things private, updated parameters for NodeImpl functions.
29605
29606        * khtml/html/HTMLSelectElementImpl.cpp:
29607        (DOM::HTMLSelectElementImpl::insertBefore): Ditto.
29608        (DOM::HTMLSelectElementImpl::replaceChild): Ditto.
29609        (DOM::HTMLSelectElementImpl::removeChild): Ditto.
29610        (DOM::HTMLSelectElementImpl::appendChild): Ditto.
29611        (DOM::HTMLSelectElementImpl::addChild): Ditto.
29612        * khtml/html/HTMLSelectElementImpl.h: Ditto.
29613
29614        * khtml/html/HTMLOptGroupElementImpl.cpp:
29615        (WebCore::HTMLOptGroupElementImpl::insertBefore): Updated for parameter type change.
29616        Also changed to look at return value, not exception code, to check for success.
29617        (WebCore::HTMLOptGroupElementImpl::replaceChild): Ditto.
29618        (WebCore::HTMLOptGroupElementImpl::removeChild): Ditto.
29619        (WebCore::HTMLOptGroupElementImpl::appendChild): Ditto.
29620        (WebCore::HTMLOptGroupElementImpl::addChild): Ditto.
29621        * khtml/html/HTMLOptGroupElementImpl.h: Ditto.
29622
29623        * WebCore+SVG/kdom.h: Renamed enum from ExceptionCode to ExceptionCodes
29624        to avoid conflict with a typedef ExceptionCode I added.
29625
29626        * bindings/objc/DOM.mm:
29627        (-[DOMNode insertBefore::]): Added get() call since return value is a PassRefPtr.
29628        (-[DOMNode replaceChild::]): Ditto.
29629        (-[DOMNode removeChild:]): Ditto.
29630        (-[DOMNode appendChild:]): Ditto.
29631
29632        * khtml/ecma/kjs_dom.h: Changed getDOMNode to take PassRefPtr.
29633        * khtml/ecma/kjs_dom.cpp: (KJS::getDOMNode): Changed to take PassRefPtr.
29634
29635        * khtml/html/HTMLElementImpl.cpp: Added dom2_events.h include, now needed.
29636        Re-sorted includes.
29637        * ksvg2/svg/SVGElementImpl.cpp: Ditto.
29638
29639        * khtml/html/html_documentimpl.cpp: (WebCore::HTMLDocumentImpl::documentElement):
29640        Changed access to now-private data member _first to equivalent inline function
29641        fastFirstChild().
29642        * khtml/xml/DocumentImpl.cpp: (WebCore::DocumentImpl::recalcStyle): Ditto.
29643        * khtml/xml/dom_elementimpl.cpp: (WebCore::ElementImpl::recalcStyle): Ditto.
29644
29645        * khtml/html/html_tableimpl.cpp:
29646        (WebCore::HTMLTableElementImpl::setCaption): Updated to work with new replaceChild
29647        that returns PassRefPtr.
29648        (WebCore::HTMLTableElementImpl::setTHead): Ditto.
29649        (WebCore::HTMLTableElementImpl::setTFoot): Ditto.
29650        (WebCore::HTMLTableElementImpl::setTBody): Ditto.
29651        (WebCore::HTMLTableElementImpl::addChild): Updated for parameter type change.
29652        (WebCore::HTMLTableSectionElementImpl::addChild): Ditto.
29653        (WebCore::HTMLTableRowElementImpl::addChild): Ditto.
29654        * khtml/html/html_tableimpl.h: Ditto.
29655
29656        * khtml/html/htmlparser.cpp: (HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
29657        Removed an unneeded explicit call to removeChild. appendChild already takes care of
29658        removing the child from its own location. This avoids the fact that removeChild was
29659        removing the parent, the only thing keeping the node alive. This is sort of the
29660        "flip side" of our removeChild leaks -- code that depended on the behavior that
29661        caused the leaks.
29662
29663        * khtml/xml/xml_tokenizer.cpp: (WebCore::XMLTokenizer::startElementNs):
29664        Removed unneeded isHTMLElement() calls from before the "qualified name" change.
29665
296662006-01-22  Eric Seidel  <eseidel@apple.com>
29667
29668        Rubber-stamped by anders.
29669
29670        Remove WebCore-no-SVG target and wrap files in #if SVG_SUPPORT
29671        http://bugs.webkit.org/show_bug.cgi?id=6633
29672
296732006-01-22  Alexey Proskuryakov  <ap@nypop.com>
29674
29675        Reviewed by Maciej.
29676
29677        - http://bugs.webkit.org/show_bug.cgi?id=6642
29678          Split XMLHttpRequest class into JS binding and implementation
29679
29680        * WebCore.xcodeproj/project.pbxproj: Adjusted for moved and renamed files.
29681        New group "xml" to match directory structure.
29682        * xml: Added.
29683        * khtml/ecma/JSXMLHttpRequest.cpp: Added.
29684        * khtml/ecma/JSXMLHttpRequest.h: Added.
29685        * khtml/ecma/xmlhttprequest.cpp: Removed.
29686        * khtml/ecma/xmlhttprequest.h: Removed.
29687        * xml/xmlhttprequest.cpp: Added.
29688        * xml/xmlhttprequest.h: Added.
29689        * khtml/ecma/kjs_binding.cpp:
29690        (KJS::jsStringOrUndefined): Moved from kjs_events.cpp.
29691        * khtml/ecma/kjs_binding.h: Added prototype for jsStringOrUndefined().
29692        * khtml/ecma/kjs_events.cpp: Removed jsStringOrUndefined().
29693        * khtml/ecma/kjs_window.cpp:
29694        (KJS::Window::getValueProperty): Use new class name for JSXMLHttpRequest.
29695        * kwq/KWQSlot.cpp: XMLHttpRequestQObject is now in WebCore, not KJS.
29696        * page/Frame.cpp:
29697        (Frame::stopLoading): XMLHttpRequest is now in WebCore, not KJS.
29698
296992006-01-22  Alexander Kellett  <lypanov@kde.org>
29700
29701        Reviewed by eseidel.  Landed by eseidel.
29702
29703        Add support for custom fill/strokes on text.
29704        http://bugs.webkit.org/show_bug.cgi?id=6448
29705
29706        40+ layout tests already cover this.
29707
29708        * kcanvas/RenderSVGText.cpp:
29709        (RenderSVGText::paint): use new painter setup/teardown infrastructure
29710        * kcanvas/device/KRenderingPaintServer.h:
29711        (KRenderingPaintServer::KRenderingPaintServer):
29712        (KRenderingPaintServer::setup):
29713        (KRenderingPaintServer::render):
29714        (KRenderingPaintServer::teardown):
29715        (KRenderingPaintServer::isPaintingText):
29716        (KRenderingPaintServer::setPaintingText):
29717        * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
29718        (setupShadingWithStyle):
29719        (renderShadingWithStyle):
29720        (teardownShadingWithStyle):
29721        (KRenderingPaintServerLinearGradientQuartz::draw):
29722        (KRenderingPaintServerLinearGradientQuartz::setup):
29723        (KRenderingPaintServerLinearGradientQuartz::render):
29724        (KRenderingPaintServerLinearGradientQuartz::teardown):
29725        (KRenderingPaintServerRadialGradientQuartz::draw):
29726        (KRenderingPaintServerRadialGradientQuartz::setup):
29727        (KRenderingPaintServerRadialGradientQuartz::render):
29728        (KRenderingPaintServerRadialGradientQuartz::teardown):
29729        * kcanvas/device/quartz/KRenderingPaintServerQuartz.h:
29730        (KRenderingPaintServerPatternQuartz::KRenderingPaintServerPatternQuartz):
29731        * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
29732        (KRenderingPaintServerQuartzHelper::strokePath):
29733        (KRenderingPaintServerQuartzHelper::clipToStrokePath):
29734        (KRenderingPaintServerQuartzHelper::fillPath):
29735        (KRenderingPaintServerQuartzHelper::clipToFillPath):
29736        (KRenderingPaintServerSolidQuartz::draw):
29737        (KRenderingPaintServerSolidQuartz::setup):
29738        (KRenderingPaintServerSolidQuartz::render):
29739        (KRenderingPaintServerSolidQuartz::teardown):
29740        (KRenderingPaintServerPatternQuartz::draw):
29741        (KRenderingPaintServerPatternQuartz::setup):
29742        (KRenderingPaintServerPatternQuartz::render):
29743        (KRenderingPaintServerPatternQuartz::teardown):
29744        * kcanvas/device/quartz/QuartzSupport.h: fix prototype
29745        * kcanvas/device/quartz/QuartzSupport.mm:
29746        (applyStrokeStyleToContext):
29747        * ksvg2/misc/KCanvasRenderingStyle.cpp:
29748        (KSVGPainterFactory::fillPaintServer):
29749        (KSVGPainterFactory::strokePaintServer):
29750        (KSVGPainterFactory::cssPrimitiveToLength):
29751        (KSVGPainterFactory::strokePainter):
29752        (KSVGPainterFactory::fillPainter):
29753        * ksvg2/misc/KCanvasRenderingStyle.h:
29754
297552006-01-21  Mitz Pettel  <opendarwin.org@mitzpettel.com>
29756
29757        Reviewed by Darin.
29758
29759        - fix http://bugs.webkit.org/show_bug.cgi?id=3509
29760          REGRESSION(125-412) Portion of nested table is not painted correctly on cafepress site
29761          <rdar://problem/4039615> REGRESSION(125-188) Portion of nested table is not painted correctly on cafepress site
29762
29763        * manual-tests/bugzilla-3509.html: Added.
29764        * rendering/RenderBlock.cpp:
29765        (WebCore::RenderBlock::layoutBlockChildren): Force repaint if the child didn't move but
29766        didn't repaint correctly during layout because it was not at its final position then.
29767
297682006-01-21  Anders Carlsson  <andersca@mac.com>
29769
29770        Reviewed by Darin.
29771
29772        http://bugs.webkit.org/show_bug.cgi?id=3869
29773        Should use HTML Image element instead of JS Image object
29774        <rdar://problem/3852987> JavaScript image.complete property never returns true (3869)
29775
29776        * khtml/ecma/kjs_events.cpp:
29777        (KJS::ClipboardProtoFunc::callAsFunction):
29778        Don't check Image object. Instead, if the element passed in
29779        is an image element which isn't in any document, use its pixmap.
29780
29781        * khtml/ecma/kjs_html.cpp:
29782        (KJS::HTMLElement::imageGetter):
29783        Add complete.
29784
29785        (KJS::ImageConstructorImp::construct):
29786        Take a QPixmap instead of an Image.
29787
29788        (KJS::KJS::Context2DFunction::callAsFunction):
29789        Remove usage of Image and use HTMLImageElementImpl instead.
29790
29791        * khtml/ecma/kjs_html.h:
29792        Remove Image class.
29793
29794        (KJS::HTMLElement::):
29795        Add ImgComplete.
29796
29797        * khtml/html/html_imageimpl.cpp:
29798        (WebCore::HTMLImageElementImpl::width):
29799        (WebCore::HTMLImageElementImpl::height):
29800        If the element has no renderer but its image size is known
29801        return that instead.
29802
29803        (WebCore::HTMLImageElementImpl::complete):
29804        New function, returns true if an image has finished loading.
29805
29806        * khtml/html/html_imageimpl.h:
29807        Add complete.
29808
29809        * manual-tests/drag-image.html: Added.
29810
298112006-01-21  Anders Carlsson  <andersca@mac.com>
29812
29813        Reviewed by Darin.
29814
29815        - fixes http://bugs.webkit.org/show_bug.cgi?id=6691
29816        TinyMCE: strikethrough unimplemented
29817
29818        * khtml/editing/jsediting.cpp:
29819        Add support for the "Strikethrough" command.
29820
298212006-01-21  Mitz Pettel  <opendarwin.org@mitzpettel.com>
29822
29823        Test: fast/dynamic/hovered-detach.html
29824
29825        Reviewed by Darin.
29826
29827        - fix http://bugs.webkit.org/show_bug.cgi?id=5983
29828          REGRESSION: onmouseover-powered navbar at MacNN renders incorrectly
29829          <rdar://problem/4403730> REGRESSION: onmouseover powered navbar renders incorrectly at macnn.com (5983)
29830
29831        * khtml/xml/NodeImpl.cpp:
29832        (WebCore::NodeImpl::detach): Set m_hovered to false and set the document's
29833        hoverNode to an hovered ancestor that still has a renderer.
29834        * rendering/render_layer.cpp: Changed static method hoverAncestor() into a
29835        RenderObject instance method.
29836        (WebCore::commonAncestor):
29837        (WebCore::RenderLayer::updateHoverActiveState):
29838        * rendering/render_object.cpp: Ditto.
29839        (WebCore::RenderObject::hoverAncestor)
29840        * rendering/render_object.h: Ditto.
29841
298422006-01-20  David Hyatt  <hyatt@apple.com>
29843
29844        Fix for bug 6666, pseudo-element rules incorrectly displayed
29845        in Web Inspector.
29846
29847        Reviewed by darin
29848
29849        Added fast/inspector/matchedrules.html as test case.
29850
29851        * css/cssstyleselector.cpp:
29852        (WebCore::CSSStyleSelector::matchRulesForList):
29853
298542006-01-20  Timothy Hatcher  <timothy@apple.com>
29855
29856        Reviewed by John.
29857
29858        Removes code that is no longer needed with the new Web Inspector.
29859
29860        * bridge/mac/WebCoreFrameBridge.h: removes the WebCoreDOMTreeCopier protocol.
29861        * bridge/mac/WebCoreFrameBridge.mm: removes copyDOMNode:copier:
29862
298632006-01-21  Anders Carlsson  <andersca@mac.com>
29864
29865        Reviewed by David Hyatt.
29866
29867        Rename Frame::xmlDocImpl => Frame::document and
29868        Frame::replaceDocImpl => Frame::setDocument
29869
29870        * bridge/mac/MacFrame.mm:
29871        (MacFrame::findString):
29872        (MacFrame::advanceToNextMisspelling):
29873        (MacFrame::nextKeyViewInFrame):
29874        (MacFrame::nextKeyViewInFrameHierarchy):
29875        (MacFrame::keyEvent):
29876        (MacFrame::dispatchCPPEvent):
29877        (MacFrame::setDisplaysWithFocusAttributes):
29878        (MacFrame::bodyBackgroundColor):
29879        (MacFrame::markMisspellings):
29880        (MacFrame::respondToChangedSelection):
29881        (MacFrame::setMarkedTextRange):
29882        (MacFrame::dashboardRegionsDictionary):
29883        (MacFrame::shouldClose):
29884        * bridge/mac/WebCoreFrameBridge.mm:
29885        (updateRenderingForBindings):
29886        (frameHasSelection):
29887        (-[WebCoreFrameBridge addData:]):
29888        (-[WebCoreFrameBridge didNotOpenURL:pageCache:]):
29889        (-[WebCoreFrameBridge saveDocumentState]):
29890        (-[WebCoreFrameBridge restoreDocumentState]):
29891        (-[WebCoreFrameBridge saveDocumentToPageCache]):
29892        (-[WebCoreFrameBridge _documentTypeString]):
29893        (-[WebCoreFrameBridge deselectAll]):
29894        (-[WebCoreFrameBridge reapplyStylesForDeviceType:]):
29895        (nowPrinting):
29896        (-[WebCoreFrameBridge _setupRootForPrinting:]):
29897        (-[WebCoreFrameBridge computePageRectsWithPrintWidthScaleFactor:printHeight:]):
29898        (-[WebCoreFrameBridge copyDOMTree:]):
29899        (-[WebCoreFrameBridge URLWithAttributeString:]):
29900        (-[WebCoreFrameBridge unmarkAllMisspellings]):
29901        (-[WebCoreFrameBridge nextKeyView]):
29902        (-[WebCoreFrameBridge previousKeyView]):
29903        (-[WebCoreFrameBridge nextKeyViewInsideWebFrameViews]):
29904        (-[WebCoreFrameBridge previousKeyViewInsideWebFrameViews]):
29905        (-[WebCoreFrameBridge DOMDocument]):
29906        (-[WebCoreFrameBridge baseURL]):
29907        (-[WebCoreFrameBridge domain]):
29908        (-[WebCoreFrameBridge numPendingOrLoadingRequests]):
29909        (-[WebCoreFrameBridge doneProcessingData]):
29910        (-[WebCoreFrameBridge selectionColor]):
29911        (-[WebCoreFrameBridge accessibilityTree]):
29912        (-[WebCoreFrameBridge setSelectedDOMRange:affinity:closeTyping:]):
29913        (-[WebCoreFrameBridge convertToNSRange:]):
29914        (-[WebCoreFrameBridge convertToDOMRange:]):
29915        (-[WebCoreFrameBridge replaceMarkedTextWithText:]):
29916        (-[WebCoreFrameBridge smartDeleteRangeForProposedRange:]):
29917        (-[WebCoreFrameBridge documentFragmentWithMarkupString:baseURLString:]):
29918        (-[WebCoreFrameBridge documentFragmentWithText:]):
29919        (-[WebCoreFrameBridge documentFragmentWithNodesAsParagraphs:]):
29920        (-[WebCoreFrameBridge replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]):
29921        (-[WebCoreFrameBridge insertLineBreak]):
29922        (-[WebCoreFrameBridge insertParagraphSeparator]):
29923        (-[WebCoreFrameBridge insertParagraphSeparatorInQuotedContent]):
29924        (-[WebCoreFrameBridge insertText:selectInsertedText:]):
29925        (-[WebCoreFrameBridge moveSelectionToDragCaret:smartMove:]):
29926        (-[WebCoreFrameBridge deleteSelectionWithSmartDelete:]):
29927        (-[WebCoreFrameBridge deleteKeyPressedWithSmartDelete:]):
29928        (-[WebCoreFrameBridge forwardDeleteKeyPressedWithSmartDelete:]):
29929        * khtml/ecma/kjs_html.cpp:
29930        (KJS::KJS::HTMLDocument::putValueProperty):
29931        * khtml/ecma/kjs_window.cpp:
29932        (KJS::createNewWindow):
29933        (KJS::Window::getValueProperty):
29934        (KJS::Window::namedItemGetter):
29935        (KJS::Window::getOwnPropertySlot):
29936        (KJS::Window::put):
29937        (KJS::Window::isSafeScript):
29938        (KJS::Window::setListener):
29939        (KJS::Window::getListener):
29940        (KJS::WindowFunc::callAsFunction):
29941        (KJS::Window::updateLayout):
29942        (KJS::ScheduledAction::execute):
29943        (KJS::Location::put):
29944        (KJS::LocationFunc::callAsFunction):
29945        * khtml/ecma/xmlhttprequest.cpp:
29946        (KJS::XMLHttpRequestProtoFunc::callAsFunction):
29947        * khtml/editing/jsediting.cpp:
29948        * khtml/html/html_baseimpl.cpp:
29949        (WebCore::HTMLFrameElementImpl::contentDocument):
29950        * khtml/html/htmltokenizer.cpp:
29951        (WebCore::HTMLTokenizer::scriptExecution):
29952        * khtml/xml/DocumentImpl.cpp:
29953        (WebCore::DocumentImpl::parentDocument):
29954        * khtml/xsl/xslt_processorimpl.cpp:
29955        (DOM::XSLTProcessorImpl::createDocumentFromSource):
29956        * kwq/KWQAccObject.mm:
29957        (-[KWQAccObject textUnderElement]):
29958        (-[KWQAccObject doAXTextMarkerForPosition:]):
29959        (-[KWQAccObject rendererForView:]):
29960        * kwq/KWQKJavaAppletWidget.mm:
29961        (KJavaAppletWidget::KJavaAppletWidget):
29962        * page/Frame.cpp:
29963        (Frame::document):
29964        (Frame::setDocument):
29965        (Frame::setFocusNodeIfNeeded):
29966        (Frame::isPointInsideSelection):
29967        (Frame::computeAndSetTypingStyle):
29968        (Frame::applyStyle):
29969        (Frame::applyParagraphStyle):
29970        (Frame::selectionComputedStyle):
29971        (Frame::selectFrameElementInParentIfFullySelected):
29972        (Frame::renderer):
29973        (Frame::scrollOverflow):
29974        (Frame::paint):
29975        (Frame::adjustPageHeight):
29976        (Frame::updatePolicyBaseURL):
29977        (Frame::setPolicyBaseURL):
29978        (Frame::forceLayoutWithPageWidthRange):
29979        (Frame::sendScrollEvent):
29980        (Frame::clearTimers):
29981        (Frame::styleForSelectionStart):
29982        (Frame::setSelectionFromNone):
29983        (Frame::setWindowHasFocus):
29984        (Frame::backslashAsCurrencySymbol):
29985        * page/Frame.h:
29986        * page/FrameView.cpp:
29987        (FrameView::~FrameView):
29988        (FrameView::clear):
29989        (FrameView::resizeEvent):
29990        (FrameView::adjustViewSize):
29991        (FrameView::layout):
29992        (FrameView::updateDashboardRegions):
29993        (FrameView::viewportMousePressEvent):
29994        (FrameView::viewportMouseDoubleClickEvent):
29995        (FrameView::viewportMouseMoveEvent):
29996        (FrameView::viewportMouseReleaseEvent):
29997        (FrameView::keyPressEvent):
29998        (FrameView::dispatchDragEvent):
29999        (FrameView::updateDragAndDrop):
30000        (FrameView::focusNextPrevNode):
30001        (FrameView::dispatchMouseEvent):
30002        (FrameView::viewportWheelEvent):
30003        (FrameView::timerEvent):
30004        (FrameView::scheduleRelayout):
30005        (FrameView::unscheduleRelayout):
30006        * rendering/render_frames.cpp:
30007        (WebCore::RenderPartObject::updateWidget):
30008
300092006-01-20  Chris Petersen  <cpetersen@apple.com>
30010
30011        Reviewed by eseidel.
30012
30013        Build fix.
30014
30015        * khtml/xml/DocumentImpl.cpp:
30016
300172006-01-20  Eric Seidel  <eseidel@apple.com>
30018
30019        Reviewed by beth.
30020
30021        Unbreak build (partial commit of animation patch)
30022
30023        * khtml/xml/DocumentImpl.cpp:
30024        (WebCore::DocumentImpl::implicitClose):
30025        * khtml/xml/DocumentImpl.h:
30026
300272006-01-20  Eric Seidel  <eseidel@apple.com>
30028
30029        Reviewed by beth.
30030
30031        Missed the kcanvas directory in my previous commit.
30032        http://bugs.webkit.org/show_bug.cgi?id=6683
30033
30034        * kcanvas/KCanvasContainer.h:
30035        * kcanvas/RenderForeignObject.h:
30036        * kcanvas/RenderSVGText.h:
30037
300382006-01-20  Mitz Pettel  <opendarwin.org@mitzpettel.com>
30039
30040        Test: fast/overflow/image-selection-highlight.html
30041
30042        Reviewed by Darin, committed by Adele.
30043
30044        - fix http://bugs.webkit.org/show_bug.cgi?id=6673
30045          Selection highlight doesn't scroll along with an image contained in an overflow:scroll block
30046
30047        * rendering/render_replaced.cpp:
30048        (WebCore::RenderReplaced::selectionRect): Subtract the containing block's scroll offset.
30049
300502006-01-19  Eric Seidel  <eseidel@apple.com>
30051
30052        Reviewed by beth.
30053
30054        Break classes in render_table out into separate files.
30055        Move render_block to RenderBlock.
30056        Move render_container to RenderContainer.
30057        http://bugs.webkit.org/show_bug.cgi?id=6683
30058
30059        * WebCore.xcodeproj/project.pbxproj:
30060        * bridge/mac/MacFrame.mm:
30061        * kcanvas/KCanvasContainer.h:
30062        * kcanvas/RenderForeignObject.h:
30063        * kcanvas/RenderSVGText.h:
30064        * khtml/editing/visible_units.cpp:
30065        * khtml/html/html_tableimpl.cpp:
30066        (WebCore::HTMLTableElementImpl::insertRow):
30067        * khtml/xml/dom2_rangeimpl.cpp:
30068        * khtml/xml/dom_position.cpp:
30069        * kwq/KWQRenderTreeDebug.cpp:
30070        * page/Frame.cpp:
30071        * rendering/InlineTextBox.cpp:
30072        * rendering/RenderBlock.cpp: Added.
30073        * rendering/RenderBlock.h: Added.
30074        * rendering/RenderContainer.cpp: Added.
30075        (WebCore::RenderContainer::addChild):
30076        * rendering/RenderContainer.h: Added.
30077        * rendering/RenderTable.cpp: Added.
30078        (WebCore::RenderTable::RenderTable):
30079        (WebCore::RenderTable::updateFirstLetter):
30080        * rendering/RenderTable.h: Added.
30081        * rendering/RenderTableCell.cpp: Added.
30082        (WebCore::RenderTableCell::RenderTableCell):
30083        (WebCore::RenderTableCell::updateFromElement):
30084        * rendering/RenderTableCell.h: Added.
30085        * rendering/RenderTableCol.cpp: Added.
30086        (WebCore::RenderTableCol::RenderTableCol):
30087        (WebCore::RenderTableCol::updateFromElement):
30088        * rendering/RenderTableCol.h: Added.
30089        * rendering/RenderTableRow.cpp: Added.
30090        (WebCore::RenderTableRow::RenderTableRow):
30091        * rendering/RenderTableRow.h: Added.
30092        * rendering/RenderTableSection.cpp: Added.
30093        (WebCore::RenderTableSection::RenderTableSection):
30094        * rendering/RenderTableSection.h: Added.
30095        * rendering/RenderText.cpp:
30096        * rendering/bidi.cpp:
30097        * rendering/render_block.cpp: Removed.
30098        * rendering/render_block.h: Removed.
30099        * rendering/render_box.cpp:
30100        * rendering/render_canvas.h:
30101        * rendering/render_container.cpp: Removed.
30102        * rendering/render_container.h: Removed.
30103        * rendering/render_flexbox.h:
30104        * rendering/render_flow.cpp:
30105        * rendering/render_flow.h:
30106        * rendering/render_form.h:
30107        * rendering/render_frames.h:
30108        * rendering/render_inline.cpp:
30109        * rendering/render_inline.h:
30110        * rendering/render_line.cpp:
30111        * rendering/render_list.h:
30112        * rendering/render_object.cpp:
30113        * rendering/render_replaced.h:
30114        * rendering/render_table.cpp: Removed.
30115        * rendering/render_table.h: Removed.
30116        * rendering/table_layout.cpp:
30117
301182006-01-19  Eric Seidel  <eseidel@apple.com>
30119
30120        Reviewed by darin.
30121
30122        <embed> and <object> tags show up blank when going back/forward.
30123        http://bugs.webkit.org/show_bug.cgi?id=6679
30124
30125        No test currently possible.
30126
30127        * page/Frame.cpp:
30128        (Frame::canCachePage):
30129
301302006-01-19  Eric Seidel  <eseidel@apple.com>
30131
30132        Reviewed by darin.
30133
30134        Split html_miscimpl.* into separate files and move html_elementimpl
30135        http://bugs.webkit.org/show_bug.cgi?id=6670
30136
30137        * WebCore.xcodeproj/project.pbxproj:
30138        * bindings/objc/DOM.mm:
30139        * bindings/objc/DOMHTML.mm:
30140        * bridge/mac/WebCoreFrameBridge.mm:
30141        * css/css_valueimpl.cpp:
30142        * css/cssstyleselector.cpp:
30143        (WebCore::CSSStyleSelector::applyProperty):
30144        * khtml/ecma/kjs_dom.cpp:
30145        * khtml/ecma/kjs_html.cpp:
30146        * khtml/editing/apply_style_command.cpp:
30147        * khtml/editing/markup.cpp:
30148        * khtml/editing/replace_selection_command.cpp:
30149        * khtml/html/HTMLBaseFontElementImpl.cpp: Added.
30150        * khtml/html/HTMLBaseFontElementImpl.h: Added.
30151        * khtml/html/HTMLButtonElementImpl.cpp:
30152        * khtml/html/HTMLCollectionImpl.cpp: Added.
30153        (WebCore::HTMLCollectionImpl::traverseNextItem):
30154        * khtml/html/HTMLCollectionImpl.h: Added.
30155        * khtml/html/HTMLElementImpl.cpp: Added.
30156        * khtml/html/HTMLElementImpl.h: Added.
30157        * khtml/html/HTMLFieldSetElementImpl.cpp:
30158        * khtml/html/HTMLFormCollectionImpl.cpp: Added.
30159        * khtml/html/HTMLFormCollectionImpl.h: Added.
30160        * khtml/html/HTMLFormElementImpl.cpp:
30161        * khtml/html/HTMLFormElementImpl.h:
30162        * khtml/html/HTMLGenericFormElementImpl.cpp:
30163        * khtml/html/HTMLGenericFormElementImpl.h:
30164        * khtml/html/HTMLInputElementImpl.cpp:
30165        * khtml/html/HTMLIsIndexElementImpl.cpp:
30166        * khtml/html/HTMLLabelElementImpl.h:
30167        * khtml/html/HTMLLegendElementImpl.cpp:
30168        * khtml/html/HTMLNameCollectionImpl.cpp: Added.
30169        * khtml/html/HTMLNameCollectionImpl.h: Added.
30170        * khtml/html/HTMLOptGroupElementImpl.cpp:
30171        * khtml/html/HTMLOptGroupElementImpl.h:
30172        * khtml/html/HTMLOptionElementImpl.h:
30173        * khtml/html/HTMLSelectElementImpl.cpp:
30174        * khtml/html/HTMLTextAreaElementImpl.cpp:
30175        * khtml/html/html_baseimpl.cpp:
30176        * khtml/html/html_baseimpl.h:
30177        * khtml/html/html_blockimpl.cpp:
30178        * khtml/html/html_blockimpl.h:
30179        * khtml/html/html_canvasimpl.cpp:
30180        * khtml/html/html_documentimpl.cpp:
30181        * khtml/html/html_documentimpl.h:
30182        * khtml/html/html_elementimpl.cpp: Removed.
30183        * khtml/html/html_elementimpl.h: Removed.
30184        * khtml/html/html_headimpl.cpp:
30185        (WebCore::HTMLLinkElementImpl::setStyleSheet):
30186        (WebCore::HTMLLinkElementImpl::isLoading):
30187        * khtml/html/html_headimpl.h:
30188        * khtml/html/html_imageimpl.cpp:
30189        * khtml/html/html_inlineimpl.cpp:
30190        * khtml/html/html_inlineimpl.h:
30191        * khtml/html/html_listimpl.h:
30192        * khtml/html/html_miscimpl.cpp: Removed.
30193        * khtml/html/html_miscimpl.h: Removed.
30194        * khtml/html/html_objectimpl.cpp:
30195        * khtml/html/html_tableimpl.h:
30196        * khtml/html/htmlfactory.cpp:
30197        * khtml/html/htmlparser.cpp:
30198        * khtml/html/htmltokenizer.cpp:
30199        (WebCore::HTMLTokenizer::scriptHandler):
30200        (WebCore::HTMLTokenizer::scriptExecution):
30201        * khtml/xml/DocumentImpl.cpp:
30202        * khtml/xml/dom2_rangeimpl.cpp:
30203        * khtml/xml/dom_elementimpl.cpp:
30204        * kwq/KWQAccObject.mm:
30205        * loader/loader.cpp:
30206        * page/Frame.cpp:
30207        (Frame::restoreURL):
30208        (Frame::stopLoading):
30209        (Frame::receivedFirstData):
30210        (Frame::gotoAnchor):
30211        (Frame::requestObject):
30212        (Frame::processObjectRequest):
30213        (Frame::submitForm):
30214        (Frame::slotParentCompleted):
30215        (Frame::findFrame):
30216        (Frame::executeScript):
30217        * page/FrameView.cpp:
30218        (FrameView::useSlowRepaints):
30219        * rendering/render_applet.cpp:
30220        * rendering/render_applet.h:
30221        * rendering/render_box.cpp:
30222        (WebCore::RenderBox::contentWidth):
30223        (WebCore::RenderBox::paintRootBoxDecorations):
30224        (WebCore::RenderBox::paintBoxDecorations):
30225        (WebCore::RenderBox::getClipRect):
30226        (WebCore::RenderBox::calcWidth):
30227        (WebCore::RenderBox::calcHeight):
30228        * rendering/render_canvasimage.cpp:
30229        * rendering/render_canvasimage.h:
30230        * rendering/render_frames.cpp:
30231        * rendering/render_image.cpp:
30232        * rendering/render_image.h:
30233        * rendering/render_layer.cpp:
30234
302352006-01-19  Anders Carlsson  <andersca@mac.com>
30236
30237        Reviewed by Darin.
30238
30239        - fix http://bugs.webkit.org/show_bug.cgi?id=6653
30240        CSSStyleDeclaration returns empty string when trying to access shorthand
30241        properties using JS accessors.
30242
30243        * khtml/ecma/kjs_css.cpp:
30244        (KJS::DOMCSSStyleDeclaration::cssPropertyGetter):
30245        if getCSSPropertyValue returns 0 (which is true for shorthand properties),
30246        try getPropertyValue instead.
30247
302482006-01-19  Adele Peterson  <adele@apple.com>
30249
30250        Reviewed by Hyatt and Darin.
30251
30252        http://bugs.webkit.org/show_bug.cgi?id=6665
30253        Implement NSView-less version of <input type="text">
30254
30255        Initial implementation of new and improved text fields.
30256        This will only be turned on if an input element has khtml-appearance: textfield.
30257
30258        * WebCore.xcodeproj/project.pbxproj: Added RenderTextField.h and RenderTextField.cpp
30259        * css/cssvalues.in: Fixed omitted button-bevel value.
30260          This was causing an off-by-one error when getting khtml-appearance value.
30261        * khtml/html/HTMLInputElementImpl.cpp: Added checks for khtml-appearance to decide
30262          when to use RenderTextField instead of RenderLineEdit.
30263        (DOM::HTMLInputElementImpl::selectionStart):
30264        (DOM::HTMLInputElementImpl::selectionEnd):
30265        (DOM::HTMLInputElementImpl::setSelectionStart):
30266        (DOM::HTMLInputElementImpl::setSelectionEnd):
30267        (DOM::HTMLInputElementImpl::select):
30268        (DOM::HTMLInputElementImpl::setSelectionRange):
30269        (DOM::HTMLInputElementImpl::createRenderer):
30270        (DOM::HTMLInputElementImpl::defaultEventHandler):
30271        * khtml/html/HTMLInputElementImpl.h:
30272        * khtml/html/html_elementimpl.cpp:
30273        (HTMLElementImpl::isFocusable): Also allow editable elements with no parent to be focusable.
30274        * khtml/xml/NodeImpl.h:
30275        (WebCore::NodeImpl::setAttached): Added to set m_attached without having to call attach().
30276        * rendering/RenderTextField.cpp: Added.
30277        (khtml:::RenderBlock):
30278        (khtml::RenderTextField::~RenderTextField):
30279        (khtml::RenderTextField::addChild):
30280        (khtml::RenderTextField::removeChild):
30281        (khtml::RenderTextField::setStyle):
30282        (khtml::RenderTextField::getDivStyle):
30283        (khtml::RenderTextField::updateFromElement):
30284        (khtml::RenderTextField::selectionStart):
30285        (khtml::RenderTextField::selectionEnd):
30286        (khtml::RenderTextField::setSelectionStart):
30287        (khtml::RenderTextField::setSelectionEnd):
30288        (khtml::RenderTextField::select):
30289        (khtml::RenderTextField::setSelectionRange):
30290        * rendering/RenderTextField.h: Added.
30291        (khtml::RenderTextField::removeLeftoverAnonymousBoxes):
30292        (khtml::RenderTextField::renderName):
30293        * rendering/render_container.cpp:
30294        (RenderContainer::destroy): use renamed destroyLeftoverChildren.
30295        (RenderContainer::destroyLeftoverChildren): renamed from destroyLeftoverAnonymousChildren.
30296        * rendering/render_container.h:
30297        * rendering/render_flow.cpp:
30298        (RenderFlow::destroy): use renamed destroyLeftoverChildren.
30299
303002006-01-18  Darin Adler  <darin@apple.com>
30301
30302        Reviewed by Hyatt.
30303
30304        - removed all use of QMap
30305
30306        * ForwardingHeaders/qmap.h: Removed.
30307        * WebCore.xcodeproj/project.pbxproj: Removed KWQMap.h, KWQMapImpl.h, KWQMapImpl.cpp.
30308        * kwq/KWQMap.h: Removed.
30309        * kwq/KWQMapImpl.cpp: Removed.
30310        * kwq/KWQMapImpl.h: Removed.
30311
30312        * bridge/BrowserExtension.h: (WebCore::URLArgs::metaData): Converted from QMap of QString
30313        to HashMap of DOMString.
30314        * bridge/mac/BrowserExtensionMac.mm: Ditto.
30315        * bridge/mac/MacFrame.mm:
30316        (MacFrame::openURLRequest): Ditto.
30317        (MacFrame::urlSelected): Ditto.
30318        (MacFrame::createPart): Ditto.
30319        * khtml/ecma/kjs_window.cpp:
30320        (KJS::parseModalDialogFeatures): Ditto.
30321        (KJS::boolFeature): Ditto.
30322        (KJS::intFeature): Ditto.
30323        (KJS::createNewWindow): Ditto.
30324        (KJS::showModalDialog): Ditto.
30325        (KJS::WindowFunc::callAsFunction): Ditto.
30326        * khtml/html/html_objectimpl.cpp: (WebCore::HTMLAppletElementImpl::createRenderer): Ditto.
30327        * khtml/xml/dom_xmlimpl.cpp: (DOM::ProcessingInstructionImpl::checkStyleSheet): Ditto.
30328        * khtml/xml/xml_tokenizer.cpp:
30329        (WebCore::toString): Added. Converts to DOMString instead of QString.
30330        (WebCore::attributesStartElementNsHandler): Converted from QMap of QString to HashMap of DOMString.
30331        (WebCore::parseAttributes): Ditto.
30332        * khtml/xml/xml_tokenizer.h: (WebCore::Tokenizer::setTransformSource): Ditto.
30333        * ksvg2/misc/KSVGTimeScheduler.cpp: (KSVG::SVGTimer::notifyAll): Ditto.
30334        * kwq/KWQKJavaAppletWidget.h: Ditto.
30335        * kwq/KWQKJavaAppletWidget.mm: (KJavaAppletWidget::KJavaAppletWidget): Ditto.
30336        * kwq/KWQKJobClasses.h: Ditto.
30337        * kwq/KWQKJobClasses.mm: (KIO::TransferJob::addMetaData): Ditto.
30338        * page/Frame.cpp:
30339        (Frame::didOpenURL): Ditto.
30340        (Frame::changeLocation): Ditto.
30341        (Frame::mark): Ditto.
30342        (Frame::setMark): Ditto.
30343        (Frame::urlSelected): Ditto.
30344        (Frame::requestObject): Ditto.
30345        (Frame::processObjectRequest): Ditto.
30346        (Frame::submitForm): Ditto.
30347        * rendering/render_applet.cpp:
30348        (WebCore::RenderApplet::RenderApplet): Ditto.
30349        (WebCore::RenderApplet::createWidgetIfNecessary): Ditto.
30350        (WebCore::RenderApplet::layout): Ditto.
30351        * rendering/render_applet.h:
30352        (WebCore::RenderApplet::renderName): Ditto.
30353        (WebCore::RenderApplet::element): Ditto.
30354        (WebCore::RenderEmptyApplet::renderName): Ditto.
30355
30356        * khtml/dom/dom_string.h:
30357        (WebCore::DOMString::createCFString): Added. Not yet implemented or used.
30358        (WebCore::DOMString::operator NSString*): Updated to call through to DOMStringImpl.
30359        Added hash functions and hash traits so you can use DOMString in hash tables.
30360        * khtml/xml/dom_stringimpl.h: Added conversion to and from CFStringRef/NSString.
30361        * khtml/xml/dom_stringimpl.cpp: Took out an excess "DOM::".
30362
30363        * bindings/objc/DOMInternal.mm: (DOMStringImpl::operator NSString *): Moved from DOMString
30364        to DOMStringImpl.
30365
30366        - changed the mark from a SelectionController to a Selection
30367          (maybe it can be a Position instead?)
30368
30369        * page/Frame.h: Changed mark() and setMark() to use a Selection.
30370        * page/FramePrivate.h: Changed mark to a Selection.
30371
30372        * bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge setMarkDOMRange:]):
30373        Updated for change from SelectionController to Selection.
30374
30375        - removed extraneous includes
30376
30377        * kwq/KWQKHTMLSettings.h: Removed include of "KWQMap.h".
30378        * kwq/KWQKIOGlobal.h: Ditto.
30379
30380        * khtml/editing/htmlediting.h: Removed extraneous includes and namespace prefixes.
30381
30382        * khtml/html/html_canvasimpl.h: Removed extraneous includes and moved into the
30383        WebCore namespace.
30384        * khtml/html/html_canvasimpl.cpp: Ditto.
30385        * khtml/html/htmltokenizer.cpp: Ditto.
30386        * khtml/html/htmltokenizer.h: Ditto.
30387        * khtml/xml/DocumentImpl.cpp: Ditto.
30388        * kwq/KWQEditCommand.mm: Ditto.
30389        * rendering/render_canvasimage.h: Ditto.
30390        * rendering/render_image.h: Ditto.
30391
30392        * khtml/editing/composite_edit_command.cpp: Updated includes because of ones
30393        that were removed from headers.
30394        * khtml/editing/htmlediting.cpp: Ditto.
30395        * khtml/editing/jsediting.cpp: Ditto.
30396        * khtml/editing/replace_selection_command.cpp: Ditto.
30397        * rendering/render_canvasimage.cpp: Ditto.
30398        * rendering/render_image.cpp: Ditto.
30399
30400        * loader/loader.cpp: (WebCore::Loader::servePendingRequests): Removed code to add the
30401        cache control string, since that was hardcoded to empty string anyway.
30402
304032006-01-19  Eric Seidel  <eseidel@apple.com>
30404
30405        Reviewed by darin & anders.
30406
30407        Fix opacity crasher for <text> and <image>.
30408        http://bugs.webkit.org/show_bug.cgi?id=6668
30409        Even though the crash is fixed, opacity still doesn't work.
30410        http://bugs.webkit.org/show_bug.cgi?id=6669
30411
30412        Test: svg/custom/text-image-opacity.svg
30413
30414        * kcanvas/RenderSVGImage.cpp:
30415        (RenderSVGImage::paint):
30416        * kcanvas/RenderSVGText.cpp:
30417        (RenderSVGText::paint):
30418
304192006-01-19  Eric Seidel  <eseidel@apple.com>
30420
30421        Reviewed by darin.
30422
30423        Remove CFDictionary usage from KWQObject.*
30424        http://bugs.webkit.org/show_bug.cgi?id=6468
30425
30426        * kwq/KWQObject.cpp:
30427        (KWQObjectTimer::KWQObjectTimer):
30428        (QObject::restartTimer):
30429        (QObject::timerIntervals):
30430        (KWQObjectTimer::deleteTimer):
30431        (QObject::killTimer):
30432        (QObject::killTimers):
30433        (sendDeferredTimerEvent):
30434
304352006-01-18  David Hyatt <hyatt@apple.com
30436
30437        Fix for bug 6657, remove all uses of MacFrame from cross-platform
30438        code.  Also remove uses of BrowserExtensionMac (and make the
30439        frame responsible for instantiation of the appropriate
30440        platform-specific object).
30441
30442        Also #ifdef out all the Dashboard code in the engine for non-Apple
30443        platforms.
30444
30445        Reviewed by anders
30446
30447        * ForwardingHeaders/khtml_ext.h: Removed.
30448        * ForwardingHeaders/kparts/browserextension.h: Removed.
30449        * WebCore.vcproj/WebCore/WebCore.vcproj:
30450        * bridge/BrowserExtension.h: Added.
30451        (WebCore::BrowserExtension::BrowserExtension):
30452        * bridge/mac/BrowserExtensionMac.h: Added.
30453        * bridge/mac/BrowserExtensionMac.mm: Added.
30454        * bridge/mac/KWQKHTMLPartBrowserExtension.h: Removed.
30455        * bridge/mac/KWQKHTMLPartBrowserExtension.mm: Removed.
30456        * bridge/mac/KWQKPartsBrowserExtension.h: Removed.
30457        * bridge/mac/MacFrame.h:
30458        (MacFrame::createBrowserExtension):
30459        (MacFrame::markedTextRange):
30460        * css/css_computedstyle.cpp:
30461        (DOM::):
30462        (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue):
30463        * css/css_valueimpl.cpp:
30464        (WebCore::CSSPrimitiveValueImpl::cleanup):
30465        (WebCore::CSSPrimitiveValueImpl::cssText):
30466        * css/css_valueimpl.h:
30467        (DOM::CSSPrimitiveValueImpl::):
30468        * css/cssparser.cpp:
30469        (CSSParser::parseValue):
30470        * css/cssparser.h:
30471        * css/cssstyleselector.cpp:
30472        (WebCore::CSSStyleSelector::applyProperty):
30473        * khtml/ecma/kjs_events.cpp:
30474        (KJS::JSAbstractEventListener::handleEvent):
30475        * khtml/ecma/kjs_navigator.cpp:
30476        (KJS::Navigator::getValueProperty):
30477        * khtml/ecma/kjs_proxy.cpp:
30478        (KJSProxyImpl::evaluate):
30479        (KJSProxyImpl::initScript):
30480        * khtml/ecma/kjs_window.cpp:
30481        (KJS::canShowModalDialog):
30482        (KJS::canShowModalDialogNow):
30483        (KJS::showModalDialog):
30484        (KJS::Window::getValueProperty):
30485        (KJS::Window::scheduleClose):
30486        (KJS::Window::isSafeScript):
30487        (KJS::parseWindowFeatures):
30488        (KJS::constrainToVisible):
30489        (KJS::WindowFunc::callAsFunction):
30490        (KJS::ScheduledAction::execute):
30491        (KJS::BarInfo::getValueProperty):
30492        (KJS::History::getValueProperty):
30493        * khtml/editing/jsediting.cpp:
30494        * khtml/editing/typing_command.cpp:
30495        (khtml::TypingCommand::markMisspellingsAfterTyping):
30496        * khtml/html/HTMLFormElementImpl.cpp:
30497        (DOM::HTMLFormElementImpl::formData):
30498        (DOM::HTMLFormElementImpl::submit):
30499        * khtml/html/html_objectimpl.cpp:
30500        (DOM::HTMLAppletElementImpl::getAppletInstance):
30501        (DOM::HTMLEmbedElementImpl::getEmbedInstance):
30502        (DOM::HTMLObjectElementImpl::getObjectInstance):
30503        * khtml/xml/DocumentImpl.cpp:
30504        (DocumentImpl::DocumentImpl):
30505        (DocumentImpl::updateTitle):
30506        (DocumentImpl::implicitClose):
30507        (DocumentImpl::referrer):
30508        * khtml/xml/DocumentImpl.h:
30509        * khtml/xml/dom_elementimpl.cpp:
30510        (WebCore::ElementImpl::focus):
30511        * page/Frame.cpp:
30512        (Frame::init):
30513        (Frame::didOpenURL):
30514        (Frame::browserExtension):
30515        (Frame::begin):
30516        (Frame::scheduleHistoryNavigation):
30517        (Frame::changeLocation):
30518        (Frame::setSelection):
30519        (Frame::urlSelected):
30520        (Frame::requestFrameName):
30521        (Frame::requestObject):
30522        (Frame::processObjectRequest):
30523        (Frame::submitForm):
30524        (Frame::slotChildCompleted):
30525        (Frame::shouldChangeSelection):
30526        (Frame::appliedEditing):
30527        (Frame::unappliedEditing):
30528        (Frame::reappliedEditing):
30529        (Frame::copyToPasteboard):
30530        (Frame::cutToPasteboard):
30531        (Frame::pasteFromPasteboard):
30532        (Frame::pasteAndMatchStyle):
30533        (Frame::transpose):
30534        (Frame::redo):
30535        (Frame::undo):
30536        (Frame::paint):
30537        * page/Frame.h:
30538        * page/FramePrivate.h:
30539        * page/FrameView.cpp:
30540        (KHTMLView::layout):
30541        (KHTMLView::updateDashboardRegions):
30542        (KHTMLView::viewportMousePressEvent):
30543        (KHTMLView::viewportMouseDoubleClickEvent):
30544        (KHTMLView::viewportMouseMoveEvent):
30545        (KHTMLView::viewportMouseReleaseEvent):
30546        (KHTMLView::mediaType):
30547        (KHTMLView::viewportWheelEvent):
30548        * page/FrameView.h:
30549        * rendering/InlineTextBox.cpp:
30550        (khtml::InlineTextBox::paint):
30551        * rendering/render_form.cpp:
30552        * rendering/render_layer.cpp:
30553        (khtml::RenderLayer::scrollToOffset):
30554        (khtml::RenderLayer::updateScrollInfoAfterLayout):
30555        * rendering/render_object.cpp:
30556        (WebCore::RenderObject::setStyle):
30557        * rendering/render_replaced.cpp:
30558
305592006-01-18  Darin Adler  <darin@apple.com>
30560
30561        Reviewed by Hyatt.
30562
30563        - change KWQList to use qsort instead of CFArraySort
30564
30565        * kwq/KWQListImpl.cpp:
30566        (compareFuncWrapper): Wrapper that uses global variables to overcome the lack
30567        of a "data" pointer in qsort. Could have used qsort_r but that would be less portable.
30568        (KWQListImpl::sort): Use qsort instead of CFArraySortValues.
30569
305702006-01-18  Darin Adler  <darin@apple.com>
30571
30572        Reviewed by Beth.
30573
30574        - changed the three signal/slot related files from ObjC++ to C++ files
30575
30576        * WebCore.xcodeproj/project.pbxproj:
30577        * kwq/KWQSignal.cpp: Added.
30578        * kwq/KWQSignal.mm: Removed.
30579        * kwq/KWQSignalStubs.cpp: Added.
30580        * kwq/KWQSignalStubs.mm: Removed.
30581        * kwq/KWQSlot.cpp: Added.
30582        * kwq/KWQSlot.mm: Removed.
30583
305842006-01-18  David Hyatt <hyatt@apple.com>
30585
30586        Make Win32 build again.  Update the scripts and deal
30587        with all the recent file moves.
30588
30589        Reviewed by xenon
30590
30591        * WebCore.vcproj/WebCore/WebCore.vcproj:
30592        * WebCore.vcproj/WebCore/build-generated-files.sh:
30593        * rendering/render_container.cpp:
30594        * rendering/render_object.cpp:
30595
305962006-01-18  Mitz Pettel  <opendarwin.org@mitzpettel.com>
30597
30598        Test: fast/overflow/overflow-rtl-inline-scrollbar.html
30599
30600        Reviewed by Hyatt.
30601
30602        - fix http://bugs.webkit.org/show_bug.cgi?id=6618
30603          Inline in RTL block with overflow:auto and left border makes scroll bar appear
30604
30605        Inline flows were always returning 0 for leftmostPosition(). Their real leftmost
30606        edges are determined by their inline boxes, which
30607        RenderBlock::leftmostPosition already takes into account.
30608
30609        * khtml/rendering/render_flow.cpp:
30610        (RenderFlow::lowestPosition): Don't descend into inline flows.
30611        (RenderFlow::rightmostPosition): Ditto.
30612        (RenderFlow::leftmostPosition): Ditto.
30613
306142006-01-18  Anders Carlsson  <andersca@mac.com>
30615
30616        Fix build.
30617
30618        * khtml/ecma/kjs_navigator.cpp:
30619        * page/FrameView.cpp:
30620        Remove kstandarddirs.h includes.
30621
306222006-01-18  Darin Adler  <darin@apple.com>
30623
30624        Reviewed by Hyatt.
30625
30626        - fix http://bugs.webkit.org/show_bug.cgi?id=6646
30627          compile CSS sources in instead of reading them from disk
30628
30629        * css/make-css-file-arrays.pl: Added. Used to generate C array forms of the ".css" files.
30630        * css/UserAgentStyleSheets.cpp: Added. Used to indirectly compile the generated file.
30631
30632        * WebCore.xcodeproj/project.pbxproj: Added new source files. Added a build phase to
30633        invoke the make-css-file-arrays.pl script. Removed the .css files, which no longer need
30634        to be installed as part of the final package.
30635
30636        * WebCore.vcproj/WebCore/WebCore.vcproj: Added new files.
30637        * WebCore.vcproj/WebCore/build-generated-files.sh: Added make-css-file-arrays.pl script
30638        section; not tested.
30639
30640        * css/cssstyleselector.cpp: (WebCore::parseUASheet): Removed code to read user agent
30641        sheets from disk. Replaced with code that gets them from compiled-in arrays instead.
30642        Uses a pretty lame DOMString hack that could be reworked some day.
30643        (WebCore::CSSStyleSelector::loadDefaultStyle): Change to load from arrays intead of disk.
30644
30645        * css/html4.css: Added missing license header, tweaked format a bit.
30646        * css/quirks.css: Added missing license header, tweaked format.
30647        * css/svg.css: Moved from ksvg2/css directory.
30648        * ksvg2/css/svg.css: Moved to top level css directory.
30649
30650        * page/Frame.cpp: Removed includes of qfile.h and kstandarddirs.h.
30651
30652        * ForwardingHeaders/kstandarddirs.h: Removed.
30653        * ForwardingHeaders/qfile.h: Removed.
30654        * kwq/KWQFile.h: Removed.
30655        * kwq/KWQFile.mm: Removed.
30656        * kwq/KWQKStandardDirs.h: Removed.
30657        * kwq/KWQKStandardDirs.mm: Removed.
30658
306592006-01-17  Alexander Kellett  <lypanov@kde.org>
30660
30661        Reviewed by Maciej.
30662
30663        - Remove the now-unused KRenderingPaintServerImage[Quartz].
30664
30665        * WebCore.xcodeproj/project.pbxproj:
30666        * kcanvas/KCanvasTreeDebug.cpp:
30667        * kcanvas/device/KRenderingPaintServer.h:
30668        * kcanvas/device/KRenderingPaintServerImage.cpp: Removed.
30669        * kcanvas/device/KRenderingPaintServerImage.h: Removed.
30670        * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
30671        * kcanvas/device/quartz/KRenderingPaintServerQuartz.h:
30672        * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
30673        * ksvg2/svg/SVGFEImageElementImpl.cpp:
30674        * kwq/KWQPainter.mm:
30675
306762006-01-17  Darin Adler  <darin@apple.com>
30677
30678        Reviewed by John Sullivan.
30679
30680        - fix http://bugs.webkit.org/show_bug.cgi?id=6377
30681          <rdar://problem/4400315> All XML crashes in TOT with JavaScript disabled (6377)
30682
30683        * bridge/mac/MacFrame.mm:
30684        (MacFrame::bindingRootObject): Assert that this is only called when JavaScript is enabled.
30685        (MacFrame::windowScriptObject): Return 0 if JavaScript is disabled.
30686        (MacFrame::windowScriptNPObject): Ditto.
30687        (MacFrame::partClearedInBegin): Don't call the "window script object available" call if
30688        JavaScript is disabled.
30689
306902006-01-17  Justin Garcia  <justin.garcia@apple.com>
30691
30692        Reviewed by darin
30693
30694        <http://bugs.webkit.org/show_bug.cgi?id=6632>
30695        REGRESSION: Selection includes spaces that it shouldn't
30696        <rdar://problem/4407845>
30697        REGRESSION (TOT): blank space before found text selected at http://www.schepers.cc/comiclinks.html
30698
30699        Layout test added:
30700        * editing/selection/after-line-wrap.html
30701
30702        * khtml/editing/visible_position.cpp:
30703        (khtml::VisiblePosition::previous): Don't stop at the first candidate,
30704        it may be visually equivalent to the original position.
30705        * khtml/xml/dom_position.cpp:
30706        (DOM::Position::upstream): Don't move to a position on a different line.
30707        (DOM::Position::downstream): Ditto.
30708
307092006-01-17  Justin Garcia  <justin.garcia@apple.com>
30710
30711        Reviewed by eric.
30712
30713        Deployment builds now use -O2
30714
30715        * WebCore.xcodeproj/project.pbxproj:
30716        * khtml/html/htmltokenizer.cpp: Turned off inlining to fix
30717        link error.
30718
307192006-01-17  David Hyatt  <hyatt@apple.com>
30720
30721        Move khtml/rendering to WebCore/rendering.
30722
30723        * WebCore.xcodeproj/project.pbxproj:
30724        * khtml/rendering: Removed.
30725        * khtml/rendering/DataRef.h: Removed.
30726        * khtml/rendering/InlineTextBox.cpp: Removed.
30727        * khtml/rendering/InlineTextBox.h: Removed.
30728        * khtml/rendering/RenderText.cpp: Removed.
30729        * khtml/rendering/RenderText.h: Removed.
30730        * khtml/rendering/RenderTextFragment.cpp: Removed.
30731        * khtml/rendering/RenderTextFragment.h: Removed.
30732        * khtml/rendering/bidi.cpp: Removed.
30733        * khtml/rendering/bidi.h: Removed.
30734        * khtml/rendering/break_lines.cpp: Removed.
30735        * khtml/rendering/break_lines.h: Removed.
30736        * khtml/rendering/font.cpp: Removed.
30737        * khtml/rendering/font.h: Removed.
30738        * khtml/rendering/render_applet.cpp: Removed.
30739        * khtml/rendering/render_applet.h: Removed.
30740        * khtml/rendering/render_arena.cpp: Removed.
30741        * khtml/rendering/render_arena.h: Removed.
30742        * khtml/rendering/render_block.cpp: Removed.
30743        * khtml/rendering/render_block.h: Removed.
30744        * khtml/rendering/render_box.cpp: Removed.
30745        * khtml/rendering/render_box.h: Removed.
30746        * khtml/rendering/render_br.cpp: Removed.
30747        * khtml/rendering/render_br.h: Removed.
30748        * khtml/rendering/render_button.cpp: Removed.
30749        * khtml/rendering/render_button.h: Removed.
30750        * khtml/rendering/render_canvas.cpp: Removed.
30751        * khtml/rendering/render_canvas.h: Removed.
30752        * khtml/rendering/render_canvasimage.cpp: Removed.
30753        * khtml/rendering/render_canvasimage.h: Removed.
30754        * khtml/rendering/render_container.cpp: Removed.
30755        * khtml/rendering/render_container.h: Removed.
30756        * khtml/rendering/render_flexbox.cpp: Removed.
30757        * khtml/rendering/render_flexbox.h: Removed.
30758        * khtml/rendering/render_flow.cpp: Removed.
30759        * khtml/rendering/render_flow.h: Removed.
30760        * khtml/rendering/render_form.cpp: Removed.
30761        * khtml/rendering/render_form.h: Removed.
30762        * khtml/rendering/render_frames.cpp: Removed.
30763        * khtml/rendering/render_frames.h: Removed.
30764        * khtml/rendering/render_image.cpp: Removed.
30765        * khtml/rendering/render_image.h: Removed.
30766        * khtml/rendering/render_inline.cpp: Removed.
30767        * khtml/rendering/render_inline.h: Removed.
30768        * khtml/rendering/render_layer.cpp: Removed.
30769        * khtml/rendering/render_layer.h: Removed.
30770        * khtml/rendering/render_line.cpp: Removed.
30771        * khtml/rendering/render_line.h: Removed.
30772        * khtml/rendering/render_list.cpp: Removed.
30773        * khtml/rendering/render_list.h: Removed.
30774        * khtml/rendering/render_object.cpp: Removed.
30775        * khtml/rendering/render_object.h: Removed.
30776        * khtml/rendering/render_replaced.cpp: Removed.
30777        * khtml/rendering/render_replaced.h: Removed.
30778        * khtml/rendering/render_style.cpp: Removed.
30779        * khtml/rendering/render_style.h: Removed.
30780        * khtml/rendering/render_table.cpp: Removed.
30781        * khtml/rendering/render_table.h: Removed.
30782        * khtml/rendering/render_theme.cpp: Removed.
30783        * khtml/rendering/render_theme.h: Removed.
30784        * khtml/rendering/render_theme_mac.h: Removed.
30785        * khtml/rendering/render_theme_mac.mm: Removed.
30786        * khtml/rendering/table_layout.cpp: Removed.
30787        * khtml/rendering/table_layout.h: Removed.
30788        * rendering: Added.
30789        * rendering/DataRef.h: Added.
30790        * rendering/InlineTextBox.cpp: Added.
30791        * rendering/InlineTextBox.h: Added.
30792        * rendering/RenderText.cpp: Added.
30793        * rendering/RenderText.h: Added.
30794        * rendering/RenderTextFragment.cpp: Added.
30795        * rendering/RenderTextFragment.h: Added.
30796        * rendering/bidi.cpp: Added.
30797        * rendering/bidi.h: Added.
30798        * rendering/break_lines.cpp: Added.
30799        * rendering/break_lines.h: Added.
30800        * rendering/font.cpp: Added.
30801        * rendering/font.h: Added.
30802        * rendering/render_applet.cpp: Added.
30803        * rendering/render_applet.h: Added.
30804        * rendering/render_arena.cpp: Added.
30805        * rendering/render_arena.h: Added.
30806        * rendering/render_block.cpp: Added.
30807        * rendering/render_block.h: Added.
30808        * rendering/render_box.cpp: Added.
30809        * rendering/render_box.h: Added.
30810        * rendering/render_br.cpp: Added.
30811        * rendering/render_br.h: Added.
30812        * rendering/render_button.cpp: Added.
30813        * rendering/render_button.h: Added.
30814        * rendering/render_canvas.cpp: Added.
30815        * rendering/render_canvas.h: Added.
30816        * rendering/render_canvasimage.cpp: Added.
30817        * rendering/render_canvasimage.h: Added.
30818        * rendering/render_container.cpp: Added.
30819        * rendering/render_container.h: Added.
30820        * rendering/render_flexbox.cpp: Added.
30821        * rendering/render_flexbox.h: Added.
30822        * rendering/render_flow.cpp: Added.
30823        * rendering/render_flow.h: Added.
30824        * rendering/render_form.cpp: Added.
30825        * rendering/render_form.h: Added.
30826        * rendering/render_frames.cpp: Added.
30827        * rendering/render_frames.h: Added.
30828        * rendering/render_image.cpp: Added.
30829        * rendering/render_image.h: Added.
30830        * rendering/render_inline.cpp: Added.
30831        * rendering/render_inline.h: Added.
30832        * rendering/render_layer.cpp: Added.
30833        * rendering/render_layer.h: Added.
30834        * rendering/render_line.cpp: Added.
30835        * rendering/render_line.h: Added.
30836        * rendering/render_list.cpp: Added.
30837        * rendering/render_list.h: Added.
30838        * rendering/render_object.cpp: Added.
30839        * rendering/render_object.h: Added.
30840        * rendering/render_replaced.cpp: Added.
30841        * rendering/render_replaced.h: Added.
30842        * rendering/render_style.cpp: Added.
30843        * rendering/render_style.h: Added.
30844        * rendering/render_table.cpp: Added.
30845        * rendering/render_table.h: Added.
30846        * rendering/render_theme.cpp: Added.
30847        * rendering/render_theme.h: Added.
30848        * rendering/render_theme_mac.h: Added.
30849        * rendering/render_theme_mac.mm: Added.
30850        * rendering/table_layout.cpp: Added.
30851        * rendering/table_layout.h: Added.
30852
308532006-01-17  David Hyatt  <hyatt@apple.com>
30854
30855        Land support for a style method on DOMAttr from JS that will
30856        allow the Web Inspector to include presentational attributes
30857        in the style list.
30858
30859        Reviewed by xenon
30860
30861        * khtml/ecma/kjs_dom.cpp:
30862        (KJS::DOMAttr::getValueProperty):
30863        * khtml/ecma/kjs_dom.h:
30864        (KJS::DOMAttr::):
30865
308662006-01-17  Beth Dakin  <bdakin@apple.com>
30867
30868        Reviewed by Hyatt and Darin
30869
30870        Fix for <rdar://problem/4405836> REGRESSION: crash at webmail.aol.com
30871        when deleting mail in khtml::RenderTableCell::collapsedBottomBorder() const
30872        + 232
30873
30874        RenderTableCell::collapsedBottomBorder() gets nextCell by calling
30875        table()->cellBelow(this). In the case of the crash, cellBelow() returns
30876        a pointer to a table cell that was already destroyed. cellBelow() thinks
30877        that the pointer is still good because the grid of cells has not been updated
30878        because all of this code is called through the hitTest and the hitTest does
30879        not update the layout. The fix that I have is simply it have the hitTest call
30880        updateLayout(). This is the only change in behavior. The rest of the patch
30881        preserves behavior for simulated clicks. fast/events/stopPropagation-submit
30882        caught this problem that arose from calling updateLayout() in the hitTest;
30883        we should always have an x and y position of 0 for simulated clicks. This
30884        preserves that behavior by keeping track of whether a click is simulated or not.
30885
30886        * khtml/html/HTMLInputElementImpl.cpp:
30887        (DOM::HTMLInputElementImpl::defaultEventHandler): If the click is simulated,
30888        set xPos and yPos to 0.
30889        * khtml/html/html_elementimpl.cpp:
30890        (HTMLElementImpl::setContentEditable): Fix spacing.
30891        (HTMLElementImpl::click): It isn't necessary to check if there is a renderer.
30892        * khtml/rendering/render_layer.cpp:
30893        (khtml::RenderLayer::hitTest): Call updateLayout().
30894        * khtml/xml/NodeImpl.cpp:
30895        (WebCore::NodeImpl::dispatchSimulatedMouseEvent): Set isSimulated to true.
30896        (WebCore::NodeImpl::dispatchMouseEvent): Keep track of isSimulated.
30897        * khtml/xml/NodeImpl.h: Same.
30898        * khtml/xml/dom2_eventsimpl.cpp:
30899        (DOM::MouseRelatedEventImpl::MouseRelatedEventImpl): Add isSimulated to
30900        MouseRelatedEventImpl().
30901        (DOM::MouseRelatedEventImpl::computePositions): Only change the offsets if
30902        it's not simulated.
30903        (DOM::MouseEventImpl::MouseEventImpl): Add isSimulated to MouseEventImpl()
30904        * khtml/xml/dom2_eventsimpl.h:
30905        (DOM::MouseRelatedEventImpl::isSimulated): Declarations of isSimulated
30906        (DOM::MouseEventImpl::isSimulated): Same.
30907
309082006-01-17  Duncan Wilcox  <duncan@mclink.it>
30909
30910        Reviewed by Darin, landed by ap.
30911
30912        - fix http://bugs.webkit.org/show_bug.cgi?id=6609
30913          Use Selection instead of SelectionController where possible
30914
30915        This patch replaces the use of SelectionController with Selection in the edit commands.
30916
30917        It also cleans up the relationship between Selection and SelectionController:
30918        SelectionController used to need to be friend to Selection to call validate()
30919        on it, now validation is enforced on every update of Selection.
30920
30921        * khtml/editing/Selection.cpp:
30922        (WebCore::Selection::Selection):
30923        (WebCore::Selection::expandUsingGranularity):
30924        (WebCore::Selection::validate):
30925        * khtml/editing/Selection.h:
30926        (WebCore::Selection::setExtent):
30927        (WebCore::Selection::granularity):
30928        (WebCore::operator==):
30929        * khtml/editing/SelectionController.cpp:
30930        (WebCore::SelectionController::SelectionController):
30931        (WebCore::SelectionController::moveTo):
30932        (WebCore::SelectionController::expandUsingGranularity):
30933        (WebCore::SelectionController::clear):
30934        (WebCore::SelectionController::setBase):
30935        (WebCore::SelectionController::setExtent):
30936        * khtml/editing/SelectionController.h:
30937        (WebCore::SelectionController::selection):
30938        * khtml/editing/apply_style_command.cpp:
30939        (WebCore::ApplyStyleCommand::updateStartEnd):
30940        (WebCore::ApplyStyleCommand::doApply):
30941        * khtml/editing/break_blockquote_command.cpp:
30942        (khtml::BreakBlockquoteCommand::doApply):
30943        * khtml/editing/composite_edit_command.cpp:
30944        (WebCore::CompositeEditCommand::deleteSelection):
30945        (WebCore::CompositeEditCommand::rebalanceWhitespace):
30946        * khtml/editing/composite_edit_command.h:
30947        * khtml/editing/delete_selection_command.cpp:
30948        (WebCore::DeleteSelectionCommand::DeleteSelectionCommand):
30949        (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete):
30950        (WebCore::DeleteSelectionCommand::clearTransientState):
30951        (WebCore::DeleteSelectionCommand::doApply):
30952        * khtml/editing/delete_selection_command.h:
30953        * khtml/editing/edit_command.cpp:
30954        (WebCore::EditCommandPtr::startingSelection):
30955        (WebCore::EditCommandPtr::endingSelection):
30956        (WebCore::EditCommandPtr::setStartingSelection):
30957        (WebCore::EditCommandPtr::setEndingSelection):
30958        (WebCore::EditCommand::EditCommand):
30959        (WebCore::EditCommand::setStartingSelection):
30960        (WebCore::EditCommand::setEndingSelection):
30961        * khtml/editing/edit_command.h:
30962        (WebCore::EditCommand::startingSelection):
30963        (WebCore::EditCommand::endingSelection):
30964        * khtml/editing/insert_line_break_command.cpp:
30965        (khtml::InsertLineBreakCommand::doApply):
30966        * khtml/editing/insert_paragraph_separator_command.cpp:
30967        (khtml::InsertParagraphSeparatorCommand::doApply):
30968        * khtml/editing/insert_text_command.cpp:
30969        (khtml::InsertTextCommand::input):
30970        * khtml/editing/move_selection_command.cpp:
30971        (khtml::MoveSelectionCommand::doApply):
30972        * khtml/editing/replace_selection_command.cpp:
30973        (khtml::ReplaceSelectionCommand::doApply):
30974        (khtml::ReplaceSelectionCommand::completeHTMLReplacement):
30975        * khtml/editing/typing_command.cpp:
30976        (khtml::TypingCommand::deleteKeyPressed):
30977        (khtml::TypingCommand::forwardDeleteKeyPressed):
30978        * page/Frame.cpp:
30979        (Frame::appliedEditing):
30980        (Frame::unappliedEditing):
30981        (Frame::reappliedEditing):
30982        * page/Frame.h:
30983
309842006-01-17  Mitz Pettel  <opendarwin.org@mitzpettel.com>
30985
30986        Test: fast/dom/generic-form-element-assert.html
30987
30988        Reviewed and reworked by Darin.
30989
30990        - fix http://bugs.webkit.org/show_bug.cgi?id=5926
30991          Assertion failure in HTMLGenericFormElementImpl::removedFromTree
30992
30993        * khtml/html/HTMLGenericFormElementImpl.cpp: Tweaked formatting and namespaces
30994        a bit. Removed unneeded includes.
30995        (WebCore::findRoot): Added helper function.
30996        (WebCore::HTMLGenericFormElementImpl::removedFromTree): Rewrote to do the check
30997        in a simpler way, since the two separate cases amounted to the same check.
30998
309992006-01-17  Mark Rowe  <opendarwin.org@bdash.net.nz>
31000
31001        Reviewed by eseidel.  Landed by eseidel.
31002
31003        Fix second part of WebCore-no-SVG fails to build.
31004        http://bugs.webkit.org/show_bug.cgi?id=6607
31005
31006        * WebCore.xcodeproj/project.pbxproj:
31007        Mark three headers as private rather than project in the WebCore-no-SVG target.
31008
310092006-01-17  Mitz Pettel  <opendarwin.org@mitzpettel.com>
31010
31011        Reviewed by hyatt
31012
31013        * kwq/KWQVectorImpl.cpp:
31014        (KWQVectorImpl::append): Assign the new item to index m_count, not m_size.
31015
310162006-01-17  Mark Rowe  <opendarwin.org@bdash.net.nz>
31017
31018        Reviewed by eseidel.  Landed by eseidel.
31019
31020        WebCore-no-SVG fails to build.
31021        http://bugs.webkit.org/show_bug.cgi?id=6607
31022
31023        * WebCore.xcodeproj/project.pbxproj:
31024        Fix build of WebCore-no-SVG target.  Removes SVG specific files and adds new
31025        files omitted from the target.
31026
310272006-01-16  David Hyatt  <hyatt@apple.com>
31028
31029        (1) Fix build bustage by properly marking the moved Obj-C
31030        bindings files as private.
31031        (2) Move khtml/css to WebCore/css.
31032        (3) Eliminate the kdom/css forwarding headers.
31033
31034        * ForwardingHeaders/kdom/css: Removed.
31035        * ForwardingHeaders/kdom/css/CSSPrimitiveValueImpl.h: Removed.
31036        * ForwardingHeaders/kdom/css/CSSStyleDeclarationImpl.h: Removed.
31037        * ForwardingHeaders/kdom/css/CSSStyleRuleImpl.h: Removed.
31038        * ForwardingHeaders/kdom/css/CSSStyleSelector.h: Removed.
31039        * ForwardingHeaders/kdom/css/CSSStyleSheetImpl.h: Removed.
31040        * ForwardingHeaders/kdom/css/CSSValueImpl.h: Removed.
31041        * ForwardingHeaders/kdom/css/CSSValueListImpl.h: Removed.
31042        * ForwardingHeaders/kdom/css/KDOMCSSParser.h: Removed.
31043        * ForwardingHeaders/kdom/css/MediaListImpl.h: Removed.
31044        * ForwardingHeaders/kdom/css/RGBColorImpl.h: Removed.
31045        * ForwardingHeaders/kdom/css/RenderStyle.h: Removed.
31046        * ForwardingHeaders/kdom/css/StyleSheetListImpl.h: Removed.
31047        * WebCore+SVG/RGBColorImpl.cpp:
31048        * WebCore.xcodeproj/project.pbxproj:
31049        * css: Added.
31050        * css/css_base.cpp: Added.
31051        * css/css_base.h: Added.
31052        * css/css_computedstyle.cpp: Added.
31053        * css/css_computedstyle.h: Added.
31054        * css/css_grammar.y: Added.
31055        * css/css_ruleimpl.cpp: Added.
31056        * css/css_ruleimpl.h: Added.
31057        * css/css_stylesheetimpl.cpp: Added.
31058        * css/css_stylesheetimpl.h: Added.
31059        * css/css_valueimpl.cpp: Added.
31060        * css/css_valueimpl.h: Added.
31061        * css/csshelper.cpp: Added.
31062        * css/csshelper.h: Added.
31063        * css/cssparser.cpp: Added.
31064        * css/cssparser.h: Added.
31065        * css/cssproperties.in: Added.
31066        * css/cssstyleselector.cpp: Added.
31067        * css/cssstyleselector.h: Added.
31068        * css/cssvalues.in: Added.
31069        * css/html4.css: Added.
31070        * css/makeprop: Added.
31071        * css/maketokenizer: Added.
31072        * css/makevalues: Added.
31073        * css/quirks.css: Added.
31074        * css/tokenizer.flex: Added.
31075        * khtml/css: Removed.
31076        * khtml/css/css_base.cpp: Removed.
31077        * khtml/css/css_base.h: Removed.
31078        * khtml/css/css_computedstyle.cpp: Removed.
31079        * khtml/css/css_computedstyle.h: Removed.
31080        * khtml/css/css_grammar.y: Removed.
31081        * khtml/css/css_ruleimpl.cpp: Removed.
31082        * khtml/css/css_ruleimpl.h: Removed.
31083        * khtml/css/css_stylesheetimpl.cpp: Removed.
31084        * khtml/css/css_stylesheetimpl.h: Removed.
31085        * khtml/css/css_valueimpl.cpp: Removed.
31086        * khtml/css/css_valueimpl.h: Removed.
31087        * khtml/css/csshelper.cpp: Removed.
31088        * khtml/css/csshelper.h: Removed.
31089        * khtml/css/cssparser.cpp: Removed.
31090        * khtml/css/cssparser.h: Removed.
31091        * khtml/css/cssproperties.in: Removed.
31092        * khtml/css/cssstyleselector.cpp: Removed.
31093        * khtml/css/cssstyleselector.h: Removed.
31094        * khtml/css/cssvalues.in: Removed.
31095        * khtml/css/html4.css: Removed.
31096        * khtml/css/makeprop: Removed.
31097        * khtml/css/maketokenizer: Removed.
31098        * khtml/css/makevalues: Removed.
31099        * khtml/css/quirks.css: Removed.
31100        * khtml/css/tokenizer.flex: Removed.
31101        * ksvg2/css/SVGCSSStyleSelector.cpp:
31102        * ksvg2/ecma/Ecma.cpp:
31103        * ksvg2/misc/KCanvasRenderingStyle.cpp:
31104        * ksvg2/misc/KCanvasRenderingStyle.h:
31105        * ksvg2/svg/SVGAnimationElementImpl.cpp:
31106        * ksvg2/svg/SVGClipPathElementImpl.cpp:
31107        * ksvg2/svg/SVGColorImpl.cpp:
31108        * ksvg2/svg/SVGColorImpl.h:
31109        * ksvg2/svg/SVGDOMImplementationImpl.cpp:
31110        * ksvg2/svg/SVGDocumentImpl.cpp:
31111        * ksvg2/svg/SVGElementImpl.cpp:
31112        * ksvg2/svg/SVGGradientElementImpl.cpp:
31113        * ksvg2/svg/SVGMaskElementImpl.cpp:
31114        * ksvg2/svg/SVGStyleElementImpl.cpp:
31115        * ksvg2/svg/SVGStyledElementImpl.h:
31116        * ksvg2/svg/SVGTextElementImpl.cpp:
31117
311182006-01-16  David Hyatt  <hyatt@apple.com>
31119
31120        Move the Objective-C dom bindings from kwq to bindings/objc.
31121
31122        Reviewed by eseidel
31123
31124        * WebCore.xcodeproj/project.pbxproj:
31125        * bindings: Added.
31126        * bindings/js: Added.
31127        * bindings/objc: Added.
31128        * bindings/objc/DOM.h: Added.
31129        * bindings/objc/DOM.mm: Added.
31130        * bindings/objc/DOMCSS.h: Added.
31131        * bindings/objc/DOMCSS.mm: Added.
31132        * bindings/objc/DOMCore.h: Added.
31133        * bindings/objc/DOMEvents.h: Added.
31134        * bindings/objc/DOMEvents.mm: Added.
31135        * bindings/objc/DOMEventsInternal.h: Added.
31136        * bindings/objc/DOMExtensions.h: Added.
31137        * bindings/objc/DOMHTML.h: Added.
31138        * bindings/objc/DOMHTML.mm: Added.
31139        * bindings/objc/DOMHTMLInternal.h: Added.
31140        * bindings/objc/DOMInternal.h: Added.
31141        * bindings/objc/DOMInternal.mm: Added.
31142        * bindings/objc/DOMPrivate.h: Added.
31143        * bindings/objc/DOMRange.h: Added.
31144        * bindings/objc/DOMStylesheets.h: Added.
31145        * bindings/objc/DOMTraversal.h: Added.
31146        * bindings/objc/DOMUtility.mm: Added.
31147        * bindings/objc/DOMViews.h: Added.
31148        * bindings/objc/DOMViews.mm: Added.
31149        * bindings/objc/DOMViewsInternal.h: Added.
31150        * kwq/DOM-CSS.mm: Removed.
31151        * kwq/DOM.h: Removed.
31152        * kwq/DOM.mm: Removed.
31153        * kwq/DOMCSS.h: Removed.
31154        * kwq/DOMCore.h: Removed.
31155        * kwq/DOMEvents.h: Removed.
31156        * kwq/DOMEvents.mm: Removed.
31157        * kwq/DOMEventsInternal.h: Removed.
31158        * kwq/DOMExtensions.h: Removed.
31159        * kwq/DOMHTML.h: Removed.
31160        * kwq/DOMHTML.mm: Removed.
31161        * kwq/DOMHTMLInternal.h: Removed.
31162        * kwq/DOMInternal.h: Removed.
31163        * kwq/DOMInternal.mm: Removed.
31164        * kwq/DOMPrivate.h: Removed.
31165        * kwq/DOMRange.h: Removed.
31166        * kwq/DOMStylesheets.h: Removed.
31167        * kwq/DOMTraversal.h: Removed.
31168        * kwq/DOMUtility.mm: Removed.
31169        * kwq/DOMViews.h: Removed.
31170        * kwq/DOMViews.mm: Removed.
31171        * kwq/DOMViewsInternal.h: Removed.
31172
311732006-01-16  Mitz Pettel  <opendarwin.org@mitzpettel.com>
31174
31175        Reviewed by Hyatt, landed by ap.
31176
31177        - fix http://bugs.webkit.org/show_bug.cgi?id=6473
31178          REGRESSION: Serious painting problems on new iLife and iWorks pages
31179
31180        * khtml/css/css_grammar.y:
31181        (DOM::getPropertyID): Undo the mapping of -moz-opacity and -moz-border-radius to
31182        opacity and border-radius, respectively.
31183        * khtml/rendering/render_box.cpp:
31184        (RenderBox::setStyle): Set the object's layer to 0 before removing the layer,
31185        to allow child layers to update their positions correctly.
31186        * khtml/rendering/render_layer.cpp:
31187        (khtml::RenderLayer::removeOnlyThisLayer): Update the positions of all children
31188        of the layer being removed.
31189        * manual-tests/bugzilla-6473.html: Added.
31190
311912006-01-16  Mark Rowe  <opendarwin.org@bdash.net.nz>
31192
31193        Reviewed by Darin, landed by ap.
31194
31195        Fix typo in CSSPrimitiveValueImpl::setStringValue.
31196
31197        * khtml/css/css_valueimpl.cpp:
31198        (DOM::CSSPrimitiveValueImpl::setStringValue): Change >> to > and fix formatting.
31199
312002006-01-16  Alexey Proskuryakov  <ap@nypop.com>
31201
31202        Reviewed by Justin.
31203
31204        - fix http://bugs.webkit.org/show_bug.cgi?id=5401
31205          [WebCoreBridge firstRectForDOMRange:] works incorrectly for the first character after a line wrap
31206
31207        Test: editing/input/wrapped-line-char-rect.html
31208
31209        * bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge firstRectForDOMRange:]):
31210         Use DOWNSTREAM affinity for the range start
31211
312122006-01-16  Justin Garcia  <justin.garcia@apple.com>
31213
31214        Reviewed by darin
31215
31216        <http://bugs.webkit.org/show_bug.cgi?id=5127>
31217        REGRESSION: problems making selection with left edge at right edge of image
31218        <rdar://problem/4364427>
31219        triple-click includes first item on next line (www.apple.com, but I think I've seen it elsewhere)
31220
31221        Don't paint the selection tint on replaced elements
31222        if the selections starts at the end or ends at the start.
31223
31224        * khtml/rendering/render_image.cpp:
31225        (RenderImage::paint):
31226        * khtml/rendering/render_replaced.cpp:
31227        (WebCore::RenderReplaced::isSelected):
31228        (WebCore::RenderWidget::paint):
31229        * khtml/rendering/render_replaced.h:
31230
312312006-01-16  Tim Omernick  <timo@apple.com>
31232
31233        Reviewed by John Sullivan.
31234
31235        WebCore part of <rdar://problem/4211707> NPAPI ref count behavior differs with Mozilla
31236
31237        * bridge/mac/MacFrame.mm:
31238        (MacFrame::setView):
31239        Call _NPN_DeallocateObject() instead of _NPN_ReleaseObject() so that we don't leak if a plugin fails to release
31240        the window script object properly.
31241        Our old NPN_GetValue() did not properly retain the returned window script object.  Because of this, many plugins
31242        have WebKit-specific workarounds to not release said window script object.  Forcibly deallocating it here
31243        should prevent any such issues.  This shouldn't cause any problems for plugins, since they should already be
31244        stopped and destroyed at this point.
31245        This also fixes a preexisting leak of the window script NPObject -- it was never actually being freed!
31246
312472006-01-16  Darin Adler  <darin@apple.com>
31248
31249        - actually removed QPtrDict itself
31250
31251        * ForwardingHeaders/qptrdict.h: Removed.
31252        * WebCore.xcodeproj/project.pbxproj: Removed KWQPtrDict* files.
31253        * kwq/KWQPtrDict.h: Removed.
31254        * kwq/KWQPtrDictImpl.cpp: Removed.
31255        * kwq/KWQPtrDictImpl.h: Removed.
31256
312572006-01-16  Darin Adler  <darin@apple.com>
31258
31259        Reviewed by John Sullivan.
31260
31261        - removed all uses of QPtrDict, most uses of QMap
31262
31263        * khtml/ecma/kjs_dom.cpp: Converted tabs to spaces.
31264        (KJS::DOMNode::mark): Switched from QPtrDict to HashSet.
31265        * khtml/ecma/kjs_events.cpp: Converted tabs to spaces.
31266        (KJS::JSUnprotectedEventListener::JSUnprotectedEventListener): Use HashMap.
31267        (KJS::JSEventListener::JSEventListener): Use HashMap.
31268        (KJS::JSLazyEventListener::parseCode): Use HashMap.
31269        * khtml/ecma/kjs_html.cpp: Convert tabs to spaces.
31270        (KJS::KJS::HTMLElement::classInfo): Use HashMap.
31271        * khtml/ecma/kjs_window.cpp: Convert tabs to spaces.
31272        (KJS::Window::~Window): Use HashMap.
31273        (KJS::Window::getJSEventListener): Ditto.
31274        (KJS::Window::getJSUnprotectedEventListener): Ditto.
31275        (KJS::WindowQObject::parentDestroyed): Ditto.
31276        (KJS::WindowQObject::installTimeout): Ditto.
31277        (KJS::WindowQObject::pauseTimeouts): Ditto.
31278        (KJS::WindowQObject::resumeTimeouts): Ditto.
31279        (KJS::WindowQObject::clearTimeout): Ditto.
31280        (KJS::WindowQObject::timerEvent): Ditto.
31281        * khtml/ecma/kjs_window.h: Use HashMap.
31282        * khtml/ecma/xmlhttprequest.cpp: Convert tabs to spaces.
31283        (KJS::XMLHttpRequest::requestsByDocument): Use HashMap/Set.
31284        (KJS::XMLHttpRequest::addToRequestsByDocument): Ditto.
31285        (KJS::XMLHttpRequest::removeFromRequestsByDocument): Ditto.
31286        (KJS::XMLHttpRequest::cancelRequests): Ditto.
31287        * khtml/ecma/xmlhttprequest.h: Ditto.
31288        * khtml/editing/apply_style_command.cpp:
31289        (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): Use HashMap.
31290        * khtml/rendering/render_canvas.cpp:
31291        (RenderCanvas::selectionRect): Use HashMap.
31292        (RenderCanvas::setSelection): Ditto.
31293        * khtml/rendering/render_flow.cpp: (RenderFlow::paintLines): Use HashSet.
31294        * khtml/rendering/render_line.cpp: (khtml::InlineFlowBox::paint): Use HashSet.
31295        * khtml/rendering/render_object.h: Used HashSet.
31296        Converted tabs to spaces and did namespace changes too.
31297        * khtml/xml/DocumentImpl.cpp:
31298        (DocumentImpl::DocumentImpl): Use HashSet and HashMap.
31299        (DocumentImpl::~DocumentImpl): Ditto.
31300        (DocumentImpl::registerDisconnectedNodeWithEventListeners): Ditto.
31301        (DocumentImpl::unregisterDisconnectedNodeWithEventListeners): Ditto.
31302        (DocumentImpl::removeAllDisconnectedNodeEventListeners): Ditto.
31303        (DocumentImpl::addImageMap): Ditto.
31304        (DocumentImpl::removeImageMap): Ditto.
31305        (DocumentImpl::getImageMap): Ditto.
31306        (DocumentImpl::addMarker): Ditto.
31307        (DocumentImpl::copyMarkers): Ditto.
31308        (DocumentImpl::removeMarkers): Ditto.
31309        (DocumentImpl::markersForNode): Ditto.
31310        (DocumentImpl::shiftMarkers): Ditto.
31311        (DocumentImpl::radioButtonChecked): Ditto.
31312        (DocumentImpl::checkedRadioButtonForGroup): Ditto.
31313        (DocumentImpl::removeRadioButtonGroup): Ditto.
31314        * khtml/xml/DocumentImpl.h: Use HashSet and HashMap.
31315        * khtml/xml/NodeImpl.cpp:
31316        (WebCore::NodeImpl::registerNodeList): Use HashSet.
31317        (WebCore::NodeImpl::unregisterNodeList): Ditto.
31318        (WebCore::NodeImpl::notifyLocalNodeListsAttributeChanged): Ditto.
31319        (WebCore::NodeImpl::notifyNodeListsAttributeChanged): Ditto.
31320        (WebCore::NodeImpl::notifyLocalNodeListsChildrenChanged): Ditto.
31321        (WebCore::NodeImpl::notifyNodeListsChildrenChanged): Ditto.
31322        (WebCore::NodeImpl::getElementsByTagName): Moved here so we don't have
31323        to include NodeListImpl.h in the header.
31324        * khtml/xml/NodeImpl.h: Use HashSet. Reduced includes.
31325        * khtml/xml/dom_elementimpl.cpp:
31326        (WebCore::MappedAttributeKey): Added. Hash table key.
31327        (WebCore::MappedAttributeKeyTraits): Added. Hash table key traits.
31328        (WebCore::MappedAttributeHash): Added. Hash function.
31329        (WebCore::StyledElementImpl::getMappedAttributeDecl): Use HashMap.
31330        (WebCore::StyledElementImpl::setMappedAttributeDecl): Ditto.
31331        (WebCore::StyledElementImpl::removeMappedAttributeDecl): Ditto.
31332        (WebCore::MappedAttributeHash::hash): Added. Hash function.
31333        * khtml/xml/dom_elementimpl.h: Use HashMap.
31334
31335        * khtml/html/html_imageimpl.cpp:
31336        (WebCore::HTMLMapElementImpl::parseMappedAttribute): Update m_name handling
31337        to use AtomicString.
31338        * khtml/html/html_imageimpl.h:
31339        (WebCore::HTMLMapElementImpl::getName): Change to return const AtomicString&.
31340
31341        * khtml/dom/dom_string.h: Added a default argument to substring, also
31342        reduced includes and updated namespace.
31343        * khtml/xml/dom_stringimpl.h: Ditto.
31344
31345        * bridge/mac/WebCoreFrameBridge.mm: Switched to new WebCore namespace.
31346        Updated includes for header changes.
31347        * kcanvas/RenderForeignObject.cpp: Ditto.
31348        * kcanvas/RenderForeignObject.h: Ditto.
31349        * kcanvas/RenderSVGImage.h: Ditto.
31350        * kcanvas/device/quartz/KCanvasResourcesQuartz.h: Ditto.
31351        * khtml/css/css_ruleimpl.cpp: Ditto.
31352        * khtml/css/css_valueimpl.h: Ditto.
31353        * khtml/ecma/kjs_dom.h: Ditto.
31354        * khtml/ecma/kjs_html.h: Ditto.
31355        * khtml/editing/composite_edit_command.cpp: Ditto.
31356        * khtml/editing/delete_selection_command.cpp: Ditto.
31357        * khtml/html/html_tableimpl.cpp: Ditto.
31358        * khtml/khtml_events.cpp: Ditto.
31359        * khtml/rendering/RenderText.cpp: Ditto.
31360        * khtml/rendering/render_block.cpp: Ditto.
31361        * khtml/rendering/render_br.cpp: Ditto.
31362        * khtml/rendering/render_inline.cpp: Ditto.
31363        * khtml/rendering/render_object.cpp: Ditto.
31364        * khtml/rendering/render_replaced.cpp: Ditto.
31365        * khtml/xml/dom2_rangeimpl.cpp: Ditto.
31366        * kwq/DOM.mm: Ditto.
31367        * page/Frame.cpp: Ditto.
31368
31369        * kcanvas/KCanvasResources.cpp: (KCanvasMarker::draw): Updated because a
31370        constant moved into the WebCore namespace.
31371        * kcanvas/RenderSVGText.cpp: (RenderSVGText::nodeAtPoint): Ditto.
31372        * kcanvas/RenderSVGText.h: Ditto.
31373        * kcanvas/device/quartz/KCanvasItemQuartz.h: Ditto.
31374        * kcanvas/device/quartz/KCanvasItemQuartz.mm:
31375        (KCanvasItemQuartz::paint): Ditto.
31376        (KCanvasItemQuartz::nodeAtPoint): Ditto.
31377        * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
31378        (KCanvasContainerQuartz::paint): Ditto.
31379
31380        * khtml/xbl/xbl_binding_manager.cpp: Removed include of qptrddict.h.
31381        * khtml/xbl/xbl_binding_manager.h: Removed include of qptrddict.h.
31382        * khtml/xbl/xbl_docimpl.h: Removed include of qptrddict.h.
31383
31384        * khtml/xml/dom_xmlimpl.cpp: Changed to use RefPtr for strings.
31385        * khtml/xml/dom_xmlimpl.h: Ditto.
31386
31387        * ksvg2/css/SVGRenderStyle.h: Reduced includes a bit and added newly-needed ones.
31388        * ksvg2/misc/KSVGTimeScheduler.cpp: Ditto.
31389        * ksvg2/svg/SVGPointImpl.cpp: Ditto.
31390
31391        * kwq/KWQNamespace.h: Removed QColor, QCursor, and redundant declaration of QRgb
31392        (now in qcolor.h). Also converted tabs to spaces.
31393
31394        * kwq/KWQPainter.h: Added newly-needed include.
31395
31396        * kwq/KWQPtrVector.h: Added append function.
31397        * kwq/KWQVectorImpl.cpp: (KWQVectorImpl::append): Added.
31398        * kwq/KWQVectorImpl.h: Added append.
31399
31400        * kwq/KWQRenderTreeDebug.cpp: Updated to no longer use transparentColor constant.
31401
31402        * kwq/KWQWMatrix.cpp: Changed name to QMatrix to allow forward declarations.
31403        * kwq/KWQWMatrix.h: Ditto.
31404
31405        * loader/Cache.cpp: (khtml::Cache::clear): Use deleteAllValues for clearer code.
31406
31407        * loader/CachedCSSStyleSheet.cpp: Reduced includes a lot, moving them from .h to .cpp.
31408        * loader/CachedCSSStyleSheet.h: Ditto.
31409        * loader/CachedImage.cpp: Ditto.
31410        * loader/CachedImage.h: Ditto.
31411        * loader/CachedImageCallback.cpp: Ditto.
31412        * loader/CachedObject.cpp: Ditto.
31413        * loader/CachedObject.h: Ditto.
31414        * loader/CachedObjectClient.h: Ditto.
31415        * loader/CachedObjectClientWalker.cpp: Ditto.
31416        * loader/CachedObjectClientWalker.h: Ditto.
31417        * loader/CachedScript.cpp: Ditto.
31418        * loader/CachedScript.h: Ditto.
31419        * loader/CachedXSLStyleSheet.cpp: Ditto.
31420
31421        * loader/loader.cpp:
31422        (WebCore::Loader::Loader): Changed to use HashMap.
31423        (WebCore::Loader::~Loader): Ditto.
31424        (WebCore::Loader::servePendingRequests): Ditto.
31425        (WebCore::Loader::slotFinished): Ditto.
31426        (WebCore::Loader::slotReceivedResponse): Ditto.
31427        (WebCore::Loader::slotData): Ditto.
31428        (WebCore::Loader::numRequests): Ditto.
31429        (WebCore::Loader::cancelRequests): Ditto.
31430        (WebCore::Loader::jobForRequest): Ditto.
31431        * loader/loader.h: Ditto.
31432
314332006-01-16  Darin Adler  <darin@apple.com>
31434
31435        * WebCore.xcodeproj/project.pbxproj: Move config.h in project file to match
31436        where it is in the source tree.
31437
314382006-01-15  Timothy Hatcher  <timothy@apple.com>
31439
31440        Reviewed by Darin.
31441
31442        Support for the new DOM Inspector.
31443
31444        * khtml/ecma/kjs_dom.cpp: exposes scrollIntoViewIfNeeded to JS
31445        * khtml/ecma/kjs_dom.h:
31446        * khtml/rendering/RenderText.cpp:
31447        (RenderText::lineBoxRects): returns text run rects
31448        * khtml/rendering/RenderText.h:
31449        * khtml/rendering/render_container.cpp:
31450        (RenderContainer::lineBoxRects): returns all child line box rects
31451        * khtml/rendering/render_container.h:
31452        * khtml/rendering/render_object.cpp:
31453        (RenderObject::lineBoxRects): returns an empty list
31454        * khtml/rendering/render_object.h:
31455        * khtml/xml/dom_elementimpl.cpp:
31456        (ElementImpl::scrollIntoViewIfNeeded): scrolls only if needed, bool decides to center to align to nearest edge
31457        * khtml/xml/dom_elementimpl.h: Ditto
31458        * kwq/DOM.mm:
31459        (-[DOMNode boundingBox]): returns the bounding box for a node
31460        (-[DOMNode lineBoxRects]): returns text runs for a node
31461        * kwq/DOMCore.h: added missing @protocol DOMEventListener and @class DOMEvent
31462        * kwq/DOMExtensions.h: removes methods that haven't been API reviewed
31463        * kwq/DOMPrivate.h: new pending public API added for the Inspector
31464
314652006-01-15  Darin Adler  <darin@apple.com>
31466
31467        Reviewed by Eric.
31468
31469        - changed WebCore namespace change to work on Win32 as well as Mac OS X
31470
31471        * WebCorePrefix.h: Removed things needed cross-platform.
31472
31473        * config.h: Moved from khtml subdirectory. Added defines from
31474        WebCorePrefix.h, and added a define that makes KSVG a synonym for WebCore.
31475        * khtml/config.h: Removed.
31476
31477        * khtml/css/css_grammar.y: Changed SVG functions to use function name rather
31478        than namespace to avoid collision with the XML and HTML DOM. Changes tabs to spaces.
31479        * khtml/css/css_valueimpl.cpp:
31480        (WebCore::propertyID): Add SVG properties ot the ones understood here.
31481        This allows us to set SVG properties from JavaScript.
31482
31483        * ksvg2/scripts/cssmakeprops: Put functions inside the namespace to avoid compiler
31484        warning, and renamed functions to include CSS and SVG.
31485        * ksvg2/scripts/cssmakevalues: Ditto.
31486
31487        * ksvg2/svg/SVGStyledElementImpl.cpp: (SVGStyledElementImpl::parseMappedAttribute):
31488        Use property ID function by its new name.
31489
31490        * ksvg2/ksvg.h: Renamed ExceptionCode to SVGExceptionCode.
31491
31492        * khtml/ecma/XSLTProcessor.cpp: Moved "config.h" header up above the ifdef so that
31493        the ifdef works.
31494        * khtml/xbl/xbl_binding.cpp: Ditto.
31495        * khtml/xbl/xbl_binding_manager.cpp: Ditto.
31496        * khtml/xbl/xbl_docimpl.cpp: Ditto.
31497        * khtml/xbl/xbl_protobinding.cpp: Ditto.
31498        * khtml/xbl/xbl_tokenizer.cpp: Ditto.
31499        * khtml/xsl/xsl_stylesheetimpl.cpp: Ditto.
31500        * khtml/xsl/xslt_processorimpl.cpp: Ditto.
31501        * loader/CachedXBLDocument.cpp: Ditto.
31502
31503        * ksvg2/svg/SVGFELightElementImpl.h: Removed include of "config.h". That's supposed
31504        to only be included by code files, not headers.
31505
31506        * ksvg2/svg/SVGFEDistantLightElementImpl.cpp: Added missing include of "config.h".
31507        Did a few other tweaks to the file.
31508        * ksvg2/svg/SVGFEPointLightElementImpl.cpp: Ditto.
31509        * ksvg2/svg/SVGFESpotLightElementImpl.cpp: Ditto.
31510
315112006-01-15  Eric Seidel  <eseidel@apple.com>
31512
31513        Rubber-stamped by darin.
31514
31515        Updated files w/ missing copyrights from Oliver.
31516
31517        * kcanvas/device/quartz/filters/WKArithmeticFilter.cikernel:
31518        * kcanvas/device/quartz/filters/WKDistantLightFilter.cikernel:
31519        * kcanvas/device/quartz/filters/WKPointLightFilter.cikernel:
31520        * kcanvas/device/quartz/filters/WKSpotLightFilter.cikernel:
31521        * ksvg2/svg/SVGAnimatedColorImpl.cpp:
31522        * ksvg2/svg/SVGAnimatedColorImpl.h:
31523        * ksvg2/svg/SVGFEDiffuseLightingElementImpl.cpp:
31524        * ksvg2/svg/SVGFEDiffuseLightingElementImpl.h:
31525        * ksvg2/svg/SVGFEDistantLightElementImpl.cpp:
31526        * ksvg2/svg/SVGFEDistantLightElementImpl.h:
31527        * ksvg2/svg/SVGFELightElementImpl.cpp:
31528        * ksvg2/svg/SVGFELightElementImpl.h:
31529        * ksvg2/svg/SVGFEPointLightElementImpl.cpp:
31530        * ksvg2/svg/SVGFEPointLightElementImpl.h:
31531        * ksvg2/svg/SVGFESpecularLightingElementImpl.cpp:
31532        * ksvg2/svg/SVGFESpecularLightingElementImpl.h:
31533        * ksvg2/svg/SVGFESpotLightElementImpl.cpp:
31534        * ksvg2/svg/SVGFESpotLightElementImpl.h:
31535
315362006-01-15  Duncan Wilcox  <duncan@mclink.it>
31537
31538        Reviewed and tweaked a bit by Darin.
31539
31540        Fix for <http://bugs.webkit.org/show_bug.cgi?id=6523>
31541        "Extract data from SelectionController"
31542
31543        This patch refactors the data portions of SelectionController into its
31544        own class, "Selection".
31545
31546        The extracted data are the base/extent/start/end positions and cursor
31547        affinity. Also a couple cached values generated by validation are kept around
31548        in the new class.
31549
31550        This patch does away with all the different affinities
31551        (start/end/base/extent) that were never implemented properly, since affinity
31552        only makes sense when the selection is a caret (as per discussion with mjs and
31553        darin on #webkit).
31554
31555        No test cases added because this is a refactoring.
31556
31557        * WebCore.xcodeproj/project.pbxproj:
31558        * bridge/mac/MacFrame.mm:
31559        (MacFrame::findString):
31560        (MacFrame::advanceToNextMisspelling):
31561        (MacFrame::baseWritingDirectionForSelectionStart):
31562        (MacFrame::respondToChangedSelection):
31563        * bridge/mac/WebCoreFrameBridge.mm:
31564        (-[WebCoreFrameBridge selectionState]):
31565        (-[WebCoreFrameBridge selectNSRange:]):
31566        (-[WebCoreFrameBridge selectionAffinity]):
31567        (-[WebCoreFrameBridge setMarkDOMRange:]):
31568        (-[WebCoreFrameBridge ensureSelectionVisible]):
31569        (-[WebCoreFrameBridge rangeOfCharactersAroundCaret]):
31570        * khtml/editing/Selection.cpp: Added.
31571        (khtml::Selection::Selection):
31572        (khtml::Selection::clear):
31573        (khtml::Selection::toRange):
31574        (khtml::Selection::validate):
31575        (khtml::Selection::adjustForEditableContent):
31576        (khtml::Selection::debugPosition):
31577        * khtml/editing/Selection.h: Added.
31578        (khtml::Selection::):
31579        (khtml::Selection::state):
31580        (khtml::Selection::setAffinity):
31581        (khtml::Selection::affinity):
31582        (khtml::Selection::setBase):
31583        (khtml::Selection::setExtent):
31584        (khtml::Selection::setStart):
31585        (khtml::Selection::setEnd):
31586        (khtml::Selection::base):
31587        (khtml::Selection::extent):
31588        (khtml::Selection::start):
31589        (khtml::Selection::end):
31590        (khtml::Selection::isNone):
31591        (khtml::Selection::isCaret):
31592        (khtml::Selection::isRange):
31593        (khtml::Selection::isCaretOrRange):
31594        (khtml::Selection::isBaseFirst):
31595        (khtml::operator==):
31596        (khtml::operator!=):
31597        * khtml/editing/SelectionController.cpp:
31598        (khtml::SelectionController::SelectionController):
31599        (khtml::SelectionController::operator=):
31600        (khtml::SelectionController::moveTo):
31601        (khtml::SelectionController::setModifyBias):
31602        (khtml::SelectionController::modifyExtendingRightForward):
31603        (khtml::SelectionController::modifyMovingRightForward):
31604        (khtml::SelectionController::modifyExtendingLeftBackward):
31605        (khtml::SelectionController::modifyMovingLeftBackward):
31606        (khtml::SelectionController::modify):
31607        (khtml::SelectionController::expandUsingGranularity):
31608        (khtml::SelectionController::xPosForVerticalArrowNavigation):
31609        (khtml::SelectionController::clear):
31610        (khtml::SelectionController::setBase):
31611        (khtml::SelectionController::setExtent):
31612        (khtml::SelectionController::toString):
31613        (khtml::SelectionController::getRangeAt):
31614        (khtml::SelectionController::frame):
31615        (khtml::SelectionController::collapseToEnd):
31616        (khtml::SelectionController::collapseToStart):
31617        (khtml::SelectionController::layout):
31618        (khtml::SelectionController::caretRect):
31619        (khtml::SelectionController::needsCaretRepaint):
31620        (khtml::SelectionController::paintCaret):
31621        (khtml::SelectionController::debugRenderer):
31622        (khtml::SelectionController::formatForDebugger):
31623        (khtml::SelectionController::showTree):
31624        * khtml/editing/SelectionController.h:
31625        (khtml::SelectionController::state):
31626        (khtml::SelectionController::affinity):
31627        (khtml::SelectionController::base):
31628        (khtml::SelectionController::extent):
31629        (khtml::SelectionController::start):
31630        (khtml::SelectionController::end):
31631        (khtml::SelectionController::isNone):
31632        (khtml::SelectionController::isCaret):
31633        (khtml::SelectionController::isRange):
31634        (khtml::SelectionController::isCaretOrRange):
31635        (khtml::SelectionController::toRange):
31636        (khtml::SelectionController::baseNode):
31637        (khtml::SelectionController::extentNode):
31638        (khtml::SelectionController::baseOffset):
31639        (khtml::SelectionController::extentOffset):
31640        (khtml::SelectionController::anchorNode):
31641        (khtml::SelectionController::anchorOffset):
31642        (khtml::SelectionController::focusNode):
31643        (khtml::SelectionController::focusOffset):
31644        (khtml::operator==):
31645        * khtml/editing/apply_style_command.cpp:
31646        (khtml::ApplyStyleCommand::updateStartEnd):
31647        * khtml/editing/break_blockquote_command.cpp:
31648        (khtml::BreakBlockquoteCommand::doApply):
31649        * khtml/editing/delete_selection_command.cpp:
31650        (khtml::DeleteSelectionCommand::initializePositionData):
31651        (khtml::DeleteSelectionCommand::handleGeneralDelete):
31652        (khtml::DeleteSelectionCommand::doApply):
31653        * khtml/editing/insert_line_break_command.cpp:
31654        (khtml::InsertLineBreakCommand::doApply):
31655        * khtml/editing/insert_paragraph_separator_command.cpp:
31656        (khtml::InsertParagraphSeparatorCommand::doApply):
31657        * khtml/editing/insert_text_command.cpp:
31658        (khtml::InsertTextCommand::input):
31659        * khtml/editing/move_selection_command.cpp:
31660        (khtml::MoveSelectionCommand::doApply):
31661        * khtml/editing/replace_selection_command.cpp:
31662        (khtml::ReplaceSelectionCommand::doApply):
31663        (khtml::ReplaceSelectionCommand::completeHTMLReplacement):
31664        * khtml/editing/typing_command.cpp:
31665        (khtml::TypingCommand::deleteKeyPressed):
31666        (khtml::TypingCommand::forwardDeleteKeyPressed):
31667        (khtml::TypingCommand::markMisspellingsAfterTyping):
31668        * khtml/xml/DocumentImpl.cpp:
31669        (DocumentImpl::updateSelection):
31670        * kwq/KWQAccObject.mm:
31671        (-[KWQAccObject accessibilityAttributeValue:]):
31672        (-[KWQAccObject doAXTextMarkerRangeForLine:]):
31673        * kwq/KWQRenderTreeDebug.cpp:
31674        (writeSelection):
31675        * page/Frame.cpp:
31676        (Frame::selectContentsOfNode):
31677        (Frame::shouldChangeSelection):
31678        (Frame::computeAndSetTypingStyle):
31679        (Frame::applyStyle):
31680        (Frame::applyParagraphStyle):
31681        (Frame::selectFrameElementInParentIfFullySelected):
31682        (Frame::revealSelection):
31683        (Frame::centerSelectionInVisibleArea):
31684        (Frame::styleForSelectionStart):
31685
31686        * <a few other files, including editing ones>: Added includes since Selection.h and
31687        SelectionController.h now include fewer things.
31688
316892006-01-15  Mitz Pettel  <opendarwin.org@mitzpettel.com>
31690
31691        Test: fast/text/whitespace/pre-wrap-overflow-selection.html
31692
31693        Reviewed by Darin.
31694
31695        - fix http://bugs.webkit.org/show_bug.cgi?id=5619
31696          CSS2: pre-wrap has overflow/selection problems
31697
31698        * khtml/rendering/InlineTextBox.cpp:
31699        (khtml::InlineTextBox::selectionRect): Clip selection rect to the text box
31700        (khtml::InlineTextBox::paintSelection): Clip selection painting to the text box.
31701        * khtml/rendering/bidi.cpp: (khtml::RenderBlock::computeHorizontalPositionsForLine):
31702        Remove code that re-added border width, since it is already included in availableWidth.
31703
317042006-01-15  Darin Adler  <darin@apple.com>
31705
31706        Reviewed by Anders.
31707
31708        - fix regression in duplicate ID layout test
31709
31710        * khtml/xml/DocumentImpl.cpp:
31711        (DocumentImpl::getElementById): Change to take AtomicString, so we can use
31712        the string pointer as a hash key and not worry about ref'ing the pointer or
31713        about object lifetime since the string will be stored for the lifetime of the
31714        ID attribute. Also update for the counted set formerly named m_idCount to use
31715        its new name, m_duplicateIds.
31716        (DocumentImpl::addElementById): Ditto.
31717        (DocumentImpl::removeElementById): Ditto.
31718        (DocumentImpl::recalcStyleSelector): Pass a DOMStringImpl* (see below).
31719        * khtml/xml/DocumentImpl.h: Change functions to take AtomicString.
31720
31721        * kcanvas/KCanvasFilters.cpp: (getFilterById): Use AtomicString.
31722        * kcanvas/KCanvasFilters.h: Ditto.
31723        * kcanvas/KCanvasResources.cpp:
31724        (getResourceById): Ditto.
31725        (getMarkerById): Ditto.
31726        (getClipperById): Ditto.
31727        (getMaskerById): Ditto.
31728        (getPaintServerById): Ditto.
31729        * kcanvas/KCanvasResources.h: Ditto.
31730        * khtml/ecma/kjs_window.cpp: (KJS::Window::getOwnPropertySlot): Ditto.
31731        * khtml/html/HTMLLabelElementImpl.cpp:
31732        (DOM::HTMLLabelElementImpl::formElement): Ditto.
31733        * khtml/xml/NodeListImpl.cpp: (DOM::NodeListImpl::itemById): Ditto.
31734        * khtml/xml/NodeListImpl.h: Ditto. Also removed unnecessary "virtual".
31735
31736        * khtml/ecma/kjs_css.cpp:
31737        (KJS::DOMStyleSheetList::nameGetter): Pass a DOMStringImpl*, which gets
31738        converted to an AtomicString implicitly, rather than a DOMString, which
31739        does not. (But that's a crazy rule -- we should change this around long term.)
31740        (KJS::DOMStyleSheetList::getOwnPropertySlot): Ditto.
31741        * khtml/ecma/kjs_dom.cpp:
31742        (KJS::DOMNodeList::nameGetter): Ditto.
31743        (KJS::DOMNodeList::getOwnPropertySlot): Ditto.
31744        (KJS::DOMDocumentProtoFunc::callAsFunction): Ditto.
31745
31746        - Merge khtml, DOM, and KDOM into one big namespace, WebCore.
31747
31748        * WebCorePrefix.h: Use defined to map the old namespace names to WebCore.
31749        Now that this is done in the prefix, we can start actually calling it by
31750        that name, phase out the old names, then remove the defines.
31751
31752        - other changes
31753
31754        * khtml/xml/DocumentTypeImpl.cpp: Converted tabs to spaces.
31755        * khtml/xml/dom2_eventsimpl.cpp: Ditto.
31756
317572006-01-15  Alexander Kellett  <lypanov@kde.org>
31758
31759        Reviewed and landed by Anders.
31760
31761        http://bugs.webkit.org/show_bug.cgi?id=6553
31762        Remove KCanvasCommonArgs and pass around RenderPath objects instead.
31763
31764        * WebCore.xcodeproj/project.pbxproj:
31765        * kcanvas/KCanvasCreator.h:
31766        * kcanvas/KCanvasItem.cpp:
31767        * kcanvas/KCanvasItem.h:
31768        * kcanvas/KCanvasTypes.h: Removed.
31769        * kcanvas/device/KRenderingDevice.cpp:
31770        * kcanvas/device/KRenderingDevice.h:
31771        * kcanvas/device/KRenderingFillPainter.h:
31772        * kcanvas/device/KRenderingPaintServer.h:
31773        * kcanvas/device/KRenderingStrokePainter.h:
31774        * kcanvas/device/quartz/KCanvasItemQuartz.mm:
31775        (KCanvasItemQuartz::paint):
31776        * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
31777        * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
31778        (drawShadingWithStyle):
31779        (KRenderingPaintServerLinearGradientQuartz::draw):
31780        (KRenderingPaintServerRadialGradientQuartz::draw):
31781        * kcanvas/device/quartz/KRenderingPaintServerQuartz.h:
31782        * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
31783        (KRenderingPaintServerSolidQuartz::draw):
31784        (KRenderingPaintServerPatternQuartz::draw):
31785        (KRenderingPaintServerImageQuartz::draw):
31786        * ksvg2/misc/KCanvasRenderingStyle.cpp:
31787        * ksvg2/svg/SVGPatternElementImpl.h:
31788
317892006-01-15  Darin Adler  <darin@apple.com>
31790
31791        Reviewed by Hyatt.
31792
31793        - fix http://bugs.webkit.org/show_bug.cgi?id=6528
31794          remove all use of QDict from WebCore
31795
31796        I ran performance tests and the change results in a slight improvement.
31797
31798        * bridge/mac/MacFrame.h: Removed include of KWQDict.h. Changed didTellBridgeAboutLoad
31799        and haveToldBridgeAboutLoad functions to take DOMString instead of QString. Changed
31800        urlsBridgeKnowsAbout from a QDict to a HashMap.
31801        * bridge/mac/MacFrame.mm:
31802        (MacFrame::didTellBridgeAboutLoad): Updated to use QDict and DOMString.
31803        (MacFrame::haveToldBridgeAboutLoad): Ditto.
31804
31805        * khtml/editing/jsediting.h: Removed include of qdict.h.
31806
31807        * khtml/rendering/render_frames.cpp: Removed include of qdict.h. Put file inside the
31808        khtml namespace instead of just using the namespace. Changed tabs to spaces.
31809        (khtml::RenderPartObject::updateWidget): Changed the local variable uniqueParamNames
31810        to be a HashSet instead of a QDict.
31811
31812        * khtml/xml/DocumentImpl.h: Removed include of qdict.h, changed m_elementsById, m_idCount,
31813        and m_elementsByAccessKey to use HashMap and HashCountedSet instead of QDict.
31814        * khtml/xml/DocumentImpl.cpp: Changed tabs to spaces.
31815        (DocumentImpl::getElementById): Updated to use HashMap for m_elementsById and HashCountedSet
31816        for m_idCount.
31817        (DocumentImpl::addElementById): Ditto. Remove code to clear m_accessKeyDictValid,
31818        since setDocumentChanged already takes care of that.
31819        (DocumentImpl::removeElementById): Ditto.
31820        (DocumentImpl::getElementByAccessKey): Updated to use HashMap for m_elementsByAccessKey.
31821        (DocumentImpl::setDocumentChanged): Rearranged to do a couple fewer branches. Clear out
31822        the m_elementsByAccessKey map when clearing m_accessKeyMapValid to avoid keeping stale
31823        pointers around.
31824
31825        * ksvg2/svg/SVGDocumentImpl.cpp: Removed include of q3dict.h.
31826
31827        * WebCore.vcproj/WebCore/WebCore.vcproj: Removed obsolete QDict sources.
31828        * WebCore.xcodeproj/project.pbxproj: Ditto.
31829
31830        * ForwardingHeaders/q3dict.h: Removed.
31831        * ForwardingHeaders/qdict.h: Removed.
31832        * kwq/KWQDict.h: Removed.
31833        * kwq/KWQDictImpl.cpp: Removed.
31834        * kwq/KWQDictImpl.h: Removed.
31835
31836        * WebCore+SVG/SVGNamesWrapper.cpp: Touched this file just so I could build again.
31837
31838        * kwq/KWQKURL.h: Removed unused canonicalURL, _path, _user, _pass, and _host functions.
31839        * kwq/KWQKURL.mm: Changed tabs to spaces, removed unused functions, replaced NULL with 0.
31840
31841        * kwq/KWQLoader.mm: Changed tabs to spaces.
31842        (KWQServeRequest): Removed QString conversion from call to didTellBridgeAboutLoad.
31843        (KWQServeSynchronousRequest): Ditto.
31844        (KWQCheckCacheObjectStatus): Ditto. Same for haveToldBridgeAboutLoad.
31845
31846        * loader/Cache.h: Removed include of qdict.h. Changed declaration of the LRUList struct
31847        to just be a forward declaration. Changed tabs to spaces. Removed the static data member
31848        called "cache". Added a static member function called get. Renamed removeCacheEntry to remove.
31849        * loader/Cache.cpp: Put file inside the khtml namespace instead of just using the
31850        namespace. Changed tabs to spaces. Changed the main cache itself to a HashMap and
31851        made it a static variable local to this file instead of a static data member of Cache
31852        to hide its type from the header. Also made the LRUList type private to this file.
31853        (khtml::Cache::init): Create a HashMap instead of a QDict.
31854        (khtml::Cache::clear): To replace the use of setAutoDelete, write a loop to delete all the
31855        items in the cache map.
31856        (khtml::Cache::requestImage): Change code to use HashMap functions instead of QDict.
31857        (khtml::Cache::requestStyleSheet): Ditto.
31858        (khtml::Cache::preloadStyleSheet): Ditto.
31859        (khtml::Cache::requestScript): Ditto.
31860        (khtml::Cache::preloadScript): Ditto.
31861        (khtml::Cache::requestXSLStyleSheet): Ditto.
31862        (khtml::Cache::requestXBLDocument): Ditto.
31863        (khtml::Cache::removeCacheEntry): Ditto.
31864        (khtml::Cache::FastLog2): Fixed this for 64-bit compiles.
31865        (khtml::Cache::getStatistics): Ditto.
31866        (khtml::Cache::flushAll): Ditto.
31867        (khtml::Cache::get): Added. Function used by the loader.
31868
31869        * loader/CachedObject.h: Removed include of qdict.h.
31870
31871        * loader/DocLoader.h: Removed include of qdict.h.
31872        * loader/DocLoader.cpp: (khtml::DocLoader::needReload): Changed to use new get function of
31873        Cache instead of getting at the map directly. Also changed call to removeCacheEntry
31874        to remove because it was renamed.
31875
31876        * loader/CachedImage.cpp: (khtml::CachedImage::data): Changed call to removeCacheEntry
31877        to remove because it was renamed.
31878        * loader/CachedImageCallback.cpp: (khtml::CachedImageCallback::handleError): Ditto.
31879        * loader/loader.cpp:
31880        (khtml::Loader::slotFinished): Ditto.
31881        (khtml::Loader::cancelRequests): Ditto.
31882
318832006-01-15  Alexander Kellett  <lypanov@kde.org>
31884
31885        Reviewed by eseidel.  Landed by eseidel.
31886
31887        <mask> inside <defs> crashes Safari.
31888        http://bugs.webkit.org/show_bug.cgi?id=6548
31889
31890        Test: svg/custom/mask-inside-defs.svg
31891
31892        * ksvg2/svg/SVGMaskElementImpl.cpp:
31893        (KSVG::SVGMaskElementImpl::drawMaskerContent):
31894
318952006-01-15  Eric Seidel  <eseidel@apple.com>
31896
31897        Reviewed by mjs.
31898
31899        Add basic <tspan> support using RenderInline.
31900        http://bugs.webkit.org/show_bug.cgi?id=6428
31901        Also fix <text transform=""> while we're at it.
31902        http://bugs.webkit.org/show_bug.cgi?id=6552
31903
31904        Covered by several existing tests.
31905
31906        * ksvg2/svg/SVGGradientElementImpl.cpp:
31907        (SVGGradientElementImpl::parseMappedAttribute): code cleanup
31908        * ksvg2/svg/SVGPatternElementImpl.cpp:
31909        (SVGPatternElementImpl::parseMappedAttribute): code cleanup
31910        * ksvg2/svg/SVGStyledTransformableElementImpl.cpp:
31911        (SVGStyledTransformableElementImpl::parseMappedAttribute): cleanup
31912        * ksvg2/svg/SVGTSpanElementImpl.cpp:
31913        (SVGTSpanElementImpl::childShouldCreateRenderer): added.
31914        (SVGTSpanElementImpl::createRenderer): added.
31915        * ksvg2/svg/SVGTSpanElementImpl.h:
31916        (KSVG::SVGTSpanElementImpl::rendererIsNeeded): added.
31917        * ksvg2/svg/SVGTextElementImpl.cpp:
31918        (SVGTextElementImpl::transform): added.
31919        (SVGTextElementImpl::localMatrix): added.
31920        (SVGTextElementImpl::parseMappedAttribute): support transform.
31921        (SVGTextElementImpl::updateLocalTransform): added.
31922        (SVGTextElementImpl::attach): added.
31923        (SVGTextElementImpl::childShouldCreateRenderer): allow tspan.
31924        * ksvg2/svg/SVGTextElementImpl.h:
31925        * ksvg2/svg/SVGTransformableImpl.cpp:
31926        (SVGTransformableImpl::parseTransformAttribute): code cleanup.
31927        * ksvg2/svg/SVGTransformableImpl.h:
31928
319292006-01-14  David Hyatt  <hyatt@apple.com>
31930
31931        Move arena.cpp/.h out of khtml/misc and into platform/Arena.cpp/h.  Also removed another unused
31932        header, khtmldata.h.
31933
31934        * WebCore.xcodeproj/project.pbxproj:
31935        * khtml/misc/arena.cpp: Removed.
31936        * khtml/misc/arena.h: Removed.
31937        * khtml/misc/khtmldata.h: Removed.
31938        * khtml/rendering/render_arena.h:
31939        * platform/Arena.cpp: Added.
31940        * platform/Arena.h: Added.
31941
319422006-01-14  David Hyatt  <hyatt@apple.com>
31943
31944        Rename TokenizerString to SegmentedString and place it in the platform directory.
31945
31946        * WebCore.xcodeproj/project.pbxproj:
31947        * khtml/html/htmltokenizer.cpp:
31948        (khtml::HTMLTokenizer::processListing):
31949        (khtml::HTMLTokenizer::parseSpecial):
31950        (khtml::HTMLTokenizer::scriptHandler):
31951        (khtml::HTMLTokenizer::scriptExecution):
31952        (khtml::HTMLTokenizer::parseComment):
31953        (khtml::HTMLTokenizer::parseServer):
31954        (khtml::HTMLTokenizer::parseProcessingInstruction):
31955        (khtml::HTMLTokenizer::parseText):
31956        (khtml::HTMLTokenizer::parseEntity):
31957        (khtml::HTMLTokenizer::parseTag):
31958        (khtml::HTMLTokenizer::write):
31959        (khtml::HTMLTokenizer::timerEvent):
31960        (khtml::HTMLTokenizer::notifyFinished):
31961        (khtml::HTMLTokenizer::setSrc):
31962        * khtml/html/htmltokenizer.h:
31963        * khtml/misc/stringit.cpp: Removed.
31964        * khtml/misc/stringit.h: Removed.
31965        * khtml/xml/xml_tokenizer.cpp:
31966        (khtml::XMLTokenizer::write):
31967        * khtml/xml/xml_tokenizer.h:
31968        * platform/SegmentedString.cpp: Added.
31969        (WebCore::SegmentedString::length):
31970        (WebCore::SegmentedString::clear):
31971        (WebCore::SegmentedString::append):
31972        (WebCore::SegmentedString::prepend):
31973        (WebCore::SegmentedString::advanceSubstring):
31974        (WebCore::SegmentedString::toString):
31975        * platform/SegmentedString.h: Added.
31976        (WebCore::SegmentedSubstring::SegmentedSubstring):
31977        (WebCore::SegmentedString::SegmentedString):
31978
319792006-01-14  Maciej Stachowiak  <mjs@apple.com>
31980
31981        Reviewed by Eric.
31982
31983        - added bridging infrastructure for Page class
31984
31985        The Page class itself is coming very soon.
31986
31987        * WebCore.exp: Export WebCorePageBridge.
31988        * WebCore.xcodeproj/project.pbxproj: Add new files.
31989        * bridge/mac/WebCorePageBridge.h: Added.
31990        * bridge/mac/WebCorePageBridge.mm: Added.
31991        (-[WebCorePageBridge initWithMainFrame:]): Added new class, obvious
31992        (-[WebCorePageBridge dealloc]): ditto
31993        (-[WebCorePageBridge mainFrame]): ditto
31994        * bridge/mac/WebCoreFrameBridge.mm:
31995        (-[WebCoreFrameBridge init]): Fixed style a bit.
31996
319972006-01-14  David Hyatt  <hyatt@apple.com>
31998
31999        Win32 finds more khtml namespace issues with the movement
32000        of Shared that gcc missed.
32001
32002        * WebCore.vcproj/WebCore/WebCore.vcproj:
32003        * khtml/xml/dom2_rangeimpl.cpp:
32004        (DOM::RangeImpl::text):
32005        * khtml/xml/dom_position.cpp:
32006
320072006-01-14  David Hyatt  <hyatt@apple.com>
32008
32009        Move shared.h from khtml/misc into the platform directory and move it into the WebCore namespace.
32010
32011        Reviewed by eseidel
32012
32013        * ForwardingHeaders/kdom/Shared.h: Removed.
32014        * WebCore+SVG/DOMList.h:
32015        * WebCore+SVG/KDOMHeaders.h:
32016        * WebCore+SVG/RGBColorImpl.h:
32017        * WebCore.xcodeproj/project.pbxproj:
32018        * bridge/mac/WebCoreFrameBridge.mm:
32019        * kcanvas/KCanvasPath.h:
32020        * khtml/css/css_base.h:
32021        * khtml/css/css_ruleimpl.h:
32022        * khtml/css/css_stylesheetimpl.h:
32023        * khtml/css/css_valueimpl.h:
32024        * khtml/dom/dom2_events.h:
32025        * khtml/dom/dom2_traversal.h:
32026        * khtml/ecma/kjs_dom.h:
32027        * khtml/ecma/kjs_window.cpp:
32028        * khtml/ecma/xmlserializer.cpp:
32029        (KJS::XMLSerializerProtoFunc::callAsFunction):
32030        * khtml/editing/SelectionController.h:
32031        * khtml/editing/edit_command.h:
32032        * khtml/editing/htmlediting.h:
32033        * khtml/editing/visible_position.h:
32034        * khtml/html/HTMLOptionsCollectionImpl.h:
32035        * khtml/html/html_miscimpl.h:
32036        * khtml/misc/shared.h: Removed.
32037        * khtml/rendering/render_line.h:
32038        * khtml/rendering/render_style.h:
32039        * khtml/xml/DOMImplementationImpl.h:
32040        * khtml/xml/DocumentImpl.h:
32041        * khtml/xml/NamedNodeMapImpl.h:
32042        * khtml/xml/NodeImpl.h:
32043        * khtml/xml/NodeListImpl.h:
32044        * khtml/xml/dom2_eventsimpl.h:
32045        * khtml/xml/dom2_rangeimpl.h:
32046        * khtml/xml/dom2_traversalimpl.h:
32047        * khtml/xml/dom2_viewsimpl.h:
32048        * khtml/xml/dom_elementimpl.h:
32049        * khtml/xml/dom_qname.h:
32050        * khtml/xml/dom_stringimpl.h:
32051        * khtml/xsl/xslt_processorimpl.h:
32052        * ksvg2/css/SVGRenderStyle.cpp:
32053        (SVGRenderStyle::SVGRenderStyle):
32054        * ksvg2/css/SVGRenderStyle.h:
32055        * ksvg2/css/SVGRenderStyleDefs.cpp:
32056        (StyleFillData::StyleFillData):
32057        (StyleStrokeData::StyleStrokeData):
32058        (StyleStopData::StyleStopData):
32059        (StyleClipData::StyleClipData):
32060        (StyleMaskData::StyleMaskData):
32061        (StyleMarkerData::StyleMarkerData):
32062        (StyleMiscData::StyleMiscData):
32063        * ksvg2/css/SVGRenderStyleDefs.h:
32064        * ksvg2/svg/SVGAngleImpl.cpp:
32065        (SVGAngleImpl::SVGAngleImpl):
32066        * ksvg2/svg/SVGAngleImpl.h:
32067        * ksvg2/svg/SVGAnimatedBooleanImpl.cpp:
32068        (SVGAnimatedBooleanImpl::SVGAnimatedBooleanImpl):
32069        * ksvg2/svg/SVGAnimatedBooleanImpl.h:
32070        * ksvg2/svg/SVGAnimatedEnumerationImpl.cpp:
32071        (SVGAnimatedEnumerationImpl::SVGAnimatedEnumerationImpl):
32072        * ksvg2/svg/SVGAnimatedEnumerationImpl.h:
32073        * ksvg2/svg/SVGAnimatedIntegerImpl.cpp:
32074        (SVGAnimatedIntegerImpl::SVGAnimatedIntegerImpl):
32075        * ksvg2/svg/SVGAnimatedIntegerImpl.h:
32076        * ksvg2/svg/SVGAnimatedLengthListImpl.h:
32077        * ksvg2/svg/SVGAnimatedNumberImpl.cpp:
32078        (SVGAnimatedNumberImpl::SVGAnimatedNumberImpl):
32079        * ksvg2/svg/SVGAnimatedNumberImpl.h:
32080        * ksvg2/svg/SVGAnimatedNumberListImpl.h:
32081        * ksvg2/svg/SVGAnimatedPreserveAspectRatioImpl.h:
32082        * ksvg2/svg/SVGAnimatedTemplate.h:
32083        (KSVG::SVGAnimatedTemplate::SVGAnimatedTemplate):
32084        * ksvg2/svg/SVGAnimatedTransformListImpl.h:
32085        * ksvg2/svg/SVGDocumentImpl.cpp:
32086        * ksvg2/svg/SVGLengthImpl.cpp:
32087        (SVGLengthImpl::SVGLengthImpl):
32088        * ksvg2/svg/SVGLengthImpl.h:
32089        * ksvg2/svg/SVGMatrixImpl.cpp:
32090        (SVGMatrixImpl::SVGMatrixImpl):
32091        * ksvg2/svg/SVGMatrixImpl.h:
32092        * ksvg2/svg/SVGNumberImpl.cpp:
32093        (SVGNumberImpl::SVGNumberImpl):
32094        * ksvg2/svg/SVGNumberImpl.h:
32095        * ksvg2/svg/SVGPathSegImpl.cpp:
32096        (SVGPathSegImpl::SVGPathSegImpl):
32097        * ksvg2/svg/SVGPathSegImpl.h:
32098        * ksvg2/svg/SVGPointImpl.cpp:
32099        (SVGPointImpl::SVGPointImpl):
32100        * ksvg2/svg/SVGPointImpl.h:
32101        * ksvg2/svg/SVGPreserveAspectRatioImpl.cpp:
32102        (SVGPreserveAspectRatioImpl::SVGPreserveAspectRatioImpl):
32103        * ksvg2/svg/SVGPreserveAspectRatioImpl.h:
32104        * ksvg2/svg/SVGRectImpl.cpp:
32105        (SVGRectImpl::SVGRectImpl):
32106        * ksvg2/svg/SVGRectImpl.h:
32107        * ksvg2/svg/SVGTransformImpl.cpp:
32108        (SVGTransformImpl::SVGTransformImpl):
32109        * ksvg2/svg/SVGTransformImpl.h:
32110        * kwq/DOM-CSS.mm:
32111        * kwq/KWQFontMetrics.mm:
32112        * kwq/KWQMapImpl.cpp:
32113        * kwq/KWQRegExp.cpp:
32114        * kwq/KWQValueListImpl.cpp:
32115        (KWQValueListImpl::KWQValueListPrivate::KWQValueListPrivate):
32116        * kwq/KWQVariant.cpp:
32117        * platform/ArrayImpl.h:
32118        * platform/Shared.h: Added.
32119
321202006-01-14  Eric Seidel  <eseidel@apple.com>
32121
32122        Reviewed by darin.
32123
32124        Implement basic <foreignObject> support:
32125        http://bugs.webkit.org/show_bug.cgi?id=5974
32126        Also fixed <image> to support clip, filter and mask
32127        Updated <text> to support hit testing and clip, filter, mask
32128
32129        Tests:
32130        * svg/custom/image-with-transform-clip-filter.svg
32131        * svg/custom/foreign-object-skew.svg
32132
32133        * WebCore.xcodeproj/project.pbxproj: added files.
32134        * kcanvas/RenderForeignObject.cpp: Added.
32135        (RenderForeignObject::RenderForeignObject):
32136        (RenderForeignObject::translationForAttributes):
32137        (RenderForeignObject::paint):
32138        (RenderForeignObject::nodeAtPoint):
32139        * kcanvas/RenderForeignObject.h: Added.
32140        (RenderForeignObject::renderName): added.
32141        (RenderForeignObject::localTransform): added.
32142        (RenderForeignObject::setLocalTransform): added.
32143        * kcanvas/RenderSVGImage.cpp:
32144        (RenderSVGImage::paint): added filter, clip mask support
32145        * kcanvas/RenderSVGImage.h:
32146        (KSVG::RenderSVGImage::localTransform): added.
32147        (KSVG::RenderSVGImage::setLocalTransform): added.
32148        * kcanvas/RenderSVGText.cpp:
32149        (RenderSVGText::translationTopToBaseline): return qmatrix
32150        (RenderSVGText::translationForAttributes): return qmatrix
32151        (RenderSVGText::paint): added filter, clip, mask support
32152        (RenderSVGText::nodeAtPoint): added.
32153        * kcanvas/RenderSVGText.h:
32154        (RenderSVGText::localTransform): added.
32155        (RenderSVGText::setLocalTransform): added.
32156        * khtml/rendering/render_object.h:
32157        (khtml::RenderObject::setLocalTransform): added assert(0)
32158        * ksvg2/css/svg.css: added foreignObject display: block
32159        * ksvg2/svg/SVGForeignObjectElementImpl.cpp: Added.
32160        (KSVG::SVGForeignObjectElementImpl::SVGForeignObjectElementImpl):
32161        (KSVG::SVGForeignObjectElementImpl::~SVGForeignObjectElementImpl):
32162        (KSVG::SVGForeignObjectElementImpl::x):
32163        (KSVG::SVGForeignObjectElementImpl::y):
32164        (KSVG::SVGForeignObjectElementImpl::width):
32165        (KSVG::SVGForeignObjectElementImpl::height):
32166        (KSVG::SVGForeignObjectElementImpl::parseMappedAttribute):
32167        (KSVG::SVGForeignObjectElementImpl::createRenderer):
32168        (KSVG::SVGForeignObjectElementImpl::childShouldCreateRenderer):
32169        * ksvg2/svg/SVGForeignObjectElementImpl.h: Added.
32170        (KSVG::SVGForeignObjectElementImpl::isValid): added
32171        (KSVG::SVGForeignObjectElementImpl::rendererIsNeeded): added
32172        * ksvg2/svg/SVGImageElementImpl.cpp:
32173        (SVGImageElementImpl::attach): fixed static_cast
32174        * ksvg2/svg/SVGLocatableImpl.cpp:
32175        (SVGLocatableImpl::nearestViewportElement): foreignObject support
32176        (SVGLocatableImpl::farthestViewportElement): foreignObject support
32177        * ksvg2/svg/svgtags.in: added foreignObject
32178        * kwq/KWQWMatrix.cpp:
32179        (QWMatrix::isInvertible): fixed
32180
321812006-01-14  Eric Seidel  <eseidel@apple.com>
32182
32183        Fix build break. (oops!)
32184
32185        * khtml/xml/xml_tokenizer.cpp:
32186        (khtml::XMLTokenizer::XMLTokenizer):
32187
321882006-01-14  Eric Seidel  <eseidel@apple.com>
32189
32190        Reviewed by mjs.
32191
32192        Initialize m_isXHTMLDocument(false) properly.
32193        No tests possible, random failure only.
32194
32195        * khtml/xml/xml_tokenizer.cpp:
32196        (khtml::XMLTokenizer::XMLTokenizer):
32197
321982006-01-15  Alexander Kellett  <lypanov@kde.org>
32199
32200        Reviewed by eseidel.  Landed by eseidel.
32201
32202        Add support for svg css property writing-mode.
32203
32204        No tests possible.
32205
32206        * ksvg2/css/SVGCSSStyleSelector.cpp:
32207        (KDOM::CSSStyleSelector::applySVGProperty):
32208        * ksvg2/css/SVGRenderStyle.h:
32209        (KSVG::SVGRenderStyle::InheritedFlags::):
32210        (KSVG::SVGRenderStyle::setBitDefaults):
32211        * ksvg2/css/SVGRenderStyleDefs.h:
32212        (KSVG::):
32213
322142006-01-14  Alexander Kellett  <lypanov@kde.org>
32215
32216        Reviewed by eseidel.  Landed by eseidel.
32217
32218        Refactor out cases of KCanvasRenderingStyle used as an instance to
32219        store the current style. Temporarily unify the data passing via
32220        KCanvasCommonArgs.
32221
32222        No tests needed, no functional change.
32223
32224        * kcanvas/KCanvasItem.cpp: Removing override of setStyle used to hook
32225        into KCanvasRenderingStyle::updateStyle.
32226        (RenderPath::commonArgs):
32227        * kcanvas/KCanvasItem.h:
32228        * kcanvas/KCanvasTreeDebug.cpp:
32229        (writeStyle):
32230        * kcanvas/KCanvasTypes.h:
32231        * kcanvas/device/KRenderingDevice.cpp:
32232        (KCanvasCommonArgs::KCanvasCommonArgs):
32233        (KCanvasCommonArgs::renderStyle):
32234        (KCanvasCommonArgs::setRenderStyle):
32235        (KCanvasCommonArgs::renderPath):
32236        (KCanvasCommonArgs::setRenderPath):
32237        * kcanvas/device/quartz/KCanvasItemQuartz.mm:
32238        (KCanvasItemQuartz::paint):
32239        (KCanvasItemQuartz::bboxForPath):
32240        (KCanvasItemQuartz::hitsPath):
32241        * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
32242        (drawShadingWithStyle):
32243        (KRenderingPaintServerLinearGradientQuartz::draw):
32244        (KRenderingPaintServerRadialGradientQuartz::draw):
32245        * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
32246        (KRenderingPaintServerSolidQuartz::draw):
32247        (KRenderingPaintServerPatternQuartz::draw):
32248        * kcanvas/device/quartz/QuartzSupport.h:
32249        * kcanvas/device/quartz/QuartzSupport.mm:
32250        (applyStrokeStyleToContext):
32251        * ksvg2/misc/KCanvasRenderingStyle.cpp: Remove overrideFillPaintServer
32252        and overrideStrokePaintServer hacks and make most other methods
32253        static, remove most instance variables.
32254        (KCanvasRenderingStyle::KCanvasRenderingStyle):
32255        (KCanvasRenderingStyle::isFilled):
32256        (KCanvasRenderingStyle::fillPaintServer):
32257        (KCanvasRenderingStyle::isStroked):
32258        (KCanvasRenderingStyle::strokePaintServer):
32259        (KCanvasRenderingStyle::strokePainter): Merged stroke logic in from
32260        updateStyle.
32261        (KCanvasRenderingStyle::fillPainter): Merged fill logic in from
32262        updateStyle.
32263        * ksvg2/misc/KCanvasRenderingStyle.h:
32264
322652006-01-14  David Hyatt  <hyatt@apple.com>
32266
32267        Move loader_client.h to CachedObjectClient.h.
32268
32269        * WebCore.xcodeproj/project.pbxproj:
32270        * khtml/css/css_ruleimpl.h:
32271        * khtml/css/css_valueimpl.h:
32272        * khtml/ecma/kjs_html.h:
32273        * khtml/html/html_documentimpl.h:
32274        * khtml/html/html_headimpl.h:
32275        * khtml/html/htmltokenizer.h:
32276        * khtml/rendering/render_object.h:
32277        * khtml/xbl/xbl_binding.h:
32278        * khtml/xml/dom_xmlimpl.h:
32279        * khtml/xsl/xsl_stylesheetimpl.h:
32280        * loader/CachedObject.h:
32281        * loader/CachedObjectClient.h: Added.
32282        * loader/CachedObjectClientWalker.h:
32283        * loader/loader_client.h: Removed.
32284
322852006-01-14  Anders Carlsson  <andersca@mac.com>
32286
32287        Reviewed by Eric and Hyatt.
32288
32289        - http://bugs.webkit.org/show_bug.cgi?id=6544
32290        Remove unused headers.
32291
32292        * ForwardingHeaders/kglobalsettings.h: Removed.
32293        * ForwardingHeaders/kimageio.h: Removed.
32294        * ForwardingHeaders/qasyncio.h: Removed.
32295        * ForwardingHeaders/qstylesheet.h: Removed.
32296        * kwq/KWQAsyncIO.h: Removed.
32297        * kwq/KWQKGlobalSettings.h: Removed.
32298        * kwq/KWQKImageIO.h: Removed.
32299        * kwq/KWQStyleSheet.h: Removed.
32300
32301        * WebCore.xcodeproj/project.pbxproj:
32302        * khtml/ecma/kjs_window.cpp:
32303        * khtml/html/html_documentimpl.cpp:
32304        * khtml/xml/DocumentImpl.cpp:
32305        (DocumentImpl::recalcStyle):
32306        * loader/CachedImageCallback.cpp:
32307        * loader/CachedObject.cpp:
32308        * page/Frame.cpp:
32309        * page/FrameView.cpp:
32310        (KHTMLView::KHTMLView):
32311        Remove header inclusions
32312
323132006-01-14  David Hyatt  <hyatt@apple.com>
32314
32315        Shift the loader-related files out of the khtml/misc directory and into a new loader directory.
32316        Remove the use of paths when including files from misc.
32317
32318        * WebCore+SVG/KDOMHeaders.h:
32319        * WebCore.xcodeproj/project.pbxproj:
32320        * kcanvas/KCanvasPath.h:
32321        * khtml/css/css_base.h:
32322        * khtml/css/css_ruleimpl.cpp:
32323        * khtml/css/css_ruleimpl.h:
32324        * khtml/css/css_stylesheetimpl.cpp:
32325        * khtml/css/css_valueimpl.h:
32326        * khtml/css/csshelper.cpp:
32327        * khtml/css/cssparser.cpp:
32328        * khtml/css/cssstyleselector.cpp:
32329        * khtml/dom/dom2_events.h:
32330        * khtml/dom/dom2_traversal.h:
32331        * khtml/ecma/kjs_dom.h:
32332        * khtml/ecma/kjs_html.h:
32333        * khtml/ecma/kjs_window.cpp:
32334        * khtml/editing/SelectionController.h:
32335        * khtml/editing/edit_command.h:
32336        * khtml/editing/visible_position.h:
32337        * khtml/editing/visible_units.cpp:
32338        * khtml/html/HTMLOptionsCollectionImpl.h:
32339        * khtml/html/html_baseimpl.cpp:
32340        * khtml/html/html_baseimpl.h:
32341        * khtml/html/html_canvasimpl.h:
32342        * khtml/html/html_documentimpl.h:
32343        * khtml/html/html_headimpl.cpp:
32344        * khtml/html/html_headimpl.h:
32345        * khtml/html/html_imageimpl.h:
32346        * khtml/html/html_miscimpl.h:
32347        * khtml/html/htmltokenizer.h:
32348        * khtml/misc/Cache.cpp: Removed.
32349        * khtml/misc/Cache.h: Removed.
32350        * khtml/misc/CachedCSSStyleSheet.cpp: Removed.
32351        * khtml/misc/CachedCSSStyleSheet.h: Removed.
32352        * khtml/misc/CachedImage.cpp: Removed.
32353        * khtml/misc/CachedImage.h: Removed.
32354        * khtml/misc/CachedImageCallback.cpp: Removed.
32355        * khtml/misc/CachedImageCallback.h: Removed.
32356        * khtml/misc/CachedObject.cpp: Removed.
32357        * khtml/misc/CachedObject.h: Removed.
32358        * khtml/misc/CachedObjectClientWalker.cpp: Removed.
32359        * khtml/misc/CachedObjectClientWalker.h: Removed.
32360        * khtml/misc/CachedScript.cpp: Removed.
32361        * khtml/misc/CachedScript.h: Removed.
32362        * khtml/misc/CachedXBLDocument.cpp: Removed.
32363        * khtml/misc/CachedXBLDocument.h: Removed.
32364        * khtml/misc/CachedXSLStyleSheet.cpp: Removed.
32365        * khtml/misc/CachedXSLStyleSheet.h: Removed.
32366        * khtml/misc/DocLoader.cpp: Removed.
32367        * khtml/misc/DocLoader.h: Removed.
32368        * khtml/misc/Request.cpp: Removed.
32369        * khtml/misc/Request.h: Removed.
32370        * khtml/misc/loader.cpp: Removed.
32371        * khtml/misc/loader.h: Removed.
32372        * khtml/misc/loader_client.h: Removed.
32373        * khtml/rendering/render_box.h:
32374        * khtml/rendering/render_canvasimage.cpp:
32375        * khtml/rendering/render_form.cpp:
32376        * khtml/rendering/render_image.cpp:
32377        * khtml/rendering/render_line.h:
32378        * khtml/rendering/render_list.cpp:
32379        * khtml/rendering/render_object.h:
32380        * khtml/rendering/render_style.h:
32381        * khtml/rendering/render_table.h:
32382        * khtml/rendering/table_layout.h:
32383        * khtml/xbl/xbl_binding.cpp:
32384        * khtml/xbl/xbl_binding.h:
32385        * khtml/xml/DOMImplementationImpl.h:
32386        * khtml/xml/DocumentImpl.cpp:
32387        * khtml/xml/DocumentImpl.h:
32388        * khtml/xml/dom2_eventsimpl.h:
32389        * khtml/xml/dom2_rangeimpl.h:
32390        * khtml/xml/dom2_traversalimpl.h:
32391        * khtml/xml/dom2_viewsimpl.h:
32392        * khtml/xml/dom_elementimpl.h:
32393        * khtml/xml/dom_nodeimpl.h:
32394        * khtml/xml/dom_stringimpl.h:
32395        * khtml/xml/dom_xmlimpl.h:
32396        * khtml/xml/xml_tokenizer.h:
32397        * khtml/xsl/xsl_stylesheetimpl.cpp:
32398        * khtml/xsl/xslt_processorimpl.h:
32399        * kwq/KWQFontMetrics.mm:
32400        * kwq/KWQMapImpl.cpp:
32401        * kwq/KWQRegExp.cpp:
32402        * kwq/KWQValueListImpl.cpp:
32403        * kwq/KWQVariant.cpp:
32404        * loader: Added.
32405        * loader/Cache.cpp: Added.
32406        * loader/Cache.h: Added.
32407        * loader/CachedCSSStyleSheet.cpp: Added.
32408        * loader/CachedCSSStyleSheet.h: Added.
32409        * loader/CachedImage.cpp: Added.
32410        * loader/CachedImage.h: Added.
32411        * loader/CachedImageCallback.cpp: Added.
32412        * loader/CachedImageCallback.h: Added.
32413        * loader/CachedObject.cpp: Added.
32414        * loader/CachedObject.h: Added.
32415        * loader/CachedObjectClientWalker.cpp: Added.
32416        * loader/CachedObjectClientWalker.h: Added.
32417        * loader/CachedScript.cpp: Added.
32418        * loader/CachedScript.h: Added.
32419        * loader/CachedXBLDocument.cpp: Added.
32420        * loader/CachedXBLDocument.h: Added.
32421        * loader/CachedXSLStyleSheet.cpp: Added.
32422        * loader/CachedXSLStyleSheet.h: Added.
32423        * loader/DocLoader.cpp: Added.
32424        * loader/DocLoader.h: Added.
32425        * loader/Request.cpp: Added.
32426        * loader/Request.h: Added.
32427        * loader/loader.cpp: Added.
32428        * loader/loader.h: Added.
32429        * loader/loader_client.h: Added.
32430        * page/Frame.cpp:
32431        * page/FramePrivate.h:
32432        * page/FrameView.cpp:
32433
324342006-01-14  Eric Seidel  <eseidel@apple.com>
32435
32436        Reviewed by hyatt
32437
32438        break classes in dom_nodeimpl.* into separate files (one per class)
32439        http://bugs.webkit.org/show_bug.cgi?id=6543
32440
32441        * ForwardingHeaders/kdom/core/NodeImpl.h: Removed.
32442        * WebCore.xcodeproj/project.pbxproj:
32443        * bridge/mac/MacFrame.h:
32444        * bridge/mac/WebCoreFrameBridge.mm:
32445        * khtml/css/css_base.h:
32446        * khtml/css/css_stylesheetimpl.cpp:
32447        * khtml/css/css_valueimpl.cpp:
32448        * khtml/css/css_valueimpl.h:
32449        * khtml/ecma/kjs_binding.cpp:
32450        * khtml/ecma/kjs_dom.cpp:
32451        * khtml/ecma/kjs_dom.h:
32452        * khtml/ecma/kjs_events.cpp:
32453        * khtml/ecma/kjs_html.cpp:
32454        * khtml/ecma/kjs_traversal.cpp:
32455        * khtml/editing/SelectionController.cpp:
32456        * khtml/editing/append_node_command.cpp:
32457        * khtml/editing/htmlediting.cpp:
32458        * khtml/editing/htmlediting.h:
32459        * khtml/editing/insert_node_before_command.cpp:
32460        * khtml/editing/remove_node_attribute_command.h:
32461        * khtml/editing/remove_node_command.cpp:
32462        * khtml/editing/remove_node_preserving_children_command.cpp:
32463        * khtml/editing/set_node_attribute_command.h:
32464        * khtml/editing/visible_position.cpp:
32465        * khtml/editing/visible_text.cpp:
32466        * khtml/html/HTMLOptionElementImpl.cpp:
32467        * khtml/html/html_headimpl.cpp:
32468        * khtml/html/htmlparser.cpp:
32469        * khtml/khtml_events.cpp:
32470        * khtml/rendering/render_block.cpp:
32471        * khtml/rendering/render_box.cpp:
32472        * khtml/rendering/render_flow.cpp:
32473        * khtml/rendering/render_frames.h:
32474        * khtml/rendering/render_line.cpp:
32475        * khtml/rendering/render_object.h:
32476        * khtml/xml/ChildNodeListImpl.cpp: Added.
32477        * khtml/xml/ChildNodeListImpl.h: Added.
32478        * khtml/xml/ContainerNodeImpl.cpp: Added.
32479        (DOM::ContainerNodeImpl::removeAllChildren):
32480        (DOM::ContainerNodeImpl::checkSameDocument):
32481        (DOM::ContainerNodeImpl::getRect):
32482        (DOM::ContainerNodeImpl::dispatchChildRemovalEvents):
32483        * khtml/xml/ContainerNodeImpl.h: Added.
32484        * khtml/xml/DocumentFragmentImpl.cpp:
32485        * khtml/xml/DocumentFragmentImpl.h:
32486        * khtml/xml/DocumentImpl.cpp:
32487        * khtml/xml/DocumentImpl.h:
32488        (DOM::DocumentImpl::setTextColor):
32489        * khtml/xml/DocumentTypeImpl.cpp:
32490        * khtml/xml/DocumentTypeImpl.h:
32491        * khtml/xml/NameNodeListImpl.cpp: Added.
32492        * khtml/xml/NameNodeListImpl.h: Added.
32493        * khtml/xml/NamedNodeMapImpl.h: Added.
32494        (DOM::NamedNodeMapImpl::NamedNodeMapImpl):
32495        (DOM::NamedNodeMapImpl::~NamedNodeMapImpl):
32496        * khtml/xml/NodeImpl.cpp: Added.
32497        (DOM::TagNodeListImpl::TagNodeListImpl):
32498        (DOM::TagNodeListImpl::length):
32499        (DOM::TagNodeListImpl::item):
32500        (DOM::TagNodeListImpl::nodeMatches):
32501        (DOM::NodeImpl::getRect):
32502        * khtml/xml/NodeImpl.h: Added.
32503        * khtml/xml/NodeListImpl.cpp: Added.
32504        * khtml/xml/NodeListImpl.h: Added.
32505        * khtml/xml/dom2_eventsimpl.h:
32506        * khtml/xml/dom_elementimpl.h:
32507        * khtml/xml/dom_nodeimpl.cpp: Removed.
32508        * khtml/xml/dom_nodeimpl.h: Removed.
32509        * khtml/xml/dom_position.cpp:
32510        * khtml/xml/dom_textimpl.h:
32511        * khtml/xml/dom_xmlimpl.cpp:
32512        * khtml/xml/dom_xmlimpl.h:
32513        * khtml/xml/xml_tokenizer.cpp:
32514        * khtml/xsl/xsl_stylesheetimpl.cpp:
32515        * khtml/xsl/xslt_processorimpl.h:
32516        * ksvg2/svg/SVGURIReferenceImpl.cpp:
32517        * kwq/DOM.mm:
32518        * kwq/DOMHTML.mm:
32519        * kwq/DOMUtility.mm:
32520        * kwq/KWQClipboard.h:
32521        * page/FrameView.cpp:
32522
325232006-01-14  David Hyatt  <hyatt@apple.com>
32524
32525        Convert QMemArray to Array.  QByteArray becomes ByteArray.
32526        KWQArrayImpl becomes ArrayImpl.
32527
32528        Reviewed by anders
32529
32530        * ForwardingHeaders/qmemarray.h: Removed.
32531        * WebCore.xcodeproj/project.pbxproj:
32532        * khtml/css/cssstyleselector.h:
32533        * khtml/ecma/xmlhttprequest.cpp:
32534        (KJS::XMLHttpRequest::send):
32535        (KJS::XMLHttpRequest::processSyncLoadResults):
32536        * khtml/ecma/xmlhttprequest.h:
32537        * khtml/html/HTMLOptionElementImpl.cpp:
32538        (DOM::HTMLOptionElementImpl::index):
32539        * khtml/html/HTMLSelectElementImpl.cpp:
32540        (DOM::HTMLSelectElementImpl::selectedIndex):
32541        (DOM::HTMLSelectElementImpl::setSelectedIndex):
32542        (DOM::HTMLSelectElementImpl::length):
32543        (DOM::HTMLSelectElementImpl::remove):
32544        (DOM::HTMLSelectElementImpl::value):
32545        (DOM::HTMLSelectElementImpl::setValue):
32546        (DOM::HTMLSelectElementImpl::state):
32547        (DOM::HTMLSelectElementImpl::restoreState):
32548        (DOM::HTMLSelectElementImpl::appendFormData):
32549        (DOM::HTMLSelectElementImpl::optionToListIndex):
32550        (DOM::HTMLSelectElementImpl::listToOptionIndex):
32551        (DOM::HTMLSelectElementImpl::reset):
32552        (DOM::HTMLSelectElementImpl::notifyOptionSelected):
32553        * khtml/html/HTMLSelectElementImpl.h:
32554        (DOM::HTMLSelectElementImpl::listItems):
32555        * khtml/misc/formdata.cpp:
32556        (khtml::FormData::flatten):
32557        (khtml::FormData::flattenToString):
32558        * khtml/misc/formdata.h:
32559        (khtml::FormDataElement::FormDataElement):
32560        * khtml/rendering/bidi.cpp:
32561        (khtml::RenderBlock::layoutInlineChildren):
32562        * khtml/rendering/render_form.cpp:
32563        (RenderSelect::updateFromElement):
32564        (RenderSelect::layout):
32565        (RenderSelect::slotSelected):
32566        (RenderSelect::slotSelectionChanged):
32567        (RenderSelect::updateSelection):
32568        * khtml/rendering/render_table.cpp:
32569        (RenderTableSection::addCell):
32570        (RenderTableSection::setCellWidths):
32571        * khtml/rendering/render_table.h:
32572        * khtml/rendering/table_layout.cpp:
32573        (FixedTableLayout::layout):
32574        * khtml/rendering/table_layout.h:
32575        * khtml/xsl/xslt_processorimpl.cpp:
32576        (DOM::docLoaderFunc):
32577        * kwq/KWQArrayImpl.cpp: Removed.
32578        * kwq/KWQArrayImpl.h: Removed.
32579        * kwq/KWQBuffer.cpp:
32580        (QBuffer::setBuffer):
32581        * kwq/KWQBuffer.h:
32582        (QBuffer::QBuffer):
32583        (QBuffer::buffer):
32584        * kwq/KWQCString.cpp:
32585        (QCString::QCString):
32586        (QCString::resize):
32587        (QCString::append):
32588        * kwq/KWQCString.h:
32589        * kwq/KWQKURL.mm:
32590        (findHostnamesInMailToURL):
32591        (encodeHostnames):
32592        * kwq/KWQLoader.h:
32593        * kwq/KWQLoader.mm:
32594        (KWQServeSynchronousRequest):
32595        * kwq/KWQMemArray.h: Removed.
32596        * kwq/KWQPixmap.h:
32597        * kwq/KWQPixmap.mm:
32598        (QPixmap::QPixmap):
32599        (QPixmap::receivedData):
32600        * kwq/KWQString.h:
32601        * kwq/KWQString.mm:
32602        (QString::QString):
32603        * kwq/KWQTextCodec.cpp:
32604        (QTextCodec::toUnicode):
32605        * kwq/KWQTextCodec.h:
32606        * kwq/KWQTextStream.cpp:
32607        (QTextStream::QTextStream):
32608        * kwq/KWQTextStream.h:
32609        * page/Frame.h:
32610        * platform/Array.h: Added.
32611        (WebCore::Array::Array):
32612        (WebCore::Array::duplicate):
32613        (WebCore::Array::assign):
32614        (WebCore::Array::operator==):
32615        (WebCore::Array::operator!=):
32616        * platform/ArrayImpl.cpp: Added.
32617        (WebCore::ArrayImpl::ArrayPrivate::ArrayPrivate):
32618        (WebCore::ArrayImpl::ArrayPrivate::~ArrayPrivate):
32619        (WebCore::ArrayImpl::ArrayImpl):
32620        (WebCore::ArrayImpl::~ArrayImpl):
32621        (WebCore::ArrayImpl::operator=):
32622        (WebCore::ArrayImpl::data):
32623        (WebCore::ArrayImpl::resize):
32624        (WebCore::ArrayImpl::duplicate):
32625        (WebCore::ArrayImpl::detach):
32626        (WebCore::ArrayImpl::fill):
32627        (WebCore::ArrayImpl::operator==):
32628        * platform/ArrayImpl.h: Added.
32629        (WebCore::ArrayImpl::size):
32630        * platform/IntPointArray.cpp:
32631        (IntPointArray::setPoint):
32632        * platform/IntPointArray.h:
32633        (WebCore::IntPointArray::IntPointArray):
32634
326352006-01-14  David Hyatt  <hyatt@apple.com>
32636
32637        Convert QRect/QRectF -> IntRect/FloatRect.  Same drill as point
32638        and size.
32639
32640        Reviewed by mjs
32641
32642        * ForwardingHeaders/qrect.h: Removed.
32643        * WebCore.xcodeproj/project.pbxproj:
32644        * bridge/mac/MacFrame.mm:
32645        (MacFrame::snapshotDragImage):
32646        (MacFrame::setDisplaysWithFocusAttributes):
32647        * bridge/mac/WebCoreFrameBridge.mm:
32648        (-[WebCoreFrameBridge drawRect:withPainter:]):
32649        (-[WebCoreFrameBridge firstRectForDOMRange:]):
32650        (-[WebCoreFrameBridge ensureSelectionVisible]):
32651        * kcanvas/KCanvasContainer.cpp:
32652        (KCanvasContainer::relativeBBox):
32653        (KCanvasContainer::getAspectRatio):
32654        * kcanvas/KCanvasContainer.h:
32655        * kcanvas/KCanvasFilters.cpp:
32656        (KCanvasFilterEffect::subRegion):
32657        (KCanvasFilterEffect::setSubRegion):
32658        * kcanvas/KCanvasFilters.h:
32659        (KCanvasFilter::filterRect):
32660        (KCanvasFilter::setFilterRect):
32661        * kcanvas/KCanvasItem.cpp:
32662        (RenderPath::relativeBBox):
32663        * kcanvas/KCanvasItem.h:
32664        * kcanvas/KCanvasResources.cpp:
32665        (KCanvasMarker::draw):
32666        * kcanvas/KCanvasResources.h:
32667        * kcanvas/KCanvasTreeDebug.cpp:
32668        (operator<<):
32669        * kcanvas/KCanvasTreeDebug.h:
32670        * kcanvas/RenderSVGImage.cpp:
32671        (RenderSVGImage::paint):
32672        * kcanvas/device/KRenderingDevice.h:
32673        * kcanvas/device/KRenderingPaintServerPattern.cpp:
32674        (KRenderingPaintServerPattern::setBbox):
32675        (KRenderingPaintServerPattern::bbox):
32676        * kcanvas/device/KRenderingPaintServerPattern.h:
32677        * kcanvas/device/quartz/KCanvasFilterQuartz.h:
32678        * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
32679        (KCanvasFilterQuartz::prepareFilter):
32680        (KCanvasFilterQuartz::applyFilter):
32681        * kcanvas/device/quartz/KCanvasItemQuartz.h:
32682        (KCanvasItemQuartz::getAbsoluteRepaintRect):
32683        * kcanvas/device/quartz/KCanvasItemQuartz.mm:
32684        (drawMarkerWithData):
32685        (KCanvasItemQuartz::drawMarkersIfNeeded):
32686        (KCanvasItemQuartz::bboxForPath):
32687        * kcanvas/device/quartz/KCanvasMaskerQuartz.h:
32688        * kcanvas/device/quartz/KCanvasMaskerQuartz.mm:
32689        (KCanvasMaskerQuartz::applyMask):
32690        * kcanvas/device/quartz/KCanvasResourcesQuartz.h:
32691        (KCanvasContainerQuartz::getAbsoluteRepaintRect):
32692        * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
32693        (KCanvasContainerQuartz::layout):
32694        (KCanvasContainerQuartz::paint):
32695        (KCanvasContainerQuartz::setViewport):
32696        (KCanvasContainerQuartz::viewport):
32697        (KCanvasContainerQuartz::setViewBox):
32698        (KCanvasContainerQuartz::viewBox):
32699        (KCanvasContainerQuartz::absoluteTransform):
32700        (KCanvasClipperQuartz::applyClip):
32701        * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
32702        * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
32703        (KRenderingDeviceContextQuartz::mapFromVisual):
32704        (KRenderingDeviceContextQuartz::mapToVisual):
32705        * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
32706        (KRenderingPaintServerImageQuartz::draw):
32707        * kcanvas/device/quartz/QuartzSupport.h:
32708        * khtml/ecma/kjs_window.cpp:
32709        (KJS::Screen::getValueProperty):
32710        (KJS::showModalDialog):
32711        (KJS::Window::getValueProperty):
32712        (KJS::constrainToVisible):
32713        (KJS::WindowFunc::callAsFunction):
32714        * khtml/editing/SelectionController.cpp:
32715        (khtml::caretY):
32716        (khtml::SelectionController::layout):
32717        (khtml::SelectionController::caretRect):
32718        (khtml::SelectionController::caretRepaintRect):
32719        (khtml::SelectionController::paintCaret):
32720        * khtml/editing/SelectionController.h:
32721        * khtml/html/html_imageimpl.cpp:
32722        (DOM::HTMLAreaElementImpl::getRect):
32723        * khtml/html/html_imageimpl.h:
32724        * khtml/html/html_inlineimpl.cpp:
32725        (DOM::HTMLAnchorElementImpl::isFocusable):
32726        * khtml/misc/CachedImage.cpp:
32727        (khtml::CachedImage::valid_rect):
32728        (khtml::CachedImage::do_notify):
32729        (khtml::CachedImage::error):
32730        * khtml/misc/CachedImage.h:
32731        * khtml/misc/khtmllayout.h:
32732        (khtml::GapRects::left):
32733        (khtml::GapRects::center):
32734        (khtml::GapRects::right):
32735        (khtml::GapRects::uniteLeft):
32736        (khtml::GapRects::uniteCenter):
32737        (khtml::GapRects::uniteRight):
32738        (khtml::GapRects::operator IntRect):
32739        * khtml/misc/loader_client.h:
32740        (khtml::CachedObjectClient::setPixmap):
32741        * khtml/rendering/InlineTextBox.cpp:
32742        (khtml::InlineTextBox::selectionRect):
32743        (khtml::InlineTextBox::nodeAtPoint):
32744        * khtml/rendering/InlineTextBox.h:
32745        * khtml/rendering/RenderText.cpp:
32746        (khtml::RenderText::absoluteRects):
32747        (khtml::RenderText::caretRect):
32748        (khtml::RenderText::getAbsoluteRepaintRect):
32749        (khtml::RenderText::selectionRect):
32750        * khtml/rendering/RenderText.h:
32751        * khtml/rendering/bidi.cpp:
32752        (khtml::RenderBlock::layoutInlineChildren):
32753        * khtml/rendering/font.cpp:
32754        (khtml::Font::selectionRectForText):
32755        * khtml/rendering/font.h:
32756        * khtml/rendering/render_block.cpp:
32757        (khtml::RenderBlock::overflowRect):
32758        (khtml::RenderBlock::layoutBlock):
32759        (khtml::RenderBlock::getAbsoluteRepaintRectIncludingFloats):
32760        (khtml::RenderBlock::paint):
32761        (khtml::RenderBlock::fillHorizontalSelectionGap):
32762        (khtml::RenderBlock::fillVerticalSelectionGap):
32763        (khtml::RenderBlock::fillLeftSelectionGap):
32764        (khtml::RenderBlock::fillRightSelectionGap):
32765        (khtml::RenderBlock::floatRect):
32766        (khtml::RenderBlock::isPointInScrollbar):
32767        (khtml::RenderBlock::nodeAtPoint):
32768        * khtml/rendering/render_block.h:
32769        (khtml::RenderBlock::selectionRect):
32770        * khtml/rendering/render_box.cpp:
32771        (RenderBox::nodeAtPoint):
32772        (RenderBox::paintBoxDecorations):
32773        (RenderBox::paintBackgroundExtended):
32774        (RenderBox::getOverflowClipRect):
32775        (RenderBox::getClipRect):
32776        (RenderBox::getAbsoluteRepaintRect):
32777        (RenderBox::computeAbsoluteRepaintRect):
32778        (RenderBox::caretRect):
32779        * khtml/rendering/render_box.h:
32780        (khtml::RenderBox::borderBox):
32781        * khtml/rendering/render_br.cpp:
32782        (khtml::RenderBR::caretRect):
32783        * khtml/rendering/render_br.h:
32784        (khtml::RenderBR::selectionRect):
32785        * khtml/rendering/render_button.cpp:
32786        (khtml::RenderButton::paintObject):
32787        * khtml/rendering/render_canvas.cpp:
32788        (RenderCanvas::repaintViewRectangle):
32789        (RenderCanvas::getAbsoluteRepaintRect):
32790        (RenderCanvas::computeAbsoluteRepaintRect):
32791        (RenderCanvas::absoluteRects):
32792        (RenderCanvas::selectionRect):
32793        (RenderCanvas::viewRect):
32794        * khtml/rendering/render_canvas.h:
32795        (khtml::RenderCanvas::printRect):
32796        (khtml::RenderCanvas::setPrintRect):
32797        * khtml/rendering/render_canvasimage.cpp:
32798        (RenderCanvasImage::paint):
32799        (RenderCanvasImage::layout):
32800        * khtml/rendering/render_flexbox.cpp:
32801        (khtml::RenderFlexibleBox::layoutBlock):
32802        * khtml/rendering/render_flow.cpp:
32803        (RenderFlow::getAbsoluteRepaintRect):
32804        (RenderFlow::caretRect):
32805        (RenderFlow::paintOutlines):
32806        (RenderFlow::paintOutlineForLine):
32807        * khtml/rendering/render_flow.h:
32808        * khtml/rendering/render_frames.cpp:
32809        (RenderFrameSet::userResize):
32810        (RenderPart::updateWidgetPosition):
32811        * khtml/rendering/render_image.cpp:
32812        (RenderImage::setImage):
32813        (RenderImage::setPixmap):
32814        (RenderImage::paint):
32815        (RenderImage::layout):
32816        * khtml/rendering/render_image.h:
32817        * khtml/rendering/render_inline.cpp:
32818        (RenderInline::absoluteRects):
32819        * khtml/rendering/render_inline.h:
32820        * khtml/rendering/render_layer.cpp:
32821        (khtml::RenderLayer::updateLayerPositions):
32822        (khtml::RenderLayer::scrollRectToVisible):
32823        (khtml::RenderLayer::getRectToExpose):
32824        (khtml::RenderLayer::positionScrollbars):
32825        (khtml::RenderLayer::updateScrollInfoAfterLayout):
32826        (khtml::RenderLayer::paintScrollbars):
32827        (khtml::RenderLayer::paint):
32828        (khtml::setClip):
32829        (khtml::restoreClip):
32830        (khtml::RenderLayer::paintLayer):
32831        (khtml::RenderLayer::hitTest):
32832        (khtml::RenderLayer::hitTestLayer):
32833        (khtml::RenderLayer::calculateClipRects):
32834        (khtml::RenderLayer::calculateRects):
32835        (khtml::mustExamineRenderer):
32836        (khtml::RenderLayer::intersectsDamageRect):
32837        (khtml::RenderLayer::containsPoint):
32838        * khtml/rendering/render_layer.h:
32839        (khtml::ClipRects::m_refCnt):
32840        (khtml::ClipRects::overflowClipRect):
32841        (khtml::ClipRects::fixedClipRect):
32842        (khtml::ClipRects::posClipRect):
32843        (khtml::RenderLayer::repaintRect):
32844        * khtml/rendering/render_line.cpp:
32845        (khtml::InlineBox::canAccommodateEllipsis):
32846        (khtml::InlineFlowBox::nodeAtPoint):
32847        (khtml::InlineFlowBox::paintBackground):
32848        (khtml::InlineFlowBox::paintBackgroundAndBorder):
32849        (khtml::EllipsisBox::nodeAtPoint):
32850        * khtml/rendering/render_list.cpp:
32851        (RenderListItem::getAbsoluteRepaintRect):
32852        (RenderListMarker::setPixmap):
32853        * khtml/rendering/render_list.h:
32854        * khtml/rendering/render_object.cpp:
32855        (RenderObject::paintBorderImage):
32856        (RenderObject::paintBorder):
32857        (RenderObject::absoluteRects):
32858        (RenderObject::absoluteBoundingBoxRect):
32859        (RenderObject::addAbsoluteRectForLayer):
32860        (RenderObject::paintingRootRect):
32861        (RenderObject::repaintRectangle):
32862        (RenderObject::repaintAfterLayoutIfNeeded):
32863        (RenderObject::getAbsoluteRepaintRectWithOutline):
32864        (RenderObject::getAbsoluteRepaintRect):
32865        (RenderObject::getAbsoluteRepaintRectIncludingFloats):
32866        (RenderObject::computeAbsoluteRepaintRect):
32867        (RenderObject::viewRect):
32868        (RenderObject::caretRect):
32869        (RenderObject::addDashboardRegions):
32870        (RenderObject::setPixmap):
32871        * khtml/rendering/render_object.h:
32872        (khtml::RenderObject::getOverflowClipRect):
32873        (khtml::RenderObject::getClipRect):
32874        (khtml::RenderObject::relativeBBox):
32875        (khtml::RenderObject::PaintInfo::PaintInfo):
32876        (khtml::RenderObject::RepaintInfo::m_repaintRect):
32877        (khtml::RenderObject::borderBox):
32878        (khtml::RenderObject::overflowRect):
32879        (khtml::RenderObject::floatRect):
32880        (khtml::RenderObject::selectionRect):
32881        (khtml::RenderObject::SelectionInfo::rect):
32882        * khtml/rendering/render_replaced.cpp:
32883        (RenderReplaced::selectionRect):
32884        (RenderWidget::paint):
32885        (RenderWidget::updateWidgetPosition):
32886        * khtml/rendering/render_replaced.h:
32887        * khtml/rendering/render_table.cpp:
32888        (RenderTable::layout):
32889        (RenderTableRow::getAbsoluteRepaintRect):
32890        (RenderTableCell::computeAbsoluteRepaintRect):
32891        (RenderTableCell::getAbsoluteRepaintRect):
32892        (RenderTableCell::paintBoxDecorations):
32893        * khtml/rendering/render_table.h:
32894        * khtml/rendering/render_theme.cpp:
32895        (khtml::RenderTheme::paint):
32896        * khtml/rendering/render_theme.h:
32897        (khtml::RenderTheme::adjustRepaintRect):
32898        * khtml/rendering/render_theme_mac.h:
32899        * khtml/rendering/render_theme_mac.mm:
32900        (khtml::RenderThemeMac::adjustRepaintRect):
32901        (khtml::RenderThemeMac::inflateRect):
32902        (khtml::RenderThemeMac::paintCheckbox):
32903        (khtml::RenderThemeMac::setCheckboxCellState):
32904        (khtml::RenderThemeMac::paintRadio):
32905        (khtml::RenderThemeMac::setRadioCellState):
32906        (khtml::RenderThemeMac::setButtonCellState):
32907        (khtml::RenderThemeMac::paintButton):
32908        * khtml/xml/dom_elementimpl.cpp:
32909        (ElementImpl::scrollIntoView):
32910        * khtml/xml/dom_nodeimpl.cpp:
32911        (DOM::NodeImpl::getRect):
32912        (DOM::ContainerNodeImpl::getRect):
32913        * khtml/xml/dom_nodeimpl.h:
32914        * ksvg2/css/SVGRenderStyle.h:
32915        * ksvg2/svg/SVGFilterElementImpl.cpp:
32916        (SVGFilterElementImpl::canvasResource):
32917        * ksvg2/svg/SVGFilterPrimitiveStandardAttributesImpl.cpp:
32918        (SVGFilterPrimitiveStandardAttributesImpl::setStandardAttributes):
32919        * ksvg2/svg/SVGLengthImpl.cpp:
32920        (SVGLengthImpl::value):
32921        * ksvg2/svg/SVGLocatableImpl.cpp:
32922        (SVGLocatableImpl::getBBox):
32923        * ksvg2/svg/SVGMaskElementImpl.cpp:
32924        (KSVG::SVGMaskElementImpl::drawMaskerContent):
32925        * ksvg2/svg/SVGPatternElementImpl.cpp:
32926        (SVGPatternElementImpl::drawPatternContentIntoTile):
32927        * ksvg2/svg/SVGSVGElementImpl.cpp:
32928        (SVGSVGElementImpl::checkIntersection):
32929        (SVGSVGElementImpl::checkEnclosure):
32930        (SVGSVGElementImpl::createRenderer):
32931        * kwq/KWQAccObject.mm:
32932        (boundingBoxRect):
32933        (-[KWQAccObject position]):
32934        (-[KWQAccObject size]):
32935        (-[KWQAccObject doAXBoundsForTextMarkerRange:]):
32936        * kwq/KWQApplication.h:
32937        * kwq/KWQApplication.mm:
32938        (QDesktopWidget::screenGeometry):
32939        (QDesktopWidget::availableGeometry):
32940        * kwq/KWQComboBox.h:
32941        * kwq/KWQComboBox.mm:
32942        (QComboBox::frameGeometry):
32943        (QComboBox::setFrameGeometry):
32944        * kwq/KWQFileButton.h:
32945        * kwq/KWQFileButton.mm:
32946        (KWQFileButton::frameGeometry):
32947        (KWQFileButton::setFrameGeometry):
32948        * kwq/KWQFontMetrics.h:
32949        * kwq/KWQFontMetrics.mm:
32950        (QFontMetrics::selectionRectForText):
32951        (QFontMetrics::boundingRect):
32952        * kwq/KWQKWinModule.h:
32953        * kwq/KWQKWinModule.mm:
32954        (KWinModule::workArea):
32955        * kwq/KWQObject.h:
32956        * kwq/KWQPainter.h:
32957        * kwq/KWQPainter.mm:
32958        (QPainter::xForm):
32959        (QPainter::drawPixmap):
32960        (QPainter::fillRect):
32961        (QPainter::addClip):
32962        (QPainter::addRoundedRectClip):
32963        * kwq/KWQPixmap.h:
32964        * kwq/KWQPixmap.mm:
32965        (QPixmap::setAnimationRect):
32966        (QPixmap::rect):
32967        * kwq/KWQRect.h: Removed.
32968        * kwq/KWQRect.mm: Removed.
32969        * kwq/KWQRectF.h: Removed.
32970        * kwq/KWQRectF.mm: Removed.
32971        * kwq/KWQRegion.cpp:
32972        (QRegion::QRegion):
32973        (QRegion::boundingRect):
32974        * kwq/KWQRegion.h:
32975        * kwq/KWQRenderTreeDebug.cpp:
32976        (operator<<):
32977        (write):
32978        (writeLayers):
32979        (externalRepresentation):
32980        * kwq/KWQScrollView.h:
32981        * kwq/KWQScrollView.mm:
32982        (QScrollView::updateContents):
32983        * kwq/KWQWMatrix.cpp:
32984        (QWMatrix::mapRect):
32985        * kwq/KWQWMatrix.h:
32986        * kwq/KWQWidget.h:
32987        * kwq/KWQWidget.mm:
32988        (QWidget::resize):
32989        (QWidget::move):
32990        (QWidget::frameGeometry):
32991        (QWidget::setFrameGeometry):
32992        (QWidget::paint):
32993        * kwq/KWQWindowWidget.h:
32994        * kwq/KWQWindowWidget.mm:
32995        (KWQWindowWidget::frameGeometry):
32996        (KWQWindowWidget::setFrameGeometry):
32997        * page/Frame.cpp:
32998        (Frame::gotoAnchor):
32999        (Frame::paintCaret):
33000        (Frame::paintDragCaret):
33001        (Frame::selectionRect):
33002        (Frame::revealSelection):
33003        (Frame::paint):
33004        (Frame::adjustPageHeight):
33005        (Frame::centerSelectionInVisibleArea):
33006        * page/Frame.h:
33007        * page/FrameView.cpp:
33008        (KHTMLView::addRepaintInfo):
33009        (KHTMLView::scrollTo):
33010        (KHTMLView::focusNextPrevNode):
33011        (KHTMLView::repaintRectangle):
33012        * page/FrameView.h:
33013        * platform/FloatRect.cpp: Added.
33014        (WebCore::FloatRect::FloatRect):
33015        (WebCore::FloatRect::isNull):
33016        (WebCore::FloatRect::isValid):
33017        (WebCore::FloatRect::isEmpty):
33018        (WebCore::FloatRect::right):
33019        (WebCore::FloatRect::bottom):
33020        (WebCore::FloatRect::topLeft):
33021        (WebCore::FloatRect::topRight):
33022        (WebCore::FloatRect::bottomRight):
33023        (WebCore::FloatRect::bottomLeft):
33024        (WebCore::FloatRect::size):
33025        (WebCore::FloatRect::unite):
33026        (WebCore::FloatRect::normalize):
33027        (WebCore::FloatRect::intersects):
33028        (WebCore::FloatRect::intersect):
33029        (WebCore::FloatRect::inflate):
33030        (WebCore::operator==):
33031        (WebCore::operator!=):
33032        * platform/FloatRect.h: Added.
33033        (WebCore::FloatRect::contains):
33034        (WebCore::FloatRect::operator&):
33035        (WebCore::enclosingIntRect):
33036        * platform/IntPointArray.cpp:
33037        (IntPointArray::IntPointArray):
33038        (IntPointArray::boundingRect):
33039        * platform/IntPointArray.h:
33040        * platform/IntRect.cpp: Added.
33041        (WebCore::IntRect::IntRect):
33042        (WebCore::IntRect::isNull):
33043        (WebCore::IntRect::isValid):
33044        (WebCore::IntRect::isEmpty):
33045        (WebCore::IntRect::right):
33046        (WebCore::IntRect::bottom):
33047        (WebCore::IntRect::topLeft):
33048        (WebCore::IntRect::topRight):
33049        (WebCore::IntRect::bottomRight):
33050        (WebCore::IntRect::bottomLeft):
33051        (WebCore::IntRect::size):
33052        (WebCore::IntRect::unite):
33053        (WebCore::IntRect::normalize):
33054        (WebCore::IntRect::intersects):
33055        (WebCore::IntRect::intersect):
33056        (WebCore::IntRect::inflate):
33057        (WebCore::operator==):
33058        (WebCore::operator!=):
33059        * platform/IntRect.h: Added.
33060        (WebCore::IntRect::contains):
33061        (WebCore::IntRect::operator&):
33062        * platform/mac/FloatRect.mm: Added.
33063        (WebCore::FloatRect::FloatRect):
33064        (WebCore::FloatRect::operator NSRect):
33065        (WebCore::FloatRect::operator CGRect):
33066        * platform/mac/IntRect.mm: Added.
33067        (WebCore::IntRect::IntRect):
33068        (WebCore::IntRect::operator NSRect):
33069        (WebCore::IntRect::operator CGRect):
33070
330712006-01-13  David Hyatt  <hyatt@apple.com>
33072
33073        Convert QPointF to FloatPoint and move it to the platform
33074        directory.
33075
33076        * WebCore.xcodeproj/project.pbxproj:
33077        * kcanvas/KCanvasContainer.cpp:
33078        (KCanvasContainer::fillContains):
33079        (KCanvasContainer::strokeContains):
33080        * kcanvas/KCanvasContainer.h:
33081        * kcanvas/KCanvasFilters.h:
33082        (KCanvasFEConvolveMatrix::kernelUnitLength):
33083        (KCanvasFEConvolveMatrix::setKernelUnitLength):
33084        * kcanvas/KCanvasItem.cpp:
33085        (RenderPath::fillContains):
33086        (RenderPath::strokeContains):
33087        * kcanvas/KCanvasItem.h:
33088        * kcanvas/KCanvasTreeDebug.cpp:
33089        (operator<<):
33090        * kcanvas/KCanvasTreeDebug.h:
33091        * kcanvas/device/KRenderingPaintServerGradient.cpp:
33092        (KRenderingPaintServerLinearGradient::gradientStart):
33093        (KRenderingPaintServerLinearGradient::setGradientStart):
33094        (KRenderingPaintServerLinearGradient::gradientEnd):
33095        (KRenderingPaintServerLinearGradient::setGradientEnd):
33096        (KRenderingPaintServerRadialGradient::gradientCenter):
33097        (KRenderingPaintServerRadialGradient::setGradientCenter):
33098        (KRenderingPaintServerRadialGradient::gradientFocal):
33099        (KRenderingPaintServerRadialGradient::setGradientFocal):
33100        * kcanvas/device/KRenderingPaintServerGradient.h:
33101        * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
33102        (ciVector):
33103        * kcanvas/device/quartz/KCanvasItemQuartz.h:
33104        * kcanvas/device/quartz/KCanvasItemQuartz.mm:
33105        (KCanvasItemQuartz::nodeAtPoint):
33106        (KCanvasItemQuartz::hitsPath):
33107        * ksvg2/svg/SVGLinearGradientElementImpl.cpp:
33108        (SVGLinearGradientElementImpl::buildGradient):
33109        * ksvg2/svg/SVGRadialGradientElementImpl.cpp:
33110        (SVGRadialGradientElementImpl::buildGradient):
33111        * kwq/KWQPointF.h: Removed.
33112        * kwq/KWQPointF.mm: Removed.
33113        * kwq/KWQRectF.h:
33114        (QRectF::contains):
33115        * kwq/KWQRectF.mm:
33116        (QRectF::QRectF):
33117        (QRectF::topLeft):
33118        (QRectF::topRight):
33119        (QRectF::bottomRight):
33120        (QRectF::bottomLeft):
33121        * platform/FloatPoint.cpp: Added.
33122        (WebCore::FloatPoint::FloatPoint):
33123        (WebCore::yCoord):
33124        (WebCore::operator+):
33125        (WebCore::operator-):
33126        (WebCore::operator*):
33127        * platform/FloatPoint.h: Added.
33128        (WebCore::FloatPoint::operator -=):
33129        * platform/mac/FloatPoint.mm: Added.
33130        (WebCore::FloatPoint::FloatPoint):
33131        (WebCore::FloatPoint::operator NSPoint):
33132        (WebCore::FloatPoint::operator CGPoint):
33133
331342006-01-13  David Hyatt  <hyatt@apple.com>
33135
33136        Convert QPoint and QPointArray to IntPoint and IntPointArray.
33137        Factor out the Objective-C-specific logic into a .mm file
33138        for IntPoint.
33139
33140        * ForwardingHeaders/qpoint.h: Removed.
33141        * ForwardingHeaders/qpointarray.h: Removed.
33142        * WebCore.xcodeproj/project.pbxproj:
33143        * bridge/mac/KWQKHTMLView.cpp:
33144        (KHTMLView::viewportToGlobal):
33145        * bridge/mac/KWQKPartsBrowserExtension.h:
33146        * bridge/mac/MacFrame.h:
33147        * bridge/mac/MacFrame.mm:
33148        (MacFrame::khtmlMouseMoveEvent):
33149        (MacFrame::dragSourceMovedTo):
33150        (MacFrame::dragSourceEndedAt):
33151        (MacFrame::dispatchDragSrcEvent):
33152        * bridge/mac/WebCoreFrameBridge.mm:
33153        (-[WebCoreFrameBridge elementAtPoint:]):
33154        (-[WebCoreFrameBridge dragOperationForDraggingInfo:]):
33155        (-[WebCoreFrameBridge dragExitedWithDraggingInfo:]):
33156        (-[WebCoreFrameBridge concludeDragForDraggingInfo:]):
33157        (-[WebCoreFrameBridge dragSourceMovedTo:]):
33158        (-[WebCoreFrameBridge dragSourceEndedAt:operation:]):
33159        * kcanvas/KCanvasItem.h:
33160        * kcanvas/KCanvasTreeDebug.cpp:
33161        (operator<<):
33162        * kcanvas/KCanvasTreeDebug.h:
33163        * kcanvas/device/KRenderingPaintServerGradient.cpp:
33164        * kcanvas/device/KRenderingPaintServerPattern.h:
33165        * khtml/ecma/kjs_events.cpp:
33166        (KJS::ClipboardProtoFunc::callAsFunction):
33167        * khtml/ecma/kjs_window.cpp:
33168        (KJS::WindowFunc::callAsFunction):
33169        * khtml/editing/SelectionController.cpp:
33170        (khtml::SelectionController::layout):
33171        (khtml::SelectionController::caretRect):
33172        * khtml/editing/SelectionController.h:
33173        * khtml/html/html_canvasimpl.cpp:
33174        * khtml/html/html_imageimpl.cpp:
33175        (DOM::HTMLAreaElementImpl::mapMouseEvent):
33176        (DOM::HTMLAreaElementImpl::getRegion):
33177        * khtml/rendering/render_image.cpp:
33178        (RenderImage::paint):
33179        * khtml/rendering/render_list.cpp:
33180        (RenderListMarker::paint):
33181        * khtml/rendering/render_object.cpp:
33182        (RenderObject::drawBorder):
33183        * khtml/xml/dom2_eventsimpl.h:
33184        * ksvg2/svg/SVGPointImpl.cpp:
33185        (SVGPointImpl::SVGPointImpl):
33186        * ksvg2/svg/SVGPointImpl.h:
33187        * ksvg2/svg/SVGSVGElementImpl.cpp:
33188        (SVGSVGElementImpl::createSVGPoint):
33189        * ksvg2/svg/SVGSVGElementImpl.h:
33190        * kwq/KWQClipboard.h:
33191        * kwq/KWQClipboard.mm:
33192        (KWQClipboard::dragLocation):
33193        (KWQClipboard::setDragImage):
33194        (KWQClipboard::setDragImageElement):
33195        * kwq/KWQCursor.h:
33196        * kwq/KWQEvent.h:
33197        (QMouseEvent::pos):
33198        (QWheelEvent::QWheelEvent):
33199        (QWheelEvent::pos):
33200        (QWheelEvent::globalPos):
33201        * kwq/KWQEvent.mm:
33202        (positionForEvent):
33203        (globalPositionForEvent):
33204        * kwq/KWQPainter.h:
33205        * kwq/KWQPainter.mm:
33206        (QPainter::drawConvexPolygon):
33207        (QPainter::drawPixmap):
33208        * kwq/KWQPixmap.mm:
33209        (QPixmap::rect):
33210        * kwq/KWQPoint.mm: Removed.
33211        * kwq/KWQPointArray.cpp: Removed.
33212        * kwq/KWQPointArray.h: Removed.
33213        * kwq/KWQPointF.h:
33214        * kwq/KWQPointF.mm:
33215        (yCoord):
33216        * kwq/KWQRect.h:
33217        (QRect::moveTopLeft):
33218        (QRect::contains):
33219        * kwq/KWQRect.mm:
33220        (QRect::QRect):
33221        (QRect::topLeft):
33222        (QRect::topRight):
33223        (QRect::bottomRight):
33224        (QRect::bottomLeft):
33225        * kwq/KWQRegion.cpp:
33226        (QRegion::QRegion):
33227        (QRegion::contains):
33228        * kwq/KWQRegion.h:
33229        * kwq/KWQScrollView.h:
33230        * kwq/KWQScrollView.mm:
33231        (QScrollView::contentsToViewport):
33232        * kwq/KWQWidget.h:
33233        * kwq/KWQWidget.mm:
33234        (QWidget::pos):
33235        (QWidget::move):
33236        (QWidget::mapFromGlobal):
33237        * kwq/KWQWindowWidget.h:
33238        * kwq/KWQWindowWidget.mm:
33239        (KWQWindowWidget::mapFromGlobal):
33240        (KWQWindowWidget::viewportToGlobal):
33241        * page/Frame.h:
33242        * page/FramePrivate.h:
33243        * page/FrameView.cpp:
33244        (KHTMLView::dispatchDragEvent):
33245        (KHTMLView::updateDragAndDrop):
33246        (KHTMLView::cancelDragAndDrop):
33247        (KHTMLView::performDragAndDrop):
33248        * page/FrameView.h:
33249        * platform/IntPoint.cpp: Added.
33250        (WebCore::IntPoint::IntPoint):
33251        (WebCore::operator+):
33252        (WebCore::operator-):
33253        (WebCore::operator*):
33254        * platform/IntPoint.h: Added.
33255        (WebCore::IntPoint::x):
33256        (WebCore::IntPoint::y):
33257        (WebCore::IntPoint::setX):
33258        (WebCore::IntPoint::setY):
33259        (WebCore::IntPoint::isNull):
33260        (WebCore::IntPoint::operator -=):
33261        * platform/IntPointArray.cpp: Added.
33262        (IntPointArray::IntPointArray):
33263        (IntPointArray::copy):
33264        (IntPointArray::boundingRect):
33265        (IntPointArray::point):
33266        (IntPointArray::setPoint):
33267        (IntPointArray::setPoints):
33268        * platform/IntPointArray.h: Added.
33269        (WebCore::IntPointArray::IntPointArray):
33270
332712006-01-13  David Hyatt  <hyatt@apple.com>
33272
33273        Convert QSizeF to FloatSize and move it to the platform
33274        directory.
33275
33276        * WebCore.xcodeproj/project.pbxproj:
33277        * kcanvas/KCanvasFilters.h:
33278        (KCanvasFEConvolveMatrix::kernelSize):
33279        (KCanvasFEConvolveMatrix::setKernelSize):
33280        (KCanvasFEConvolveMatrix::targetOffset):
33281        (KCanvasFEConvolveMatrix::setTargetOffset):
33282        * kcanvas/KCanvasTreeDebug.cpp:
33283        (operator<<):
33284        * kcanvas/KCanvasTreeDebug.h:
33285        * kwq/KWQRectF.h:
33286        * kwq/KWQRectF.mm:
33287        (QRectF::QRectF):
33288        (QRectF::size):
33289        * kwq/KWQSizeF.h: Removed.
33290        * kwq/KWQSizeF.mm: Removed.
33291        * platform/FloatSize.cpp: Added.
33292        (FloatSize::FloatSize):
33293        (FloatSize::isValid):
33294        (FloatSize::expandedTo):
33295        (operator+):
33296        (operator==):
33297        (operator!=):
33298        * platform/FloatSize.h: Added.
33299        * platform/mac/FloatSize.mm: Added.
33300        (FloatSize::FloatSize):
33301        (FloatSize::operator NSSize):
33302        (FloatSize::operator CGSize):
33303
333042006-01-13  David Hyatt  <hyatt@apple.com>
33305
33306        Fix build bustage from QSize -> IntSize change.
33307
33308        Reviewed by darin
33309
33310        * kwq/KWQObject.h:
33311        * kwq/KWQSizeF.h:
33312
333132006-01-13  David Hyatt  <hyatt@apple.com>
33314
33315        Eliminate QSize and add the new class IntSize in the
33316        platform subdirectory.  Factor out the Objective-C portion
33317        of IntSize into a platform-specific IntSize.mm that resides
33318        in the mac subdirectory.
33319
33320        Win32 can just compile IntSize.cpp and doesn't need any
33321        platform-specific extension here.
33322
33323        Reviewed by darin
33324
33325        * WebCore.xcodeproj/project.pbxproj:
33326        * kcanvas/KCanvasImage.h:
33327        * kcanvas/device/quartz/KCanvasResourcesQuartz.h:
33328        (KCanvasImageQuartz::init):
33329        (KCanvasImageQuartz::size):
33330        * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
33331        (KRenderingDeviceQuartz::contextForImage):
33332        * khtml/css/cssstyleselector.cpp:
33333        (khtml::CSSStyleSelector::applyProperty):
33334        * khtml/ecma/kjs_html.cpp:
33335        (KJS::Image::getValueProperty):
33336        * khtml/ecma/kjs_window.cpp:
33337        (KJS::WindowFunc::callAsFunction):
33338        * khtml/misc/CachedImage.cpp:
33339        (khtml::CachedImage::pixmap_size):
33340        (khtml::CachedImage::data):
33341        * khtml/misc/CachedImage.h:
33342        * khtml/misc/CachedImageCallback.cpp:
33343        (khtml::CachedImageCallback::notifyUpdate):
33344        (khtml::CachedImageCallback::notifyFinished):
33345        * khtml/rendering/render_applet.cpp:
33346        (RenderApplet::createWidgetIfNecessary):
33347        * khtml/rendering/render_form.cpp:
33348        (RenderLineEdit::calcMinMaxWidth):
33349        (RenderFileButton::calcMinMaxWidth):
33350        (RenderSelect::layout):
33351        (RenderTextArea::calcMinMaxWidth):
33352        (RenderSlider::calcMinMaxWidth):
33353        * khtml/rendering/render_image.cpp:
33354        (RenderImage::paint):
33355        * khtml/rendering/render_object.cpp:
33356        (RenderObject::paintBorder):
33357        * khtml/rendering/render_style.h:
33358        (khtml::RenderStyle::borderTopLeftRadius):
33359        (khtml::RenderStyle::borderTopRightRadius):
33360        (khtml::RenderStyle::borderBottomLeftRadius):
33361        (khtml::RenderStyle::borderBottomRightRadius):
33362        (khtml::RenderStyle::setBorderTopLeftRadius):
33363        (khtml::RenderStyle::setBorderTopRightRadius):
33364        (khtml::RenderStyle::setBorderBottomLeftRadius):
33365        (khtml::RenderStyle::setBorderBottomRightRadius):
33366        (khtml::RenderStyle::setBorderRadius):
33367        (khtml::RenderStyle::initialBorderRadius):
33368        * khtml/rendering/render_theme_mac.h:
33369        * khtml/rendering/render_theme_mac.mm:
33370        (khtml::RenderThemeMac::inflateRect):
33371        (khtml::RenderThemeMac::setControlSize):
33372        (khtml::RenderThemeMac::sizeForFont):
33373        (khtml::RenderThemeMac::setSizeFromFont):
33374        (khtml::RenderThemeMac::checkboxSizes):
33375        (khtml::RenderThemeMac::setCheckboxCellState):
33376        (khtml::RenderThemeMac::radioSizes):
33377        (khtml::RenderThemeMac::setRadioCellState):
33378        (khtml::RenderThemeMac::buttonSizes):
33379        (khtml::RenderThemeMac::setButtonCellState):
33380        (khtml::RenderThemeMac::paintButton):
33381        * ksvg2/svg/SVGMaskElementImpl.cpp:
33382        (KSVG::SVGMaskElementImpl::attributeChanged):
33383        (KSVG::SVGMaskElementImpl::drawMaskerContent):
33384        * ksvg2/svg/SVGPatternElementImpl.cpp:
33385        (SVGPatternElementImpl::drawPatternContentIntoTile):
33386        (SVGPatternElementImpl::notifyAttributeChange):
33387        * ksvg2/svg/SVGPatternElementImpl.h:
33388        * kwq/KWQComboBox.h:
33389        * kwq/KWQComboBox.mm:
33390        (QComboBox::sizeHint):
33391        * kwq/KWQFileButton.h:
33392        * kwq/KWQFileButton.mm:
33393        (KWQFileButton::sizeForCharacterWidth):
33394        * kwq/KWQFontMetrics.h:
33395        * kwq/KWQFontMetrics.mm:
33396        (QFontMetrics::size):
33397        * kwq/KWQKJavaAppletWidget.h:
33398        * kwq/KWQKJavaAppletWidget.mm:
33399        (KJavaAppletWidget::KJavaAppletWidget):
33400        * kwq/KWQLineEdit.h:
33401        * kwq/KWQLineEdit.mm:
33402        (QLineEdit::sizeForCharacterWidth):
33403        * kwq/KWQListBox.h:
33404        * kwq/KWQListBox.mm:
33405        (QListBox::sizeForNumberOfLines):
33406        * kwq/KWQObject.h:
33407        * kwq/KWQPainter.h:
33408        * kwq/KWQPainter.mm:
33409        (QPainter::addRoundedRectClip):
33410        * kwq/KWQPixmap.h:
33411        * kwq/KWQPixmap.mm:
33412        (QPixmap::QPixmap):
33413        (QPixmap::size):
33414        (QPixmap::resize):
33415        * kwq/KWQRect.h:
33416        * kwq/KWQRect.mm:
33417        (QRect::QRect):
33418        (QRect::size):
33419        * kwq/KWQSize.h: Removed.
33420        * kwq/KWQSize.mm: Removed.
33421        * kwq/KWQSizeF.h:
33422        * kwq/KWQSizeF.mm:
33423        (QSizeF::QSizeF):
33424        * kwq/KWQSlider.h:
33425        * kwq/KWQSlider.mm:
33426        (QSlider::sizeHint):
33427        * kwq/KWQStyle.cpp:
33428        (QStyle::sizeFromContents):
33429        * kwq/KWQStyle.h:
33430        * kwq/KWQTextEdit.h:
33431        * kwq/KWQTextEdit.mm:
33432        (QTextEdit::sizeWithColumnsAndRows):
33433        * kwq/KWQWidget.h:
33434        * kwq/KWQWidget.mm:
33435        (QWidget::sizeHint):
33436        (QWidget::size):
33437        (QWidget::resize):
33438        * kwq/KWQWindowWidget.h:
33439        * kwq/KWQWindowWidget.mm:
33440        (KWQWindowWidget::sizeHint):
33441        * platform: Added.
33442        * platform/IntSize.cpp: Added.
33443        (WebCore::IntSize::IntSize):
33444        (WebCore::IntSize::isValid):
33445        (WebCore::IntSize::expandedTo):
33446        (WebCore::operator+):
33447        (WebCore::operator==):
33448        (WebCore::operator!=):
33449        * platform/IntSize.h: Added.
33450        * platform/mac: Added.
33451        * platform/mac/IntSize.mm: Added.
33452        (WebCore::IntSize::IntSize):
33453        (WebCore::IntSize::operator NSSize):
33454        (WebCore::IntSize::operator CGSize):
33455
334562006-01-13  Maks Orlovich <maksim@kde.org>
33457
33458        Reviewed, redone a bit, and landed by Darin (help from Eric too).
33459
33460        - fix http://bugs.webkit.org/show_bug.cgi?id=4586
33461          rowIndex calculation doesn't consider head to come before body.
33462
33463        Test: fast/table/rowindex.html
33464
33465        * khtml/html/html_tableimpl.cpp: (DOM::HTMLTableRowElementImpl::rowIndex):
33466        Change algorithm so the rows are numbered in this order: (a) all rows in the
33467        table header section, (b) all rows in all table body sections, (c) all rows
33468        in the table footer section. Rows in extra table header or footer sections
33469        don't get row numbers (rowIndex returns -1). This matches Firefox.
33470
334712006-01-13  Mark Rowe  <opendarwin.org@bdash.net.nz>
33472
33473        Reviewed, tweaked, and landed by Darin.
33474
33475        - fix http://bugs.webkit.org/show_bug.cgi?id=6509
33476          content property with supported value followed by currently unsupported open-quote displays duplicated content
33477
33478        Test: fast/css-generated-content/no-openclose-quote.html
33479
33480        * khtml/css/cssparser.cpp: (CSSParser::parseContent): Make sure parsedValue
33481        is always initialized to 0 (in particular for the CSS_IDENT case which is
33482        currently unimplemented).
33483
334842006-01-13  Mitz Pettel  <opendarwin.org@mitzpettel.com>
33485
33486        Reviewed and landed by Darin.
33487
33488        - fix http://bugs.webkit.org/show_bug.cgi?id=6418
33489          Incorrect scrollbar when using overflow:auto and word-wrap:break-word; in some cases
33490
33491        Test: fast/text/basic/015.html
33492
33493        * khtml/rendering/bidi.cpp:
33494        (khtml::RenderBlock::findNextLineBreak):
33495        Avoid inconsistent width measurement when breaking in the middle of a
33496        word is allowed. Eliminate the relaxation by 1 of the width overflow
33497        check that was supposed to compensate for the inconsistency but didn't
33498        always work, and on the other hand sometimes resulted in allowing text
33499        to overflow its container by one pixel.
33500        Also applied start and end width correctly in the break-words case.
33501
335022006-01-12  Maciej Stachowiak  <mjs@apple.com>
33503
33504        Rubber stamped by Eric.
33505
33506        - rename WebCoreBridge to WebCoreFrameBridge
33507
33508        * WebCore.exp:
33509        * WebCore.xcodeproj/project.pbxproj:
33510        * bridge/mac/KWQKHTMLPartBrowserExtension.mm:
33511        (KHTMLPartBrowserExtension::createNewWindow):
33512        * bridge/mac/MacFrame.h:
33513        (MacFrame::bridge):
33514        * bridge/mac/MacFrame.mm:
33515        (MacFrame::submitForm):
33516        (MacFrame::createPart):
33517        (MacFrame::bridgeForWidget):
33518        (MacFrame::documentViewForNode):
33519        (MacFrame::setBridge):
33520        * bridge/mac/WebCoreBridge.h: Removed.
33521        * bridge/mac/WebCoreBridge.mm: Removed.
33522        * bridge/mac/WebCoreFrameBridge.h: Added.
33523        * bridge/mac/WebCoreFrameBridge.mm: Added.
33524        (-[WebCoreFrameBridge executionContextForView:]):
33525        (frameHasSelection):
33526        (-[WebCoreFrameBridge firstChild]):
33527        (-[WebCoreFrameBridge lastChild]):
33528        (-[WebCoreFrameBridge previousSibling]):
33529        (-[WebCoreFrameBridge nextSibling]):
33530        (-[WebCoreFrameBridge isDescendantOfFrame:]):
33531        (-[WebCoreFrameBridge traverseNextFrameStayWithin:]):
33532        (-[WebCoreFrameBridge appendChild:]):
33533        (-[WebCoreFrameBridge removeChild:]):
33534        (-[WebCoreFrameBridge childFrameNamed:]):
33535        (-[WebCoreFrameBridge _deepLastChildFrame]):
33536        (-[WebCoreFrameBridge nextFrameWithWrap:]):
33537        (-[WebCoreFrameBridge previousFrameWithWrap:]):
33538        (-[WebCoreFrameBridge _shouldAllowAccessFrom:]):
33539        (-[WebCoreFrameBridge _descendantFrameNamed:sourceFrame:]):
33540        (-[WebCoreFrameBridge _frameInAnyWindowNamed:sourceFrame:]):
33541        (-[WebCoreFrameBridge findFrameNamed:]):
33542        (+[WebCoreFrameBridge bridgeForDOMDocument:]):
33543        (-[WebCoreFrameBridge setParent:]):
33544        (-[WebCoreFrameBridge parent]):
33545        (nowPrinting):
33546        (-[WebCoreFrameBridge opener]):
33547        (-[WebCoreFrameBridge setOpener:]):
33548        (+[WebCoreFrameBridge stringWithData:textEncodingName:]):
33549        * kwq/KWQAccObject.mm:
33550        (-[KWQAccObject rendererForView:]):
33551        * kwq/KWQComboBox.mm:
33552        (-[KWQPopUpButtonCell trackMouse:inRect:ofView:untilMouseUp:]):
33553        * kwq/KWQFileButton.mm:
33554        (KWQFileButton::focusPolicy):
33555        * kwq/KWQFrame.mm:
33556        * kwq/KWQKJavaAppletWidget.mm:
33557        * kwq/KWQLineEdit.mm:
33558        * kwq/KWQListBox.mm:
33559        (-[KWQTableView keyDown:]):
33560        (-[KWQTableView keyUp:]):
33561        * kwq/KWQLoader.mm:
33562        (KWQServeRequest):
33563        (KWQServeSynchronousRequest):
33564        (KWQCheckCacheObjectStatus):
33565        (KWQCacheObjectExpiresTime):
33566        * kwq/KWQSlider.mm:
33567        (QSlider::focusPolicy):
33568        * kwq/KWQTextArea.mm:
33569        (-[KWQTextAreaTextView textDidChange:]):
33570        (-[KWQTextAreaTextView _trackResizeFromMouseDown:]):
33571        (-[KWQTextAreaTextView keyDown:]):
33572        (-[KWQTextAreaTextView keyUp:]):
33573        * kwq/KWQTextField.mm:
33574        (-[KWQTextFieldController controlTextDidBeginEditing:]):
33575        (-[KWQTextFieldController controlTextDidEndEditing:]):
33576        (-[KWQTextFieldController controlTextDidChange:]):
33577        (-[KWQTextFieldController control:textView:doCommandBySelector:]):
33578        (-[KWQTextFieldController textView:shouldHandleEvent:]):
33579        * kwq/KWQWidget.mm:
33580        (QWidget::setFocus):
33581        * kwq/KWQWindowWidget.h:
33582        * kwq/KWQWindowWidget.mm:
33583        (KWQWindowWidget::KWQWindowWidget):
33584        * kwq/WebCoreFrameNamespaces.h:
33585        * kwq/WebCoreFrameNamespaces.m:
33586        (+[WebCoreFrameNamespaces addFrame:toNamespace:]):
33587        * kwq/WebCoreFrameView.h:
33588        * kwq/WebCoreSettings.mm:
33589        * kwq/WebCoreTextRendererFactory.mm:
33590        * kwq/WebCoreViewFactory.h:
33591
335922006-01-13  Darin Adler  <darin@apple.com>
33593
33594        - Replaced tabs with spaces in source files that had less than 10 lines with tabs.
33595        - Set allow-tabs Subversion property in source files that have more than 10 lines with tabs.
33596
335972006-01-13  Eric Seidel  <eseidel@apple.com>
33598
33599        Reviewed by mjs.
33600
33601        Remove CG dependencies from kcanvas/device/quartz
33602        http://bugs.webkit.org/show_bug.cgi?id=6521
33603        Adding file omitted from last commit.
33604
33605        * kcanvas/RenderSVGImage.cpp:
33606        (RenderSVGImage::paint): removed cg calls
33607
336082006-01-13  Eric Seidel  <eseidel@apple.com>
33609
33610        Reviewed by mjs.
33611
33612        Remove CG dependencies from kcanvas/device/quartz
33613        http://bugs.webkit.org/show_bug.cgi?id=6521
33614
33615        * kcanvas/KCanvasFilters.h:
33616        * kcanvas/KCanvasResources.h:
33617        * kcanvas/device/KRenderingDevice.h:
33618        * kcanvas/device/quartz/KCanvasFilterQuartz.h:
33619        * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
33620        (KCanvasFilterQuartz::prepareFilter): removed parameter
33621        (KCanvasFilterQuartz::applyFilter): removed parameter
33622        * kcanvas/device/quartz/KCanvasItemQuartz.h:
33623        * kcanvas/device/quartz/KCanvasItemQuartz.mm:
33624        (KCanvasItemQuartz::drawMarkersIfNeeded): removed cg call
33625        (KCanvasItemQuartz::paint): removed cg calls
33626        (getSharedContext): spacing
33627        * kcanvas/device/quartz/KCanvasMaskerQuartz.h:
33628        * kcanvas/device/quartz/KCanvasMaskerQuartz.mm:
33629        (KCanvasMaskerQuartz::applyMask): removed parameter
33630        * kcanvas/device/quartz/KCanvasResourcesQuartz.h:
33631        (KCanvasClipperQuartz::KCanvasClipperQuartz):
33632        (KCanvasImageQuartz::KCanvasImageQuartz):
33633        * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
33634        (KCanvasContainerQuartz::paint): removed CG calls
33635        (KCanvasClipperQuartz::applyClip): removed parameter
33636        (KCanvasImageQuartz::~KCanvasImageQuartz):
33637        (KCanvasImageQuartz::cgLayer): spacing
33638        (KCanvasImageQuartz::setCGLayer): spacing
33639        * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
33640        * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
33641        (KRenderingDeviceContextQuartz::clearPath): added.
33642        (KRenderingDeviceContextQuartz::addPath): added.
33643        (KRenderingDeviceQuartz::quartzContext): spacing
33644
336452006-01-13  Darin Adler  <darin@apple.com>
33646
33647        Reviewed by Hyatt.
33648
33649        - fix http://bugs.webkit.org/show_bug.cgi?id=6508
33650          retire APPLE_CHANGES
33651
33652        * WebCore.vcproj/WebCore/WebCore.vcproj: Don't set APPLE_CHANGES or
33653        HAVE_CONFIG_H any more.
33654
33655        * WebCore.xcodeproj/project.pbxproj: Don't set APPLE_CHANGES or
33656        KHTML_NO_CPLUSPLUS_DOM any more.
33657
33658        * kcanvas/KCanvasFilters.h:
33659        Use __APPLE__ instead of APPLE_CHANGES.
33660
33661        * bridge/mac/MacFrame.mm: (MacFrame::respondToChangedContents):
33662        * kcanvas/KCanvasTreeDebug.cpp:
33663        * ksvg2/svg/SVGAElementImpl.cpp: (SVGAElementImpl::defaultEventHandler):
33664        * ksvg2/svg/SVGElementImpl.h: (KSVG::svg_dynamic_cast):
33665        * ksvg2/svg/SVGScriptElementImpl.cpp: (SVGScriptElementImpl::executeScript):
33666        * page/Frame.cpp: (Frame::paint):
33667        Make some APPLE_CHANGES code unconditional.
33668
33669        * WebCore+SVG/kdom.h:
33670        * ksvg2/ecma/Ecma.cpp: (Ecma::setupDocument):
33671        * ksvg2/svg/SVGCursorElementImpl.cpp:
33672        * ksvg2/svg/SVGImageElementImpl.cpp:
33673        Remove some !APPLE_CHANGES code.
33674
33675        * ksvg2/svg/SVGDocumentImpl.h:
33676        Remove some unneeded APPLE_CHANGES code.
33677
33678        * khtml/rendering/render_flexbox.cpp: (khtml::RenderFlexibleBox::layoutVerticalBox):
33679        Remove a misleading mention of APPLE_CHANGES in a comment.
33680
33681        Also changed tabs to spaces in files I am committing.
33682
336832006-01-12  David Hyatt <hyatt@apple.com>
33684
33685        Get the misc directory compiling on Win32.
33686
33687        * ForwardingHeaders/kio/jobclasses.h:
33688        * ForwardingHeaders/qasyncio.h:
33689        * WebCore.vcproj/WebCore/WebCore.vcproj:
33690        * khtml/misc/CachedImage.cpp:
33691        (khtml::CachedImage::data):
33692        * khtml/misc/decoder.cpp:
33693        (KanjiCode::):
33694
336952006-01-12  David Hyatt <hyatt@apple.com>
33696
33697        Make the ecma directory compile on Win32.
33698
33699        * ForwardingHeaders/kconfig.h:
33700        * ForwardingHeaders/kwinmodule.h:
33701        * ForwardingHeaders/qguardedptr.h:
33702        * ForwardingHeaders/qstylesheet.h:
33703        * WebCore.vcproj/WebCore/WebCore.vcproj:
33704        * WebCore.vcproj/WebCore/build-generated-files.sh:
33705        * khtml/ecma/XSLTProcessor.cpp:
33706        * khtml/ecma/kjs_binding.cpp:
33707        (KJS::ScriptInterpreter::createLanguageInstanceForValue):
33708        * khtml/ecma/kjs_css.h:
33709        * khtml/ecma/kjs_dom.cpp:
33710        (KJS::getRuntimeObject):
33711        * khtml/ecma/kjs_html.cpp:
33712        (KJS::KJS::Context2DFunction::callAsFunction):
33713        (KJS::Context2D::setShadow):
33714        (KJS::Context2D::updateFillImagePattern):
33715        (KJS::Context2D::updateStrokeImagePattern):
33716        (KJS::Context2D::putValueProperty):
33717        (KJS::Gradient::commonInit):
33718        (KJS::Gradient::~Gradient):
33719        (KJS::_rh):
33720        * khtml/ecma/kjs_html.h:
33721        * khtml/ecma/kjs_window.cpp:
33722        (KJS::intFeature):
33723
337242006-01-12  Maciej Stachowiak  <mjs@apple.com>
33725
33726        Reviewed by Dave Hyatt.
33727
33728        - removed leftover files from form split, fix remaining include of the header.
33729
33730        * khtml/html/html_formimpl.cpp: Removed.
33731        * khtml/html/html_formimpl.h: Removed.
33732        * page/Frame.cpp:
33733
337342006-01-12  David Hyatt <hyatt@apple.com>
33735
33736        Make the editing directory compile on Win32.
33737
33738        * WebCore.vcproj/WebCore/WebCore.vcproj:
33739        * khtml/editing/jsediting.cpp:
33740
337412006-01-12  David Hyatt <hyatt@apple.com>
33742
33743        Get the HTML, XML, and Rendering directories compiling on
33744        Win32.  Add the bash script for generated files as well.
33745
33746        * ForwardingHeaders/kio/job.h:
33747        * ForwardingHeaders/ksslkeygen.h:
33748        * ForwardingHeaders/qpoint.h:
33749        * ForwardingHeaders/qpointarray.h:
33750        * ForwardingHeaders/qtextstream.h:
33751        * WebCore.vcproj/WebCore/WebCore.vcproj:
33752        * khtml/html/HTMLSelectElementImpl.cpp:
33753        (DOM::HTMLSelectElementImpl::state):
33754        * khtml/html/html_canvasimpl.cpp:
33755        (HTMLCanvasElementImpl::createRenderer):
33756        * khtml/html/html_imageimpl.h:
33757        (DOM::):
33758        * khtml/rendering/render_object.h:
33759        * khtml/xml/DocumentImpl.cpp:
33760        (DocumentImpl::detach):
33761        (DocumentImpl::getAccObjectCache):
33762        (DocumentImpl::updateSelection):
33763        (DocumentImpl::implicitClose):
33764        (DocumentImpl::setFocusNode):
33765        * kwq/KWQAccObjectCache.h:
33766        * kwq/KWQKJobClasses.h:
33767
337682006-01-12  Anders Carlsson  <andersca@mac.com>
33769
33770        Reviewed by Darin.
33771
33772        - fix http://bugs.webkit.org/show_bug.cgi?id=5153
33773        deleteRule and insertRule do not work
33774
33775        This also makes updating the disabled flag on style sheets work.
33776        It also adds the IE-only removeRule which is the counterpart to
33777        the already existing addRule.
33778
33779        * khtml/css/css_stylesheetimpl.cpp:
33780        (CSSStyleSheetImpl::insertRule):
33781        (CSSStyleSheetImpl::deleteRule):
33782        Call styleSheetChanged()
33783
33784        (CSSStyleSheetImpl::styleSheetChanged):
33785        Call DocumentImpl::updateStyleSelector()
33786
33787        * khtml/css/css_stylesheetimpl.h:
33788        (DOM::StyleSheetImpl::setDisabled):
33789        Call styleSheetChanged();
33790
33791        (DOM::StyleSheetImpl::styleSheetChanged):
33792        New function.
33793
33794        (DOM::CSSStyleSheetImpl::removeRule):
33795        New IE extension function, simply calls deleteRule.
33796
33797        * khtml/css/cssstyleselector.cpp:
33798        (khtml::CSSStyleSelector::CSSStyleSelector):
33799        Ignore disabled style sheets.
33800
33801        * khtml/ecma/kjs_css.cpp:
33802        (KJS::DOMCSSStyleSheetProtoFunc::callAsFunction):
33803        * khtml/ecma/kjs_css.h:
33804        (KJS::DOMCSSStyleSheet::):
33805        Add removeRule.
33806
338072006-01-12  Mitz Pettel  <opendarwin.org@mitzpettel.com>
33808
33809        Reviewed and landed by Darin.
33810
33811        Test: fast/css/rtl-ordering.html
33812
33813        - fix http://bugs.webkit.org/show_bug.cgi?id=6334
33814          REGRESSION: <input type="button"> text is reversed on "visual Hebrew" pages
33815
33816        * khtml/css/cssparser.cpp: (CSSParser::parseValue): Parse the new -khtml-rtl-ordering property.
33817        * khtml/css/cssproperties.in: Added -khtml-rtl-ordering property.
33818        * khtml/css/cssstyleselector.cpp: (CSSStyleSelector::applyProperty): Apply the new property.
33819        * khtml/css/cssvalues.in: Added "logical" and "visual" values for the -khtml-rtl-ordering property.
33820        * khtml/css/html4.css: Force logical ordering in input-buttons.
33821        * khtml/css/makeprop: Fixed maximum property length computation.
33822        * khtml/rendering/render_style.h: Added initial value for visuallyOrdered.
33823        * ksvg2/scripts/cssmakeprops: Ensure no overlap between KHTML and SVG CSS properties.
33824        * ksvg2/scripts/cssmakevalues: Ensure no overlap between KHTML and SVG CSS values.
33825
338262006-01-12  Mitz Pettel  <opendarwin.org@mitzpettel.com>
33827
33828        Reviewed and landed by Darin.
33829
33830        - fix http://bugs.webkit.org/show_bug.cgi?id=6219
33831          Perf regression: -[NSImage initWithData:] called repeatedly while
33832          moving the cursor over an image
33833
33834        * khtml/rendering/render_image.h: (khtml::RenderImage::pixmap):
33835        Return a const QPixmap&.
33836        * kwq/WebCoreBridge.mm: (-[WebCoreBridge elementAtPoint:]):
33837        Avoid copying the QPixmap and its renderer.
33838
338392006-01-12  Justin Haygood  <justin@xiondigital.net>
33840
33841        Reviewed, tweaked, and landed by Darin.
33842
33843        - fix http://bugs.webkit.org/show_bug.cgi?id=6497
33844          Use #include, not #import, in KWQ C++ files
33845
33846        * bridge/mac/KWQKHTMLView.cpp:
33847        * kcanvas/RenderSVGText.cpp:
33848        * khtml/css/css_computedstyle.cpp:
33849        * kwq/KWQArrayImpl.cpp:
33850        * kwq/KWQBuffer.cpp:
33851        * kwq/KWQCString.cpp:
33852        * kwq/KWQCharsets.cpp:
33853        * kwq/KWQDateTime.cpp:
33854        * kwq/KWQDictImpl.cpp:
33855        * kwq/KWQGuardedPtr.cpp:
33856        * kwq/KWQKHTMLFactory.cpp:
33857        * kwq/KWQKPartsEvent.cpp:
33858        * kwq/KWQListImpl.cpp:
33859        * kwq/KWQMapImpl.cpp:
33860        * kwq/KWQObject.cpp:
33861        * kwq/KWQPen.cpp:
33862        * kwq/KWQPointArray.cpp:
33863        * kwq/KWQPtrDictImpl.cpp:
33864        * kwq/KWQRegion.cpp:
33865        * kwq/KWQStyle.cpp:
33866        * kwq/KWQTextCodec.cpp:
33867        * kwq/KWQTextStream.cpp:
33868        * kwq/KWQTimer.cpp:
33869        * kwq/KWQValueListImpl.cpp:
33870        * kwq/KWQVariant.cpp:
33871        * kwq/KWQVectorImpl.cpp:
33872        * kwq/KWQWMatrix.cpp:
33873        Replaced #import with #include.
33874
33875        * kwq/KWQRegExp.cpp: Replaced #import with #include.
33876        Also changed <JavaScriptCore/pcre.h> to <pcre/pcre.h>.
33877        * ForwardingHeaders/pcre: Added.
33878        * ForwardingHeaders/pcre/pcre.h: Added.
33879
338802006-01-12  Eric Seidel  <eseidel@apple.com>
33881
33882        Reviewed by anders & mjs.
33883
33884        Split dom_docimpl.* out into separate files (one per class):
33885        http://bugs.webkit.org/show_bug.cgi?id=6502
33886
33887        * ForwardingHeaders/kdom/core/DOMImplementationImpl.h: Removed.
33888        * ForwardingHeaders/kdom/core/DocumentImpl.h: Removed.
33889        * ForwardingHeaders/kdom/core/DocumentTypeImpl.h: Removed.
33890        * WebCore.xcodeproj/project.pbxproj:
33891        * bridge/mac/WebCoreBridge.mm:
33892        * kcanvas/KCanvasResources.cpp:
33893        * kcanvas/RenderSVGText.h:
33894        * khtml/css/css_base.cpp:
33895        * khtml/css/css_computedstyle.cpp:
33896        * khtml/css/css_ruleimpl.cpp:
33897        * khtml/css/css_valueimpl.cpp:
33898        * khtml/css/cssparser.cpp:
33899        * khtml/css/parser.y:
33900        * khtml/ecma/XSLTProcessor.cpp:
33901        * khtml/ecma/domparser.cpp:
33902        * khtml/ecma/kjs_css.cpp:
33903        * khtml/ecma/kjs_dom.cpp:
33904        * khtml/ecma/kjs_events.cpp:
33905        * khtml/ecma/kjs_range.cpp:
33906        * khtml/ecma/kjs_traversal.cpp:
33907        * khtml/ecma/kjs_views.cpp:
33908        * khtml/ecma/kjs_window.cpp:
33909        * khtml/ecma/xmlhttprequest.cpp:
33910        * khtml/ecma/xmlserializer.cpp:
33911        * khtml/editing/SelectionController.cpp:
33912        * khtml/editing/apply_style_command.cpp:
33913        * khtml/editing/composite_edit_command.cpp:
33914        * khtml/editing/delete_selection_command.cpp:
33915        * khtml/editing/edit_command.cpp:
33916        * khtml/editing/htmlediting.cpp:
33917        * khtml/editing/insert_line_break_command.cpp:
33918        * khtml/editing/insert_paragraph_separator_command.cpp:
33919        * khtml/editing/insert_text_command.cpp:
33920        * khtml/editing/join_text_nodes_command.cpp:
33921        * khtml/editing/jsediting.cpp:
33922        * khtml/editing/markup.cpp:
33923        * khtml/editing/markup.h:
33924        * khtml/editing/merge_identical_elements_command.cpp:
33925        * khtml/editing/move_selection_command.cpp:
33926        * khtml/editing/rebalance_whitespace_command.cpp:
33927        * khtml/editing/replace_selection_command.cpp:
33928        * khtml/editing/split_text_node_command.cpp:
33929        * khtml/editing/typing_command.cpp:
33930        * khtml/editing/visible_position.cpp:
33931        * khtml/editing/visible_text.cpp:
33932        * khtml/editing/visible_units.cpp:
33933        * khtml/html/HTMLGenericFormElementImpl.cpp:
33934        * khtml/html/HTMLInputElementImpl.cpp:
33935        * khtml/html/HTMLKeygenElementImpl.cpp:
33936        * khtml/html/HTMLLabelElementImpl.cpp:
33937        * khtml/html/HTMLOptionElementImpl.cpp:
33938        * khtml/html/HTMLSelectElementImpl.cpp:
33939        * khtml/html/HTMLTextAreaElementImpl.cpp:
33940        * khtml/html/html_documentimpl.cpp:
33941        * khtml/html/html_documentimpl.h:
33942        * khtml/html/html_listimpl.cpp:
33943        * khtml/html/html_objectimpl.cpp:
33944        * khtml/html/htmlfactory.cpp:
33945        * khtml/html/htmlparser.cpp:
33946        * khtml/html/htmltokenizer.cpp:
33947        * khtml/misc/Cache.cpp:
33948        * khtml/misc/DocLoader.cpp:
33949        * khtml/rendering/InlineTextBox.cpp:
33950        * khtml/rendering/bidi.cpp:
33951        * khtml/rendering/render_applet.cpp:
33952        * khtml/rendering/render_block.cpp:
33953        * khtml/rendering/render_box.cpp:
33954        * khtml/rendering/render_br.cpp:
33955        * khtml/rendering/render_button.cpp:
33956        * khtml/rendering/render_canvas.cpp:
33957        * khtml/rendering/render_container.cpp:
33958        * khtml/rendering/render_flow.cpp:
33959        * khtml/rendering/render_form.cpp:
33960        * khtml/rendering/render_frames.cpp:
33961        * khtml/rendering/render_inline.cpp:
33962        * khtml/rendering/render_layer.cpp:
33963        * khtml/rendering/render_line.cpp:
33964        * khtml/rendering/render_list.cpp:
33965        * khtml/rendering/render_object.cpp:
33966        * khtml/rendering/render_replaced.cpp:
33967        * khtml/rendering/render_table.cpp:
33968        * khtml/rendering/render_theme.cpp:
33969        * khtml/rendering/render_theme_mac.mm:
33970        * khtml/xml/DOMImplementationImpl.cpp: Added.
33971        * khtml/xml/DOMImplementationImpl.h: Added.
33972        * khtml/xml/DocumentFragmentImpl.cpp: Added.
33973        * khtml/xml/DocumentFragmentImpl.h: Added.
33974        * khtml/xml/DocumentImpl.cpp: Added.
33975        (DocumentImpl::setDocType):
33976        (DocumentImpl::getElementsByName):
33977        * khtml/xml/DocumentImpl.h: Added.
33978        * khtml/xml/DocumentTypeImpl.cpp: Added.
33979        * khtml/xml/DocumentTypeImpl.h: Added.
33980        * khtml/xml/dom2_eventsimpl.cpp:
33981        * khtml/xml/dom2_rangeimpl.cpp:
33982        * khtml/xml/dom2_traversalimpl.cpp:
33983        * khtml/xml/dom2_viewsimpl.cpp:
33984        * khtml/xml/dom_docimpl.cpp: Removed.
33985        * khtml/xml/dom_docimpl.h: Removed.
33986        * khtml/xml/dom_elementimpl.cpp:
33987        * khtml/xml/dom_nodeimpl.cpp:
33988        * khtml/xml/dom_textimpl.cpp:
33989        * khtml/xml/dom_xmlimpl.cpp:
33990        * khtml/xml/xml_tokenizer.cpp:
33991        * khtml/xsl/xslt_processorimpl.cpp:
33992        * ksvg2/misc/KCanvasRenderingStyle.cpp:
33993        * ksvg2/misc/KSVGTimeScheduler.cpp:
33994        * ksvg2/misc/SVGImageLoader.cpp:
33995        * ksvg2/svg/SVGAElementImpl.cpp:
33996        * ksvg2/svg/SVGAnimationElementImpl.cpp:
33997        * ksvg2/svg/SVGClipPathElementImpl.cpp:
33998        * ksvg2/svg/SVGCursorElementImpl.cpp:
33999        * ksvg2/svg/SVGDOMImplementationImpl.cpp:
34000        * ksvg2/svg/SVGDOMImplementationImpl.h:
34001        * ksvg2/svg/SVGDocumentImpl.h:
34002        * ksvg2/svg/SVGElementImpl.cpp:
34003        * ksvg2/svg/SVGFEImageElementImpl.cpp:
34004        * ksvg2/svg/SVGGradientElementImpl.cpp:
34005        * ksvg2/svg/SVGHelper.cpp:
34006        * ksvg2/svg/SVGPatternElementImpl.cpp:
34007        * ksvg2/svg/SVGPolyElementImpl.cpp:
34008        * ksvg2/svg/SVGSVGElementImpl.cpp:
34009        * ksvg2/svg/SVGStopElementImpl.cpp:
34010        * ksvg2/svg/SVGStyleElementImpl.cpp:
34011        * ksvg2/svg/SVGStyledElementImpl.cpp:
34012        * ksvg2/svg/SVGUseElementImpl.cpp:
34013        * kwq/DOM-CSS.mm:
34014        * kwq/DOM.mm:
34015        * kwq/DOMEvents.mm:
34016        * kwq/DOMHTML.mm:
34017        * kwq/DOMInternal.mm:
34018        * kwq/DOMViews.mm:
34019        * kwq/KWQAccObject.mm:
34020        * kwq/KWQAccObjectCache.mm:
34021        * kwq/KWQKJavaAppletWidget.mm:
34022        * kwq/KWQPageState.mm:
34023        * kwq/KWQRenderTreeDebug.cpp:
34024        * kwq/KWQSlot.mm:
34025        * page/Frame.cpp:
34026
340272006-01-12  Maciej Stachowiak  <mjs@apple.com>
34028
34029        Not reviewed.
34030
34031        - fixed build breakage
34032
34033        * ksvg2/misc/SVGImageLoader.cpp: Add dom_docimpl.h include
34034
340352006-01-12  Maciej Stachowiak  <mjs@apple.com>
34036
34037        Reviewed by Eric.
34038
34039        - remove dom_documentimpl.h include from other headers where possible,
34040        move down to impl files instead, so less rebuilds when you touch it
34041
34042        * bridge/mac/MacFrame.mm:
34043        (MacFrame::openURLFromPageCache):
34044        * kcanvas/KCanvasResources.cpp:
34045        * khtml/css/css_computedstyle.cpp:
34046        * khtml/editing/SelectionController.cpp:
34047        (khtml::SelectionController::frame):
34048        * khtml/editing/SelectionController.h:
34049        * khtml/editing/composite_edit_command.cpp:
34050        * khtml/editing/delete_selection_command.cpp:
34051        * khtml/editing/jsediting.cpp:
34052        * khtml/editing/jsediting.h:
34053        * khtml/editing/markup.h:
34054        * khtml/editing/visible_position.cpp:
34055        * khtml/editing/visible_text.cpp:
34056        * khtml/html/HTMLGenericFormElementImpl.cpp:
34057        * khtml/html/HTMLInputElementImpl.cpp:
34058        * khtml/html/HTMLLabelElementImpl.cpp:
34059        * khtml/html/HTMLOptionElementImpl.cpp:
34060        * khtml/html/HTMLSelectElementImpl.cpp:
34061        * khtml/html/HTMLTextAreaElementImpl.cpp:
34062        * khtml/html/htmltokenizer.h:
34063        * khtml/rendering/InlineTextBox.cpp:
34064        * khtml/rendering/bidi.cpp:
34065        * khtml/rendering/render_br.cpp:
34066        * khtml/rendering/render_button.cpp:
34067        * khtml/rendering/render_object.cpp:
34068        (RenderObject::documentBeingDestroyed):
34069        * khtml/rendering/render_object.h:
34070        * khtml/rendering/render_theme.cpp:
34071        * khtml/rendering/render_theme_mac.mm:
34072        * khtml/xbl/xbl_docimpl.h:
34073        * khtml/xml/dom2_rangeimpl.cpp:
34074        * ksvg2/svg/SVGAElementImpl.cpp:
34075        * ksvg2/svg/SVGClipPathElementImpl.cpp:
34076        * ksvg2/svg/SVGFEImageElementImpl.cpp:
34077        * ksvg2/svg/SVGHelper.cpp:
34078        * ksvg2/svg/SVGSVGElementImpl.cpp:
34079        * ksvg2/svg/SVGUseElementImpl.cpp:
34080        * kwq/KWQAccObjectCache.mm:
34081        * kwq/KWQPageState.h:
34082        * kwq/KWQPageState.mm:
34083
340842006-01-12  Anders Carlsson  <andersca@mac.com>
34085
34086        Fix build
34087
34088        * khtml/ecma/kjs_window.cpp:
34089        Remove include.
34090
340912006-01-12  Anders Carlsson  <andersca@mac.com>
34092
34093        Reviewed by Maciej
34094
34095        http://bugs.webkit.org/show_bug.cgi?id=6501
34096        - Merge KParts::BrowserInterface with KParts::BrowserExtension.
34097
34098        * ForwardingHeaders/kparts/browserinterface.h: Removed.
34099        * bridge/mac/KWQKPartsBrowserInterface.mm: Removed.
34100        * kwq/KWQKPartsBrowserInterface.h: Removed.
34101
34102        * WebCore.xcodeproj/project.pbxproj:
34103        * bridge/mac/KWQKHTMLPartBrowserExtension.h:
34104        * bridge/mac/KWQKHTMLPartBrowserExtension.mm:
34105        (KHTMLPartBrowserExtension::KHTMLPartBrowserExtension):
34106        (KHTMLPartBrowserExtension::getHistoryLength):
34107        (KHTMLPartBrowserExtension::goBackOrForward):
34108        * bridge/mac/KWQKPartsBrowserExtension.h:
34109        (KParts::BrowserExtension::BrowserExtension):
34110        * khtml/ecma/kjs_window.cpp:
34111        (KJS::History::getValueProperty):
34112        * khtml/xml/xml_tokenizer.cpp:
34113        * page/Frame.cpp:
34114        (Frame::slotRedirect):
34115        * page/FrameView.cpp:
34116        Add getHistoryLength and goBackOrForward to BrowserExtension and
34117        use them.
34118
341192006-01-12  Eric Seidel  <eseidel@apple.com>
34120
34121        Build fix, files missing from previous <image> commit:
34122        http://bugs.webkit.org/show_bug.cgi?id=5965
34123
34124        * kcanvas/RenderSVGImage.cpp: Added.
34125        (RenderSVGImage::RenderSVGImage):
34126        (RenderSVGImage::~RenderSVGImage):
34127        (RenderSVGImage::paint):
34128        (RenderSVGImage::translateForAttributes):
34129        * kcanvas/RenderSVGImage.h: Added.
34130        * ksvg2/misc/SVGImageLoader.cpp: Added.
34131        (SVGImageLoader::SVGImageLoader):
34132        (SVGImageLoader::~SVGImageLoader):
34133        (SVGImageLoader::updateFromElement):
34134        * ksvg2/misc/SVGImageLoader.h: Added.
34135
341362006-01-12  Anders Carlsson  <andersca@mac.com>
34137
34138        Reviewed by Maciej.
34139
34140        http://bugs.webkit.org/show_bug.cgi?id=6496
34141        - Merge KParts::Part with KParts::ReadOnly part and rename it to
34142        ObjectContents.
34143
34144        * ForwardingHeaders/kparts/part.h: Removed.
34145        * kwq/KWQKPartsPart.h: Removed.
34146        * kwq/KWQKPartsPart.mm: Removed.
34147        * kwq/KWQObject.cpp:
34148
34149        page/ObjectContents.h: Added
34150        (ObjectContents::ObjectContents):
34151        (ObjectContents::url):
34152        (ObjectContents::setName):
34153        (ObjectContents::widget):
34154        (ObjectContents::setWidget):
34155        (ObjectContents::ref):
34156        (ObjectContents::deref):
34157        (ObjectContents::event):
34158        (ObjectContents::customEvent):
34159        (ObjectContents::isObjectContents):
34160
34161        Renames:
34162
34163        * WebCore.xcodeproj/project.pbxproj:
34164        * bridge/mac/KWQKHTMLPartBrowserExtension.h:
34165        * bridge/mac/KWQKHTMLPartBrowserExtension.mm:
34166        (KHTMLPartBrowserExtension::createNewWindow):
34167        * bridge/mac/KWQKPartsBrowserExtension.h:
34168        * bridge/mac/MacFrame.h:
34169        * bridge/mac/MacFrame.mm:
34170        (MacFrame::createPart):
34171        * bridge/mac/WebCoreBridge.mm:
34172        (-[WebCoreBridge saveDocumentToPageCache]):
34173        * khtml/ecma/kjs_events.cpp:
34174        (KJS::JSLazyEventListener::parseCode):
34175        * khtml/ecma/kjs_window.cpp:
34176        (KJS::createNewWindow):
34177        (KJS::Window::indexGetter):
34178        (KJS::Window::getOwnPropertySlot):
34179        (KJS::WindowFunc::callAsFunction):
34180        (KJS::FrameArray::getValueProperty):
34181        (KJS::FrameArray::indexGetter):
34182        (KJS::FrameArray::nameGetter):
34183        (KJS::FrameArray::getOwnPropertySlot):
34184        (QObject::inherits):
34185        (QObject::isObjectContents):
34186        * kwq/KWQObject.h:
34187        * page/Frame.cpp:
34188        (Frame::stopLoading):
34189        (Frame::stopAnimations):
34190        (Frame::checkEmitLoadEvent):
34191        (Frame::processObjectRequest):
34192        (Frame::childFrame):
34193        (Frame::findFrame):
34194        (Frame::setZoomFactor):
34195        (Frame::frames):
34196        (Frame::customEvent):
34197        (Frame::slotPartRemoved):
34198        (Frame::connectChild):
34199        (Frame::disconnectChild):
34200        (Frame::setPolicyBaseURL):
34201        (Frame::setName):
34202        * page/Frame.h:
34203        (Frame::Frame):
34204        * page/FramePrivate.h:
34205
342062006-01-12  Alexander Kellett  <lypanov@kde.org>
34207
34208        Reviewed by eseidel.  Landed by eseidel.
34209
34210        Refactor HTMLImageLoader to make subclassing possible. Implement
34211        RenderSVGText-style RenderImage subclass. Use this to reimplement
34212        SVGImageElementImpl.
34213
34214        As a side effect, this should fix:
34215        http://bugs.webkit.org/show_bug.cgi?id=5965
34216
34217        Already covered by several existing tests.
34218        Re-enabled disabled image tests.
34219
34220        * WebCore.xcodeproj/project.pbxproj:
34221        * kcanvas/RenderSVGImage.cpp: Added.
34222        (RenderSVGImage::RenderSVGImage):
34223        (~RenderSVGImage::RenderSVGImage):
34224        (RenderSVGImage::paint):
34225        (RenderSVGImage::translateForAttributes):
34226        * kcanvas/RenderSVGImage.h: Added.
34227        * khtml/html/html_imageimpl.cpp:
34228        (DOM::HTMLImageLoader::setLoadingImage): trivial method extraction
34229        (DOM::HTMLImageLoader::updateFromElement): make virtual
34230        * khtml/html/html_imageimpl.h:
34231        (DOM::):
34232        * ksvg2/misc/SVGImageLoader.cpp: Added.
34233        (SVGImageLoader::SVGImageLoader):
34234        (~SVGImageLoader:SVGImageLoader):
34235        (SVGImageLoader::updateFromElement):
34236        * ksvg2/misc/SVGImageLoader.h: Added.
34237        * ksvg2/svg/SVGImageElementImpl.cpp:
34238        (SVGImageElementImpl::SVGImageElementImpl):
34239        (SVGImageElementImpl::parseMappedAttribute):
34240        (SVGImageElementImpl::createRenderer):
34241        (SVGImageElementImpl::attach):
34242        * ksvg2/svg/SVGImageElementImpl.h:
34243
342442006-01-11  David Hyatt  <hyatt@apple.com>
34245
34246        Changes to get the XML directory nearly compiling on Win32.
34247        Down to just the gperf of cssvalues.in and a need to replace
34248        usleep.
34249
34250        Reviewed by darin
34251
34252        * WebCore.vcproj/WebCore/WebCore.vcproj:
34253        * khtml/config.h:
34254        * khtml/xml/dom_stringimpl.cpp:
34255        (DOM::DOMStringImpl::toCoordsArray):
34256        * khtml/xml/xml_tokenizer.cpp:
34257        (khtml::XMLTokenizer::error):
34258
342592006-01-11  Justin Garcia  <justin.garcia@apple.com>
34260
34261        Replaced two asserts that I accidently removed in
34262        the build bustage fix.
34263
34264        * page/Frame.cpp:
34265        (Frame::revealSelection):
34266        (Frame::centerSelectionInVisibleArea):
34267
342682006-01-11  Justin Garcia  <justin.garcia@apple.com>
34269
34270        Reviewed by kevin
34271
34272        The removal of Frame::clearSelection() broke a layout
34273        test. clearSelection did setSelection(SelectionController()), which
34274        is not the same as selection().clear().  setSelection() notifies
34275        the editing delegate of a selection change.  This is non obvious
34276        and should be fixed.  Filed:
34277        <http://bugs.webkit.org/show_bug.cgi?id=6498>
34278        SelectionController's setters should notify delegates of selection changes
34279
34280        * bridge/mac/WebCoreBridge.mm:
34281        (-[WebCoreBridge deselectText]):
34282        * khtml/editing/jsediting.cpp:
34283        * khtml/xml/dom_docimpl.cpp:
34284        (DocumentImpl::clearSelectionIfNeeded):
34285
342862006-01-11  Justin Garcia  <justin.garcia@apple.com>
34287
34288        Reviewed by darin
34289
34290        <http://bugs.webkit.org/show_bug.cgi?id=5870>
34291        Double-clicking on an SVG dies in HTML editing code
34292        <rdar://problem/4393815>
34293        Assertion failure: result != *this (khtml::VisiblePosition::previous())
34294        + build bustage fix from previous checkin
34295
34296        Tests added (+ expected results):
34297        * editing/selection/iframe.html: Added.
34298        * editing/selection/inline-table.html: Added.
34299        * editing/selection/select-box.html: Added.
34300
34301        Test results changed (change looks funny but is correct):
34302        * editing/inserting/editing-empty-divs.html
34303
34304        Account for replaced elements with children in isCandidate and maxDeepOffset
34305        Stop at candidates in VisiblePosition::deepEquivalent, descending will
34306        yield positions that aren't visually equivalent.
34307        Fixed a caret painting regression (removed downstreamDeepEquivalent)
34308        Moved isAtomicNode and maxDeepOffset out of NodeImpl
34309        Removed redundant code
34310
34311        Todo:
34312        Move more editing functions out of NodeImpl
34313        Improve the selection of VP candidates to fix 6476
34314
34315        * khtml/editing/SelectionController.cpp:
34316        (khtml::SelectionController::SelectionController):
34317        (khtml::SelectionController::xPosForVerticalArrowNavigation):
34318        (khtml::SelectionController::getRangeAt):
34319        (khtml::SelectionController::layout):
34320        (khtml::SelectionController::adjustForEditableContent):
34321        * khtml/editing/apply_style_command.cpp:
34322        (khtml::ApplyStyleCommand::mergeStartWithPreviousIfIdentical):
34323        (khtml::ApplyStyleCommand::mergeEndWithNextIfIdentical):
34324        * khtml/editing/delete_selection_command.cpp:
34325        (khtml::DeleteSelectionCommand::handleSpecialCaseBRDelete):
34326        (khtml::DeleteSelectionCommand::handleGeneralDelete):
34327        * khtml/editing/htmlediting.cpp:
34328        (khtml::isAtomicNode):
34329        (khtml::maxDeepOffset):
34330        (khtml::isLastVisiblePositionInSpecialElement):
34331        (khtml::positionAfterContainingSpecialElement):
34332        * khtml/editing/htmlediting.h:
34333        * khtml/editing/insert_line_break_command.cpp:
34334        (khtml::InsertLineBreakCommand::doApply):
34335        * khtml/editing/replace_selection_command.cpp:
34336        (khtml::ReplaceSelectionCommand::fixupNodeStyles):
34337        (khtml::ReplaceSelectionCommand::doApply):
34338        * khtml/editing/visible_position.cpp:
34339        (khtml::VisiblePosition::previousVisiblePosition):
34340        (khtml::VisiblePosition::isCandidate):
34341        (khtml::VisiblePosition::deepEquivalent):
34342        (khtml::VisiblePosition::character):
34343        (khtml::makeRange):
34344        (khtml::setStart):
34345        (khtml::setEnd):
34346        (khtml::enclosingBlockFlowElement):
34347        (khtml::isFirstVisiblePositionInNode):
34348        (khtml::isLastVisiblePositionInNode):
34349        * khtml/editing/visible_position.h:
34350        (khtml::VisiblePosition::setAffinity):
34351        * khtml/editing/visible_units.cpp:
34352        (khtml::previousLinePosition):
34353        (khtml::nextLinePosition):
34354        * khtml/xml/dom2_rangeimpl.cpp:
34355        (DOM::RangeImpl::editingStartPosition):
34356        * khtml/xml/dom_nodeimpl.cpp:
34357        (DOM::NodeImpl::previousNodeConsideringAtomicNodes):
34358        (DOM::NodeImpl::nextNodeConsideringAtomicNodes):
34359        (DOM::NodeImpl::previousLeafNode):
34360        (DOM::NodeImpl::nextLeafNode):
34361        (DOM::NodeImpl::isBlockFlowOrBlockTable):
34362        (DOM::NodeImpl::enclosingBlockFlowOrTableElement):
34363        * khtml/xml/dom_nodeimpl.h:
34364        * khtml/xml/dom_position.cpp:
34365        (DOM::Position::previous):
34366        (DOM::Position::next):
34367        (DOM::Position::atEnd):
34368        (DOM::isStreamer):
34369        (DOM::Position::upstream):
34370        (DOM::Position::downstream):
34371        * khtml/xml/dom_position.h:
34372        * kwq/KWQAccObject.mm:
34373        (-[KWQAccObject doAXUIElementForTextMarker:]):
34374        * page/Frame.cpp:
34375        (Frame::selectContentsOfNode):
34376
343772006-01-11  Maciej Stachowiak  <mjs@apple.com>
34378
34379        Reviewed by Darin.
34380
34381        - remove some selection-related methods on Frame that are just simple wrappers
34382        of Selection methods.
34383
34384        * bridge/mac/MacFrame.mm:
34385        (MacFrame::findString):
34386        (MacFrame::advanceToNextMisspelling):
34387        * bridge/mac/WebCoreBridge.mm:
34388        (-[WebCoreBridge deselectText]):
34389        (-[WebCoreBridge selectedAttributedString]):
34390        (-[WebCoreBridge attributedStringFrom:startOffset:to:endOffset:]):
34391        * khtml/editing/jsediting.cpp:
34392        * khtml/xml/dom_docimpl.cpp:
34393        (DocumentImpl::clearSelectionIfNeeded):
34394        * page/Frame.cpp:
34395        (Frame::selection):
34396        (Frame::currentForm):
34397        (Frame::revealSelection):
34398        (Frame::centerSelectionInVisibleArea):
34399        * page/Frame.h:
34400        * page/FrameView.cpp:
34401        (KHTMLView::clear):
34402
344032006-01-11  Maciej Stachowiak  <mjs@apple.com>
34404
34405        Reviewed by Darin.
34406
34407        - reduce the number of files that rebuild when you touch Frame.h
34408
34409        * ForwardingHeaders/ksvg2/KSVGView.h:
34410        * WebCore.xcodeproj/project.pbxproj:
34411        * bridge/mac/MacFrame.mm:
34412        (convertAttributesToUnderlines):
34413        * khtml/ecma/kjs_window.cpp:
34414        * khtml/editing/htmlediting.cpp:
34415        * khtml/editing/typing_command.cpp:
34416        * khtml/html/HTMLKeygenElementImpl.cpp:
34417        (DOM::HTMLKeygenElementImpl::appendFormData):
34418        * khtml/html/html_imageimpl.cpp:
34419        * khtml/rendering/InlineTextBox.cpp:
34420        (khtml::InlineTextBox::paint):
34421        (khtml::InlineTextBox::paintMarkedTextUnderline):
34422        * khtml/rendering/InlineTextBox.h:
34423        * khtml/rendering/render_layer.cpp:
34424        * khtml/xml/dom_docimpl.cpp:
34425        * kwq/KWQAccObject.mm:
34426        (-[KWQAccObject value]):
34427        * kwq/KWQFileButton.h:
34428        * kwq/KWQLineEdit.mm:
34429        * kwq/KWQRenderTreeDebug.cpp:
34430        (write):
34431        * page/Frame.cpp:
34432        (Frame::markedTextUnderlines):
34433        * page/Frame.h:
34434        (MarkedTextUnderline::MarkedTextUnderline):
34435
344362006-01-11  Anders Carlsson  <andersca@mac.com>
34437
34438        Build fix.
34439
34440        * ForwardingHeaders/ksvg2/KSVGView.h:
34441        Rename KHTMLView to FrameView and include FrameView.h
34442
344432006-01-11  Maciej Stachowiak  <mjs@apple.com>
34444
34445        Reviewed by Anders.
34446
34447        - renamed KHTMLPartPrivate to FramePrivate and KHTMLView to FrameView
34448        http://bugs.webkit.org/show_bug.cgi?id=6490
34449
34450        (also corresponding header renames, remove headers where not
34451        needed, and a few substantive changes to allow more header removal)
34452
34453        * khtml/xml/dom_docimpl.h: moved m_selectedStylesheetSet here from
34454        KHTMLPartPrivate, since this was the only class using it.
34455        * khtml/xml/dom_docimpl.cpp:
34456        (DocumentImpl::processHttpEquiv): ditto
34457        (DocumentImpl::selectedStylesheetSet): ditto
34458        (DocumentImpl::setSelectedStylesheetSet): ditto
34459        (DocumentImpl::recalcStyleSelector): ditto
34460        * khtml/ecma/kjs_dom.cpp:
34461        (KJS::DOMDocument::getValueProperty): Use new isCompleted method
34462        on Frame instead of accessing private field directly.
34463        (KJS::getDOMDocumentNode): remove gratuitous use of view()
34464
34465        Just the renames:
34466
34467        * WebCore.xcodeproj/project.pbxproj:
34468        * bridge/mac/KWQKHTMLView.cpp:
34469        * bridge/mac/MacFrame.h:
34470        * bridge/mac/MacFrame.mm:
34471        * bridge/mac/WebCoreBridge.mm:
34472        * khtml/css/cssstyleselector.cpp:
34473        * khtml/ecma/kjs_html.cpp:
34474        * khtml/ecma/kjs_traversal.cpp:
34475        * khtml/ecma/kjs_window.cpp:
34476        * khtml/ecma/xmlhttprequest.cpp:
34477        * khtml/editing/SelectionController.cpp:
34478        * khtml/editing/htmlediting.cpp:
34479        * khtml/html/html_baseimpl.cpp:
34480        * khtml/html/html_canvasimpl.cpp:
34481        * khtml/html/html_documentimpl.cpp:
34482        * khtml/html/html_elementimpl.cpp:
34483        * khtml/html/html_headimpl.cpp:
34484        * khtml/html/html_imageimpl.cpp:
34485        * khtml/html/html_inlineimpl.cpp:
34486        (DOM::HTMLAnchorElementImpl::defaultEventHandler):
34487        * khtml/html/html_objectimpl.cpp:
34488        * khtml/html/html_tableimpl.cpp:
34489        * khtml/html/htmlparser.cpp:
34490        * khtml/html/htmltokenizer.cpp:
34491        * khtml/rendering/bidi.cpp:
34492        * khtml/rendering/render_applet.cpp:
34493        * khtml/rendering/render_block.cpp:
34494        * khtml/rendering/render_box.cpp:
34495        * khtml/rendering/render_canvas.cpp:
34496        * khtml/rendering/render_flow.cpp:
34497        * khtml/rendering/render_form.cpp:
34498        * khtml/rendering/render_frames.cpp:
34499        * khtml/rendering/render_layer.cpp:
34500        * khtml/rendering/render_line.cpp:
34501        * khtml/rendering/render_object.cpp:
34502        * khtml/rendering/render_replaced.cpp:
34503        * khtml/rendering/render_table.cpp:
34504        * khtml/rendering/render_theme_mac.mm:
34505        * khtml/xml/dom2_eventsimpl.cpp:
34506        * khtml/xml/dom_elementimpl.cpp:
34507        * khtml/xml/dom_nodeimpl.cpp:
34508        * khtml/xml/xml_tokenizer.cpp:
34509        * khtml/xsl/xslt_processorimpl.cpp:
34510        * kwq/KWQAccObject.mm:
34511        * kwq/KWQFrame.mm:
34512        * kwq/KWQKJavaAppletWidget.mm:
34513        * kwq/KWQPageState.mm:
34514        * kwq/KWQRenderTreeDebug.cpp:
34515        * kwq/KWQSignalStubs.mm:
34516        * kwq/KWQWidget.mm:
34517        * page/Frame.cpp:
34518        (Frame::init):
34519        (Frame::submitForm):
34520        (Frame::isComplete):
34521        * page/Frame.h:
34522        * page/FramePrivate.h: Added.
34523        (FramePrivate::FramePrivate):
34524        (FramePrivate::~FramePrivate):
34525        * page/FrameView.cpp: Added.
34526        * page/FrameView.h: Added.
34527        * page/khtmlpart_p.h: Removed.
34528        * page/khtmlview.cpp: Removed.
34529        * page/khtmlview.h: Removed.
34530
345312006-01-10  Maciej Stachowiak  <mjs@apple.com>
34532
34533        Reviewed by Darin.
34534
34535        - moved files related to the Frame class and the forthcoming Page class
34536        to WebCore/page
34537
34538        - moved files related to the MacFrame class and other bridging-related classes
34539        to WebCore/bridge/mac
34540
34541        * ForwardingHeaders/ksvg2/KSVGPart.h:
34542        * ForwardingHeaders/ksvg2/KSVGView.h:
34543        * WebCore.xcodeproj/project.pbxproj:
34544        * bridge: Added.
34545        * bridge/mac: Added.
34546        * bridge/mac/KWQKHTMLPartBrowserExtension.h: Added.
34547        * bridge/mac/KWQKHTMLPartBrowserExtension.mm: Added.
34548        * bridge/mac/KWQKHTMLView.cpp: Added.
34549        * bridge/mac/KWQKPartsBrowserExtension.h: Added.
34550        * bridge/mac/KWQKPartsBrowserInterface.mm: Added.
34551        * bridge/mac/MacFrame.h: Added.
34552        * bridge/mac/MacFrame.mm: Added.
34553        * bridge/mac/WebCoreBridge.h: Added.
34554        * bridge/mac/WebCoreBridge.mm: Added.
34555        * khtml/Frame.cpp: Removed.
34556        * khtml/Frame.h: Removed.
34557        * khtml/khtmlpart_p.h: Removed.
34558        * khtml/khtmlview.cpp: Removed.
34559        * khtml/khtmlview.h: Removed.
34560        * kwq/KWQKHTMLPartBrowserExtension.h: Removed.
34561        * kwq/KWQKHTMLPartBrowserExtension.mm: Removed.
34562        * kwq/KWQKHTMLView.cpp: Removed.
34563        * kwq/KWQKPartsBrowserExtension.h: Removed.
34564        * kwq/KWQKPartsBrowserInterface.mm: Removed.
34565        * kwq/MacFrame.h: Removed.
34566        * kwq/MacFrame.mm: Removed.
34567        * kwq/WebCoreBridge.h: Removed.
34568        * kwq/WebCoreBridge.mm: Removed.
34569        * page: Added.
34570        * page/Frame.cpp: Added.
34571        * page/Frame.h: Added.
34572        * page/khtmlpart_p.h: Added.
34573        * page/khtmlview.cpp: Added.
34574        * page/khtmlview.h: Added.
34575
345762006-01-10  David Hyatt  <hyatt@apple.com>
34577
34578        #if Win32 the KWQMemArray overloads, since they're working around
34579        a Windows compiler bug.
34580
34581        * kwq/KWQMemArray.h:
34582
345832006-01-10  David Hyatt  <hyatt@apple.com>
34584
34585        Fix the broken ifdef in KWQString.h
34586
34587        * kwq/KWQString.h:
34588
345892006-01-10  hyatt@apple.com
34590
34591        Fix for bugzilla bug 6458, get rendering dir of WebCore
34592        compiling on Windows.
34593
34594        Reviewed by darin
34595
34596        * ForwardingHeaders/QRectF:
34597        * ForwardingHeaders/java/kjavaappletwidget.h:
34598        * ForwardingHeaders/kcursor.h:
34599        * ForwardingHeaders/kdebug.h:
34600        * ForwardingHeaders/kglobalsettings.h:
34601        * ForwardingHeaders/khtml_ext.h:
34602        * ForwardingHeaders/khtml_factory.h:
34603        * ForwardingHeaders/khtml_settings.h:
34604        * ForwardingHeaders/kio/global.h:
34605        * ForwardingHeaders/klocale.h:
34606        * ForwardingHeaders/kparts/browserextension.h:
34607        * ForwardingHeaders/kparts/event.h:
34608        * ForwardingHeaders/kparts/part.h:
34609        * ForwardingHeaders/kurl.h:
34610        * ForwardingHeaders/qapplication.h:
34611        * ForwardingHeaders/qbuffer.h:
34612        * ForwardingHeaders/qcolor.h:
34613        * ForwardingHeaders/qdatetime.h:
34614        * ForwardingHeaders/qdict.h:
34615        * ForwardingHeaders/qevent.h:
34616        * ForwardingHeaders/qfont.h:
34617        * ForwardingHeaders/qfontmetrics.h:
34618        * ForwardingHeaders/qlist.h:
34619        * ForwardingHeaders/qmap.h:
34620        * ForwardingHeaders/qmemarray.h:
34621        * ForwardingHeaders/qobject.h:
34622        * ForwardingHeaders/qpaintdevicemetrics.h:
34623        * ForwardingHeaders/qpainter.h:
34624        * ForwardingHeaders/qpalette.h:
34625        * ForwardingHeaders/qpen.h:
34626        * ForwardingHeaders/qpixmap.h:
34627        * ForwardingHeaders/qptrdict.h:
34628        * ForwardingHeaders/qptrlist.h:
34629        * ForwardingHeaders/qptrqueue.h:
34630        * ForwardingHeaders/qptrstack.h:
34631        * ForwardingHeaders/qptrvector.h:
34632        * ForwardingHeaders/qrect.h:
34633        * ForwardingHeaders/qregexp.h:
34634        * ForwardingHeaders/qregion.h:
34635        * ForwardingHeaders/qscrollbar.h:
34636        * ForwardingHeaders/qscrollview.h:
34637        * ForwardingHeaders/qsortedlist.h:
34638        * ForwardingHeaders/qstring.h:
34639        * ForwardingHeaders/qstringlist.h:
34640        * ForwardingHeaders/qstyle.h:
34641        * ForwardingHeaders/qtextcodec.h:
34642        * ForwardingHeaders/qtextedit.h:
34643        * ForwardingHeaders/qtimer.h:
34644        * ForwardingHeaders/qvaluelist.h:
34645        * ForwardingHeaders/qvariant.h:
34646        * ForwardingHeaders/qwidget.h:
34647        * ForwardingHeaders/qwmatrix.h:
34648        * khtml/config.h:
34649        * khtml/css/css_ruleimpl.h:
34650        * khtml/ecma/kjs_binding.h:
34651        * khtml/html/html_objectimpl.h:
34652        * khtml/rendering/RenderText.cpp:
34653        * khtml/rendering/bidi.cpp:
34654        * khtml/rendering/break_lines.cpp:
34655        (khtml::nextBreakablePosition):
34656        * khtml/rendering/font.h:
34657        (khtml::Font::width):
34658        * khtml/rendering/render_arena.cpp:
34659        * khtml/rendering/render_canvasimage.cpp:
34660        * khtml/rendering/render_canvasimage.h:
34661        * khtml/rendering/render_container.cpp:
34662        (RenderContainer::removeChildNode):
34663        (RenderContainer::appendChildNode):
34664        (RenderContainer::insertChildNode):
34665        * khtml/rendering/render_image.cpp:
34666        (RenderImage::paint):
34667        * khtml/rendering/render_object.cpp:
34668        (RenderObject::remove):
34669        * khtml/xml/dom_elementimpl.h:
34670        (DOM::ElementImpl::mouseEventHandler):
34671        * khtml/xml/dom_nodeimpl.cpp:
34672        (DOM::NodeImpl::dispatchEvent):
34673        * khtml/xml/dom_stringimpl.cpp:
34674        (DOM::DOMStringImpl::endsWith):
34675        * kwq/KWQAccObjectCache.h:
34676        * kwq/KWQArrayImpl.h:
34677        (KWQArrayImpl::size):
34678        * kwq/KWQCharsets.h:
34679        * kwq/KWQDateTime.h:
34680        (CFAbsoluteTimeGetCurrent):
34681        * kwq/KWQDef.h:
34682        * kwq/KWQFontFamily.h:
34683        * kwq/KWQKPartsPart.h:
34684        * kwq/KWQKURL.h:
34685        * kwq/KWQLogging.h:
34686        * kwq/KWQMapImpl.h:
34687        * kwq/KWQMemArray.h:
34688        (QMemArray::operator[]):
34689        * kwq/KWQPainter.h:
34690        * kwq/KWQPixmap.h:
34691        * kwq/KWQPixmap.mm:
34692        * kwq/KWQPtrDictImpl.h:
34693        * kwq/KWQRegExp.h:
34694        * kwq/KWQString.h:
34695        * kwq/KWQTextCodec.h:
34696        * kwq/KWQTimer.h:
34697        (QTimer::QTimer):
34698        (QTimer::isActive):
34699        * kwq/KWQValueListImpl.h:
34700        * kwq/KWQVariant.h:
34701        * kwq/KWQWMatrix.h:
34702        * kwq/MacFrame.h:
34703
347042006-01-10  Eric Seidel  <eseidel@apple.com>
34705
34706        No review needed, build (linking deployment) fix only.
34707
34708        * kwq/MacFrame.h: remove bogus KHTMLView *view() const delcaration
34709
347102006-01-10  Eric Seidel  <eseidel@apple.com>
34711
34712        Roll out local changes committed by accident w/ Mitz's patch.
34713
34714        * kwq/KWQAccObjectCache.h:
34715        * kwq/KWQAccObjectCache.mm:
34716        (KWQAccObjectCache::KWQAccObjectCache):
34717        (KWQAccObjectCache::~KWQAccObjectCache):
34718        (KWQAccObjectCache::accObject):
34719        (KWQAccObjectCache::setAccObject):
34720        (KWQAccObjectCache::removeAccObject):
34721        (KWQAccObjectCache::getAccObjectID):
34722        (KWQAccObjectCache::removeAccObjectID):
34723        (KWQAccObjectCache::textMarkerForVisiblePosition):
34724        (KWQAccObjectCache::visiblePositionForTextMarker):
34725        (KWQAccObjectCache::childrenChanged):
34726        * kwq/KWQObject.cpp:
34727        (QObject::restartTimer):
34728        (QObject::timerIntervals):
34729        (deleteTimer):
34730        (QObject::killTimer):
34731        (deleteOneTimer):
34732        (QObject::killTimers):
34733        (sendDeferredTimerEvent):
34734
347352006-01-10  Mitz Pettel  <opendarwin.org@mitzpettel.com>
34736
34737        No tests possible, no functionality changes.
34738
34739        Reviewed by darin.  Committed by eseidel.
34740
34741        - fix http://bugs.webkit.org/show_bug.cgi?id=6410
34742          Performance regression in text relayout due to bad BidiContext
34743          equality testing
34744
34745        * khtml/rendering/bidi.cpp:
34746        (khtml::operator==): Return true if BidiContexts match and both
34747        don't have a parent.
34748
347492006-01-10  Eric Seidel  <eseidel@apple.com>
34750
34751        Removed broken links in project file, no review need.
34752
34753        * WebCore.xcodeproj/project.pbxproj:
34754
347552006-01-09  Maciej Stachowiak  <mjs@apple.com>
34756
34757        Reviewed by Eric.
34758
34759        - move C++-only methods down from Frame to MacFrame
34760
34761        * WebCore.xcodeproj/project.pbxproj:
34762        * khtml/Frame.cpp:
34763        (Frame::init):
34764        (Frame::setSettings):
34765        (Frame::provisionalLoadStarted):
34766        (Frame::userGestureHint):
34767        (Frame::renderer):
34768        (Frame::selectionRect):
34769        (Frame::isFrameSet):
34770        (Frame::openURL):
34771        (Frame::didNotOpenURL):
34772        (Frame::selectionStart):
34773        (scanForForm):
34774        (Frame::currentForm):
34775        (Frame::setEncoding):
34776        (Frame::addData):
34777        (Frame::revealSelection):
34778        (Frame::scrollOverflow):
34779        (Frame::paint):
34780        (Frame::adjustPageHeight):
34781        (Frame::pauseTimeouts):
34782        (Frame::resumeTimeouts):
34783        (Frame::canCachePage):
34784        (Frame::saveWindowProperties):
34785        (Frame::saveLocationProperties):
34786        (Frame::restoreWindowProperties):
34787        (Frame::restoreLocationProperties):
34788        (Frame::saveInterpreterBuiltins):
34789        (Frame::restoreInterpreterBuiltins):
34790        (Frame::frameForWidget):
34791        (Frame::frameForNode):
34792        (Frame::nodeForWidget):
34793        (Frame::setDocumentFocus):
34794        (Frame::clearDocumentFocus):
34795        (Frame::mutableInstances):
34796        (Frame::updatePolicyBaseURL):
34797        (Frame::setPolicyBaseURL):
34798        (Frame::forceLayout):
34799        (Frame::forceLayoutWithPageWidthRange):
34800        (Frame::sendResizeEvent):
34801        (Frame::sendScrollEvent):
34802        (Frame::scrollbarsVisible):
34803        (Frame::addMetaData):
34804        (Frame::scrollToAnchor):
34805        (Frame::closeURL):
34806        (Frame::canMouseDownStartSelect):
34807        (Frame::khtmlMouseDoubleClickEvent):
34808        (Frame::passWidgetMouseDownEventToWidget):
34809        (Frame::clearTimers):
34810        (Frame::centerSelectionInVisibleArea):
34811        (Frame::styleForSelectionStart):
34812        (Frame::selectionStartOffset):
34813        (Frame::selectionEndOffset):
34814        (Frame::selectionEnd):
34815        (Frame::setMediaType):
34816        (Frame::setSelectionFromNone):
34817        (Frame::displaysWithFocusAttributes):
34818        (Frame::setWindowHasFocus):
34819        (Frame::backslashAsCurrencySymbol):
34820        (Frame::setName):
34821        (Frame::markedTextUsesUnderlines):
34822        (Frame::markedTextUnderlines):
34823        (Frame::prepareForUserAction):
34824        (Frame::isFrame):
34825        (Frame::mousePressNode):
34826        * khtml/Frame.h:
34827        (Frame::instances):
34828        (Frame::MarkedTextUnderline::MarkedTextUnderline):
34829        * kwq/MacFrame.cpp: Removed.
34830        * kwq/MacFrame.h:
34831        (MacFrame::markedTextRange):
34832        * kwq/MacFrame.mm: - humped a bunch of stuff down to Frame
34833        * kwq/WebCoreSettings.mm:
34834        (-[WebCoreSettings _updateAllViews]): use Mac calls
34835        * kwq/WebCoreTextRendererFactory.mm:
34836        (-[WebCoreTextRendererFactory clearCaches]): ditto
34837
348382006-01-10  Eric Seidel  <eseidel@apple.com>
34839
34840        Rubber-stamped by mjs.
34841
34842        Split html_formimpl.{cpp,h} into multiple files (one per class)
34843        http://bugs.webkit.org/show_bug.cgi?id=6461
34844
34845        * WebCore.xcodeproj/project.pbxproj: added files
34846        * khtml/ecma/kjs_html.cpp: updated includes
34847        * khtml/html/FormDataList.h: Added.
34848        * khtml/html/FormDataList.cpp: Added.
34849        * khtml/html/HTMLButtonElementImpl.cpp: Added.
34850        * khtml/html/HTMLButtonElementImpl.h: Added.
34851        * khtml/html/HTMLFieldSetElementImpl.cpp: Added.
34852        * khtml/html/HTMLFieldSetElementImpl.h: Added.
34853        * khtml/html/HTMLFormElementImpl.cpp: Added.
34854        * khtml/html/HTMLFormElementImpl.h: Added.
34855        * khtml/html/HTMLGenericFormElementImpl.cpp: Added.
34856        * khtml/html/HTMLGenericFormElementImpl.h: Added.
34857        * khtml/html/HTMLInputElementImpl.cpp: Added.
34858        * khtml/html/HTMLInputElementImpl.h: Added.
34859        * khtml/html/HTMLIsIndexElementImpl.cpp: Added.
34860        * khtml/html/HTMLIsIndexElementImpl.h: Added.
34861        * khtml/html/HTMLKeygenElementImpl.cpp: Added.
34862        * khtml/html/HTMLKeygenElementImpl.h: Added.
34863        * khtml/html/HTMLLabelElementImpl.cpp: Added.
34864        * khtml/html/HTMLLabelElementImpl.h: Added.
34865        * khtml/html/HTMLLegendElementImpl.cpp: Added.
34866        * khtml/html/HTMLLegendElementImpl.h: Added.
34867        * khtml/html/HTMLOptGroupElementImpl.cpp: Added.
34868        * khtml/html/HTMLOptGroupElementImpl.h: Added.
34869        * khtml/html/HTMLOptionElementImpl.cpp: Added.
34870        * khtml/html/HTMLOptionElementImpl.h: Added.
34871        * khtml/html/HTMLOptionsCollectionImpl.h: Added.
34872        * khtml/html/HTMLSelectElementImpl.cpp: Added.
34873        * khtml/html/HTMLSelectElementImpl.h: Added.
34874        * khtml/html/HTMLTextAreaElementImpl.cpp: Added.
34875        * khtml/html/HTMLTextAreaElementImpl.h: Added.
34876        * khtml/html/html_documentimpl.cpp: updated includes
34877        * khtml/html/html_imageimpl.cpp: updated includes
34878        * khtml/html/html_miscimpl.cpp: updated includes
34879        * khtml/html/html_objectimpl.cpp: updated includes
34880        * khtml/html/htmlfactory.cpp: updated includes
34881        * khtml/html/htmlparser.cpp: updated includes
34882        * khtml/khtmlview.cpp: updated includes
34883        * khtml/rendering/render_block.cpp: updated includes
34884        * khtml/rendering/render_button.cpp: updated includes
34885        * khtml/rendering/render_canvasimage.cpp: updated includes
34886        * khtml/rendering/render_flow.cpp: updated includes
34887        * khtml/rendering/render_form.cpp: updated includes
34888        * khtml/rendering/render_form.h: updated includes
34889        * khtml/rendering/render_image.cpp: updated includes
34890        * khtml/rendering/render_line.cpp: updated includes
34891        * khtml/rendering/render_theme.cpp: updated includes
34892        * khtml/xml/dom_docimpl.cpp: updated includes
34893        * kwq/DOMHTML.mm: updated includes
34894        * kwq/KWQAccObject.mm: updated includes
34895        * kwq/MacFrame.mm: updated includes
34896        * kwq/WebCoreBridge.mm: updated includes
34897
348982006-01-09  Alexey Proskuryakov  <ap@nypop.com>
34899
34900        Reviewed by Darin.
34901
34902        - fix http://bugs.webkit.org/show_bug.cgi?id=6446
34903          Allow surrogate pairs in numeric entities
34904
34905        Test case: fast/parser/entity-surrogate-pairs.html
34906
34907        * khtml/html/htmltokenizer.cpp:
34908        (khtml::HTMLTokenizer::parseEntity): Don't check if we got a surrogate.
34909
349102006-01-09  Eric Seidel  <eseidel@apple.com>
34911
34912        Reviewed by mjs.
34913
34914        Further code removal (and build fix!)
34915
34916        * khtml/Frame.cpp:
34917        (Frame::init):
34918        (Frame::~Frame):
34919        (Frame::restoreURL):
34920        (Frame::didOpenURL):
34921        (Frame::baseURL):
34922        (Frame::baseTarget):
34923        * khtml/Frame.h:
34924        (Frame::khtmlMouseDoubleClickEvent):
34925        (Frame::khtmlDrawContentsEvent):
34926        * kwq/KWQLoader.mm:
34927        (KWQServeRequest):
34928        * kwq/KWQSlot.mm:
34929        (KWQSlot::KWQSlot):
34930        (KWQSlot::call):
34931
349322006-01-09  Eric Seidel  <eseidel@apple.com>
34933
34934        Reviewed by mjs.
34935
34936        Remove unused code from Frame.
34937
34938        * khtml/Frame.cpp:
34939        (Frame::clear):
34940        (Frame::receivedFirstData):
34941        (Frame::checkCompleted):
34942        (Frame::completeURL):
34943        (Frame::khtmlMousePressEvent):
34944        (Frame::handleMouseMoveEventSelection):
34945        (Frame::khtmlMouseReleaseEvent):
34946        * khtml/Frame.h:
34947        * khtml/khtmlpart_p.h:
34948        * khtml/khtmlview.cpp:
34949        (KHTMLView::viewportWheelEvent):
34950        (KHTMLView::focusOutEvent):
34951
349522006-01-09  Eric Seidel  <eseidel@apple.com>
34953
34954        Reviewed by hyatt.
34955
34956        Remove khtml-specific forwarding headers.
34957
34958        * ForwardingHeaders/css: Removed.
34959        * ForwardingHeaders/css/css_base.h: Removed.
34960        * ForwardingHeaders/css/css_computedstyle.h: Removed.
34961        * ForwardingHeaders/css/css_ruleimpl.h: Removed.
34962        * ForwardingHeaders/css/css_stylesheetimpl.h: Removed.
34963        * ForwardingHeaders/css/css_valueimpl.h: Removed.
34964        * ForwardingHeaders/css/csshelper.h: Removed.
34965        * ForwardingHeaders/css/cssparser.h: Removed.
34966        * ForwardingHeaders/css/cssproperties.h: Removed.
34967        * ForwardingHeaders/css/cssstyleselector.h: Removed.
34968        * ForwardingHeaders/css/cssvalues.h: Removed.
34969        * ForwardingHeaders/dom: Removed.
34970        * ForwardingHeaders/dom/css_rule.h: Removed.
34971        * ForwardingHeaders/dom/css_stylesheet.h: Removed.
34972        * ForwardingHeaders/dom/css_value.h: Removed.
34973        * ForwardingHeaders/dom/dom2_events.h: Removed.
34974        * ForwardingHeaders/dom/dom2_range.h: Removed.
34975        * ForwardingHeaders/dom/dom2_traversal.h: Removed.
34976        * ForwardingHeaders/dom/dom_exception.h: Removed.
34977        * ForwardingHeaders/dom/dom_node.h: Removed.
34978        * ForwardingHeaders/dom/dom_string.h: Removed.
34979        * ForwardingHeaders/ecma: Removed.
34980        * ForwardingHeaders/ecma/kjs_binding.h: Removed.
34981        * ForwardingHeaders/ecma/kjs_dom.h: Removed.
34982        * ForwardingHeaders/ecma/kjs_proxy.h: Removed.
34983        * ForwardingHeaders/editing: Removed.
34984        * ForwardingHeaders/editing/SelectionController.h: Removed.
34985        * ForwardingHeaders/editing/edit_actions.h: Removed.
34986        * ForwardingHeaders/editing/html_interchange.h: Removed.
34987        * ForwardingHeaders/editing/htmlediting.h: Removed.
34988        * ForwardingHeaders/editing/jsediting.h: Removed.
34989        * ForwardingHeaders/editing/markup.h: Removed.
34990        * ForwardingHeaders/editing/text_affinity.h: Removed.
34991        * ForwardingHeaders/editing/text_granularity.h: Removed.
34992        * ForwardingHeaders/editing/visible_position.h: Removed.
34993        * ForwardingHeaders/editing/visible_text.h: Removed.
34994        * ForwardingHeaders/editing/visible_units.h: Removed.
34995        * ForwardingHeaders/html: Removed.
34996        * ForwardingHeaders/html/html_baseimpl.h: Removed.
34997        * ForwardingHeaders/html/html_blockimpl.h: Removed.
34998        * ForwardingHeaders/html/html_canvasimpl.h: Removed.
34999        * ForwardingHeaders/html/html_documentimpl.h: Removed.
35000        * ForwardingHeaders/html/html_elementimpl.h: Removed.
35001        * ForwardingHeaders/html/html_formimpl.h: Removed.
35002        * ForwardingHeaders/html/html_headimpl.h: Removed.
35003        * ForwardingHeaders/html/html_imageimpl.h: Removed.
35004        * ForwardingHeaders/html/html_inlineimpl.h: Removed.
35005        * ForwardingHeaders/html/html_listimpl.h: Removed.
35006        * ForwardingHeaders/html/html_miscimpl.h: Removed.
35007        * ForwardingHeaders/html/html_objectimpl.h: Removed.
35008        * ForwardingHeaders/html/html_tableimpl.h: Removed.
35009        * ForwardingHeaders/html/htmlparser.h: Removed.
35010        * ForwardingHeaders/html/htmltokenizer.h: Removed.
35011        * ForwardingHeaders/misc: Removed.
35012        * ForwardingHeaders/misc/decoder.h: Removed.
35013        * ForwardingHeaders/misc/formdata.h: Removed.
35014        * ForwardingHeaders/misc/helper.h: Removed.
35015        * ForwardingHeaders/misc/khtmllayout.h: Removed.
35016        * ForwardingHeaders/misc/loader.h: Removed.
35017        * ForwardingHeaders/misc/loader_client.h: Removed.
35018        * ForwardingHeaders/misc/shared.h: Removed.
35019        * ForwardingHeaders/misc/stringit.h: Removed.
35020        * ForwardingHeaders/rendering: Removed.
35021        * ForwardingHeaders/rendering/font.h: Removed.
35022        * ForwardingHeaders/rendering/render_applet.h: Removed.
35023        * ForwardingHeaders/rendering/render_block.h: Removed.
35024        * ForwardingHeaders/rendering/render_box.h: Removed.
35025        * ForwardingHeaders/rendering/render_br.h: Removed.
35026        * ForwardingHeaders/rendering/render_canvas.h: Removed.
35027        * ForwardingHeaders/rendering/render_canvasimage.h: Removed.
35028        * ForwardingHeaders/rendering/render_flow.h: Removed.
35029        * ForwardingHeaders/rendering/render_form.h: Removed.
35030        * ForwardingHeaders/rendering/render_frames.h: Removed.
35031        * ForwardingHeaders/rendering/render_image.h: Removed.
35032        * ForwardingHeaders/rendering/render_layer.h: Removed.
35033        * ForwardingHeaders/rendering/render_line.h: Removed.
35034        * ForwardingHeaders/rendering/render_list.h: Removed.
35035        * ForwardingHeaders/rendering/render_object.h: Removed.
35036        * ForwardingHeaders/rendering/render_replaced.h: Removed.
35037        * ForwardingHeaders/rendering/render_style.h: Removed.
35038        * ForwardingHeaders/rendering/render_table.h: Removed.
35039        * ForwardingHeaders/rendering/table_layout.h: Removed.
35040        * ForwardingHeaders/xbl: Removed.
35041        * ForwardingHeaders/xbl/xbl_binding_manager.h: Removed.
35042        * ForwardingHeaders/xml: Removed.
35043        * ForwardingHeaders/xml/EventNames.h: Removed.
35044        * ForwardingHeaders/xml/dom2_eventsimpl.h: Removed.
35045        * ForwardingHeaders/xml/dom2_rangeimpl.h: Removed.
35046        * ForwardingHeaders/xml/dom2_traversalimpl.h: Removed.
35047        * ForwardingHeaders/xml/dom2_viewsimpl.h: Removed.
35048        * ForwardingHeaders/xml/dom_atomicstring.h: Removed.
35049        * ForwardingHeaders/xml/dom_docimpl.h: Removed.
35050        * ForwardingHeaders/xml/dom_elementimpl.h: Removed.
35051        * ForwardingHeaders/xml/dom_nodeimpl.h: Removed.
35052        * ForwardingHeaders/xml/dom_position.h: Removed.
35053        * ForwardingHeaders/xml/dom_stringimpl.h: Removed.
35054        * ForwardingHeaders/xml/dom_textimpl.h: Removed.
35055        * ForwardingHeaders/xml/dom_xmlimpl.h: Removed.
35056        * ForwardingHeaders/xml/xml_tokenizer.h: Removed.
35057        * WebCore.xcodeproj/project.pbxproj:
35058        * khtml/css/css_valueimpl.cpp:
35059        * khtml/css/cssstyleselector.cpp:
35060        * khtml/editing/apply_style_command.cpp:
35061        * khtml/editing/jsediting.cpp:
35062        * khtml/editing/replace_selection_command.cpp:
35063        * khtml/html/html_baseimpl.cpp:
35064        * khtml/html/html_blockimpl.cpp:
35065        * khtml/html/html_canvasimpl.cpp:
35066        * khtml/html/html_documentimpl.cpp:
35067        * khtml/html/html_elementimpl.cpp:
35068        * khtml/html/html_formimpl.cpp:
35069        * khtml/html/html_imageimpl.cpp:
35070        * khtml/html/html_inlineimpl.cpp:
35071        * khtml/html/html_listimpl.cpp:
35072        * khtml/html/html_objectimpl.cpp:
35073        * khtml/html/html_tableimpl.cpp:
35074        * khtml/html/htmlparser.cpp:
35075        * khtml/khtml_part.cpp:
35076        * khtml/misc/decoder.cpp:
35077        * khtml/rendering/render_frames.cpp:
35078        * khtml/xml/dom_elementimpl.cpp:
35079
350802006-01-10  Anders Carlsson  <andersca@mac.com>
35081
35082        Reviewed by Maciej.
35083
35084        - renamed ChildFrame::m_frame to m_renderer and
35085        ChildFrame::m_part to m_frame which makes more sense.
35086
35087        This also fixes some bugs which were introduced in Maciej's
35088        previous commit.
35089
35090        * khtml/Frame.cpp:
35091        (Frame::stopLoading):
35092        (Frame::clear):
35093        (Frame::stopAnimations):
35094        (Frame::checkEmitLoadEvent):
35095        (Frame::requestFrame):
35096        (Frame::requestObject):
35097        (Frame::processObjectRequest):
35098        (Frame::childFrame):
35099        (Frame::findFrame):
35100        (Frame::frameExists):
35101        (Frame::setZoomFactor):
35102        (Frame::frames):
35103        (Frame::childFrameNamed):
35104        (Frame::connectChild):
35105        (Frame::disconnectChild):
35106        (Frame::handleFallbackContent):
35107        * khtml/khtmlpart_p.h:
35108        * khtml/xml/dom_docimpl.cpp:
35109        (DocumentImpl::ownerElement):
35110        * kwq/MacFrame.mm:
35111        (Frame::frameDetached):
35112        (MacFrame::createPart):
35113        (MacFrame::nextKeyViewInFrameHierarchy):
35114        (MacFrame::setPolicyBaseURL):
35115
351162006-01-09  Maciej Stachowiak  <mjs@apple.com>
35117
35118        Reviewed by Darin.
35119
35120        http://bugs.webkit.org/show_bug.cgi?id=6450
35121        - renamed KHTMLPart to Frame (and KWQKHTMLPart to MacFrame for now)
35122
35123        * ForwardingHeaders/ksvg2/KSVGPart.h:
35124        * WebCore.xcodeproj/project.pbxproj:
35125        * khtml/Frame.cpp: Added.
35126        (khtml::PartStyleSheetLoader::PartStyleSheetLoader):
35127        (khtml::PartStyleSheetLoader::setStyleSheet):
35128        (Frame::Frame):
35129        (Frame::init):
35130        (Frame::~Frame):
35131        (Frame::restoreURL):
35132        (Frame::didOpenURL):
35133        (Frame::didExplicitOpen):
35134        (Frame::stopLoading):
35135        (Frame::closeURL):
35136        (Frame::browserExtension):
35137        (Frame::view):
35138        (Frame::setJScriptEnabled):
35139        (Frame::jScriptEnabled):
35140        (Frame::setMetaRefreshEnabled):
35141        (Frame::metaRefreshEnabled):
35142        (Frame::jScript):
35143        (Frame::replaceContentsWithScriptResult):
35144        (Frame::executeScript):
35145        (Frame::scheduleScript):
35146        (Frame::executeScheduledScript):
35147        (Frame::setJavaEnabled):
35148        (Frame::javaEnabled):
35149        (Frame::setPluginsEnabled):
35150        (Frame::pluginsEnabled):
35151        (Frame::slotDebugDOMTree):
35152        (Frame::slotDebugRenderTree):
35153        (Frame::setAutoloadImages):
35154        (Frame::autoloadImages):
35155        (Frame::clear):
35156        (Frame::openFile):
35157        (Frame::xmlDocImpl):
35158        (Frame::replaceDocImpl):
35159        (Frame::receivedFirstData):
35160        (Frame::slotFinished):
35161        (Frame::childBegin):
35162        (Frame::begin):
35163        (Frame::write):
35164        (Frame::end):
35165        (Frame::endIfNotLoading):
35166        (Frame::stop):
35167        (Frame::stopAnimations):
35168        (Frame::gotoAnchor):
35169        (Frame::slotFinishedParsing):
35170        (Frame::slotLoaderRequestStarted):
35171        (Frame::slotLoaderRequestDone):
35172        (Frame::checkCompleted):
35173        (Frame::checkEmitLoadEvent):
35174        (Frame::settings):
35175        (Frame::baseURL):
35176        (Frame::baseTarget):
35177        (Frame::completeURL):
35178        (Frame::scheduleRedirection):
35179        (Frame::scheduleLocationChange):
35180        (Frame::isScheduledLocationChangePending):
35181        (Frame::scheduleHistoryNavigation):
35182        (Frame::cancelRedirection):
35183        (Frame::changeLocation):
35184        (Frame::slotRedirect):
35185        (Frame::slotRedirection):
35186        (Frame::encoding):
35187        (Frame::setUserStyleSheet):
35188        (Frame::setStandardFont):
35189        (Frame::setFixedFont):
35190        (Frame::urlCursor):
35191        (Frame::onlyLocalReferences):
35192        (Frame::setOnlyLocalReferences):
35193        (Frame::selectedText):
35194        (Frame::hasSelection):
35195        (Frame::selection):
35196        (Frame::selectionGranularity):
35197        (Frame::setSelectionGranularity):
35198        (Frame::dragCaret):
35199        (Frame::mark):
35200        (Frame::setMark):
35201        (Frame::setSelection):
35202        (Frame::setDragCaret):
35203        (Frame::clearSelection):
35204        (Frame::invalidateSelection):
35205        (Frame::setCaretVisible):
35206        (Frame::clearCaretRectIfNeeded):
35207        (isFrameElement):
35208        (Frame::setFocusNodeIfNeeded):
35209        (Frame::selectionLayoutChanged):
35210        (Frame::setXPosForVerticalArrowNavigation):
35211        (Frame::xPosForVerticalArrowNavigation):
35212        (Frame::timerEvent):
35213        (Frame::paintCaret):
35214        (Frame::paintDragCaret):
35215        (Frame::urlSelected):
35216        (Frame::requestFrame):
35217        (Frame::requestFrameName):
35218        (Frame::requestObject):
35219        (Frame::processObjectRequest):
35220        (Frame::submitFormAgain):
35221        (Frame::submitForm):
35222        (Frame::slotParentCompleted):
35223        (Frame::slotChildStarted):
35224        (Frame::slotChildCompleted):
35225        (Frame::childFrame):
35226        (Frame::findFrame):
35227        (Frame::frameExists):
35228        (Frame::parentFrame):
35229        (Frame::zoomFactor):
35230        (Frame::slotIncZoom):
35231        (Frame::slotDecZoom):
35232        (Frame::setZoomFactor):
35233        (Frame::setJSStatusBarText):
35234        (Frame::setJSDefaultStatusBarText):
35235        (Frame::jsStatusBarText):
35236        (Frame::jsDefaultStatusBarText):
35237        (Frame::referrer):
35238        (Frame::lastModified):
35239        (Frame::reparseConfiguration):
35240        (Frame::frameNames):
35241        (Frame::frames):
35242        (Frame::childFrameNamed):
35243        (Frame::setDNDEnabled):
35244        (Frame::dndEnabled):
35245        (Frame::shouldDragAutoNode):
35246        (Frame::customEvent):
35247        (Frame::isPointInsideSelection):
35248        (Frame::selectClosestWordFromMouseEvent):
35249        (Frame::handleMousePressEventDoubleClick):
35250        (Frame::handleMousePressEventTripleClick):
35251        (Frame::handleMousePressEventSingleClick):
35252        (Frame::khtmlMousePressEvent):
35253        (Frame::khtmlMouseDoubleClickEvent):
35254        (Frame::handleMouseMoveEventSelection):
35255        (Frame::khtmlMouseMoveEvent):
35256        (Frame::khtmlMouseReleaseEvent):
35257        (Frame::khtmlDrawContentsEvent):
35258        (Frame::startAutoScroll):
35259        (Frame::stopAutoScroll):
35260        (Frame::selectAll):
35261        (Frame::selectContentsOfNode):
35262        (Frame::shouldChangeSelection):
35263        (Frame::shouldBeginEditing):
35264        (Frame::shouldEndEditing):
35265        (Frame::isContentEditable):
35266        (Frame::lastEditCommand):
35267        (Frame::appliedEditing):
35268        (Frame::unappliedEditing):
35269        (Frame::reappliedEditing):
35270        (Frame::typingStyle):
35271        (Frame::setTypingStyle):
35272        (Frame::clearTypingStyle):
35273        (Frame::slotPartRemoved):
35274        (Frame::createHTMLEventListener):
35275        (Frame::opener):
35276        (Frame::setOpener):
35277        (Frame::openedByJS):
35278        (Frame::setOpenedByJS):
35279        (Frame::preloadStyleSheet):
35280        (Frame::preloadScript):
35281        (Frame::restored):
35282        (Frame::incrementFrameCount):
35283        (Frame::decrementFrameCount):
35284        (Frame::topLevelFrameCount):
35285        (Frame::tabsToLinks):
35286        (Frame::tabsToAllControls):
35287        (Frame::copyToPasteboard):
35288        (Frame::cutToPasteboard):
35289        (Frame::pasteFromPasteboard):
35290        (Frame::pasteAndMatchStyle):
35291        (Frame::transpose):
35292        (Frame::redo):
35293        (Frame::undo):
35294        (Frame::computeAndSetTypingStyle):
35295        (Frame::applyStyle):
35296        (Frame::applyParagraphStyle):
35297        (updateState):
35298        (Frame::selectionHasStyle):
35299        (Frame::selectionStartHasStyle):
35300        (Frame::selectionStartStylePropertyValue):
35301        (Frame::selectionComputedStyle):
35302        (Frame::applyEditingStyleToBodyElement):
35303        (Frame::removeEditingStyleFromBodyElement):
35304        (Frame::applyEditingStyleToElement):
35305        (Frame::removeEditingStyleFromElement):
35306        (Frame::isCharacterSmartReplaceExempt):
35307        (Frame::connectChild):
35308        (Frame::disconnectChild):
35309        (Frame::keepAlive):
35310        (Frame::slotEndLifeSupport):
35311        (Frame::selectFrameElementInParentIfFullySelected):
35312        (Frame::handleFallbackContent):
35313        * khtml/Frame.h: Added.
35314        * khtml/css/cssstyleselector.cpp:
35315        (khtml::CSSStyleSelector::CSSStyleSelector):
35316        (khtml::CSSStyleSelector::initForStyleResolve):
35317        (khtml::CSSStyleSelector::checkOneSelector):
35318        (khtml::CSSStyleSelector::applyProperty):
35319        (khtml::CSSStyleSelector::getComputedSizeFromSpecifiedSize):
35320        * khtml/css/cssstyleselector.h:
35321        * khtml/ecma/kjs_binding.cpp:
35322        (KJS::ScriptInterpreter::ScriptInterpreter):
35323        (KJS::ScriptInterpreter::~ScriptInterpreter):
35324        * khtml/ecma/kjs_binding.h:
35325        (KJS::ScriptInterpreter::frame):
35326        * khtml/ecma/kjs_dom.cpp:
35327        (KJS::DOMDocument::getValueProperty):
35328        (KJS::getDOMDocumentNode):
35329        (KJS::checkNodeSecurity):
35330        * khtml/ecma/kjs_events.cpp:
35331        (KJS::JSAbstractEventListener::handleEvent):
35332        (KJS::JSLazyEventListener::parseCode):
35333        * khtml/ecma/kjs_html.cpp:
35334        (KJS::KJS::HTMLDocFunction::callAsFunction):
35335        (KJS::HTMLDocument::namedItemGetter):
35336        (KJS::HTMLDocument::getValueProperty):
35337        (KJS::KJS::HTMLDocument::putValueProperty):
35338        (KJS::HTMLElement::framesetNameGetter):
35339        (KJS::HTMLElement::frameWindowPropertyGetter):
35340        (KJS::HTMLElement::getOwnPropertySlot):
35341        (KJS::KJS::HTMLElement::implementsCall):
35342        (KJS::Image::notifyFinished):
35343        * khtml/ecma/kjs_navigator.cpp:
35344        (KJS::Navigator::Navigator):
35345        (KJS::Navigator::getValueProperty):
35346        (KJS::NavigatorFunc::callAsFunction):
35347        * khtml/ecma/kjs_navigator.h:
35348        (KJS::Navigator::frame):
35349        * khtml/ecma/kjs_proxy.cpp:
35350        (KJSProxyImpl::KJSProxyImpl):
35351        (KJSProxyImpl::evaluate):
35352        (KJSProxyImpl::clear):
35353        (KJSProxyImpl::createHTMLEventHandler):
35354        (KJSProxyImpl::interpreter):
35355        (KJSProxyImpl::initScript):
35356        * khtml/ecma/kjs_proxy.h:
35357        * khtml/ecma/kjs_traversal.cpp:
35358        (KJS::JSNodeFilterCondition::acceptNode):
35359        * khtml/ecma/kjs_window.cpp:
35360        (KJS::History::History):
35361        (KJS::FrameArray::FrameArray):
35362        (KJS::Screen::getValueProperty):
35363        (KJS::Window::Window):
35364        (KJS::Window::interpreter):
35365        (KJS::Window::retrieveWindow):
35366        (KJS::Window::retrieve):
35367        (KJS::Window::location):
35368        (KJS::Window::selection):
35369        (KJS::Window::locationbar):
35370        (KJS::Window::menubar):
35371        (KJS::Window::personalbar):
35372        (KJS::Window::statusbar):
35373        (KJS::Window::toolbar):
35374        (KJS::Window::scrollbars):
35375        (KJS::allowPopUp):
35376        (KJS::createNewWindow):
35377        (KJS::canShowModalDialog):
35378        (KJS::canShowModalDialogNow):
35379        (KJS::showModalDialog):
35380        (KJS::Window::getValueProperty):
35381        (KJS::Window::childFrameGetter):
35382        (KJS::Window::namedFrameGetter):
35383        (KJS::Window::indexGetter):
35384        (KJS::Window::namedItemGetter):
35385        (KJS::Window::getOwnPropertySlot):
35386        (KJS::Window::put):
35387        (KJS::Window::toBoolean):
35388        (KJS::Window::scheduleClose):
35389        (KJS::Window::isSafeScript):
35390        (KJS::Window::setListener):
35391        (KJS::Window::getListener):
35392        (KJS::Window::setCurrentEvent):
35393        (KJS::WindowFunc::callAsFunction):
35394        (KJS::Window::updateLayout):
35395        (KJS::ScheduledAction::execute):
35396        (KJS::WindowQObject::WindowQObject):
35397        (KJS::FrameArray::getValueProperty):
35398        (KJS::FrameArray::indexGetter):
35399        (KJS::FrameArray::nameGetter):
35400        (KJS::FrameArray::getOwnPropertySlot):
35401        (KJS::Location::Location):
35402        (KJS::Location::getValueProperty):
35403        (KJS::Location::getOwnPropertySlot):
35404        (KJS::Location::put):
35405        (KJS::Location::toString):
35406        (KJS::LocationFunc::callAsFunction):
35407        (KJS::Selection::Selection):
35408        (KJS::Selection::getValueProperty):
35409        (KJS::Selection::getOwnPropertySlot):
35410        (KJS::Selection::toString):
35411        (KJS::SelectionFunc::callAsFunction):
35412        (KJS::BarInfo::BarInfo):
35413        (KJS::BarInfo::getValueProperty):
35414        (KJS::BarInfo::getOwnPropertySlot):
35415        (KJS::History::getValueProperty):
35416        (KJS::HistoryFunc::callAsFunction):
35417        * khtml/ecma/kjs_window.h:
35418        (KJS::Window::frame):
35419        (KJS::Location::frame):
35420        (KJS::Selection::frame):
35421        (KJS::BarInfo::frame):
35422        * khtml/ecma/xmlhttprequest.cpp:
35423        (KJS::XMLHttpRequest::changeState):
35424        (KJS::XMLHttpRequestProtoFunc::callAsFunction):
35425        * khtml/editing/SelectionController.cpp:
35426        (khtml::SelectionController::modify):
35427        (khtml::SelectionController::xPosForVerticalArrowNavigation):
35428        * khtml/editing/SelectionController.h:
35429        (khtml::SelectionController::frame):
35430        * khtml/editing/delete_selection_command.cpp:
35431        (khtml::DeleteSelectionCommand::calculateTypingStyleAfterDelete):
35432        * khtml/editing/edit_command.cpp:
35433        (khtml::EditCommand::EditCommand):
35434        (khtml::EditCommand::apply):
35435        (khtml::EditCommand::unapply):
35436        (khtml::EditCommand::reapply):
35437        (khtml::EditCommand::styleAtPosition):
35438        * khtml/editing/htmlediting.cpp:
35439        * khtml/editing/insert_line_break_command.cpp:
35440        (khtml::InsertLineBreakCommand::doApply):
35441        * khtml/editing/insert_text_command.cpp:
35442        (khtml::InsertTextCommand::input):
35443        * khtml/editing/jsediting.cpp:
35444        (DOM::JSEditor::execCommand):
35445        (DOM::JSEditor::queryCommandEnabled):
35446        (DOM::JSEditor::queryCommandIndeterm):
35447        (DOM::JSEditor::queryCommandState):
35448        (DOM::JSEditor::queryCommandValue):
35449        * khtml/editing/jsediting.h:
35450        * khtml/editing/replace_selection_command.cpp:
35451        (khtml::ReplaceSelectionCommand::doApply):
35452        * khtml/editing/text_granularity.h:
35453        * khtml/editing/typing_command.cpp:
35454        (khtml::TypingCommand::deleteKeyPressed):
35455        (khtml::TypingCommand::forwardDeleteKeyPressed):
35456        (khtml::TypingCommand::insertText):
35457        (khtml::TypingCommand::insertLineBreak):
35458        (khtml::TypingCommand::insertParagraphSeparatorInQuotedContent):
35459        (khtml::TypingCommand::insertParagraphSeparator):
35460        (khtml::TypingCommand::markMisspellingsAfterTyping):
35461        (khtml::TypingCommand::typingAddedToOpenCommand):
35462        (khtml::TypingCommand::insertTextRunWithoutNewlines):
35463        * khtml/html/html_baseimpl.cpp:
35464        (HTMLFrameElementImpl::isURLAllowed):
35465        (HTMLFrameElementImpl::openURL):
35466        (HTMLFrameElementImpl::attach):
35467        (HTMLFrameElementImpl::close):
35468        (HTMLFrameElementImpl::contentPart):
35469        (HTMLFrameElementImpl::contentDocument):
35470        (HTMLIFrameElementImpl::attach):
35471        * khtml/html/html_baseimpl.h:
35472        * khtml/html/html_canvasimpl.cpp:
35473        * khtml/html/html_documentimpl.cpp:
35474        (DOM::HTMLDocumentImpl::lastModified):
35475        * khtml/html/html_elementimpl.cpp:
35476        (HTMLElementImpl::isContentEditable):
35477        (HTMLElementImpl::setContentEditable):
35478        * khtml/html/html_formimpl.cpp:
35479        (DOM::HTMLFormElementImpl::formData):
35480        (DOM::HTMLFormElementImpl::prepareSubmit):
35481        (DOM::HTMLFormElementImpl::submit):
35482        (DOM::HTMLFormElementImpl::reset):
35483        (DOM::HTMLGenericFormElementImpl::isKeyboardFocusable):
35484        (DOM::HTMLKeygenElementImpl::appendFormData):
35485        * khtml/html/html_headimpl.cpp:
35486        (HTMLBaseElementImpl::process):
35487        (HTMLLinkElementImpl::process):
35488        (HTMLScriptElementImpl::parseMappedAttribute):
35489        (HTMLScriptElementImpl::insertedIntoDocument):
35490        (HTMLScriptElementImpl::evaluateScript):
35491        * khtml/html/html_imageimpl.cpp:
35492        * khtml/html/html_inlineimpl.cpp:
35493        (DOM::HTMLAnchorElementImpl::isKeyboardFocusable):
35494        (DOM::HTMLAnchorElementImpl::defaultEventHandler):
35495        * khtml/html/html_objectimpl.cpp:
35496        (DOM::HTMLAppletElementImpl::createRenderer):
35497        (DOM::HTMLAppletElementImpl::getAppletInstance):
35498        (DOM::HTMLEmbedElementImpl::getEmbedInstance):
35499        (DOM::HTMLEmbedElementImpl::rendererIsNeeded):
35500        (DOM::HTMLObjectElementImpl::getObjectInstance):
35501        (DOM::HTMLObjectElementImpl::rendererIsNeeded):
35502        * khtml/html/html_tableimpl.cpp:
35503        * khtml/html/htmlparser.cpp:
35504        (HTMLParser::noscriptCreateErrorCheck):
35505        * khtml/html/htmltokenizer.cpp:
35506        (khtml::HTMLTokenizer::scriptHandler):
35507        (khtml::HTMLTokenizer::scriptExecution):
35508        (khtml::HTMLTokenizer::parseTag):
35509        (khtml::HTMLTokenizer::write):
35510        (khtml::HTMLTokenizer::stopParsing):
35511        (khtml::HTMLTokenizer::timerEvent):
35512        (khtml::HTMLTokenizer::processToken):
35513        * khtml/khtml_part.cpp: Removed.
35514        * khtml/khtml_part.h: Removed.
35515        * khtml/khtmlpart_p.h:
35516        (KHTMLPartPrivate::KHTMLPartPrivate):
35517        * khtml/khtmlview.cpp:
35518        (KHTMLView::KHTMLView):
35519        (KHTMLView::~KHTMLView):
35520        (KHTMLView::clearPart):
35521        (KHTMLView::clear):
35522        (KHTMLView::resizeEvent):
35523        (KHTMLView::adjustViewSize):
35524        (KHTMLView::layout):
35525        (KHTMLView::updateDashboardRegions):
35526        (KHTMLView::viewportMousePressEvent):
35527        (KHTMLView::viewportMouseDoubleClickEvent):
35528        (selectCursor):
35529        (KHTMLView::viewportMouseMoveEvent):
35530        (KHTMLView::viewportMouseReleaseEvent):
35531        (KHTMLView::keyPressEvent):
35532        (KHTMLView::dispatchDragEvent):
35533        (KHTMLView::updateDragAndDrop):
35534        (KHTMLView::focusNextPrevNode):
35535        (KHTMLView::mediaType):
35536        (KHTMLView::dispatchMouseEvent):
35537        (KHTMLView::viewportWheelEvent):
35538        (KHTMLView::focusInEvent):
35539        (KHTMLView::focusOutEvent):
35540        (KHTMLView::timerEvent):
35541        (KHTMLView::scheduleRelayout):
35542        (KHTMLView::unscheduleRelayout):
35543        * khtml/khtmlview.h:
35544        (KHTMLView::frame):
35545        * khtml/misc/CachedImageCallback.cpp:
35546        (khtml::CachedImageCallback::notifyUpdate):
35547        (khtml::CachedImageCallback::notifyFinished):
35548        (khtml::CachedImageCallback::clear):
35549        * khtml/misc/CachedObject.h:
35550        * khtml/misc/DocLoader.cpp:
35551        (khtml::DocLoader::DocLoader):
35552        (khtml::DocLoader::requestImage):
35553        (khtml::DocLoader::requestStyleSheet):
35554        (khtml::DocLoader::requestScript):
35555        (khtml::DocLoader::requestXSLStyleSheet):
35556        (khtml::DocLoader::requestXBLDocument):
35557        * khtml/misc/DocLoader.h:
35558        (khtml::DocLoader::frame):
35559        * khtml/misc/loader.cpp:
35560        (khtml::Loader::slotReceivedResponse):
35561        * khtml/rendering/InlineTextBox.cpp:
35562        (khtml::InlineTextBox::paint):
35563        (khtml::InlineTextBox::paintMarkedTextUnderline):
35564        * khtml/rendering/InlineTextBox.h:
35565        * khtml/rendering/render_applet.cpp:
35566        (RenderApplet::createWidgetIfNecessary):
35567        * khtml/rendering/render_block.cpp:
35568        (khtml::RenderBlock::paintCaret):
35569        * khtml/rendering/render_canvas.cpp:
35570        * khtml/rendering/render_form.cpp:
35571        (RenderFileButton::RenderFileButton):
35572        * khtml/rendering/render_frames.cpp:
35573        (isURLAllowed):
35574        (RenderPartObject::updateWidget):
35575        * khtml/rendering/render_layer.cpp:
35576        * khtml/rendering/render_object.cpp:
35577        (RenderObject::draggableNode):
35578        * khtml/rendering/render_replaced.cpp:
35579        (RenderWidget::eventFilter):
35580        * khtml/xml/dom2_eventsimpl.h:
35581        * khtml/xml/dom_docimpl.cpp:
35582        (DocumentImpl::DocumentImpl):
35583        (DocumentImpl::updateTitle):
35584        (DocumentImpl::frame):
35585        (DocumentImpl::recalcStyle):
35586        (DocumentImpl::updateSelection):
35587        (DocumentImpl::open):
35588        (DocumentImpl::close):
35589        (DocumentImpl::implicitClose):
35590        (DocumentImpl::processHttpEquiv):
35591        (DocumentImpl::selectedStylesheetSet):
35592        (DocumentImpl::setSelectedStylesheetSet):
35593        (DocumentImpl::recalcStyleSelector):
35594        (DocumentImpl::relinquishesEditingFocus):
35595        (DocumentImpl::acceptsEditingFocus):
35596        (DocumentImpl::clearSelectionIfNeeded):
35597        (DocumentImpl::createHTMLEventListener):
35598        (DocumentImpl::ownerElement):
35599        (DocumentImpl::referrer):
35600        (DocumentImpl::parentDocument):
35601        * khtml/xml/dom_docimpl.h:
35602        * khtml/xml/dom_elementimpl.cpp:
35603        (ElementImpl::focus):
35604        * khtml/xml/dom_nodeimpl.cpp:
35605        (DOM::NodeImpl::dispatchEvent):
35606        * khtml/xml/dom_xmlimpl.cpp:
35607        (DOM::ProcessingInstructionImpl::checkStyleSheet):
35608        * khtml/xml/xml_tokenizer.cpp:
35609        (khtml::XMLTokenizer::processingInstruction):
35610        (khtml::XMLTokenizer::executeScripts):
35611        (khtml::XMLTokenizer::notifyFinished):
35612        * khtml/xsl/xslt_processorimpl.cpp:
35613        (DOM::XSLTProcessorImpl::createDocumentFromSource):
35614        * ksvg2/svg/SVGAElementImpl.cpp:
35615        (SVGAElementImpl::defaultEventHandler):
35616        * ksvg2/svg/SVGImageElementImpl.cpp:
35617        (SVGImageElementImpl::notifyFinished):
35618        * kwq/DOM.mm:
35619        (-[DOMNode KJS::Bindings::]):
35620        * kwq/DOMHTML.mm:
35621        * kwq/DOMInternal.mm:
35622        (-[WebScriptObject _initializeScriptDOMNodeImp]):
35623        * kwq/KWQAccObject.mm:
35624        (-[KWQAccObject textUnderElement]):
35625        (-[KWQAccObject value]):
35626        (-[KWQAccObject accessibilityPerformAction:]):
35627        (-[KWQAccObject accessibilityAttributeValue:]):
35628        (-[KWQAccObject doAXTextMarkerForPosition:]):
35629        (-[KWQAccObject rendererForView:]):
35630        (-[KWQAccObject doSetAXSelectedTextMarkerRange:]):
35631        * kwq/KWQClipboard.h:
35632        * kwq/KWQClipboard.mm:
35633        (KWQClipboard::KWQClipboard):
35634        (KWQClipboard::dragNSImage):
35635        * kwq/KWQComboBox.mm:
35636        (-[KWQPopUpButtonCell trackMouse:inRect:ofView:untilMouseUp:]):
35637        (-[KWQPopUpButton becomeFirstResponder]):
35638        (-[KWQPopUpButton resignFirstResponder]):
35639        (-[KWQPopUpButton nextKeyView]):
35640        (-[KWQPopUpButton previousKeyView]):
35641        * kwq/KWQFileButton.h:
35642        * kwq/KWQFileButton.mm:
35643        (KWQFileButton::KWQFileButton):
35644        (KWQFileButton::focusPolicy):
35645        (KWQFileButton::focusChanged):
35646        * kwq/KWQFrame.mm:
35647        (QFrame::setFrameStyle):
35648        * kwq/KWQKHTMLFactory.h:
35649        * kwq/KWQKHTMLPart.cpp: Removed.
35650        * kwq/KWQKHTMLPart.h: Removed.
35651        * kwq/KWQKHTMLPart.mm: Removed.
35652        * kwq/KWQKHTMLPartBrowserExtension.h:
35653        * kwq/KWQKHTMLPartBrowserExtension.mm:
35654        (KHTMLPartBrowserExtension::KHTMLPartBrowserExtension):
35655        (KHTMLPartBrowserExtension::openURLRequest):
35656        (KHTMLPartBrowserExtension::createNewWindow):
35657        (KHTMLPartBrowserExtension::setIconURL):
35658        (KHTMLPartBrowserExtension::setTypedIconURL):
35659        (KHTMLPartBrowserExtension::canRunModal):
35660        (KHTMLPartBrowserExtension::canRunModalNow):
35661        (KHTMLPartBrowserExtension::runModal):
35662        * kwq/KWQKHTMLView.cpp:
35663        (KHTMLView::topLevelWidget):
35664        * kwq/KWQKJavaAppletWidget.h:
35665        * kwq/KWQKJavaAppletWidget.mm:
35666        (KJavaAppletWidget::KJavaAppletWidget):
35667        * kwq/KWQKPartsBrowserInterface.h:
35668        (KParts::BrowserInterface::BrowserInterface):
35669        * kwq/KWQKPartsBrowserInterface.mm:
35670        (KParts::BrowserInterface::property):
35671        (KParts::BrowserInterface::callMethod):
35672        * kwq/KWQLineEdit.mm:
35673        * kwq/KWQListBox.mm:
35674        (-[KWQListBoxScrollView becomeFirstResponder]):
35675        (-[KWQTableView keyDown:]):
35676        (-[KWQTableView keyUp:]):
35677        (-[KWQTableView becomeFirstResponder]):
35678        (-[KWQTableView resignFirstResponder]):
35679        (-[KWQTableView nextKeyView]):
35680        (-[KWQTableView previousKeyView]):
35681        * kwq/KWQLoader.mm:
35682        (KWQServeRequest):
35683        (KWQServeSynchronousRequest):
35684        (KWQCheckIfReloading):
35685        (KWQCheckCacheObjectStatus):
35686        (KWQCacheObjectExpiresTime):
35687        * kwq/KWQObject.cpp:
35688        (QObject::inherits):
35689        (QObject::isFrame):
35690        * kwq/KWQObject.h:
35691        * kwq/KWQPageState.mm:
35692        (-[KWQPageState dealloc]):
35693        (-[KWQPageState finalize]):
35694        * kwq/KWQRegExp.cpp:
35695        (QRegExp::KWQRegExpPrivate::compile):
35696        * kwq/KWQRenderTreeDebug.cpp:
35697        (write):
35698        (writeSelection):
35699        * kwq/KWQSlider.mm:
35700        (-[KWQSlider becomeFirstResponder]):
35701        (-[KWQSlider resignFirstResponder]):
35702        (-[KWQSlider nextKeyView]):
35703        (-[KWQSlider previousKeyView]):
35704        (-[KWQSlider canBecomeKeyView]):
35705        (QSlider::focusPolicy):
35706        * kwq/KWQSlot.mm:
35707        (KWQSlot::KWQSlot):
35708        (KWQSlot::call):
35709        * kwq/KWQTextArea.mm:
35710        (-[KWQTextAreaTextView textDidChange:]):
35711        (-[KWQTextAreaTextView _isResizableByUser]):
35712        (-[KWQTextAreaTextView becomeFirstResponder]):
35713        (-[KWQTextAreaTextView nextKeyView]):
35714        (-[KWQTextAreaTextView previousKeyView]):
35715        (-[KWQTextAreaTextView _trackResizeFromMouseDown:]):
35716        (-[KWQTextAreaTextView drawRect:]):
35717        (-[KWQTextAreaTextView insertTab:]):
35718        (-[KWQTextAreaTextView insertBacktab:]):
35719        (-[KWQTextAreaTextView resignFirstResponder]):
35720        (-[KWQTextAreaTextView shouldDrawInsertionPoint]):
35721        (-[KWQTextAreaTextView selectedTextAttributes]):
35722        (-[KWQTextAreaTextView keyDown:]):
35723        (-[KWQTextAreaTextView keyUp:]):
35724        * kwq/KWQTextField.mm:
35725        (-[KWQTextFieldController controlTextDidBeginEditing:]):
35726        (-[KWQTextFieldController controlTextDidEndEditing:]):
35727        (-[KWQTextFieldController controlTextDidChange:]):
35728        (-[KWQTextFieldController control:textView:doCommandBySelector:]):
35729        (-[KWQTextFieldController textView:shouldHandleEvent:]):
35730        (-[KWQTextFieldController setHasFocus:]):
35731        (-[KWQTextField nextKeyView]):
35732        (-[KWQTextField previousKeyView]):
35733        (-[KWQSecureTextField nextKeyView]):
35734        (-[KWQSecureTextField previousKeyView]):
35735        (-[KWQSearchField nextKeyView]):
35736        (-[KWQSearchField previousKeyView]):
35737        * kwq/KWQTimer.h:
35738        * kwq/KWQWidget.mm:
35739        (QWidget::setActiveWindow):
35740        (QWidget::hasFocus):
35741        (QWidget::setFocus):
35742        (QWidget::clearFocus):
35743        (QWidget::isVisible):
35744        (QWidget::mapFromGlobal):
35745        (QWidget::setIsSelected):
35746        * kwq/MacFrame.cpp: Added.
35747        (MacFrame::isFrameSet):
35748        * kwq/MacFrame.h: Added.
35749        (MacFrame::instances):
35750        (Mac):
35751        * kwq/MacFrame.mm: Added.
35752        (Frame::completed):
35753        (Frame::openURL):
35754        (Frame::onURL):
35755        (Frame::setStatusBarText):
35756        (Frame::started):
35757        (redirectionTimerMonitor):
35758        (MacFrame::MacFrame):
35759        (MacFrame::~MacFrame):
35760        (MacFrame::freeClipboard):
35761        (MacFrame::setSettings):
35762        (MacFrame::generateFrameName):
35763        (MacFrame::provisionalLoadStarted):
35764        (MacFrame::userGestureHint):
35765        (MacFrame::openURL):
35766        (MacFrame::openURLRequest):
35767        (MacFrame::didNotOpenURL):
35768        (MacFrame::currentForm):
35769        (MacFrame::searchForLabelsAboveCell):
35770        (MacFrame::searchForLabelsBeforeElement):
35771        (MacFrame::matchLabelsAgainstElement):
35772        (MacFrame::findString):
35773        (MacFrame::clearRecordedFormValues):
35774        (MacFrame::recordFormValue):
35775        (MacFrame::submitForm):
35776        (MacFrame::setEncoding):
35777        (MacFrame::addData):
35778        (Frame::frameDetached):
35779        (MacFrame::urlSelected):
35780        (MacFrame::createPart):
35781        (MacFrame::setView):
35782        (MacFrame::view):
35783        (MacFrame::setTitle):
35784        (MacFrame::setStatusBarText):
35785        (MacFrame::scheduleClose):
35786        (MacFrame::unfocusWindow):
35787        (MacFrame::revealSelection):
35788        (MacFrame::advanceToNextMisspelling):
35789        (MacFrame::scrollOverflow):
35790        (MacFrame::wheelEvent):
35791        (MacFrame::redirectionTimerStartedOrStopped):
35792        (MacFrame::paint):
35793        (MacFrame::adjustPageHeight):
35794        (MacFrame::renderer):
35795        (MacFrame::userAgent):
35796        (MacFrame::mimeTypeForFileName):
35797        (MacFrame::nextKeyViewInFrame):
35798        (MacFrame::nextKeyViewInFrameHierarchy):
35799        (MacFrame::nextKeyView):
35800        (MacFrame::nextKeyViewForWidget):
35801        (MacFrame::currentEventIsMouseDownInWidget):
35802        (MacFrame::currentEventIsKeyboardOptionTab):
35803        (MacFrame::handleKeyboardOptionTabInView):
35804        (MacFrame::tabsToLinks):
35805        (MacFrame::tabsToAllControls):
35806        (MacFrame::executionContextForDOM):
35807        (MacFrame::bindingRootObject):
35808        (MacFrame::windowScriptObject):
35809        (MacFrame::windowScriptNPObject):
35810        (MacFrame::partClearedInBegin):
35811        (MacFrame::pauseTimeouts):
35812        (MacFrame::resumeTimeouts):
35813        (MacFrame::canCachePage):
35814        (MacFrame::saveWindowProperties):
35815        (MacFrame::saveLocationProperties):
35816        (MacFrame::restoreWindowProperties):
35817        (MacFrame::restoreLocationProperties):
35818        (MacFrame::saveInterpreterBuiltins):
35819        (MacFrame::restoreInterpreterBuiltins):
35820        (MacFrame::openURLFromPageCache):
35821        (MacFrame::frameForWidget):
35822        (MacFrame::bridgeForWidget):
35823        (MacFrame::frameForNode):
35824        (MacFrame::documentViewForNode):
35825        (MacFrame::nodeForWidget):
35826        (MacFrame::setDocumentFocus):
35827        (MacFrame::clearDocumentFocus):
35828        (MacFrame::saveDocumentState):
35829        (MacFrame::restoreDocumentState):
35830        (MacFrame::mutableInstances):
35831        (MacFrame::updatePolicyBaseURL):
35832        (MacFrame::setPolicyBaseURL):
35833        (MacFrame::requestedURLString):
35834        (MacFrame::incomingReferrer):
35835        (MacFrame::forceLayout):
35836        (MacFrame::forceLayoutWithPageWidthRange):
35837        (MacFrame::sendResizeEvent):
35838        (MacFrame::sendScrollEvent):
35839        (MacFrame::runJavaScriptAlert):
35840        (MacFrame::runJavaScriptConfirm):
35841        (MacFrame::runJavaScriptPrompt):
35842        (MacFrame::locationbarVisible):
35843        (MacFrame::menubarVisible):
35844        (MacFrame::personalbarVisible):
35845        (MacFrame::scrollbarsVisible):
35846        (MacFrame::statusbarVisible):
35847        (MacFrame::toolbarVisible):
35848        (MacFrame::addMessageToConsole):
35849        (MacFrame::createEmptyDocument):
35850        (MacFrame::addMetaData):
35851        (MacFrame::keyEvent):
35852        (MacFrame::scrollToAnchor):
35853        (MacFrame::closeURL):
35854        (MacFrame::canMouseDownStartSelect):
35855        (MacFrame::khtmlMousePressEvent):
35856        (MacFrame::khtmlMouseDoubleClickEvent):
35857        (MacFrame::passWidgetMouseDownEventToWidget):
35858        (MacFrame::lastEventIsMouseUp):
35859        (MacFrame::mouseDownViewIfStillGood):
35860        (MacFrame::dragHysteresisExceeded):
35861        (MacFrame::dispatchDragSrcEvent):
35862        (MacFrame::eventMayStartDrag):
35863        (MacFrame::khtmlMouseMoveEvent):
35864        (MacFrame::dragSourceMovedTo):
35865        (MacFrame::dragSourceEndedAt):
35866        (MacFrame::dispatchCPPEvent):
35867        (MacFrame::mayCut):
35868        (MacFrame::mayCopy):
35869        (MacFrame::mayPaste):
35870        (MacFrame::tryCut):
35871        (MacFrame::tryCopy):
35872        (MacFrame::tryPaste):
35873        (MacFrame::khtmlMouseReleaseEvent):
35874        (MacFrame::clearTimers):
35875        (MacFrame::passSubframeEventToSubframe):
35876        (MacFrame::passWheelEventToChildWidget):
35877        (MacFrame::mouseDown):
35878        (MacFrame::mouseDragged):
35879        (MacFrame::mouseUp):
35880        (MacFrame::sendFakeEventsAfterWidgetTracking):
35881        (MacFrame::mouseMoved):
35882        (MacFrame::shouldDragAutoNode):
35883        (MacFrame::sendContextMenuEvent):
35884        (MacFrame::fileWrapperForElement):
35885        (MacFrame::attributedString):
35886        (MacFrame::selectionRect):
35887        (MacFrame::visibleSelectionRect):
35888        (MacFrame::centerSelectionInVisibleArea):
35889        (MacFrame::imageFromRect):
35890        (MacFrame::selectionImage):
35891        (MacFrame::snapshotDragImage):
35892        (MacFrame::styleForSelectionStart):
35893        (MacFrame::fontForSelection):
35894        (MacFrame::fontAttributesForSelectionStart):
35895        (MacFrame::baseWritingDirectionForSelectionStart):
35896        (MacFrame::topLevelWidget):
35897        (MacFrame::tokenizerProcessedData):
35898        (MacFrame::selectionStartOffset):
35899        (MacFrame::selectionEndOffset):
35900        (MacFrame::selectionStart):
35901        (MacFrame::selectionEnd):
35902        (MacFrame::setBridge):
35903        (MacFrame::overrideMediaType):
35904        (MacFrame::setMediaType):
35905        (MacFrame::setSelectionFromNone):
35906        (MacFrame::setDisplaysWithFocusAttributes):
35907        (MacFrame::displaysWithFocusAttributes):
35908        (MacFrame::setWindowHasFocus):
35909        (MacFrame::backslashAsCurrencySymbol):
35910        (MacFrame::bodyBackgroundColor):
35911        (MacFrame::keyboardUIMode):
35912        (MacFrame::setName):
35913        (MacFrame::didTellBridgeAboutLoad):
35914        (MacFrame::haveToldBridgeAboutLoad):
35915        (MacFrame::clear):
35916        (Frame::print):
35917        (MacFrame::getAppletInstanceForWidget):
35918        (MacFrame::getEmbedInstanceForWidget):
35919        (MacFrame::getObjectInstanceForWidget):
35920        (MacFrame::addPluginRootObject):
35921        (MacFrame::cleanupPluginRootObjects):
35922        (MacFrame::registerCommandForUndoOrRedo):
35923        (MacFrame::registerCommandForUndo):
35924        (MacFrame::registerCommandForRedo):
35925        (MacFrame::clearUndoRedoOperations):
35926        (MacFrame::issueUndoCommand):
35927        (MacFrame::issueRedoCommand):
35928        (MacFrame::issueCutCommand):
35929        (MacFrame::issueCopyCommand):
35930        (MacFrame::issuePasteCommand):
35931        (MacFrame::issuePasteAndMatchStyleCommand):
35932        (MacFrame::issueTransposeCommand):
35933        (Frame::canUndo):
35934        (Frame::canRedo):
35935        (Frame::canPaste):
35936        (MacFrame::markMisspellingsInAdjacentWords):
35937        (MacFrame::markMisspellings):
35938        (MacFrame::respondToChangedSelection):
35939        (MacFrame::shouldChangeSelection):
35940        (MacFrame::respondToChangedContents):
35941        (MacFrame::isContentEditable):
35942        (MacFrame::shouldBeginEditing):
35943        (MacFrame::shouldEndEditing):
35944        (convertAttributesToUnderlines):
35945        (MacFrame::setMarkedTextRange):
35946        (MacFrame::markedTextUsesUnderlines):
35947        (MacFrame::markedTextUnderlines):
35948        (MacFrame::canGoBackOrForward):
35949        (MacFrame::prepareForUserAction):
35950        (MacFrame::didFirstLayout):
35951        (MacFrame::dashboardRegionsDictionary):
35952        (MacFrame::dashboardRegionsChanged):
35953        (MacFrame::isCharacterSmartReplaceExempt):
35954        (MacFrame::isFrame):
35955        (MacFrame::mousePressNode):
35956        (MacFrame::handledOnloadEvents):
35957        (MacFrame::shouldClose):
35958        * kwq/WebCoreBridge.h:
35959        * kwq/WebCoreBridge.mm:
35960        (updateRenderingForBindings):
35961        (frameHasSelection):
35962        (+[WebCoreBridge bridgeForDOMDocument:]):
35963        (-[WebCoreBridge init]):
35964        (-[WebCoreBridge initializeSettings:]):
35965        (-[WebCoreBridge dealloc]):
35966        (-[WebCoreBridge finalize]):
35967        (-[WebCoreBridge part]):
35968        (-[WebCoreBridge setParent:]):
35969        (-[WebCoreBridge parent]):
35970        (-[WebCoreBridge provisionalLoadStarted]):
35971        (-[WebCoreBridge openURL:reload:contentType:refresh:lastModified:pageCache:]):
35972        (-[WebCoreBridge setEncoding:userChosen:]):
35973        (-[WebCoreBridge addData:]):
35974        (-[WebCoreBridge closeURL]):
35975        (-[WebCoreBridge stopLoading]):
35976        (-[WebCoreBridge didNotOpenURL:pageCache:]):
35977        (-[WebCoreBridge saveDocumentState]):
35978        (-[WebCoreBridge restoreDocumentState]):
35979        (-[WebCoreBridge scrollToAnchorWithURL:]):
35980        (-[WebCoreBridge scrollOverflowInDirection:granularity:]):
35981        (-[WebCoreBridge sendScrollWheelEvent:]):
35982        (-[WebCoreBridge saveDocumentToPageCache]):
35983        (-[WebCoreBridge canCachePage]):
35984        (-[WebCoreBridge clear]):
35985        (-[WebCoreBridge end]):
35986        (-[WebCoreBridge stop]):
35987        (-[WebCoreBridge handleFallbackContent]):
35988        (-[WebCoreBridge createKHTMLViewWithNSView:marginWidth:marginHeight:]):
35989        (-[WebCoreBridge scrollToAnchor:]):
35990        (-[WebCoreBridge isSelectionEditable]):
35991        (-[WebCoreBridge selectionState]):
35992        (-[WebCoreBridge _documentTypeString]):
35993        (-[WebCoreBridge selectedString]):
35994        (-[WebCoreBridge stringForRange:]):
35995        (-[WebCoreBridge selectAll]):
35996        (-[WebCoreBridge deselectAll]):
35997        (-[WebCoreBridge deselectText]):
35998        (-[WebCoreBridge isFrameSet]):
35999        (-[WebCoreBridge reapplyStylesForDeviceType:]):
36000        (nowPrinting):
36001        (-[WebCoreBridge _setupRootForPrinting:]):
36002        (-[WebCoreBridge forceLayoutAdjustingViewSize:]):
36003        (-[WebCoreBridge forceLayoutWithMinimumPageWidth:maximumPageWidth:adjustingViewSize:]):
36004        (-[WebCoreBridge sendResizeEvent]):
36005        (-[WebCoreBridge sendScrollEvent]):
36006        (-[WebCoreBridge drawRect:withPainter:]):
36007        (-[WebCoreBridge drawRect:]):
36008        (-[WebCoreBridge computePageRectsWithPrintWidthScaleFactor:printHeight:]):
36009        (-[WebCoreBridge adjustPageHeightNew:top:bottom:limit:]):
36010        (-[WebCoreBridge copyDOMTree:]):
36011        (-[WebCoreBridge copyRenderTree:]):
36012        (-[WebCoreBridge removeFromFrame]):
36013        (-[WebCoreBridge installInFrame:]):
36014        (-[WebCoreBridge setActivationEventNumber:]):
36015        (-[WebCoreBridge mouseDown:]):
36016        (-[WebCoreBridge mouseDragged:]):
36017        (-[WebCoreBridge mouseUp:]):
36018        (-[WebCoreBridge mouseMoved:]):
36019        (-[WebCoreBridge sendContextMenuEvent:]):
36020        (-[WebCoreBridge currentForm]):
36021        (-[WebCoreBridge searchForLabels:beforeElement:]):
36022        (-[WebCoreBridge matchLabels:againstElement:]):
36023        (-[WebCoreBridge elementAtPoint:]):
36024        (-[WebCoreBridge URLWithAttributeString:]):
36025        (-[WebCoreBridge searchFor:direction:caseSensitive:wrap:]):
36026        (-[WebCoreBridge advanceToNextMisspelling]):
36027        (-[WebCoreBridge advanceToNextMisspellingStartingJustBeforeSelection]):
36028        (-[WebCoreBridge unmarkAllMisspellings]):
36029        (-[WebCoreBridge setTextSizeMultiplier:]):
36030        (-[WebCoreBridge textEncoding]):
36031        (-[WebCoreBridge nextKeyView]):
36032        (-[WebCoreBridge previousKeyView]):
36033        (-[WebCoreBridge nextKeyViewInsideWebFrameViews]):
36034        (-[WebCoreBridge previousKeyViewInsideWebFrameViews]):
36035        (-[WebCoreBridge stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
36036        (-[WebCoreBridge windowScriptObject]):
36037        (-[WebCoreBridge windowScriptNPObject]):
36038        (-[WebCoreBridge DOMDocument]):
36039        (-[WebCoreBridge selectedAttributedString]):
36040        (-[WebCoreBridge attributedStringFrom:startOffset:to:endOffset:]):
36041        (-[WebCoreBridge selectionRect]):
36042        (-[WebCoreBridge visibleSelectionRect]):
36043        (-[WebCoreBridge centerSelectionInVisibleArea]):
36044        (-[WebCoreBridge selectionImage]):
36045        (-[WebCoreBridge setName:]):
36046        (-[WebCoreBridge name]):
36047        (-[WebCoreBridge URL]):
36048        (-[WebCoreBridge baseURL]):
36049        (-[WebCoreBridge referrer]):
36050        (-[WebCoreBridge domain]):
36051        (-[WebCoreBridge opener]):
36052        (-[WebCoreBridge setOpener:]):
36053        (-[WebCoreBridge needsLayout]):
36054        (-[WebCoreBridge setNeedsLayout]):
36055        (-[WebCoreBridge interceptKeyEvent:toView:]):
36056        (-[WebCoreBridge renderTreeAsExternalRepresentation]):
36057        (-[WebCoreBridge setSelectionFromNone]):
36058        (-[WebCoreBridge setDisplaysWithFocusAttributes:]):
36059        (-[WebCoreBridge setWindowHasFocus:]):
36060        (-[WebCoreBridge numPendingOrLoadingRequests]):
36061        (-[WebCoreBridge doneProcessingData]):
36062        (-[WebCoreBridge shouldClose]):
36063        (-[WebCoreBridge bodyBackgroundColor]):
36064        (-[WebCoreBridge selectionColor]):
36065        (-[WebCoreBridge adjustViewSize]):
36066        (-[WebCoreBridge accessibilityTree]):
36067        (-[WebCoreBridge setDrawsBackground:]):
36068        (-[WebCoreBridge rangeByExpandingSelectionWithGranularity:]):
36069        (-[WebCoreBridge rangeByAlteringCurrentSelection:direction:granularity:]):
36070        (-[WebCoreBridge alterCurrentSelection:direction:granularity:]):
36071        (-[WebCoreBridge rangeByAlteringCurrentSelection:verticalDistance:]):
36072        (-[WebCoreBridge alterCurrentSelection:verticalDistance:]):
36073        (-[WebCoreBridge selectionGranularity]):
36074        (-[WebCoreBridge setSelectedDOMRange:affinity:closeTyping:]):
36075        (-[WebCoreBridge selectedDOMRange]):
36076        (-[WebCoreBridge convertToNSRange:DOM::]):
36077        (-[WebCoreBridge convertToDOMRange:]):
36078        (-[WebCoreBridge selectNSRange:]):
36079        (-[WebCoreBridge selectedNSRange]):
36080        (-[WebCoreBridge selectionAffinity]):
36081        (-[WebCoreBridge setMarkDOMRange:]):
36082        (-[WebCoreBridge markDOMRange]):
36083        (-[WebCoreBridge setMarkedTextDOMRange:customAttributes:ranges:]):
36084        (-[WebCoreBridge markedTextDOMRange]):
36085        (-[WebCoreBridge markedTextNSRange]):
36086        (-[WebCoreBridge replaceMarkedTextWithText:]):
36087        (-[WebCoreBridge smartDeleteRangeForProposedRange:]):
36088        (-[WebCoreBridge smartInsertForString:replacingRange:beforeString:afterString:]):
36089        (-[WebCoreBridge documentFragmentWithMarkupString:baseURLString:]):
36090        (-[WebCoreBridge documentFragmentWithText:]):
36091        (-[WebCoreBridge documentFragmentWithNodesAsParagraphs:]):
36092        (-[WebCoreBridge replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]):
36093        (-[WebCoreBridge insertLineBreak]):
36094        (-[WebCoreBridge insertParagraphSeparator]):
36095        (-[WebCoreBridge insertParagraphSeparatorInQuotedContent]):
36096        (-[WebCoreBridge insertText:selectInsertedText:]):
36097        (-[WebCoreBridge setSelectionToDragCaret]):
36098        (-[WebCoreBridge moveSelectionToDragCaret:smartMove:]):
36099        (-[WebCoreBridge _visiblePositionForPoint:]):
36100        (-[WebCoreBridge moveDragCaretToPoint:]):
36101        (-[WebCoreBridge removeDragCaret]):
36102        (-[WebCoreBridge dragCaretDOMRange]):
36103        (-[WebCoreBridge deleteSelectionWithSmartDelete:]):
36104        (-[WebCoreBridge deleteKeyPressedWithSmartDelete:]):
36105        (-[WebCoreBridge forwardDeleteKeyPressedWithSmartDelete:]):
36106        (-[WebCoreBridge typingStyle]):
36107        (-[WebCoreBridge setTypingStyle:withUndoAction:]):
36108        (-[WebCoreBridge applyStyle:withUndoAction:]):
36109        (-[WebCoreBridge applyParagraphStyle:withUndoAction:]):
36110        (-[WebCoreBridge selectionStartHasStyle:]):
36111        (-[WebCoreBridge selectionHasStyle:]):
36112        (-[WebCoreBridge applyEditingStyleToBodyElement]):
36113        (-[WebCoreBridge removeEditingStyleFromBodyElement]):
36114        (-[WebCoreBridge applyEditingStyleToElement:]):
36115        (-[WebCoreBridge removeEditingStyleFromElement:]):
36116        (-[WebCoreBridge fontForSelection:]):
36117        (-[WebCoreBridge fontAttributesForSelectionStart]):
36118        (-[WebCoreBridge baseWritingDirectionForSelectionStart]):
36119        (-[WebCoreBridge ensureSelectionVisible]):
36120        (-[WebCoreBridge eventMayStartDrag:]):
36121        (-[WebCoreBridge dragOperationForDraggingInfo:]):
36122        (-[WebCoreBridge dragExitedWithDraggingInfo:]):
36123        (-[WebCoreBridge concludeDragForDraggingInfo:]):
36124        (-[WebCoreBridge dragSourceMovedTo:]):
36125        (-[WebCoreBridge dragSourceEndedAt:operation:]):
36126        (-[WebCoreBridge mayDHTMLCut]):
36127        (-[WebCoreBridge mayDHTMLCopy]):
36128        (-[WebCoreBridge mayDHTMLPaste]):
36129        (-[WebCoreBridge tryDHTMLCut]):
36130        (-[WebCoreBridge tryDHTMLCopy]):
36131        (-[WebCoreBridge tryDHTMLPaste]):
36132        (-[WebCoreBridge rangeOfCharactersAroundCaret]):
36133        (-[WebCoreBridge dashboardRegions]):
36134        (-[WebCoreBridge executionContextForView:]):
36135        * kwq/WebCoreSettings.mm:
36136        (-[WebCoreSettings _updateAllViews]):
36137        * kwq/WebCoreTextRendererFactory.mm:
36138        (-[WebCoreTextRendererFactory clearCaches]):
36139
361402006-01-09  Darin Adler  <darin@apple.com>
36141
36142        * Makefile.am: Removed.
36143
361442006-01-09  John Sullivan  <sullivan@apple.com>
36145
36146        * khtml/misc/decoder.cpp:
36147        removed #include of recently-removed kcharsets.h to fix build
36148
361492006-01-08  Alexander Kellett  <lypanov@kde.org>
36150
36151        Reviewed by eseidel.  Committed by eseidel.
36152
36153        First set of refactors to fix
36154        http://bugs.webkit.org/show_bug.cgi?id=5748.
36155
36156        Refactors to delay paintserver creation until usage and thereby
36157        simplify much code in the process. Causes several changes in rendertree
36158        output all of which are improvements rather than regressions.
36159
36160        * kcanvas/KCanvasItem.cpp: setupForDraw() logic moved to KCanvasItemQuartz
36161        * kcanvas/KCanvasItem.h:
36162        * kcanvas/KCanvasResources.cpp:
36163        (KCanvasResource::addClient): const-ify
36164        * kcanvas/KCanvasResources.h:
36165        * kcanvas/KCanvasTreeDebug.cpp:
36166        (writeStyle): minor refactor/inline - keeps most output the same after
36167        patch, some minor const'ifications
36168        * kcanvas/device/KRenderingFillPainter.cpp:
36169        setter
36170        (KRenderingFillPainter::Private::Private):
36171        * kcanvas/device/KRenderingFillPainter.h: refactor out paintserver and
36172        draw()
36173        * kcanvas/device/KRenderingStrokePainter.cpp: refactor out paintserver
36174        and draw()
36175        (KRenderingStrokePainter::Private::Private):
36176        * kcanvas/device/KRenderingStrokePainter.h:
36177        * kcanvas/device/quartz/KCanvasItemQuartz.mm:
36178        (KCanvasItemQuartz::paint):
36179        (KCanvasItemQuartz::hitsPath):
36180        * ksvg2/misc/KCanvasRenderingStyle.cpp:
36181        (KCanvasRenderingStyle::KCanvasRenderingStyle):
36182        (KCanvasRenderingStyle::~KCanvasRenderingStyle):
36183        (KCanvasRenderingStyle::overrideFillPaintServer):
36184        (KCanvasRenderingStyle::isFilled):
36185        (KCanvasRenderingStyle::fillPaintServer):
36186        (KCanvasRenderingStyle::overrideStrokePaintServer):
36187        (KCanvasRenderingStyle::isStroked):
36188        (KCanvasRenderingStyle::strokePaintServer):
36189        (KCanvasRenderingStyle::updateStyle): remove paintserver constructions
36190        from update notification and instead create on usage, removing
36191        disable.*Painter() methods
36192        * ksvg2/misc/KCanvasRenderingStyle.h:
36193        * ksvg2/svg/SVGImageElementImpl.cpp:
36194        (SVGImageElementImpl::notifyFinished): use paintserver override logic
36195
361962006-01-09  Alexey Proskuryakov  <ap@nypop.com>
36197
36198        Fix broken build (CachedObject.cpp was still including kcharsets.h).
36199        Proposed and reviewed by Eric Seidel.
36200
362012006-01-09  Eric Seidel  <eseidel@apple.com>
36202
36203        Reviewed by mjs.
36204
36205        Remove more unused code from kwq.
36206
36207        * ForwardingHeaders/dcopclient.h: Removed.
36208        * ForwardingHeaders/kaction.h: Removed.
36209        * ForwardingHeaders/kcharsets.h: Removed.
36210        * ForwardingHeaders/kcombobox.h: Removed.
36211        * ForwardingHeaders/klineedit.h: Removed.
36212        * ForwardingHeaders/klistbox.h: Removed.
36213        * ForwardingHeaders/kwin.h: Removed.
36214        * ForwardingHeaders/qcombobox.h: Added.
36215        * ForwardingHeaders/qlineedit.h: Added.
36216        * WebCore.xcodeproj/project.pbxproj: remove files.
36217        * khtml/css/csshelper.cpp:
36218        * khtml/css/cssstyleselector.cpp:
36219        * khtml/ecma/kjs_window.cpp:
36220        (KJS::Window::getValueProperty):
36221        * khtml/html/html_documentimpl.cpp:
36222        * khtml/html/html_formimpl.cpp:
36223        (DOM::HTMLOptionElementImpl::index):
36224        (DOM::HTMLOptionElementImpl::setIndex):
36225        * khtml/html/htmltokenizer.cpp:
36226        * khtml/html/htmltokenizer.h:
36227        * khtml/khtml_part.cpp:
36228        * khtml/khtmlpart_p.h:
36229        * khtml/rendering/render_form.cpp:
36230        (RenderLineEdit::RenderLineEdit):
36231        (RenderLineEdit::setStyle):
36232        (RenderLineEdit::updateFromElement):
36233        (RenderLineEdit::selectionStart):
36234        (RenderLineEdit::selectionEnd):
36235        (RenderLineEdit::setSelectionStart):
36236        (RenderLineEdit::setSelectionEnd):
36237        (RenderLineEdit::select):
36238        (RenderLineEdit::setSelectionRange):
36239        (ComboBoxWidget::ComboBoxWidget):
36240        (ComboBoxWidget::event):
36241        (ComboBoxWidget::eventFilter):
36242        (RenderSelect::setWidgetWritingDirection):
36243        (RenderSelect::updateFromElement):
36244        (RenderSelect::layout):
36245        (RenderSelect::slotSelectionChanged):
36246        (RenderSelect::createListBox):
36247        (RenderSelect::updateSelection):
36248        (RenderTextArea::RenderTextArea):
36249        * khtml/rendering/render_form.h:
36250        (khtml::RenderLineEdit::widget):
36251        * kwq/KWQDCOPClient.h: Removed.
36252        * kwq/KWQKCharsets.cpp: Removed.
36253        * kwq/KWQKCharsets.h: Removed.
36254        * kwq/KWQKComboBox.h: Removed.
36255        * kwq/KWQKKAction.h: Removed.
36256        * kwq/KWQKLineEdit.h: Removed.
36257        * kwq/KWQKListBox.h: Removed.
36258        * kwq/KWQKWin.cpp: Removed.
36259        * kwq/KWQKWin.h: Removed.
36260        * kwq/KWQWidget.h:
36261        * kwq/KWQWidget.mm:
36262
362632006-01-09  Eric Seidel  <eseidel@apple.com>
36264
36265        Reviewed by mjs.
36266
36267        Removing more unused parts of KWQ.
36268
36269        * ForwardingHeaders/java/kjavaappletcontext.h: Removed.
36270        * ForwardingHeaders/khtml_find.h: Removed.
36271        * ForwardingHeaders/qimage.h: Removed.
36272        * ForwardingHeaders/rendering/break_lines.h: Removed.
36273        * ForwardingHeaders/rendering/render_text.h: Removed.
36274        * ForwardingHeaders/xbl/xbl_docimpl.h: Removed.
36275        * WebCore.xcodeproj/project.pbxproj:
36276        * khtml/html/html_canvasimpl.cpp:
36277        * khtml/html/html_imageimpl.cpp:
36278        * khtml/html/html_objectimpl.cpp:
36279        * khtml/html/html_objectimpl.h:
36280        * khtml/khtml_part.cpp:
36281        (KHTMLPart::init):
36282        (KHTMLPart::~KHTMLPart):
36283        (KHTMLPart::clear):
36284        * khtml/khtml_part.h:
36285        * khtml/khtmlpart_p.h:
36286        (KHTMLPartPrivate::KHTMLPartPrivate):
36287        (KHTMLPartPrivate::~KHTMLPartPrivate):
36288        * khtml/rendering/render_applet.cpp:
36289        (RenderApplet::RenderApplet):
36290        (RenderApplet::createWidgetIfNecessary):
36291        * khtml/rendering/render_applet.h:
36292        * ksvg2/svg/SVGFEImageElementImpl.cpp:
36293        * ksvg2/svg/SVGImageElementImpl.cpp:
36294        * kwq/DOMHTML.mm:
36295        * kwq/KWQDummyView.h: Removed.
36296        * kwq/KWQDummyView.m: Removed.
36297        * kwq/KWQImage.h: Removed.
36298        * kwq/KWQKHTMLFind.h: Removed.
36299        * kwq/KWQKHTMLPart.mm:
36300        * kwq/KWQKHTMLPartBrowserExtension.h:
36301        * kwq/KWQKJavaAppletContext.h: Removed.
36302        * kwq/KWQKJavaAppletWidget.h:
36303        * kwq/KWQKJavaAppletWidget.mm:
36304        (KJavaAppletWidget::KJavaAppletWidget):
36305        * kwq/KWQKPartsBrowserExtension.h:
36306        * kwq/KWQObject.h:
36307        * kwq/KWQRegion.h:
36308
363092006-01-09  Eric Seidel  <eseidel@apple.com>
36310
36311        Rubber stamped by mjs.
36312
36313        Broke out loader.{h,cpp} into multiple files, one per class.
36314        This patch also updates all files which previously included
36315        loader.h to only include the necessary renamed headers.
36316        http://bugs.webkit.org/show_bug.cgi?id=6444
36317
36318        * ForwardingHeaders/kdom/cache/KDOMCachedDocument.h: Removed.
36319        * ForwardingHeaders/kdom/cache/KDOMCachedImage.h: updated include
36320        * ForwardingHeaders/kdom/cache/KDOMCachedObject.h: updated include
36321        * ForwardingHeaders/kdom/cache/KDOMCachedScript.h: updated include
36322        * WebCore.xcodeproj/project.pbxproj: added files
36323        * khtml/css/css_computedstyle.cpp: updated includes
36324        * khtml/css/css_ruleimpl.cpp: updated includes
36325        * khtml/css/css_stylesheetimpl.h: updated includes
36326        * khtml/css/css_valueimpl.cpp: updated includes
36327        * khtml/css/cssstyleselector.cpp: updated includes
36328        * khtml/ecma/kjs_events.cpp: updated includes
36329        * khtml/ecma/kjs_html.cpp: updated includes
36330        * khtml/ecma/xmlhttprequest.cpp: updated includes
36331        * khtml/html/html_headimpl.cpp: updated includes
36332        * khtml/html/html_imageimpl.cpp: updated includes
36333        * khtml/html/html_imageimpl.h: updated includes
36334        * khtml/html/htmltokenizer.cpp: updated includes
36335        * khtml/khtml_part.cpp: updated includes
36336        * khtml/khtmlview.cpp: updated includes
36337        * khtml/misc/Cache.cpp: Added.
36338        * khtml/misc/Cache.h: Added.
36339        * khtml/misc/CachedCSSStyleSheet.cpp: Added.
36340        * khtml/misc/CachedCSSStyleSheet.h: Added.
36341        * khtml/misc/CachedImage.cpp: Added.
36342        * khtml/misc/CachedImage.h: Added.
36343        * khtml/misc/CachedImageCallback.cpp: Added.
36344        * khtml/misc/CachedImageCallback.h: Added.
36345        * khtml/misc/CachedObject.cpp: Added.
36346        * khtml/misc/CachedObject.h: Added, fixed tabs -> spaces.
36347        * khtml/misc/CachedObjectClientWalker.cpp: Added.
36348        * khtml/misc/CachedObjectClientWalker.h: Added.
36349        * khtml/misc/CachedScript.cpp: Added.
36350        * khtml/misc/CachedScript.h: Added.
36351        * khtml/misc/CachedXBLDocument.cpp: Added.
36352        * khtml/misc/CachedXBLDocument.h: Added.
36353        * khtml/misc/CachedXSLStyleSheet.cpp: Added.
36354        * khtml/misc/CachedXSLStyleSheet.h: Added.
36355        * khtml/misc/DocLoader.cpp: Added.
36356        * khtml/misc/DocLoader.h: Added.
36357        * khtml/misc/Request.cpp: Added.
36358        * khtml/misc/Request.h: Added.
36359        * khtml/misc/loader.cpp: updated includes
36360        * khtml/misc/loader.h: updated includes
36361        * khtml/misc/loader_client.h: updated includes
36362        * khtml/rendering/render_box.cpp: updated includes
36363        * khtml/rendering/render_line.cpp: updated includes
36364        * khtml/rendering/render_list.cpp: updated includes
36365        * khtml/rendering/render_object.cpp: updated includes
36366        * khtml/xml/dom_docimpl.cpp: updated includes
36367        * khtml/xml/dom_xmlimpl.cpp: updated includes
36368        * khtml/xml/xml_tokenizer.cpp: updated includes
36369        * khtml/xsl/xsl_stylesheetimpl.cpp: updated includes
36370        * khtml/xsl/xsl_stylesheetimpl.h: updated includes
36371        * khtml/xsl/xslt_processorimpl.cpp: updated includes
36372        * ksvg2/svg/SVGCursorElementImpl.cpp: updated includes
36373        * ksvg2/svg/SVGDocumentImpl.cpp: updated includes
36374        * ksvg2/svg/SVGFEImageElementImpl.cpp: updated includes
36375        * ksvg2/svg/SVGImageElementImpl.cpp: updated includes
36376        * ksvg2/svg/SVGImageElementImpl.h: updated includes
36377        * kwq/KWQKHTMLPart.mm: updated includes
36378        * kwq/KWQLoader.mm: updated includes
36379        * kwq/KWQPixmap.mm: updated includes
36380        * kwq/KWQTextArea.mm: updated includes
36381        * kwq/WebCoreBridge.mm: updated includes
36382        * kwq/WebCoreCache.mm: updated includes
36383
363842006-01-09  Alexey Proskuryakov  <ap@nypop.com>
36385
36386        Reviewed by Maciej.
36387
36388        - fix http://bugs.webkit.org/show_bug.cgi?id=6402
36389          Implement frameElement.width and frameElement.height
36390
36391        Test case: fast/frames/frameElement-widthheight.html
36392
36393        * khtml/ecma/kjs_html.cpp:
36394        (KJS::HTMLElement::frameGetter):
36395        * khtml/ecma/kjs_html.h:
36396        Add FrameWidth, FrameHeight
36397
36398        * khtml/html/html_baseimpl.cpp:
36399        (HTMLFrameElementImpl::frameWidth):
36400        (HTMLFrameElementImpl::frameHeight):
36401        * khtml/html/html_baseimpl.h:
36402        Add frameWidth, frameHeight
36403
364042006-01-09  Mitz Pettel  <opendarwin.org@mitzpettel.com>
36405
36406        Reviewed by Maciej, landed by ap.
36407
36408        Test: fast/replaced/inline-box-wrapper-handover.html
36409
36410        - fix http://bugs.webkit.org/show_bug.cgi?id=6276
36411          Image thumbnails are misplaced on forum.2ostrov.ru
36412
36413        * khtml/rendering/render_line.cpp:
36414        (khtml::InlineBox::deleteLine): Don't reset the inline box wrapper when
36415        deleting an extracted box.
36416
364172006-01-08  Eric Seidel  <eseidel@apple.com>
36418
36419        Reviewed by ggaren.
36420
36421        Remove all mention of NSView from khtml.
36422
36423        * khtml/html/html_objectimpl.cpp:
36424        (DOM::HTMLAppletElementImpl::getAppletInstance): call w/ widget
36425        (DOM::HTMLEmbedElementImpl::getEmbedInstance): call w/ widget
36426        (DOM::HTMLObjectElementImpl::getObjectInstance): call w/ widget
36427        * kwq/KWQKHTMLPart.h:
36428        * kwq/KWQKHTMLPart.mm:
36429        (KWQKHTMLPart::getAppletInstanceForWidget): renamed.
36430        (KWQKHTMLPart::getEmbedInstanceForWidget): renamed.
36431        (KWQKHTMLPart::getObjectInstanceForWidget): renamed.
36432
364332006-01-08  Eric Seidel  <eseidel@apple.com>
36434
36435        Rubber stamped by ggaren.
36436
36437        * ForwardingHeaders/qsortedlist.h: Added. (a khtml file was referencing KWQ directly.)
36438        * WebCore.xcodeproj/project.pbxproj: added new files.
36439        * khtml/editing/SelectionController.cpp: updated includes
36440        * khtml/editing/composite_edit_command.cpp: updated includes
36441        * khtml/editing/htmlediting.cpp: updated includes
36442        * khtml/editing/markup.cpp: updated includes
36443        * khtml/editing/visible_position.cpp: updated includes
36444        * khtml/editing/visible_text.cpp: updated includes
36445        * khtml/editing/visible_text.h: updated includes
36446        * khtml/editing/visible_units.cpp: updated includes
36447        * khtml/khtml_part.cpp: updated includes
36448        * khtml/khtmlview.cpp: updated includes
36449        * khtml/rendering/InlineTextBox.cpp: Split out from render_text
36450        * khtml/rendering/InlineTextBox.h: Split out from render_text
36451        * khtml/rendering/RenderText.cpp: Split out from render_text
36452        (khtml::RenderText::position): removed DEBUG_LAYOUT
36453        * khtml/rendering/RenderText.h: Split out from render_text
36454        * khtml/rendering/RenderTextFragment.cpp: Split out from render_text
36455        * khtml/rendering/RenderTextFragment.h: Split out from render_text
36456        * khtml/rendering/bidi.cpp: updated includes
36457        * khtml/rendering/render_block.cpp: updated includes
36458        * khtml/rendering/render_br.cpp: updated includes
36459        * khtml/rendering/render_br.h: updated includes
36460        * khtml/rendering/render_button.cpp: updated includes
36461        * khtml/rendering/render_container.cpp: updated includes
36462        * khtml/rendering/render_flow.cpp: updated includes
36463        * khtml/rendering/render_line.cpp: updated includes
36464        * khtml/rendering/render_object.cpp: updated includes
36465        * khtml/rendering/render_text.cpp: Removed.
36466        * khtml/rendering/render_text.h: Removed.
36467        * khtml/xml/dom_docimpl.cpp: updated includes
36468        * khtml/xml/dom_nodeimpl.cpp: updated includes
36469        * khtml/xml/dom_position.cpp: updated includes
36470        * khtml/xml/dom_textimpl.cpp: updated includes
36471        * kwq/KWQAccObject.mm: updated includes
36472        * kwq/KWQKHTMLPart.mm: updated includes
36473        * kwq/KWQRenderTreeDebug.cpp: updated includes
36474
364752006-01-08  Eric Seidel  <eseidel@apple.com>
36476
36477        Reviewed by mjs & xenon.
36478
36479        Renamed a few in kwq/ from .mm to .cpp
36480
36481        * WebCore.xcodeproj/project.pbxproj: updated paths
36482        * kwq/KWQDictImpl.cpp: Added.
36483        * kwq/KWQDictImpl.mm: Removed.
36484        * kwq/KWQKPartsEvent.cpp: Added.
36485        * kwq/KWQKPartsEvent.mm: Removed.
36486        * kwq/KWQListImpl.cpp: Added.
36487        * kwq/KWQListImpl.mm: Removed.
36488
364892006-01-08  Eric Seidel  <eseidel@apple.com>
36490
36491        Reviewed by mjs.
36492
36493        Renamed several files in kwq/ from .mm to .cpp
36494        Removed a few pieces of unused KWQ code.
36495
36496        * WebCore.xcodeproj/project.pbxproj:
36497        * khtml/html/htmltokenizer.cpp:
36498        (khtml::HTMLTokenizer::continueProcessing): removed KWQUIEventTime
36499        (khtml::HTMLTokenizer::write): removed KWQUIEventTime
36500        * khtml/html/htmltokenizer.h:
36501        * khtml/khtml_part.cpp:
36502        (KHTMLPart::slotFinished): removed KWQUIEventTime
36503        * khtml/misc/loader.cpp:
36504        (CachedObject::finish): removed KWQUIEventTime
36505        * khtml/xml/dom_docimpl.cpp:
36506        (DocumentImpl::processHttpEquiv): removed KWQUIEventTime
36507        * kwq/KWQArrayImpl.cpp: Added.
36508        * kwq/KWQArrayImpl.mm: Removed.
36509        * kwq/KWQBuffer.cpp: Added.
36510        * kwq/KWQBuffer.mm: Removed.
36511        * kwq/KWQCString.cpp: Added.
36512        * kwq/KWQCString.mm: Removed.
36513        * kwq/KWQCharsets.cpp: Added.
36514        * kwq/KWQCharsets.mm: Removed.
36515        * kwq/KWQCollection.h:
36516        (QPtrCollection::~QPtrCollection): made inline
36517        * kwq/KWQCollection.mm: Removed.
36518        * kwq/KWQDateTime.cpp: Added, removed KWQUIEventTime
36519        * kwq/KWQDateTime.h:
36520        * kwq/KWQDateTime.mm: Removed.
36521        * kwq/KWQGlobal.cpp: Added.
36522        * kwq/KWQGlobal.mm: Removed.
36523        * kwq/KWQGuardedPtr.cpp: Added.
36524        * kwq/KWQGuardedPtr.mm: Removed.
36525        * kwq/KWQKCharsets.cpp: Added.
36526        * kwq/KWQKCharsets.mm: Removed.
36527        * kwq/KWQKGlobalSettings.h:
36528        (KGlobalSettings::generalFont): made inline
36529        (KGlobalSettings::windowTitleFont): made inline
36530        (KGlobalSettings::menuFont): made inline
36531        (KGlobalSettings::contrast): made inline
36532        * kwq/KWQKGlobalSettings.mm: Removed.
36533        * kwq/KWQKHTMLFactory.cpp: Added.
36534        * kwq/KWQKHTMLFactory.mm: Removed.
36535        * kwq/KWQKHTMLView.cpp: Added.
36536        * kwq/KWQKHTMLView.mm: Removed.
36537        * kwq/KWQKJob.h:
36538        * kwq/KWQKJob.mm: Removed.
36539        * kwq/KWQKWin.cpp: Added.
36540        * kwq/KWQKWin.mm: Removed.
36541        * kwq/KWQMapImpl.cpp: Added.
36542        * kwq/KWQMapImpl.mm: Removed.
36543        * kwq/KWQObject.cpp: Added.
36544        * kwq/KWQObject.mm: Removed.
36545        * kwq/KWQPen.cpp: Added.
36546        * kwq/KWQPen.mm: Removed.
36547        * kwq/KWQPointArray.cpp: Added.
36548        * kwq/KWQPointArray.mm: Removed.
36549        * kwq/KWQPtrDictImpl.cpp: Added.
36550        * kwq/KWQPtrDictImpl.mm: Removed.
36551        * kwq/KWQRegExp.cpp: Added.
36552        * kwq/KWQRegExp.mm: Removed.
36553        * kwq/KWQRegion.cpp: Added.
36554        * kwq/KWQRegion.mm: Removed.
36555        * kwq/KWQStyle.cpp: Added.
36556        * kwq/KWQStyle.mm: Removed.
36557        * kwq/KWQTextCodec.cpp: Added.
36558        * kwq/KWQTextCodec.mm: Removed.
36559        * kwq/KWQTextStream.cpp: Added.
36560        * kwq/KWQTextStream.mm: Removed.
36561        * kwq/KWQTimer.cpp: Added.
36562        * kwq/KWQTimer.mm: Removed.
36563        * kwq/KWQValueListImpl.cpp: Added.
36564        * kwq/KWQValueListImpl.mm: Removed.
36565        * kwq/KWQVariant.cpp: Added.
36566        * kwq/KWQVariant.mm: Removed.
36567        * kwq/KWQVectorImpl.cpp: Added.
36568        * kwq/KWQVectorImpl.mm: Removed.
36569        * kwq/KWQWMatrix.cpp: Added.
36570        * kwq/KWQWMatrix.mm: Removed.
36571
365722006-01-07  Maciej Stachowiak  <mjs@apple.com>
36573
36574        Reviewed by Eric.
36575
36576        - added basic SVG text support using CSS-based rendering
36577        http://bugs.webkit.org/show_bug.cgi?id=4883
36578
36579        Affects many test results in LayoutTests/svg.
36580
36581        * kcanvas/RenderSVGText.cpp: Added. Simple subclass of RenderBlock for SVG text.
36582        (RenderSVGText::RenderSVGText): just call superclass constructor.
36583        (RenderSVGText::translateTopToBaseline): helper to account for the fact that
36584        y coordinates for <text> give the baseline position, but the render tree expects
36585        current y to be the top.
36586        (RenderSVGText::translateForAttributes): translate to account for x and y
36587        attributes.
36588        (RenderSVGText::paint): Apply appropriate CTM transform and then just let
36589        RenderBlock paint.
36590        * kcanvas/RenderSVGText.h: Added.
36591        (RenderSVGText::renderName):
36592        * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
36593        (KRenderingDeviceContextQuartz::nsGraphicsContext): We want the context flipped.
36594        * ksvg2/css/svg.css: Give <svg:text> display: block
36595        * ksvg2/svg/SVGTextElementImpl.cpp:
36596        (SVGTextElementImpl::createRenderer): Create a RenderSVGText renderer.
36597        (SVGTextElementImpl::childShouldCreateRenderer): Let child text nodes make
36598        renderers, but nothing else (for now).
36599        * ksvg2/svg/SVGTextElementImpl.h:
36600        (KSVG::SVGTextElementImpl::rendererIsNeeded): It sure is! :-)
36601        * WebCore.xcodeproj/project.pbxproj: Add new files.
36602
366032006-01-07  Eric Seidel  <eseidel@apple.com>
36604
36605        Reviewed by mjs
36606
36607        Removed old, unneeded code.
36608
36609        * WebCore+SVG/DrawCanvasItem.h: Removed.
36610        * WebCore+SVG/DrawCanvasItem.mm: Removed.
36611        * WebCore+SVG/DrawCanvasItemPrivate.h: Removed.
36612        * WebCore+SVG/DrawDocument.h: Removed.
36613        * WebCore+SVG/DrawDocument.mm: Removed.
36614        * WebCore+SVG/DrawDocumentPrivate.h: Removed.
36615        * WebCore+SVG/DrawView.h: Removed.
36616        * WebCore+SVG/DrawView.mm: Removed.
36617        * WebCore+SVG/DrawViewPrivate.h: Removed.
36618        * WebCore+SVG/NSSVGImageRep.h: Removed.
36619        * WebCore+SVG/NSSVGImageRep.m: Removed.
36620        * WebCore.xcodeproj/project.pbxproj: remove files
36621
366222006-01-07  Maciej Stachowiak  <mjs@apple.com>
36623
36624        Reviewed by Eric.
36625
36626        - fixed WebCore build
36627        http://bugs.webkit.org/show_bug.cgi?id=6404
36628
36629        * khtml/rendering/render_canvasimage.h: Remove unneeded extern declarations.
36630
366312006-01-07  Anders Carlsson  <andersca@mac.com>
36632
36633        Reviewed by Maciej.
36634
36635        - Fix http://bugs.webkit.org/show_bug.cgi?id=6373
36636        REGRESSION: JavaScript hang when comparing large array to null
36637
36638        * khtml/ecma/kjs_html.cpp:
36639        Remove toPrimitive.
36640
36641        * khtml/ecma/kjs_html.h:
36642        (KJS::HTMLAllCollection::isEqualToNull):
36643        Implement isEqualToNull and have it return true.
36644
366452006-01-06  Eric Seidel  <eseidel@apple.com>
36646
36647        Reviewed by darin.
36648
36649        <rdar://problem/4386652> Crash: SVG filter crash at w3schools.com
36650
36651        * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
36652        (KCanvasFEDiffuseLightingQuartz::getCIFilter): nil check
36653        (KCanvasFESpecularLightingQuartz::getCIFilter): nil check
36654
366552006-01-06  Geoffrey Garen  <ggaren@apple.com>
36656
36657        Patch by Mitz, reviwed by Darin, layout tested and landed by me.
36658
36659        - Fixed http://bugs.webkit.org/show_bug.cgi?id=6382
36660        REGRESSION: Repro crash when clicking link with target="_blank"
36661
36662        * kwq/KWQKHTMLPart.mm:
36663        (KWQKHTMLPart::setName):
36664        * manual-tests/empty-link-target.html: Added.
36665
366662006-01-06  Alexey Proskuryakov  <ap@nypop.com>
36667
36668        Reviewed by Darin.
36669
36670        - fix http://bugs.webkit.org/show_bug.cgi?id=5291
36671          FORM multipart/form-data with GET method issue
36672
36673        Test cases:
36674        * fast/forms/form-get-multipart.html
36675        * fast/forms/form-get-multipart2.html
36676        * fast/forms/form-get-multipart3.html
36677        * fast/forms/form-post-urlencoded.html
36678
36679        * khtml/html/html_formimpl.cpp:
36680        (DOM::HTMLFormElementImpl::submit):
36681        Reset m_multipart to false if not posting.
36682        (DOM::HTMLFormElementImpl::parseEnctype):
36683        multipart/form-data doesn't imply POST method.
36684
366852006-01-06  Alexey Proskuryakov  <ap@nypop.com>
36686
36687        Reviewed by Eric.
36688
36689        - fix http://bugs.webkit.org/show_bug.cgi?id=5792
36690          Crasher on rendering-shapes from SVG 1.0 testsuite
36691
36692        Test case: fast/parser/entity-ignorable-whitespace.xhtml
36693
36694        * khtml/xml/xml_tokenizer.cpp:
36695        (khtml::XMLTokenizer::finish): install an ignorableWhitespace callback to
36696        work around a libxml2 bug
36697        (khtml::ignorableWhitespaceHandler): no-op
36698
366992006-01-06  Anders Carlsson  <andersca@mac.com>
36700
36701        Reviewed by Eric.
36702
36703        - fix http://bugs.webkit.org/show_bug.cgi?id=5142
36704        parseXMLDocumentFragment can't parse fragments correctly
36705
36706        * khtml/xml/xml_tokenizer.cpp:
36707        (khtml::balancedStartElementNsHandler):
36708        (khtml::balancedEndElementNsHandler):
36709        (khtml::balancedCharactersHandler):
36710        (khtml::balancedProcessingInstructionHandler):
36711        (khtml::balancedCdataBlockHandler):
36712        (khtml::balancedCommentHandler):
36713        (khtml::balancedWarningHandler):
36714        Add handlers.
36715
36716        (khtml::parseXMLDocumentFragment):
36717        Change back into using xmlParseBalancedChunkMemory.
36718
367192006-01-06  Alexander Kellett  <lypanov@kde.org>
36720
36721        Reviewed by eseidel.  Landed by eseidel.
36722
36723        Basic support for <mask> tag.
36724        http://bugs.webkit.org/show_bug.cgi?id=5969
36725        Still missing attribute support for: maskUnits, maskContentUnits.
36726
36727        Mask pixel tests do not work in DumpRenderTree due to:
36728        http://bugs.webkit.org/show_bug.cgi?id=6327
36729        Added test cases anyway.
36730
36731        This also tickles a (known) gradient update issue:
36732        http://bugs.webkit.org/show_bug.cgi?id=6052
36733
36734        Test: svg/custom/grayscale-gradient-mask.svg
36735
36736        * WebCore.xcodeproj/project.pbxproj: added Mask files
36737        * kcanvas/KCanvasResources.cpp:
36738        (KCanvasMasker::KCanvasMasker): added.
36739        (KCanvasMasker::~KCanvasMasker): added.
36740        (KCanvasMasker::setMask): added.
36741        (KCanvasMasker::externalRepresentation): added.
36742        (getMaskerById): added.
36743        * kcanvas/KCanvasResources.h:
36744        (KCanvasResource::isMasker): added.
36745        (KCanvasMasker::isMasker): added.
36746        (KCanvasMasker::mask): added.
36747        * kcanvas/device/quartz/KCanvasItemQuartz.mm:
36748        (KCanvasItemQuartz::paint): added mask support
36749        * kcanvas/device/quartz/KCanvasMaskerQuartz.h: Added.
36750        (KCanvasMaskerQuartz::KCanvasMaskerQuartz): added.
36751        * kcanvas/device/quartz/KCanvasMaskerQuartz.mm: Added.
36752        (applyLuminanceToAlphaFilter): added.
36753        (applyExpandAlphatoGrayscaleFilter): added.
36754        (transformImageIntoGrayscaleMask): added.
36755        (KCanvasMaskerQuartz::applyMask): added.
36756        * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
36757        (KCanvasContainerQuartz::paint): added mask support.
36758        * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
36759        (KRenderingDeviceQuartz::createResource): added mask support.
36760        * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
36761        (KRenderingPaintServerRadialGradientQuartz::draw):
36762        * kcanvas/device/quartz/QuartzSupport.h:
36763        * kcanvas/device/quartz/QuartzSupport.mm:
36764        (debugDumpCGImageToFile): added, debug only.
36765        (debugDumpCGLayerToFile): added, debug only.
36766        (debugDumpCIImageToFile): added, debug only.
36767        * ksvg2/css/SVGCSSStyleSelector.cpp:
36768        (KDOM::CSSStyleSelector::applySVGProperty): added mask support.
36769        * ksvg2/css/SVGRenderStyle.cpp:
36770        (SVGRenderStyle::SVGRenderStyle): added mask support.
36771        (SVGRenderStyle::operator==): added mask support.
36772        * ksvg2/css/SVGRenderStyle.h:
36773        * ksvg2/css/SVGRenderStyleDefs.cpp:
36774        (StyleMaskData::StyleMaskData): added mask support.
36775        (StyleMaskData::operator==): added mask support.
36776        * ksvg2/css/SVGRenderStyleDefs.h:
36777        (KSVG::StyleMaskData::operator!=): added mask support.
36778        * ksvg2/ecma/Ecma.cpp:
36779        (Ecma::inheritedGetDOMNode): added mask support.
36780        * ksvg2/svg/SVGMaskElementImpl.cpp: Added.
36781        (KSVG::SVGMaskElementImpl::SVGMaskElementImpl): added.
36782        (KSVG::SVGMaskElementImpl::~SVGMaskElementImpl): added.
36783        (KSVG::SVGMaskElementImpl::x): added.
36784        (KSVG::SVGMaskElementImpl::y): added.
36785        (KSVG::SVGMaskElementImpl::width): added.
36786        (KSVG::SVGMaskElementImpl::height): added.
36787        (KSVG::SVGMaskElementImpl::attributeChanged): added.
36788        (KSVG::SVGMaskElementImpl::childrenChanged): added.
36789        (KSVG::SVGMaskElementImpl::parseMappedAttribute): added.
36790        (KSVG::SVGMaskElementImpl::drawMaskerContent): added.
36791        (KSVG::SVGMaskElementImpl::createRenderer): added.
36792        (KSVG::SVGMaskElementImpl::canvasResource): added.
36793        * ksvg2/svg/SVGMaskElementImpl.h: Added.
36794        (KSVG::SVGMaskElementImpl::isValid): added.
36795        (KSVG::SVGMaskElementImpl::rendererIsNeeded): added.
36796        * ksvg2/svg/svgtags.in: added <mask> support.
36797
367982006-01-04  Maciej Stachowiak  <mjs@apple.com>
36799
36800        Reviewed by Darin.
36801
36802        - move frame management and finding code from WebKit to WebCore
36803        http://bugs.webkit.org/show_bug.cgi?id=6368
36804
36805        * WebCore.exp: export WebCoreFrameNamespace
36806        * WebCore.xcodeproj/project.pbxproj: add new files
36807        * kwq/KWQKHTMLPart.mm:
36808        (KWQKHTMLPart::setName): Don't call to bridge any more, not needed
36809        * kwq/WebCoreBridge.h:
36810        * kwq/WebCoreBridge.mm:
36811        (isCaseSensitiveEqual): helper function
36812        (-[WebCoreBridge appendChild:]): remove excess braces
36813        (-[WebCoreBridge childFrameNamed:]): moved here from WebFrame
36814        (-[WebCoreBridge _deepLastChildFrame]): ditto
36815        (-[WebCoreBridge nextFrameWithWrap:]): ditto
36816        (-[WebCoreBridge previousFrameWithWrap:]): ditto
36817        (-[WebCoreBridge setFrameNamespace:]): ditto
36818        (-[WebCoreBridge frameNamespace]): ditto
36819        (-[WebCoreBridge _shouldAllowAccessFrom:]): ditto
36820        (-[WebCoreBridge _descendantFrameNamed:sourceFrame:]): ditto
36821        (-[WebCoreBridge _frameInAnyWindowNamed:sourceFrame:]): ditto
36822        (-[WebCoreBridge findFrameNamed:]): ditto
36823        (-[WebCoreBridge setName:]): don't call KHTMLPart setName directly,
36824        the kwq version is fine
36825        (-[WebCoreBridge _addFramePathToString:]): moved from WebFrame
36826        (-[WebCoreBridge generateFrameName]): ditto
36827
368282006-01-04  Anders Carlsson  <andersca@mac.com>
36829
36830        Reviewed by Eric.
36831
36832        Based on a patch by Eric.
36833
36834        - fix http://bugs.webkit.org/show_bug.cgi?id=6180
36835        "text" output in fragment produced by XSLTProccessor is wrong (has xhtml garbage)
36836
36837        * khtml/xsl/xslt_processorimpl.cpp:
36838        (DOM::xsltParamArrayFromParameterMap):
36839        (DOM::freeXsltParamArray):
36840        Use fastMalloc/fastFree.
36841
36842        (DOM::createFragmentFromSource):
36843        If the output is "text", just create a text node and add
36844        it to the fragment.
36845
368462006-01-04  Geoffrey Garen  <ggaren@apple.com>
36847
36848        Reviewed by darin.
36849
36850        - Fixed http://bugs.webkit.org/show_bug.cgi?id=6311
36851        document.plugins doesn't exist
36852
36853        * khtml/ecma/kjs_html.cpp: Added 'plugins' as synonym for 'embeds'
36854
368552006-01-04  Geoffrey Garen  <ggaren@apple.com>
36856
36857         Reviewed by darin.
36858
36859         - Fixed <rdar://problem/4214080> document.embeds: embeds[0].Play()
36860         undefined at languageguide.org prevents audio playing on mouseover
36861
36862         - Layout test: fast/dom/object-embed-plugin-scripting.html
36863
36864         A common idiom the kids like to use these days for plugins is to nest
36865         an <embed> inside an <object>, and assume that IE will honor the first,
36866         Mozilla the second. We happen to honor both, but the rules dictate that
36867         only the outer <object> gets a plugin/renderer. (A plugin is a
36868        renderer.) This is a problem because sites ID us as Mozilla and
36869        therefore attempt to script their plugins through the <embed>, which
36870        has no plugin/renderer. The fix here is to have an <embed> return its
36871        parent node's plugin/renderer when queried, if and only if it has no
36872        renderer of its own and its parent node is an <object>. We may decide
36873        to restrict this further in the future.
36874
36875        One happy consequence of this patch is that all the apple.com Quicktime
36876        websites we had previously broken with TOT are now fixed.
36877
36878        * khtml/html/html_objectimpl.cpp:
36879        (DOM::HTMLEmbedElementImpl::getEmbedInstance): The "if (!r)" clause
36880        implements the logic I just described. The code below it I changed
36881        just for style, to match the style in getObjectInstance().
36882
36883        (DOM::HTMLEmbedElementImpl::rendererIsNeeded): Assert that an <object>
36884        parent has a renderer because we're going to use it later.
36885
36886        (DOM::HTMLObjectElementImpl::rendererIsNeeded): Changed to match style
36887        of HTMLEmbedElementImpl counterpart.
36888
368892006-01-04  Mitz Pettel  <opendarwin.org@mitzpettel.com>
36890
36891        Reviewed by Darin, landed by ap.
36892
36893        - fix http://bugs.webkit.org/show_bug.cgi?id=6301
36894          REGRESSION: Border repaint glitch
36895
36896        * khtml/rendering/render_object.cpp:
36897        (RenderObject::repaintAfterLayoutIfNeeded): Repaint parts of the
36898        border that moved.
36899        * manual-tests/border-repaint-glitch.html: Added.
36900
369012005-12-30  Kimmo Kinnunen  <kimmo.kinnunen@nokia.com>
36902
36903        Reviewed by eseidel.  Landed by eseidel.
36904
36905        Changed use of QRect to QRectF in the points where SVG can have
36906        fractional numbers
36907        http://bugs.webkit.org/show_bug.cgi?id=4462
36908
36909        Added test cases:
36910        * svg/custom/fractional-rects.svg: copy of rounded-rects.svg with
36911        fractional coordinates.
36912
36913        * WebCore.xcodeproj/project.pbxproj:
36914        * kwq/KWQWMatrix.h:
36915        * kwq/KWQWMatrix.mm:
36916        (QWMatrix::mapRect): mapRect for QRectF
36917        * kwq/KWQRectF.h:
36918        * kwq/KWQRectF.mm:  Added. QRectF impl
36919        * kwq/KWQSizeF.h:
36920        * kwq/KWQSizeF.mm:  Added.QSizeF impl
36921        * kwq/KWQPointF.h:
36922        * kwq/KWQPointF.mm: Added. QPointF impl
36923        * kcanvas/KCanvasContainer.cpp:
36924        (KCanvasContainer::fillContains):
36925        (KCanvasContainer::strokeContains):
36926        (KCanvasContainer::relativeBBox):
36927        (KCanvasContainer::getAspectRatio): QRect -> QRectF
36928        * kcanvas/KCanvasContainer.h:
36929        * kcanvas/KCanvasFilters.cpp:
36930        (KCanvasFilterEffect::subRegion):
36931        (KCanvasFilterEffect::setSubRegion): QRect -> QRectF
36932        * kcanvas/KCanvasFilters.h:
36933        (KCanvasFilter::filterRect):
36934        (KCanvasFilter::setFilterRect): QRect -> QRectF
36935        (KCanvasFEConvolveMatrix::kernelSize):
36936        (KCanvasFEConvolveMatrix::setKernelSize):
36937        (KCanvasFEConvolveMatrix::targetOffset):
36938        (KCanvasFEConvolveMatrix::setTargetOffset): QSize -> QSizeF
36939        * kcanvas/KCanvasItem.cpp:
36940        (RenderPath::fillContains):
36941        (RenderPath::strokeContains):
36942        (RenderPath::relativeBBox): QRect -> QRectF
36943        * kcanvas/KCanvasItem.h:
36944        * kcanvas/KCanvasResources.cpp:
36945        (KCanvasMarker::draw): QRect -> QRectF
36946        * kcanvas/KCanvasResources.h:
36947        * kcanvas/KCanvasTreeDebug.cpp:
36948        (hasFractions): helper function
36949        (operator<<): QSizeF operator, QRectF operator
36950        * kcanvas/KCanvasTreeDebug.h:
36951        * kcanvas/device/KRenderingPaintServerGradient.cpp:
36952        (KRenderingPaintServerLinearGradient::gradientStart):
36953        (KRenderingPaintServerLinearGradient::setGradientStart):
36954        (KRenderingPaintServerLinearGradient::gradientEnd):
36955        (KRenderingPaintServerLinearGradient::setGradientEnd):
36956        (KRenderingPaintServerRadialGradient::gradientCenter):
36957        (KRenderingPaintServerRadialGradient::setGradientCenter):
36958        (KRenderingPaintServerRadialGradient::gradientFocal):
36959        (KRenderingPaintServerRadialGradient::setGradientFocal): QPoint -> QPointF
36960        * kcanvas/device/KRenderingPaintServerGradient.h:
36961        * kcanvas/device/KRenderingPaintServerPattern.cpp:
36962        (KRenderingPaintServerPattern::Private::Private): x, y, width, height -> QRectF
36963        (KRenderingPaintServerPattern::setBbox): replaced get/set methods
36964        (KRenderingPaintServerPattern::bbox): replaced get/set methods
36965        (KRenderingPaintServerPattern::externalRepresentation):
36966        * kcanvas/device/KRenderingPaintServerPattern.h:
36967        * kcanvas/device/quartz/KCanvasFilterQuartz.h:
36968        * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
36969        (KCanvasFilterQuartz::prepareFilter):
36970        (KCanvasFilterQuartz::applyFilter): QRect -> QRectF
36971        * kcanvas/device/quartz/KCanvasItemQuartz.h:
36972        (KCanvasItemQuartz::getAbsoluteRepaintRect): QRect -> QRectF
36973        * kcanvas/device/quartz/KCanvasItemQuartz.mm:
36974        (drawMarkerWithData):
36975        (KCanvasItemQuartz::drawMarkersIfNeeded):
36976        (KCanvasItemQuartz::paint): QRect -> QRectF
36977        (KCanvasItemQuartz::nodeAtPoint): QPoint -> QPointF
36978        (KCanvasItemQuartz::bboxForPath) :QRect -> QRectF
36979        (KCanvasItemQuartz::hitsPath):
36980        * kcanvas/device/quartz/KCanvasResourcesQuartz.h:
36981        (KCanvasContainerQuartz::getAbsoluteRepaintRect): QRect -> QRectF
36982        * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
36983        (KRenderingPaintServerPatternQuartz::draw): QRect -> QRectF
36984        * khtml/rendering/render_object.h:
36985        (khtml::RenderObject::relativeBBox):QRect -> QRectF
36986        * ksvg2/svg/SVGFilterElementImpl.cpp:
36987        (SVGFilterElementImpl::canvasResource): QRect -> QRectF
36988        * ksvg2/svg/SVGFilterPrimitiveStandardAttributesImpl.cpp:
36989        (SVGFilterPrimitiveStandardAttributesImpl::setStandardAttributes):
36990        * ksvg2/svg/SVGLengthImpl.cpp:
36991        (SVGLengthImpl::value): QRect -> QRectF
36992        * ksvg2/svg/SVGLinearGradientElementImpl.cpp:
36993        (SVGLinearGradientElementImpl::buildGradient): QPoint -> QPointF, removed integer conversions
36994        * ksvg2/svg/SVGLocatableImpl.cpp:
36995        (SVGLocatableImpl::getBBox): Rect -> QRectF
36996        * ksvg2/svg/SVGPatternElementImpl.cpp:
36997        (SVGPatternElementImpl::drawPatternContentIntoTile): QRect -> QRectF
36998        * ksvg2/svg/SVGRadialGradientElementImpl.cpp:
36999        (SVGRadialGradientElementImpl::buildGradient): QPoint -> QPointF, removed integer conversions
37000        * ksvg2/svg/SVGSVGElementImpl.cpp:
37001        (SVGSVGElementImpl::checkIntersection): QRect -> QRectF, removed integer conversions
37002        (SVGSVGElementImpl::checkEnclosure): QRect -> QRectF, removed integer conversions
37003
370042006-01-03  Maciej Stachowiak  <mjs@apple.com>
37005
37006        Reviewed by Vicki.
37007
37008        - moved frame traversal code across from bridge, also dropped the children
37009        array
37010
37011        * kwq/WebCoreBridge.h:
37012        * kwq/WebCoreBridge.mm:
37013        (-[WebCoreBridge firstChild]): Moved from WebBridge. Use new _firstChild
37014        pointer.
37015        (-[WebCoreBridge lastChild]): Moved from WebBridge. Use new _lastChild pointer.
37016        (-[WebCoreBridge childCount]): Moved from WebBridge. Use _childCount variable.
37017        (-[WebCoreBridge previousSibling]): Moved from WebBridge.
37018        (-[WebCoreBridge nextSibling]): ditt
37019        (-[WebCoreBridge isDescendantOfFrame:]): ditto
37020        (-[WebCoreBridge traverseNextFrameStayWithin:]): ditto
37021        (-[WebCoreBridge appendChild:]): Moved from WebBridge, maintain count and first/last
37022        pointers.
37023        (-[WebCoreBridge removeChild:]): Moved from WebBridge, maintain count and first/last
37024        pointers.
37025
370262006-01-03  Justin Garcia  <justin.garcia@apple.com>
37027
37028        Reviewed by harrison
37029
37030        <http://bugs.webkit.org/show_bug.cgi?id=4609>
37031        window.getSelection().toString() is undefined (range object
37032        returned from window.getSelection() is useless)
37033
37034        toString was defined as a method on the JS Selection object,
37035        but it didn't return anything.
37036
37037        Added layout test:
37038        * editing/selection/toString.html
37039
37040        * khtml/ecma/kjs_window.cpp:
37041        (KJS::SelectionFunc::callAsFunction):
37042
370432006-01-03  Geoffrey Garen  <ggaren@apple.com>
37044
37045        Reviewed by timo.
37046
37047        - Fixed: http://bugs.webkit.org/show_bug.cgi?id=6318
37048        REGRESSION: Repro crash in JS called from Flash on bdash.net.nz
37049
37050        Since we clear all the plugin data structures in setView, we need to
37051        clear the windowScriptObject as well. I had already done this in my
37052        previous patch, but I didn't realize there are two windowScriptObjects
37053        -- one for Netscape PlugIns, and one for WebKit PlugIns.
37054
37055        * kwq/KWQKHTMLPart.mm:
37056        (KWQKHTMLPart::setView): Clear the Netscape PlugIn windowScriptObject
37057        as well.
37058
370592006-01-03  Anders Carlsson  <andersca@mac.com>
37060
37061        Reviewed by Eric.
37062
37063        - fix http://bugs.webkit.org/show_bug.cgi?id=6358
37064        JS objects missing "prototype" properties
37065
37066        * khtml/ecma/XSLTProcessor.cpp:
37067        (KJS::XSLTProcessorConstructorImp::XSLTProcessorConstructorImp):
37068        * khtml/ecma/XSLTProcessor.h:
37069        * khtml/ecma/domparser.cpp:
37070        (KJS::DOMParserConstructorImp::DOMParserConstructorImp):
37071        * khtml/ecma/xmlhttprequest.cpp:
37072        (KJS::XMLHttpRequestConstructorImp::XMLHttpRequestConstructorImp):
37073        * khtml/ecma/xmlserializer.cpp:
37074        (KJS::XMLSerializerConstructorImp::XMLSerializerConstructorImp):
37075        Add "prototype" property in constructors.
37076
370772006-01-03  Eric Seidel  <eseidel@apple.com>
37078
37079        Reviewed by darin.
37080
37081        REGRESSION: repro crash w/ invalid charset attribute on <script>
37082        http://bugs.webkit.org/show_bug.cgi?id=6345
37083        I also made some small spacing cleanup here.
37084        I did *not* fix the usage in formData, as the move from KCharSet to
37085        QTextCodec actually fixed a bug whereby if the first listed charset
37086        in accept-charsets was invalid, we would assume latin1 instead of
37087        checking for the next valid one before assuming system encoding.
37088
37089        * khtml/html/html_formimpl.cpp:
37090        (DOM::HTMLFormElementImpl::formData): cleanup
37091        * khtml/misc/loader.cpp:
37092        (CachedCSSStyleSheet::CachedCSSStyleSheet): null check
37093        (CachedScript::CachedScript): cleanup
37094        (CachedXSLStyleSheet::CachedXSLStyleSheet): null check
37095        (CachedXBLDocument::CachedXBLDocument): cleanup
37096
370972006-01-03  Justin Garcia  <justin.garcia@apple.com>
37098
37099        <http://bugs.webkit.org/show_bug.cgi?id=4904>
37100        Bug with baseOffset and extentOffset in selections (for writely.com)
37101        <rdar://problem/4259818>
37102        selection object incorrect after double-clicking a word
37103
37104        Reviewed by harrison
37105
37106        Changed the Selection object's anchor/focus properties to match
37107        Mozilla's Selection object API, added getRangeAt and outlined the
37108        rest of the API.
37109        Cleaned up the JS Selection object (to do less work in the DOM binding).
37110        Added an updateLayout call to VisiblePosition::init and removed some
37111        updateLayout calls from other parts of the editing code.
37112
37113        Added layout tests:
37114        * editing/selection/getRangeAt.html
37115        * editing/selection/anchor-focus1.html
37116        * editing/selection/anchor-focus2.html
37117        * editing/selection/anchor-focus3.html
37118        Updated expected results:
37119        * editing/selection/unrendered-001-expected.txt
37120
37121        * khtml/ecma/kjs_window.cpp:
37122        (KJS::Selection::getValueProperty):
37123        (KJS::Selection::toString):
37124        (KJS::SelectionFunc::callAsFunction):
37125        * khtml/ecma/kjs_window.h:
37126        (KJS::Selection::):
37127        * khtml/editing/SelectionController.cpp:
37128        (khtml::SelectionController::modify):
37129        (khtml::SelectionController::type):
37130        (khtml::SelectionController::toString):
37131        (khtml::SelectionController::getRangeAt):
37132        (khtml::SelectionController::setBaseAndExtent):
37133        (khtml::SelectionController::setPosition):
37134        (khtml::SelectionController::collapse):
37135        (khtml::SelectionController::collapseToEnd):
37136        (khtml::SelectionController::collapseToStart):
37137        (khtml::SelectionController::empty):
37138        (khtml::SelectionController::extend):
37139        (khtml::SelectionController::validate):
37140        * khtml/editing/SelectionController.h:
37141        (khtml::SelectionController::part):
37142        (khtml::SelectionController::baseNode):
37143        (khtml::SelectionController::extentNode):
37144        (khtml::SelectionController::baseOffset):
37145        (khtml::SelectionController::extentOffset):
37146        (khtml::SelectionController::anchorNode):
37147        (khtml::SelectionController::anchorOffset):
37148        (khtml::SelectionController::focusNode):
37149        (khtml::SelectionController::focusOffset):
37150        (khtml::SelectionController::isCollapsed):
37151        * khtml/editing/visible_position.cpp:
37152        (khtml::VisiblePosition::init):
37153        (khtml::VisiblePosition::isCandidate):
37154        * khtml/khtml_part.cpp:
37155        (KHTMLPart::handleMousePressEventSingleClick):
37156
371572006-01-03  Anders Carlsson  <andersca@mac.com>
37158
37159        Reviewed by Maciej.
37160
37161        - fix http://bugs.webkit.org/show_bug.cgi?id=5378
37162        createDocument fails with DOM Exception 5 when passed empty qname
37163
37164        * khtml/ecma/kjs_dom.cpp:
37165        (KJS::DOMDOMImplementationProtoFunc::callAsFunction):
37166        When passing null to createDocument, pass a null DOMString, and not
37167        a DOMString containing the text "null".
37168
37169        * khtml/xml/dom_docimpl.cpp:
37170        (DOMImplementationImpl::createDocument):
37171        Only validate the qualifiedName if it's not null or empty. Also, do not
37172        create the document element if the qualifiedName is null or empty.
37173
371742006-01-03  Eric Seidel  <eseidel@apple.com>
37175
37176        Reviewed by darin.
37177
37178        No functionality changes, no tests possible.
37179
37180        khtml/editing should use RefPtr instead of manual ref/deref
37181        http://bugs.webkit.org/show_bug.cgi?id=6109
37182
37183        Results in a slight performance gain < 1% on the PLT.
37184
37185        * khtml/editing/SelectionController.cpp:
37186        (khtml::SelectionController::toRange):
37187        * khtml/editing/SelectionController.h:
37188        * khtml/editing/append_node_command.cpp:
37189        (khtml::AppendNodeCommand::AppendNodeCommand):
37190        (khtml::AppendNodeCommand::doApply):
37191        (khtml::AppendNodeCommand::doUnapply):
37192        * khtml/editing/append_node_command.h:
37193        (khtml::AppendNodeCommand::~AppendNodeCommand):
37194        (khtml::AppendNodeCommand::appendChild):
37195        (khtml::AppendNodeCommand::parentNode):
37196        * khtml/editing/apply_style_command.cpp:
37197        (khtml::StyleChange::init):
37198        (khtml::ApplyStyleCommand::removeInlineStyle):
37199        * khtml/editing/apply_style_command.h:
37200        * khtml/editing/composite_edit_command.cpp:
37201        (khtml::CompositeEditCommand::deleteInsignificantText):
37202        * khtml/editing/delete_from_text_node_command.cpp:
37203        (khtml::DeleteFromTextNodeCommand::DeleteFromTextNodeCommand):
37204        * khtml/editing/delete_from_text_node_command.h:
37205        (khtml::DeleteFromTextNodeCommand::~DeleteFromTextNodeCommand):
37206        (khtml::DeleteFromTextNodeCommand::node):
37207        * khtml/editing/delete_selection_command.cpp:
37208        (khtml::DeleteSelectionCommand::initializePositionData):
37209        (khtml::DeleteSelectionCommand::saveTypingStyleState):
37210        (khtml::DeleteSelectionCommand::handleGeneralDelete):
37211        (khtml::DeleteSelectionCommand::calculateEndingPosition):
37212        (khtml::DeleteSelectionCommand::calculateTypingStyleAfterDelete):
37213        (khtml::DeleteSelectionCommand::clearTransientState):
37214        * khtml/editing/delete_selection_command.h:
37215        * khtml/editing/edit_command.cpp:
37216        (khtml::EditCommand::EditCommand):
37217        (khtml::EditCommand::~EditCommand):
37218        (khtml::EditCommand::setTypingStyle):
37219        (khtml::EditCommand::styleAtPosition):
37220        * khtml/editing/edit_command.h:
37221        (khtml::EditCommand::document):
37222        (khtml::EditCommand::typingStyle):
37223        * khtml/editing/insert_into_text_node_command.cpp:
37224        (khtml::InsertIntoTextNodeCommand::InsertIntoTextNodeCommand):
37225        * khtml/editing/insert_into_text_node_command.h:
37226        (khtml::InsertIntoTextNodeCommand::~InsertIntoTextNodeCommand):
37227        (khtml::InsertIntoTextNodeCommand::node):
37228        * khtml/editing/insert_node_before_command.cpp:
37229        (khtml::InsertNodeBeforeCommand::InsertNodeBeforeCommand):
37230        (khtml::InsertNodeBeforeCommand::doApply):
37231        (khtml::InsertNodeBeforeCommand::doUnapply):
37232        * khtml/editing/insert_node_before_command.h:
37233        (khtml::InsertNodeBeforeCommand::~InsertNodeBeforeCommand):
37234        (khtml::InsertNodeBeforeCommand::insertChild):
37235        (khtml::InsertNodeBeforeCommand::refChild):
37236        * khtml/editing/insert_paragraph_separator_command.cpp:
37237        (khtml::InsertParagraphSeparatorCommand::InsertParagraphSeparatorCommand):
37238        (khtml::InsertParagraphSeparatorCommand::~InsertParagraphSeparatorCommand):
37239        (khtml::InsertParagraphSeparatorCommand::calculateStyleBeforeInsertion):
37240        (khtml::InsertParagraphSeparatorCommand::applyStyleAfterInsertion):
37241        * khtml/editing/insert_paragraph_separator_command.h:
37242        * khtml/editing/join_text_nodes_command.cpp:
37243        (khtml::JoinTextNodesCommand::JoinTextNodesCommand):
37244        (khtml::JoinTextNodesCommand::doApply):
37245        (khtml::JoinTextNodesCommand::doUnapply):
37246        * khtml/editing/join_text_nodes_command.h:
37247        (khtml::JoinTextNodesCommand::~JoinTextNodesCommand):
37248        (khtml::JoinTextNodesCommand::firstNode):
37249        (khtml::JoinTextNodesCommand::secondNode):
37250        * khtml/editing/jsediting.cpp:
37251        * khtml/editing/markup.cpp:
37252        (khtml::createMarkup):
37253        (khtml::createFragmentFromMarkup):
37254        (khtml::createFragmentFromText):
37255        (khtml::createFragmentFromNodeList):
37256        * khtml/editing/markup.h:
37257        * khtml/editing/merge_identical_elements_command.cpp:
37258        (khtml::MergeIdenticalElementsCommand::MergeIdenticalElementsCommand):
37259        (khtml::MergeIdenticalElementsCommand::doApply):
37260        (khtml::MergeIdenticalElementsCommand::doUnapply):
37261        * khtml/editing/merge_identical_elements_command.h:
37262        (khtml::MergeIdenticalElementsCommand::~MergeIdenticalElementsCommand):
37263        * khtml/editing/move_selection_command.cpp:
37264        (khtml::MoveSelectionCommand::MoveSelectionCommand):
37265        (khtml::MoveSelectionCommand::~MoveSelectionCommand):
37266        (khtml::MoveSelectionCommand::doApply):
37267        * khtml/editing/move_selection_command.h:
37268        * khtml/editing/rebalance_whitespace_command.cpp:
37269        * khtml/editing/rebalance_whitespace_command.h:
37270        (khtml::RebalanceWhitespaceCommand::~RebalanceWhitespaceCommand):
37271        * khtml/editing/remove_css_property_command.cpp:
37272        (khtml::RemoveCSSPropertyCommand::RemoveCSSPropertyCommand):
37273        * khtml/editing/remove_css_property_command.h:
37274        (khtml::RemoveCSSPropertyCommand::~RemoveCSSPropertyCommand):
37275        (khtml::RemoveCSSPropertyCommand::styleDeclaration):
37276        * khtml/editing/remove_node_attribute_command.cpp:
37277        (khtml::RemoveNodeAttributeCommand::RemoveNodeAttributeCommand):
37278        * khtml/editing/remove_node_attribute_command.h:
37279        (khtml::RemoveNodeAttributeCommand::~RemoveNodeAttributeCommand):
37280        (khtml::RemoveNodeAttributeCommand::element):
37281        * khtml/editing/remove_node_command.cpp:
37282        (khtml::RemoveNodeCommand::RemoveNodeCommand):
37283        (khtml::RemoveNodeCommand::doApply):
37284        (khtml::RemoveNodeCommand::doUnapply):
37285        * khtml/editing/remove_node_command.h:
37286        (khtml::RemoveNodeCommand::~RemoveNodeCommand):
37287        (khtml::RemoveNodeCommand::node):
37288        * khtml/editing/remove_node_preserving_children_command.cpp:
37289        (khtml::RemoveNodePreservingChildrenCommand::RemoveNodePreservingChildrenCommand):
37290        * khtml/editing/remove_node_preserving_children_command.h:
37291        (khtml::RemoveNodePreservingChildrenCommand::~RemoveNodePreservingChildrenCommand):
37292        (khtml::RemoveNodePreservingChildrenCommand::node):
37293        * khtml/editing/replace_selection_command.cpp:
37294        (khtml::ReplacementFragment::ReplacementFragment):
37295        (khtml::ReplacementFragment::~ReplacementFragment):
37296        (khtml::ReplacementFragment::enclosingBlock):
37297        (khtml::ReplacementFragment::removeNodePreservingChildren):
37298        (khtml::ReplacementFragment::removeNode):
37299        (khtml::ReplacementFragment::insertFragmentForTestRendering):
37300        (khtml::ReplacementFragment::restoreTestRenderingNodesToFragment):
37301        (khtml::ReplaceSelectionCommand::fixupNodeStyles):
37302        (khtml::computeAndStoreNodeDesiredStyle):
37303        (khtml::NodeDesiredStyle::NodeDesiredStyle):
37304        (khtml::ReplaceSelectionCommand::ReplaceSelectionCommand):
37305        (khtml::ReplaceSelectionCommand::~ReplaceSelectionCommand):
37306        (khtml::ReplaceSelectionCommand::doApply):
37307        (khtml::ReplaceSelectionCommand::completeHTMLReplacement):
37308        (khtml::ReplaceSelectionCommand::updateNodesInserted):
37309        * khtml/editing/replace_selection_command.h:
37310        (khtml::NodeDesiredStyle::node):
37311        (khtml::NodeDesiredStyle::style):
37312        (khtml::ReplacementFragment::root):
37313        * khtml/editing/set_node_attribute_command.cpp:
37314        (khtml::SetNodeAttributeCommand::SetNodeAttributeCommand):
37315        * khtml/editing/set_node_attribute_command.h:
37316        (khtml::SetNodeAttributeCommand::~SetNodeAttributeCommand):
37317        (khtml::SetNodeAttributeCommand::element):
37318        * khtml/editing/split_element_command.cpp:
37319        (khtml::SplitElementCommand::SplitElementCommand):
37320        (khtml::SplitElementCommand::doApply):
37321        (khtml::SplitElementCommand::doUnapply):
37322        * khtml/editing/split_element_command.h:
37323        (khtml::SplitElementCommand::~SplitElementCommand):
37324        * khtml/editing/split_text_node_command.cpp:
37325        (khtml::SplitTextNodeCommand::SplitTextNodeCommand):
37326        (khtml::SplitTextNodeCommand::doApply):
37327        (khtml::SplitTextNodeCommand::doUnapply):
37328        * khtml/editing/split_text_node_command.h:
37329        (khtml::SplitTextNodeCommand::~SplitTextNodeCommand):
37330        (khtml::SplitTextNodeCommand::node):
37331        * khtml/editing/split_text_node_containing_element.cpp:
37332        (khtml::SplitTextNodeContainingElementCommand::SplitTextNodeContainingElementCommand):
37333        (khtml::SplitTextNodeContainingElementCommand::doApply):
37334        * khtml/editing/split_text_node_containing_element_command.h:
37335        (khtml::SplitTextNodeContainingElementCommand::~SplitTextNodeContainingElementCommand):
37336        * khtml/editing/visible_position.cpp:
37337        (khtml::makeRange):
37338        * khtml/editing/visible_position.h:
37339        * khtml/editing/visible_text.cpp:
37340        (khtml::TextIterator::range):
37341        (khtml::SimplifiedBackwardsTextIterator::range):
37342        (khtml::CharacterIterator::range):
37343        (khtml::findPlainText):
37344        * khtml/editing/visible_text.h:
37345        (khtml::WordAwareIterator::range):
37346        * khtml/editing/wrap_contents_in_dummy_span_command.cpp:
37347        (khtml::WrapContentsInDummySpanCommand::WrapContentsInDummySpanCommand):
37348        (khtml::WrapContentsInDummySpanCommand::doApply):
37349        (khtml::WrapContentsInDummySpanCommand::doUnapply):
37350        * khtml/editing/wrap_contents_in_dummy_span_command.h:
37351        (khtml::WrapContentsInDummySpanCommand::~WrapContentsInDummySpanCommand):
37352        * kwq/DOMHTML.mm:
37353        (-[DOMHTMLDocument _createDocumentFragmentWithMarkupString:baseURLString:]):
37354        (-[DOMHTMLDocument _createDocumentFragmentWithText:]):
37355        * kwq/WebCoreBridge.mm:
37356        (-[WebCoreBridge documentFragmentWithMarkupString:baseURLString:]):
37357        (-[WebCoreBridge documentFragmentWithText:]):
37358        (-[WebCoreBridge documentFragmentWithNodesAsParagraphs:]):
37359
373602006-01-03  Anders Carlsson  <andersca@mac.com>
37361
37362        Reviewed by Darin.
37363
37364        - fix http://bugs.webkit.org/show_bug.cgi?id=5177
37365        Javascript cloneNode(deep) does not clone form elements correctly
37366
37367        * khtml/html/html_elementimpl.cpp:
37368        (HTMLElementImpl::cloneNode):
37369        Call copyNonAttributeProperties on the new node.
37370
37371        * khtml/html/html_formimpl.cpp:
37372        (DOM::HTMLInputElementImpl::copyNonAttributeProperties):
37373        * khtml/html/html_formimpl.h:
37374        Copy m_value, m_checked and m_indeterminate here.
37375
37376        * khtml/xml/dom_docimpl.cpp:
37377        (DocumentImpl::importNode):
37378        Call copyNonAttributeProperties on the new node.
37379
37380        * khtml/xml/dom_elementimpl.cpp:
37381        (ElementImpl::cloneNode):
37382        Call copyNonAttributeProperties on the new node.
37383
37384        * khtml/xml/dom_elementimpl.h:
37385        (DOM::ElementImpl::copyNonAttributeProperties):
37386        Add function declaration.
37387
373882006-01-02  Maciej Stachowiak  <mjs@apple.com>
37389
37390        Rubber stamped by Eric.
37391
37392        - remove the no longer used QIntDict
37393
37394        * kwq/KWQIntDict.h: Removed.
37395
373962006-01-03  Alexey Proskuryakov  <ap@nypop.com>
37397
37398        Reviewed by Eric.
37399
37400        - fix http://bugs.webkit.org/show_bug.cgi?id=5609
37401          XSLT document() doesn't handle relative paths
37402
37403        Test case: fast/xsl/xslt-relative-path.xml
37404
37405        * khtml/xsl/xslt_processorimpl.cpp:
37406        (DOM::docLoaderFunc): Renamed from stylesheetLoadFunc. Use base URL when constructing URLs.
37407        (DOM::XSLTProcessorImpl::transformToString):
37408
374092006-01-02  Vicki Murley  <vicki@apple.com>
37410
37411        Reviewed by Maciej.
37412
37413        - fix for <rdar://problem/4389622> *Pan EU2* iframe swallows events for overlapping elements (part 2)
37414
37415        We originally added a call to passSubframeEventToSubframe here to fix the hand cursor updating problem
37416        reported in <rdar://problem/4316201> REGRESSION: cursor and text in status bar is not updated when
37417        mousing over links in a frame (5509). However, when we return early after passSubframeEventToSubframe,
37418        we fail to fire onmouseout events.  Since the call to passSubframeEventToSubframe was originally added
37419        to fix the hand cursor updating problem, remove the early return and make cursor updating conditional
37420        on passSubframeEventToSubframe.
37421
37422        * khtml/khtmlview.cpp:
37423        (KHTMLView::viewportMouseMoveEvent):
37424
374252005-12-30  Darin Adler  <darin@apple.com>
37426
37427        Reviewed by Maciej.
37428
37429        - http://bugs.webkit.org/show_bug.cgi?id=4557
37430          rename unusual strcmp and strcasecmp for DOMString family
37431
37432        Added new functions named equal and equalIgnoringCase.
37433
37434        * khtml/xml/dom_stringimpl.h: Changed the type of the length parameter to computeHash to unsigned
37435        to match the rest of the interface. Added equal and equalIgnoringCase functions. Added a
37436        version of the hash function that works on char* to CaseInsensitiveHash as preparation for an
37437        atomic string change.
37438        * khtml/xml/dom_stringimpl.cpp: Moved the QT_ALLOC_QCHAR_VEC and QT_DELETE_QCHAR_VEC macros
37439        here, and changed them into inline functions.
37440        (DOM::equal): Implemented.
37441        (DOM::equalIgnoringCase): Implemented.
37442        (DOM::DOMStringImpl::computeHash): Changed parameter type to unsigned to match other similar
37443        functions.
37444
37445        * khtml/dom/dom_string.h: Removed unnecessary friend declarations. Changed operator
37446        overloads for == and != to call through inline to DOMStringImpl. Replaced strcasecmp
37447        with equalIgnoringCase, overloaded for one more combination of parameters. Removed strcmp.
37448        * khtml/dom/dom_string.cpp: Removed functions that are now implemented in DOMStringImpl*.
37449
37450        * khtml/xml/dom_atomicstring.h: Removed a redundant const. Removed unnecessary
37451        friend declarations. Removed AtomicString::equal. Filled out a larger set of == and
37452        != operator implementations, mostly with inlines calling through to DOMStringImpl.
37453        Renamed equalsIgnoreCase to equalIgnoringCase and filled out a larger set as above.
37454        * khtml/xml/dom_atomicstring.cpp: Renamed AtomicString::equal to just ==.
37455        Removed some implementation of == and equalsIgnoreCase that are replaced by inlines.
37456
37457        * khtml/html/html_listimpl.cpp:
37458        (DOM::HTMLOListElementImpl::parseMappedAttribute):
37459        (DOM::HTMLLIElementImpl::parseMappedAttribute):
37460        Use the "==" operator instead of strcmp.
37461
37462        * khtml/css/cssstyleselector.cpp: (khtml::CSSStyleSelector::checkOneSelector):
37463        Use equalIgnoringCase instead of equalsIgnoreCase.
37464
37465        * khtml/rendering/render_form.cpp:
37466        (RenderSlider::updateFromElement): Fixed bug where a temporary DOMString was put into
37467        a const DOMString&. Changed some DOMString to AtomicString as appropriate, and also
37468        used equalIgnoringCase instead of strcasecmp.
37469        (RenderSlider::slotSliderValueChanged): More of the same.
37470
37471        * khtml/xml/dom_docimpl.cpp: (DocumentImpl::processHttpEquiv): Replaced use of strcasecmp
37472        with equalIgnoringCase. Added parentheses to fix incorrect operator precedence in one case
37473        (&& binds tighter than ||) which fixes a crash when using a http-equiv pragma when there
37474        is no part (not sure how to reproduce that).
37475
37476        * khtml/khtml_part.cpp:
37477        (updateState):
37478        (KHTMLPart::selectionStartHasStyle):
37479        * khtml/ecma/kjs_html.cpp: (KJS::KJS::HTMLDocument::putValueProperty):
37480        * khtml/editing/apply_style_command.cpp:
37481        (khtml::StyleChange::checkForLegacyHTMLStyleChange):
37482        (khtml::StyleChange::currentlyHasStyle):
37483        (khtml::hasTextDecorationProperty):
37484        (khtml::ApplyStyleCommand::extractTextDecorationStyle):
37485        (khtml::ApplyStyleCommand::extractAndNegateTextDecorationStyle):
37486        * khtml/html/html_baseimpl.cpp:
37487        (HTMLBodyElementImpl::parseMappedAttribute):
37488        (HTMLFrameElementImpl::parseMappedAttribute):
37489        * khtml/html/html_blockimpl.cpp:
37490        (HTMLDivElementImpl::parseMappedAttribute):
37491        (HTMLHRElementImpl::parseMappedAttribute):
37492        (HTMLParagraphElementImpl::parseMappedAttribute):
37493        (HTMLMarqueeElementImpl::parseMappedAttribute):
37494        * khtml/html/html_elementimpl.cpp:
37495        (HTMLElementImpl::parseMappedAttribute):
37496        (HTMLElementImpl::addHTMLAlignment):
37497        (HTMLElementImpl::setContentEditable):
37498        * khtml/html/html_formimpl.cpp:
37499        (DOM::HTMLFormElementImpl::parseMappedAttribute):
37500        (DOM::HTMLButtonElementImpl::parseMappedAttribute):
37501        (DOM::HTMLInputElementImpl::setInputType):
37502        (DOM::HTMLInputElementImpl::parseMappedAttribute):
37503        (DOM::HTMLKeygenElementImpl::appendFormData):
37504        (DOM::HTMLTextAreaElementImpl::parseMappedAttribute):
37505        * khtml/html/html_imageimpl.cpp: (DOM::HTMLAreaElementImpl::parseMappedAttribute):
37506        * khtml/html/html_inlineimpl.cpp: (DOM::HTMLBRElementImpl::parseMappedAttribute):
37507        * khtml/html/html_tableimpl.cpp: (DOM::HTMLTablePartElementImpl::parseMappedAttribute):
37508        * khtml/html/htmlparser.cpp: (HTMLParser::handleError):
37509        Use equalIgnoringCase instead of strcasecmp.
37510
375112005-12-30  Mitz Pettel  <opendarwin.org@mitzpettel.com>
37512
37513        Reviewed by Darin, landed by ap.
37514
37515        Test: fast/text/justified-text-rect.html
37516
37517        - WebCore part of fix for
37518          http://bugs.webkit.org/show_bug.cgi?id=5461
37519          Text width measured incorrectly when text-align: justify
37520
37521        * khtml/rendering/font.h:
37522        * khtml/rendering/font.cpp:
37523        (khtml::Font::selectionRectForText): Added.
37524        * khtml/rendering/render_text.cpp:
37525        (kthml::InlineTextBox::selectionRect): Use selectionRectForText. This
37526        works for justified text as well, and avoids intermediate rounding which
37527        resulted in selection rects narrower than AppKit's.
37528        (khtml::InlineTextBox::positionForOffset): Use selectionRectForText,
37529        which works for justified text as well.
37530        * kwq/KWQFontMetrics.h:
37531        * kwq/KWQFontMetrics.mm:
37532        (QFontMetrics::selectionRectForText): Added.
37533        * kwq/WebCoreTextRenderer.h:
37534
375352005-12-30  Alexey Proskuryakov  <ap@nypop.com>
37536
37537        - Fix http://bugs.webkit.org/show_bug.cgi?id=6289
37538        REGRESSION: firstCharacterForRange(0, 0) returns a 0x0 rect
37539
37540        * khtml/editing/visible_text.cpp:
37541        (khtml::TextIterator::rangeFromLocationAndLength):
37542        Only special-case (0, 0) ranges for empty documents.
37543
375442005-12-30  Geoffrey Garen  <ggaren@apple.com>
37545
37546        Added test case for <rdar://problem/4268278> Submitting a form in onUnload event
37547        handler causes crash in -[WebDataSource(WebPrivate) _commitIfReady:]
37548
37549        * manual-tests/onunload-form-submit-crash.html: Added.
37550
375512005-12-30  Anders Carlsson  <andersca@mac.com>
37552
37553        Reviewed by Eric.
37554
37555        - Fix http://bugs.webkit.org/show_bug.cgi?id=6297
37556        XMLSerializer should use createMarkup.
37557
37558        * khtml/ecma/xmlserializer.cpp:
37559        (KJS::XMLSerializerProtoFunc::callAsFunction):
37560        Use createMarkup instead of NodeImpl::toString.
37561
37562        * khtml/editing/markup.cpp:
37563        (khtml::startMarkup):
37564        escape attribute values and ignore document fragment nodes.
37565
375662005-12-30  Eric Seidel  <eseidel@apple.com>
37567
37568        Reviewed by mjs.
37569
37570        No functional changes, thus no layout test.
37571
37572        Just removes debug NSLog() calls from ksvg2/kcanvas.
37573        http://bugs.webkit.org/show_bug.cgi?id=6299
37574
37575        * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
37576        (KCanvasFilterQuartz::prepareFilter):
37577        (KCanvasFilterQuartz::applyFilter):
37578        (KCanvasFilterQuartz::getCIFilterStack):
37579        (KCanvasFilterQuartz::imageForName):
37580        (KCanvasFEBlendQuartz::getCIFilter):
37581        (KCanvasFEColorMatrixQuartz::getCIFilter):
37582        (KCanvasFEGaussianBlurQuartz::getCIFilter):
37583        * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
37584        (KCanvasClipperQuartz::applyClip):
37585        * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
37586        (KRenderingDeviceContextQuartz::mapFromVisual):
37587        (KRenderingDeviceContextQuartz::mapToVisual):
37588        (KRenderingDeviceQuartz::createResource):
37589        (KRenderingDeviceQuartz::createFilterEffect):
37590        * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
37591        (drawShadingWithStyle):
37592        (KRenderingPaintServerGradientQuartz::updateQuartzGradientCache):
37593        * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
37594        (KRenderingPaintServerPatternQuartz::draw):
37595        * ksvg2/svg/svgpathparser.cpp:
37596        (SVGPathParser::parseSVG):
37597
375982005-12-29  Graham Dennis  <Graham.Dennis@gmail.com>
37599
37600        Reviewed by Hyatt.
37601
37602        - fix http://bugs.webkit.org/show_bug.cgi?id=3579
37603          In-place style-switching is leaving junk behind, messing up styles
37604
37605        * khtml/rendering/render_block.h: (khtml::RenderBlock::initMaxMarginValues):
37606        Set all margin values in all cases.
37607
376082005-12-29  Eric Seidel  <eseidel@apple.com>
37609
37610        Reviewed by mjs.
37611
37612        XML documents with "html" in dtd name use XHTML entities when they shouldn't
37613        http://bugs.webkit.org/show_bug.cgi?id=6290
37614
37615        * khtml/xml/xml_tokenizer.cpp:
37616        (khtml::externalSubsetHandler): check for exact xhtml types
37617
376182005-12-29  Eric Seidel  <eseidel@apple.com>
37619
37620        Reviewed by mjs.
37621
37622        Close leak in CollectionInfo due to HashMap migration
37623        http://bugs.webkit.org/show_bug.cgi?id=6295
37624
37625        * khtml/html/html_miscimpl.cpp:
37626        (DOM::HTMLCollectionImpl::CollectionInfo::~CollectionInfo):
37627        * khtml/html/html_miscimpl.h:
37628
376292005-12-29  Maciej Stachowiak  <mjs@apple.com>
37630
37631        Reviewed by Eric.
37632
37633        - finished frame traversal cleanup
37634        http://bugs.webkit.org/show_bug.cgi?id=6293
37635
37636        * kwq/WebCoreBridge.h: Removed childFrames method from WebCoreBridge protocol
37637        since it is not actually used.
37638
376392005-12-29  Eric Seidel  <eseidel@apple.com>
37640
37641        Reviewed by mjs.
37642
37643        Leaks in XSLTProcessorImpl due to early exit in failure case
37644        http://bugs.webkit.org/show_bug.cgi?id=6101
37645
37646        * khtml/xsl/xslt_processorimpl.cpp:
37647        (DOM::xmlDocPtrFromNode): add "shouldDelete" argument
37648        (DOM::XSLTProcessorImpl::transformToString): delete new'd xmlDoc
37649
376502005-12-29  Eric Seidel  <eseidel@apple.com>
37651
37652        File accidentally omitted from previous commit.
37653
37654        Remove QDict from khtml/html
37655        http://bugs.webkit.org/show_bug.cgi?id=6230
37656
37657        * khtml/ecma/kjs_html.cpp:
37658        (KJS::KJS::HTMLCollection::getNamedItems):
37659
376602005-12-29  Eric Seidel  <eseidel@apple.com>
37661
37662        Reviewed by mjs.
37663
37664        Remove QDict from khtml/html
37665        http://bugs.webkit.org/show_bug.cgi?id=6230
37666        Uses HashMap instead.
37667
37668        * khtml/html/html_miscimpl.cpp:
37669        (DOM::HTMLCollectionImpl::CollectionInfo::CollectionInfo):
37670        (DOM::HTMLCollectionImpl::CollectionInfo::reset):
37671        (DOM::HTMLCollectionImpl::namedItem):
37672        (DOM::HTMLCollectionImpl::updateNameCache):
37673        (DOM::HTMLCollectionImpl::namedItems):
37674        (DOM::HTMLCollectionImpl::nextNamedItem):
37675        (DOM::HTMLFormCollectionImpl::nextNamedItemInternal):
37676        (DOM::HTMLFormCollectionImpl::updateNameCache):
37677        * khtml/html/html_miscimpl.h:
37678
376792005-12-29  Eric Seidel  <eseidel@apple.com>
37680
37681        Reviewed by mjs.
37682
37683        DOMString/DOMStringImpl/AtomicString need enhancements before replacing QString
37684        http://bugs.webkit.org/show_bug.cgi?id=6228
37685        Added find(), contains(), startsWith() and endsWith() to DOMString
37686        Uses the above functions throughout the code.
37687        Small performance boost.
37688
37689        * khtml/css/css_base.cpp:
37690        (CSSSelector::print):
37691        * khtml/css/css_ruleimpl.cpp:
37692        (DOM::CSSImportRuleImpl::init):
37693        * khtml/css/css_valueimpl.cpp:
37694        (DOM::CSSStyleDeclarationImpl::setProperty):
37695        * khtml/css/cssparser.cpp:
37696        (CSSParser::parseValue):
37697        (CSSParser::parseDeclaration):
37698        (CSSParser::parseContent):
37699        * khtml/css/cssstyleselector.cpp:
37700        (khtml::CSSStyleSelector::CSSStyleSelector):
37701        (khtml::CSSStyleSelector::setEncodedURL):
37702        (khtml::parseUASheet):
37703        (khtml::cleanpath):
37704        (khtml::CSSStyleSelector::checkSelector):
37705        (khtml::CSSStyleSelector::checkOneSelector):
37706        (khtml::CSSRuleSet::addRulesFromSheet):
37707        (khtml::CSSStyleSelector::applyProperty):
37708        * khtml/dom/dom_string.cpp:
37709        * khtml/dom/dom_string.h:
37710        (DOM::DOMString::contains):
37711        (DOM::DOMString::find):
37712        (DOM::DOMString::startsWith):
37713        (DOM::DOMString::endsWith):
37714        * khtml/html/html_formimpl.cpp:
37715        (DOM::HTMLFormElementImpl::parseEnctype):
37716        * khtml/khtml_part.cpp:
37717        (KHTMLPart::requestFrame):
37718        (KHTMLPart::submitForm):
37719        * khtml/misc/decoder.cpp:
37720        (Decoder::decode):
37721        * khtml/xml/dom_atomicstring.h:
37722        (DOM::AtomicString::length):
37723        (DOM::AtomicString::operator []):
37724        (DOM::AtomicString::contains):
37725        (DOM::AtomicString::find):
37726        (DOM::AtomicString::startsWith):
37727        (DOM::AtomicString::endsWith):
37728        * khtml/xml/dom_docimpl.cpp:
37729        (DocumentImpl::processHttpEquiv):
37730        * khtml/xml/dom_stringimpl.cpp:
37731        (DOM::equal):
37732        (DOM::equalCaseInsensitive):
37733        (DOM::DOMStringImpl::find):
37734        (DOM::DOMStringImpl::endsWith):
37735        * khtml/xml/dom_stringimpl.h:
37736        (DOM::DOMStringImpl::startsWith):
37737
377382005-12-29  Rob Buis  <rwlbuis@xs4all.nl>
37739
37740        Reviewed by eseidel.  Landed by eseidel.
37741
37742        WebCore+SVG has some problems with rounded rectangles
37743        http://bugs.webkit.org/show_bug.cgi?id=6157
37744
37745        Test: svg/custom/rounded-rects.svg
37746
37747        * ksvg2/svg/SVGRectElementImpl.cpp:
37748        (SVGRectElementImpl::toPathData): fixed round rect calculations
37749
377502005-12-29  Mark Rowe  <opendarwin.org@bdash.net.nz>
37751
37752        Reviewed by eseidel, ggaren, darin.
37753
37754        - http://bugs.webkit.org/show_bug.cgi?id=4301
37755        Support HTML entities on pages parsed as XHTML
37756
37757        Added layout tests:
37758        * fast/parser/entities-in-xhtml.xhtml
37759
37760        * khtml/xml/xml_tokenizer.cpp:
37761        (khtml::XMLTokenizer::setIsXHTMLDocument): Track whether the XML document is XHTML.
37762        (khtml::XMLTokenizer::isXHTMLDocument): Ditto.
37763        (khtml::externalSubsetHandler): Ditto.
37764        (khtml::XMLTokenizer::finish): Ditto.
37765        (khtml::getXHTMLEntity): Look up the HTML entity.
37766        (khtml::getEntityHandler): Look up the HTML entity if this is an XHTML document.
37767        * khtml/html/kentities.h: Added.
37768        * khtml/html/kentities.gperf: changed entity to Entity
37769
377702005-12-29  Mitz Pettel  <opendarwin.org@mitzpettel.com>
37771
37772        Reviewed by darin
37773
37774        - WebCore part of fix for
37775          http://bugs.webkit.org/show_bug.cgi?id=3922
37776          Variable word/letter spacing and full justification not supported for
37777          ATSUI-rendered text
37778
37779        * khtml/rendering/font.h:
37780        (khtml::Font::checkSelectionPoint): Make sure the complete run, used for
37781        counting spaces and determining padding per space does not go beyond the
37782        text box.
37783
377842005-12-28  Geoffrey Garen  <ggaren@apple.com>
37785
37786        Reviewed by mjs.
37787
37788        - Fixed <rdar://problem/4325722> crash in KJS::Bindings::dispatchJNICall
37789        due to liveconnect call from Java after Java PlugInView has been
37790        deallocated @ www.binarybet.com
37791        AKA
37792        http://bugs.webkit.org/show_bug.cgi?id=5518
37793
37794        We had code that checked for whether a call came from a live PlugIn,
37795        but the live PlugIn dictionary would only get cleared when the
37796        KWQKHTMLPart was destroyed. Since a single part can service multiple
37797        loads, the dictionary needs to clear after each one.
37798
37799        No layout test because this bug is difficult to reproduce.
37800
37801        * kwq/KWQKHTMLPart.mm:
37802        (KWQKHTMLPart::~KWQKHTMLPart):
37803        (1) Unrelated cleanup: Removed manual clearing of form values,
37804        replaced with call to clearRecordedFormValues().
37805        (2) Replaced PlugIn dictionary cleanup code and view deref call
37806        with call to setView(0), since much of this code was duplicated in
37807        setView, and the stuff that wasn't duplicated needed to be.
37808
37809        (KWQKHTMLPart::setView):
37810        (1) Removed some unnecessary braces.
37811        (2) Added PlugIn dictionary cleanup code.
37812        (3) New behavior: clear _bindingRoot and _windowScriptObject after
37813        each view change. This is needed because after a call to
37814        clenaupPluginRootObjects(), both objects have stale references.
37815        (4) Changed a NULL to a 0.
37816
37817        (KWQKHTMLPart::cleanupPluginRootObjects): Removed extra space.
37818
378192005-12-28  Anders Carlsson  <andersca@mac.com>
37820
37821        Reviewed by Maciej.
37822
37823        - Fix http://bugs.webkit.org/show_bug.cgi?id=6268
37824        Add undetectable document.all
37825
37826        * khtml/ecma/kjs_html.cpp:
37827        (KJS::HTMLDocument::getValueProperty):
37828        If "all" has been set to a new value, return the new value.
37829
37830        (KJS::KJS::HTMLDocument::putValueProperty):
37831        Allow "all" to be set to a new value.
37832
37833        (KJS::HTMLAllCollection::toPrimitive):
37834        Return jsNull() if the preferred type is NullType.
37835
37836        (KJS::getAllHTMLCollection):
37837        * khtml/ecma/kjs_html.h:
37838        (KJS::HTMLAllCollection::HTMLAllCollection):
37839        Add HTMLAllCollection, a subclass of HTMLCollection which should
37840        be undetectable.
37841
37842        (KJS::HTMLAllCollection::toBoolean):
37843        Return false.
37844
378452005-12-28  Mitz Pettel  <opendarwin.org@mitzpettel.com>
37846
37847        Reviewed by Eric, landed by ap.
37848
37849        Test: fast/block/basic/text-indent-rtl.html
37850
37851        - fix http://bugs.webkit.org/show_bug.cgi?id=6214
37852          text-indent in RTL block does the opposite
37853
37854        * khtml/rendering/render_block.cpp:
37855        (khtml::RenderBlock::rightRelOffset): Subtract the indent instead of adding it.
37856
378572005-12-28  Mitz Pettel  <opendarwin.org@mitzpettel.com>
37858
37859        Reviewed by Darin, landed by ap.
37860
37861        Test: fast/dom/HTMLScriptElement/script-load-events.html
37862
37863        - fix http://bugs.webkit.org/show_bug.cgi?id=5812
37864          Generate load events for <script> elements
37865
37866        * khtml/html/html_headimpl.cpp:
37867        (HTMLScriptElementImpl::parseMappedAttribute): Parse the onload and onerror attributes.
37868        (HTMLScriptElementImpl::closeRenderer): Call base class's implementation.
37869        (HTMLScriptElementImpl::notifyFinished): Dispatch load and error events.
37870        * khtml/html/htmlparser.h:
37871        * khtml/html/htmlparser.cpp:
37872        (HTMLParser::parseToken): Return the node that was inserted.
37873        * khtml/html/htmltokenizer.h: Added scriptNode, a RefPtr to the node corresponding
37874        to the current load request.
37875        * khtml/html/htmltokenizer.cpp:
37876        (HTMLTokenizer::scriptHandler): Reset scriptNode if a load request was not made.
37877        (HTMLTokenizer::parseTag): Set scriptNode to the node created from the script tag.
37878        (HTMLTokenizer::processToken): Return the node that was inserted.
37879        (HTMLTokenizer::notifyFinished): Reset scriptNode and dispatch load and error events.
37880        * khtml/misc/loader.h:
37881        (CachedScript::errorOccurred): Added.
37882        * khtml/misc/loader.cpp:
37883        (CachedScript::CachedScript):
37884        (CachedScript::error):
37885
378862005-12-28  Alexey Proskuryakov  <ap@nypop.com>
37887
37888        Reviewed by Maciej.
37889
37890        - fix http://bugs.webkit.org/show_bug.cgi?id=6246
37891          TextIterator::rangeFromLocationAndLength() returns nil range for an
37892          empty document
37893
37894        Test: editing/input/range-for-empty-document.html
37895
37896        * khtml/editing/visible_text.cpp:
37897        (khtml::TextIterator::rangeFromLocationAndLength):
37898        Handle the case of an empty document and (0, 0) requested range.
37899
379002005-12-28  Anders Carlsson  <andersca@mac.com>
37901
37902        Reviewed and landed by Geoff.
37903
37904        - fix http://bugs.webkit.org/show_bug.cgi?id=6269
37905        ToT memory corruption
37906
37907        * khtml/rendering/render_text.cpp:
37908        (khtml::RenderText::setText):
37909        Remove deref().
37910
379112005-12-27  Mitz Pettel  <opendarwin.org@mitzpettel.com>
37912
37913        Reviewed by Hyatt, landed by Darin.
37914
37915        - fix http://bugs.webkit.org/show_bug.cgi?id=5699
37916          REGRESSION: incomplete repaint
37917
37918        * khtml/rendering/render_object.cpp:
37919        (RenderObject::repaintAfterLayoutIfNeeded): Return false if only the
37920        size changed and not everything was repainted.
37921        * manual-tests/bugzilla-5699.html: Added.
37922
379232005-12-27  Sam Weinig  <sam.weinig@gmail.com>
37924
37925        Reviewed by Maciej, landed by Darin.
37926
37927        - fixed <http://bugs.webkit.org/show_bug.cgi?id=4101>
37928        CSS Fibonacci spiral using 4 images doesn't render correctly
37929
37930        Added layout tests:
37931        * fast/replaced/absolute-image-sizing.html
37932
37933        * khtml/rendering/render_box.cpp:
37934        (RenderBox::calcAbsoluteHorizontalValues): Use calcReplacedWidth() instead of intrinsicWidth()
37935        for replaced elements.
37936        (RenderBox::calcAbsoluteVerticalValues): Same thing for height.
37937
379382005-12-27  Darin Adler  <darin@apple.com>
37939
37940        Reviewed by Geoff and Eric.
37941
37942        - http://bugs.webkit.org/show_bug.cgi?id=6198
37943          use RefPtr a few places in RenderText and related classes
37944
37945        * khtml/html/htmltokenizer.h: Use RefPtr for some data members in Token.
37946        Also removed use of bitfields in Token, since there's no need to optimize storage here.
37947        * khtml/html/htmlparser.cpp:
37948        (HTMLParser::parseToken): Update for use of RefPtr in Token.
37949        (HTMLParser::textCreateErrorCheck): Ditto.
37950        (HTMLParser::commentCreateErrorCheck): Ditto.
37951        (HTMLParser::handleIsindex): Ditto.
37952        * khtml/html/htmltokenizer.cpp:
37953        (khtml::Token::addAttribute): Ditto.
37954        (khtml::HTMLTokenizer::processToken): Ditto.
37955
37956        * khtml/rendering/render_text.h: Reduce the number of includes, change
37957        SOFT_HYPHEN from a macro into a constant. Change originalString function
37958        to return a PassRefPtr instead of a RefPtr. Make str and m_generatedContentStr
37959        member be a RefPtr.
37960        * khtml/rendering/render_text.cpp:
37961        (khtml::RenderText::previousOffset): Update for use of RefPtr for str.
37962        (khtml::RenderText::nextOffset): Ditto.
37963        (khtml::RenderText::RenderText): Ditto.
37964        (khtml::RenderText::originalString): Change to return PassRefPtr, even though
37965        it's not necessary at this level (since it's a virtual function).
37966        (khtml::RenderText::posOfChar): Update for use of RefPtr for str.
37967        (khtml::RenderText::setText): Ditto.
37968        (khtml::RenderTextFragment::RenderTextFragment): Ditto.
37969        (khtml::RenderTextFragment::originalString): Change to return PassRefPtr.
37970
37971        * khtml/html/html_inlineimpl.cpp: Re-sorted list of includes, added newly-needed ones.
37972        * kwq/KWQRenderTreeDebug.cpp: Added new include needed since QPtrVector is no longer
37973        included by render_text.h.
37974
379752005-12-27  Darin Adler  <darin@apple.com>
37976
37977        Fix suggested by Mitz.
37978
37979        - fix http://bugs.webkit.org/show_bug.cgi?id=6240
37980          REGRESSION: scrollbars in overflows don't work
37981
37982        * khtml/xml/dom2_eventsimpl.cpp: (DOM::MouseRelatedEventImpl::computePositions):
37983        Remove the code to compute pageX/Y from clientX/Y, because clientX/Y are not passed
37984        in correctly (in fact, what's passed in is pageX/Y)! I accidentally included part
37985        of my fix for clientX/Y in the original patch.
37986
379872005-12-27  Maks Orlovich <maksim@kde.org>
37988
37989        Reviewed and landed by Maciej.
37990
37991        - fixed 4405: <button> not listed in form collections.
37992        http://bugs.webkit.org/show_bug.cgi?id=4405
37993
37994        Test: fast/forms/button-in-forms-collection.html
37995
37996        * khtml/html/html_formimpl.h:
37997        (DOM::HTMLButtonElementImpl::isEnumeratable): override to return true
37998
379992005-12-25  Maciej Stachowiak  <mjs@apple.com>
38000
38001        Reviewed by Geoff.
38002
38003        - Remove WebFrame's parent frame pointer, instead rely on WebCore's parent concept
38004        http://bugs.webkit.org/show_bug.cgi?id=6241
38005
38006        * kwq/WebCoreBridge.h:
38007        * kwq/WebCoreBridge.mm:
38008        (-[WebCoreBridge parent]): New method, relies on the KHTMLPart's
38009        parent pointer.
38010
380112005-12-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>
38012
38013        Reviewed by eseidel.
38014
38015        Test: fast/forms/domstring-replace-crash.html
38016
38017        - fix http://bugs.webkit.org/show_bug.cgi?id=6236
38018          REGRESSION: Crash in DOMString::replace() in ToT (12/24/05)
38019
38020        * khtml/dom/dom_string.h:
38021        (DOMString::replace): Added check for null m_impl.
38022
380232005-12-24  Maciej Stachowiak  <mjs@apple.com>
38024
38025        Reviewed by Eric.
38026
38027        - replaced QPtrDict for Accessors structs with HashMap (also renamed some
38028        stray getSetInfo methods)
38029        http://bugs.webkit.org/show_bug.cgi?id=6223
38030
38031        * khtml/ecma/kjs_html.cpp:
38032        (KJS::HTMLElement::accessors):
38033        (KJS::HTMLElement::getValueProperty):
38034        (KJS::HTMLElement::putValueProperty):
38035        * khtml/ecma/kjs_html.h:
38036
380372005-12-24  Geoffrey Garen  <ggaren@apple.com>
38038
38039        Reviewed by eric.
38040
38041        http://bugs.webkit.org/show_bug.cgi?id=6231
38042
38043        - Fixed assertion failure in QString::mid caused by my last checkin.
38044        parseWindowFeatures() sometimes called QString::mid() with a start
38045        index past the end of the string but a length of 0. There were two
38046        problems there. (1) parseWindowFeatures() shouldn't have gotten past
38047        the end of the string. (2) QString had range truncating code that was
38048        borked. So I fixed both.
38049
38050        * khtml/ecma/kjs_window.cpp:
38051        (KJS::parseWindowFeatures): One of the "past the end" tests was >
38052        instead of >=.
38053        * kwq/KWQString.mm:
38054        (QString::mid): Truncate length *before* deciding whether to return
38055        early. Also, compare start and data._length before computing
38056        data._length - start, because the error case we're trying to catch
38057        will almost certainly cause unsigned overflow.
38058        * manual-tests/window-open-features-parsing.html: Added trailing ','
38059        to uber-test to catch this failure, too.
38060
380612005-12-24  Mitz Pettel  <opendarwin.org@mitzpettel.com>
38062
38063        Reviewed by Maciej.
38064
38065        - fix http://bugs.webkit.org/show_bug.cgi?id=6221
38066          REGRESSION: Password field is blank error for secure websites using
38067          password field (ToT, 12/24/05)
38068
38069        * khtml/kwq/KWQSlot.mm:
38070        (KWQSlot::KWQSlot): Changed the parameter type of slotTextChanged to const DOMString &
38071        * khtml/rendering/render_form.h:
38072        * khtml/rendering/render_form.cpp:
38073        (RenderLineEdit::RenderLineEdit): ditto.
38074        (RenderLineEdit::slotTextChanged): ditto.
38075        (RenderFileButton::RenderFileButton): ditto.
38076        (RenderFileButton::slotTextChanged): ditto.
38077
380782005-12-22  Geoffrey Garen  <ggaren@apple.com>
38079
38080        Reviewed by vicki (yay!), eric.
38081
38082        - Fixed: <rdar://problem/4377597> parsing of window.open features strings needs to be more forgiving
38083
38084        Manual test case: WebCore/manual-tests/window-open-features-parsing.html
38085        Also fixed: WebCore/manual-tests/window-open-features.html, which had an incorrect URL in it.
38086
38087        This patch is long. Luckily, it's also complicated.
38088
38089        The main thing I've done is to change our parsing of the window.open 'features' argument to match Win IE.
38090        This is important because we now implement the correct defaults for window.open, and resizing and
38091        scrolling are turned off by default. So, if we parse the 'features' string incorrectly, we'll end
38092        up with an annoying, incorrectly sized window that can't resize or scroll.
38093
38094        To honor a long-standing request by Eric, I factored out the parsing into two new functions:
38095        parseWindowFeatures and constrainToScreen. I also added support for "innerWidth" and "innerHeight,"
38096        since they're just synonyms for "width" and "height."
38097
38098        * khtml/ecma/kjs_window.cpp: removed "emit" statements, since emit is #defined as ""
38099        (KJS::parseDialogFeatures): renamed from parseFeatures, since we now have a 'parseWindowFeatures'.
38100        (KJS::showModalDialog): ditto on parseFeatures. Also added some missing initializations for WindowArgs data members.
38101        (KJS::parseWindowFeatures): new function, all new functionality.
38102        (KJS::constrainToScreen): new function, no new functionality -- just cut and pasted code that used to run as
38103        part of our parsing routine.
38104        (KJS::WindowFunc::callAsFunction):
38105        (1) Factored out previous parsing code.
38106        (2) Factored 17 lines of custom popup-blocking code into 3 lines that use pre-existing 'allowPopUp' function.
38107            Gratuitous, but it cried out to me.
38108        (3) Changed URL parsing to substitute "" for undefined *and* null values (we already did this for undefined),
38109            to avoid trying to navigate to 'http://null'.
38110        (4) Factore a multiline if () { if () {}} into an if ( && )
38111        (4) Removed the main body of code from a giant 'else' block by inserting early returns for the exceptional cases.
38112            This caused some things to show up in the diff even though they're just whitespace changes.
38113            I didn't actually change any code past the line "if (!str.isEmpty() && activePart)"
38114        * kwq/KWQKHTMLPartBrowserExtension.mm:
38115        (KHTMLPartBrowserExtension::createNewWindow): Added code to set toolbars to visible if toolBarVisible is true *or*
38116        locationBarVisible is true. The parser used to do this for us, but it's really the browser that's responsible for
38117        saying that the toolbar and the locationbar are the same thing. Hopefully, we can add a setLocationBarVisible delegate
38118        in the future so that other webkit clients can make their own UI decisions.
38119        * kwq/KWQKPartsBrowserExtension.h: Added locationBarVisible data member to WindowArgs structure and renamed
38120        toolBarsVisible to toolBarVisible (see above). Removed initialization code from WindowArgs structure because
38121        this file is for platform-specific code, and what defaults to use for window arguments is purely engine stuff.
38122
381232005-12-23  Eric Seidel  <eseidel@apple.com>
38124
38125        Reviewed by mjs.
38126
38127        Remove many use of .qstring()
38128        Convert several instances of QStrings to DOMStrings
38129        Add DOMString::replace(QChar, QChar)
38130        Remove (unused) KWQLabel, KWQKGlobal
38131        Slight performance improvement.
38132        Also fixed ChangeLog line endings from previous commit.
38133        http://bugs.webkit.org/show_bug.cgi?id=6138
38134
38135        No tests needed, no functionality changes.
38136
38137        * ChangeLog: Fixed line endings
38138        * ForwardingHeaders/kglobal.h: Removed.
38139        * ForwardingHeaders/qlabel.h: Removed.
38140        * WebCore.xcodeproj/project.pbxproj: removed KWQLabel
38141        * khtml/css/css_base.cpp:
38142        (CSSSelector::selectorText):
38143        * khtml/css/css_stylesheetimpl.cpp:
38144        (MediaListImpl::setMediaText):
38145        * khtml/css/cssstyleselector.cpp:
38146        (khtml::checkPseudoState):
38147        * khtml/dom/dom_string.h:
38148        (DOM::DOMString::replace):
38149        * khtml/ecma/kjs_css.cpp:
38150        (KJS::DOMCSSStyleDeclaration::put):
38151        * khtml/ecma/kjs_dom.cpp:
38152        (KJS::DOMNode::put):
38153        (KJS::DOMAttr::put):
38154        (KJS::DOMDocument::put):
38155        * khtml/ecma/kjs_events.cpp:
38156        (KJS::JSAbstractEventListener::handleEvent):
38157        * khtml/ecma/kjs_html.cpp:
38158        (KJS::KJS::HTMLDocument::put):
38159        (KJS::KJS::HTMLElementFunction::callAsFunction):
38160        (KJS::KJS::HTMLElement::put):
38161        (KJS::KJS::Context2DFunction::callAsFunction):
38162        (KJS::Context2D::putValueProperty):
38163        * khtml/ecma/kjs_proxy.cpp:
38164        (KJSProxyImpl::evaluate):
38165        * khtml/ecma/kjs_window.cpp:
38166        (KJS::Window::isSafeScript):
38167        (KJS::WindowFunc::callAsFunction):
38168        (KJS::ScheduledAction::execute):
38169        * khtml/ecma/xmlhttprequest.cpp:
38170        (KJS::XMLHttpRequest::send):
38171        (KJS::XMLHttpRequestProtoFunc::callAsFunction):
38172        * khtml/ecma/xmlhttprequest.h:
38173        * khtml/editing/jsediting.cpp:
38174        (DOM::JSEditor::queryCommandSupported):
38175        * khtml/editing/markup.cpp:
38176        (khtml::stringValueForRange):
38177        (khtml::startMarkup):
38178        * khtml/html/html_baseimpl.cpp:
38179        (HTMLBodyElementImpl::parseMappedAttribute):
38180        * khtml/html/html_elementimpl.cpp:
38181        (HTMLElementImpl::addHTMLAlignment):
38182        * khtml/html/html_formimpl.cpp:
38183        (DOM::HTMLFormElementImpl::formData):
38184        (DOM::HTMLInputElementImpl::appendFormData):
38185        (DOM::HTMLTextAreaElementImpl::updateValue):
38186        * khtml/html/html_headimpl.cpp:
38187        (HTMLLinkElementImpl::parseMappedAttribute):
38188        * khtml/html/html_imageimpl.cpp:
38189        (DOM::HTMLImageElementImpl::parseMappedAttribute):
38190        * khtml/html/html_objectimpl.cpp:
38191        (DOM::HTMLObjectElementImpl::parseMappedAttribute):
38192        (DOM::HTMLParamElementImpl::isURLAttribute):
38193        * khtml/html/html_objectimpl.h:
38194        * khtml/html/html_tableimpl.cpp:
38195        (DOM::HTMLTableElementImpl::addChild):
38196        (DOM::HTMLTableElementImpl::parseMappedAttribute):
38197        (DOM::HTMLTablePartElementImpl::parseMappedAttribute):
38198        (DOM::HTMLTableSectionElementImpl::addChild):
38199        (DOM::HTMLTableRowElementImpl::addChild):
38200        * khtml/html/htmltokenizer.cpp:
38201        (khtml::HTMLTokenizer::parseTag):
38202        * khtml/khtml_part.cpp:
38203        (KHTMLPart::executeScript):
38204        (KHTMLPart::checkEmitLoadEvent):
38205        * khtml/misc/loader.cpp:
38206        (CachedObject::finish):
38207        (CachedCSSStyleSheet::checkNotify):
38208        (CachedXSLStyleSheet::checkNotify):
38209        (CachedXBLDocument::checkNotify):
38210        (DocLoader::requestImage):
38211        (DocLoader::requestStyleSheet):
38212        (DocLoader::requestScript):
38213        (Loader::servePendingRequests):
38214        (Loader::cancelRequests):
38215        * khtml/rendering/render_applet.cpp:
38216        * khtml/rendering/render_block.cpp:
38217        (khtml::RenderBlock::updateFirstLetter):
38218        * khtml/rendering/render_box.cpp:
38219        (RenderBox::~RenderBox):
38220        * khtml/rendering/render_form.cpp:
38221        (RenderFormElement::slotTextChanged):
38222        (RenderLineEdit::updateFromElement):
38223        (RenderTextArea::updateFromElement):
38224        (RenderTextArea::text):
38225        * khtml/rendering/render_form.h:
38226        * khtml/rendering/render_frames.cpp:
38227        (RenderPartObject::updateWidget):
38228        * khtml/rendering/render_line.cpp:
38229        (khtml::EllipsisBox::paint):
38230        * khtml/rendering/render_list.cpp:
38231        (RenderListItem::paint):
38232        (RenderListMarker::paint):
38233        * khtml/rendering/render_text.cpp:
38234        (khtml::RenderText::RenderText):
38235        (khtml::RenderText::position):
38236        * khtml/xml/dom_docimpl.cpp:
38237        (DOMImplementationImpl::hasFeature):
38238        (DocumentImpl::getElementByAccessKey):
38239        (DocumentImpl::recalcStyleSelector):
38240        (DocumentImpl::defaultEventHandler):
38241        * khtml/xml/dom_elementimpl.cpp:
38242        (ElementImpl::recalcStyle):
38243        * khtml/xml/dom_nodeimpl.cpp:
38244        (DOM::NodeImpl::dump):
38245        (DOM::appendAttributeDesc):
38246        (DOM::NodeImpl::showNode):
38247        * khtml/xml/dom_stringimpl.cpp:
38248        (DOM::DOMStringImpl::lower):
38249        * khtml/xml/xml_tokenizer.cpp:
38250        (khtml::XMLTokenizer::executeScripts):
38251        * khtml/xsl/xsl_stylesheetimpl.cpp:
38252        (DOM::XSLStyleSheetImpl::loadChildSheets):
38253        * kwq/KWQKHTMLPart.h:
38254        * kwq/KWQKHTMLPart.mm:
38255        (KWQKHTMLPart::documentViewForNode):
38256        (KWQKHTMLPart::runJavaScriptAlert):
38257        (KWQKHTMLPart::runJavaScriptConfirm):
38258        (KWQKHTMLPart::runJavaScriptPrompt):
38259        (KWQKHTMLPart::addMessageToConsole):
38260        (KWQKHTMLPart::passWheelEventToChildWidget):
38261        (KWQKHTMLPart::shouldDragAutoNode):
38262        (KWQKHTMLPart::snapshotDragImage):
38263        (convertAttributesToUnderlines):
38264        (KWQKHTMLPart::setMarkedTextRange):
38265        (KWQKHTMLPart::mousePressNode):
38266        * kwq/KWQKGlobal.h: Removed.
38267        * kwq/KWQKGlobal.mm: Removed.
38268        * kwq/KWQLabel.h: Removed.
38269        * kwq/KWQLabel.mm: Removed.
38270        * kwq/KWQLineEdit.h:
38271        * kwq/KWQLineEdit.mm:
38272        (QLineEdit::setText):
38273        (QLineEdit::text):
38274        (QLineEdit::setAutoSaveName):
38275        (QLineEdit::setPlaceholderString):
38276        * kwq/KWQPainter.mm:
38277        (QPainter::compositeOperatorFromString):
38278        * kwq/KWQSignal.h:
38279        * kwq/KWQSignal.mm:
38280        (KWQSignal::call):
38281        * kwq/KWQSlot.h:
38282        * kwq/KWQSlot.mm:
38283        (KWQSlot::call):
38284        * kwq/KWQString.h:
38285        * kwq/KWQString.mm:
38286        * kwq/KWQTextEdit.h:
38287        * kwq/KWQTextEdit.mm:
38288        (QTextEdit::setText):
38289        (QTextEdit::text):
38290        (QTextEdit::textWithHardLineBreaks):
38291        * ksvg2/scripts/cssmakeprops: removed kglobal.h
38292        * ksvg2/scripts/cssmakevalues: removed kglobal.h
38293
382942005-12-23  Alexey Proskuryakov  <ap@nypop.com>
38295
38296        Reviewed by Eric Seidel.
38297
38298        - fix http://bugs.webkit.org/show_bug.cgi?id=5924
38299          Zero-length responses to XMLHTTPRequest mishandled
38300
38301        * khtml/ecma/xmlhttprequest.cpp (KJS::XMLHttpRequest::slotFinished):
38302          Make sure to fetch response headers and set the state to Loaded, if
38303          this hasn't been done already.
38304
383052005-12-23  Alexey Proskuryakov  <ap@nypop.com>
38306
38307        Reviewed by Eric Seidel.
38308
38309        - fix http://bugs.webkit.org/show_bug.cgi?id=3565
38310          Posting data via XML HTTP Request doesnt work
38311
38312        * khtml/ecma/xmlhttprequest.cpp:
38313        (KJS::XMLHttpRequest::send): Set application/xml as a default Content-Type;
38314          use a proper codec for request body if a charset is specified.
38315        (KJS::XMLHttpRequest::getRequestHeader): Use getSpecificHeader.
38316        (KJS::XMLHttpRequest::getResponseHeader): Ditto.
38317        (KJS::XMLHttpRequest::getSpecificHeader): Factored out code from getResponseHeader.
38318        (KJS::XMLHttpRequestProtoFunc::callAsFunction): Removed a FIXME (this is done in send() now).
38319        * khtml/ecma/xmlhttprequest.h:
38320
383212005-12-22  Alexey Proskuryakov  <ap@nypop.com>
38322
38323        Reviewed by Darin Adler.
38324
38325        - fix http://bugs.webkit.org/show_bug.cgi?id=6118
38326        Investigate not using the frameset charset as a default for frames
38327
38328        * khtml/khtml_part.cpp (KHTMLPart::write):
38329        Do not use the parent frame encoding as a default for sub-frames (revert
38330        rdar://3100151).
38331
383322005-12-22  Maciej Stachowiak  <mjs@apple.com>
38333
38334        Reviewed by Eric.
38335
38336        - made RefPtr<DOMStringImpl> usable as a hashtable key/value
38337        - changed XSLTProcessorImpl to make use of this instead of a QDict.
38338        - partially fixed broken param handling for xslt
38339
38340        See LayoutTests for updated test case.
38341
38342        * khtml/xml/dom_stringimpl.cpp:
38343        * khtml/xml/dom_stringimpl.h:
38344        (KXMLCore::): Set things up so you can use RefPtr<DOMStringImpl> as
38345        a hashtable key (should already be usable as a value).
38346        * khtml/xsl/xslt_processorimpl.cpp:
38347        (DOM::xsltParamArrayFromParameterMap): Updated to use a HashMap of RefPtrs instead
38348        of QDict. Also, fixed bugs that would have kept this from ever working at all.
38349        (DOM::XSLTProcessorImpl::transformToString): ditto
38350        (DOM::XSLTProcessorImpl::setParameter): ditto
38351        (DOM::XSLTProcessorImpl::getParameter): ditto
38352        (DOM::XSLTProcessorImpl::removeParameter): ditto
38353        * khtml/xsl/xslt_processorimpl.h:
38354
383552005-12-21  Maciej Stachowiak  <mjs@apple.com>
38356
38357        Reviewed by Darin.
38358
38359        - update for new HashTranslator stuff
38360
38361        * khtml/xml/dom_atomicstring.cpp:
38362        (DOM::CStringTranslator::hash):
38363        (DOM::CStringTranslator::equal):
38364        (DOM::CStringTranslator::translate):
38365        (DOM::AtomicString::equal):
38366        (DOM::AtomicString::add):
38367        (DOM::QCharBufferTranslator::hash):
38368        (DOM::QCharBufferTranslator::equal):
38369        (DOM::QCharBufferTranslator::translate):
38370        * khtml/xml/dom_qname.cpp:
38371        (DOM::QNameComponentsTranslator::hash):
38372        (DOM::QNameComponentsTranslator::equal):
38373        (DOM::QNameComponentsTranslator::translate):
38374        (DOM::QualifiedName::QualifiedName):
38375
383762005-12-22  Adele Peterson  <adele@apple.com>
38377
38378        Reviewed by Darin.
38379
38380        Cleaned up a previous checkin by defining global const defaultForm.
38381
38382        * khtml/xml/dom_docimpl.cpp:
38383        (DocumentImpl::radioButtonChecked):
38384        (DocumentImpl::checkedRadioButtonForGroup):
38385        (DocumentImpl::removeRadioButtonGroup):
38386
383872005-12-22  Adele Peterson  <adele@apple.com>
38388
38389        Reviewed by Tim Hatcher.
38390
38391        Fixed <rdar://problem/4387433> Seed: Radio buttons behave incorrectly in Gmail settings
38392
38393        * khtml/html/html_formimpl.cpp:
38394        (DOM::HTMLFormElementImpl::registerFormElement): update radio button hash map when moving form elements around.
38395        (DOM::HTMLGenericFormElementImpl::insertedIntoTree): ditto.
38396        * khtml/html/html_formimpl.h:
38397        (DOM::HTMLGenericFormElementImpl::isRadioButton): Added.
38398        (DOM::HTMLInputElementImpl::isRadioButton): Added.
38399        * khtml/xml/dom_docimpl.cpp:
38400        (DocumentImpl::radioButtonChecked):
38401        Added comment explaining that we use 1 for the default form.  We can't use a null pointer as a key for the hash map.
38402        (DocumentImpl::checkedRadioButtonForGroup): Added conversion of null form pointer to 1.
38403        (DocumentImpl::removeRadioButtonGroup): ditto.
38404
384052005-12-22  Anders Carlsson  <andersca@mac.com>
38406
38407        Reviewed by Eric.
38408
38409        - fix http://bugs.webkit.org/show_bug.cgi?id=6196
38410        Would like to be able to define prototypes in headers
38411
38412        * khtml/ecma/XSLTProcessor.cpp:
38413        * khtml/ecma/domparser.cpp:
38414        * khtml/ecma/kjs_css.cpp:
38415        * khtml/ecma/kjs_dom.cpp:
38416        * khtml/ecma/kjs_events.cpp:
38417        * khtml/ecma/kjs_html.cpp:
38418        * khtml/ecma/kjs_range.cpp:
38419        * khtml/ecma/kjs_traversal.cpp:
38420        * khtml/ecma/kjs_views.cpp:
38421        * khtml/ecma/xmlhttprequest.cpp:
38422        * khtml/ecma/xmlserializer.cpp:
38423        Update for changes to JSC.
38424
384252005-12-22  Darin Adler  <darin@apple.com>
38426
38427        Reviewed by Geoff.
38428
38429        - fix http://bugs.webkit.org/show_bug.cgi?id=6198
38430          use RefPtr a few places in RenderText and related classes
38431
38432        * khtml/html/htmlparser.cpp:
38433        (HTMLParser::parseToken): Use get since text pointer is RefPtr now.
38434        (HTMLParser::textCreateErrorCheck): Ditto.
38435        (HTMLParser::commentCreateErrorCheck): Ditto.
38436        (HTMLParser::handleIsindex): Get rid of explicit deref, no longer needed.
38437
38438        * khtml/html/htmltokenizer.h: Make attrs and text fields of Token use
38439        RefPtr. Also stop using bit fields for the flags in Token -- there's no
38440        evidence this makes things faster.
38441        * khtml/html/htmltokenizer.cpp:
38442        (khtml::Token::addAttribute): Get rid of explicit ref, no longer needed.
38443        (khtml::HTMLTokenizer::processToken): Ditto.
38444
38445        * khtml/rendering/render_block.cpp: (khtml::RenderBlock::updateFirstLetter):
38446        Use a PassRefPtr.
38447
38448        * khtml/rendering/render_text.cpp:
38449        (khtml::RenderText::previousOffset): Use get since str pointer is RefPtr now.
38450        (khtml::RenderText::nextOffset): Ditto.
38451        (khtml::RenderText::RenderText): Get rid of explicit ref, no longer needed.
38452        Change to use initializer syntax instead of assignment.
38453        (khtml::RenderText::setStyle): Use PassRefPtr.
38454        (khtml::RenderText::originalString): Ditto.
38455        (khtml::RenderText::setText): Get rid of explicit ref, no longer needed.
38456        (khtml::RenderTextFragment::RenderTextFragment): Get rid of explicit ref,
38457        no longer needed.
38458        (khtml::RenderTextFragment::originalString): Use PassRefPtr.
38459
38460        * khtml/rendering/render_text.h: Change SOFT_HYPEN to be a constant rather than
38461        a preprocessor macro. Used PassRefPtr in a couple places. Made RenderText's str
38462        and RenderTextFragment's m_generatedContentStr be RefPtr.
38463
38464        * khtml/html/html_inlineimpl.cpp: Add a newly-needed include, sort them.
38465        * kwq/KWQRenderTreeDebug.cpp: Add a newly-needed include.
38466
384672005-12-22  Darin Adler  <darin@apple.com>
38468
38469        Reviewed by Eric.
38470
38471        - fix http://bugs.webkit.org/show_bug.cgi?id=6193
38472          remove some unused KWQ code
38473
38474        * kcanvas/KCanvasCreator.cpp: (KCanvasCreator::self): Don't use static deleter for
38475        two reasons: (1) We don't want any globals with constructors in any of our frameworks
38476        because they slow down framework load time. (2) There's no need to destroy this object at
38477        process termination time -- it's extra work with no benefit. Because of both these
38478        reasons, our KStaticDeleter implementation was basically a no-op.
38479        * ksvg2/svg/SVGDOMImplementationImpl.cpp: (SVGDOMImplementationImpl::self): Ditto.
38480        * khtml/xml/dom_docimpl.cpp: (DocumentImpl::setDocumentChanged): Ditto.
38481
38482        * khtml/html/html_canvasimpl.cpp: Removed include of kstringhandler.h.
38483        * khtml/html/html_imageimpl.cpp: Ditto.
38484
38485        * khtml/khtmlpart_p.h: Removed something that was in an "APPLE_CANGES" ifdef.
38486
38487        * ForwardingHeaders/kstaticdeleter.h: Removed.
38488        * ForwardingHeaders/kstringhandler.h: Removed.
38489        * kwq/KWQKStaticDeleter.h: Removed.
38490        * kwq/KWQKStringHandler.h: Removed.
38491        * kwq/KWQKStringHandler.mm: Removed.
38492
38493        * WebCore.xcodeproj/project.pbxproj: Removed files.
38494
384952005-12-22  Darin Adler  <darin@apple.com>
38496
38497        Reviewed by Eric.
38498
38499        - fix http://bugs.webkit.org/show_bug.cgi?id=6192
38500          add support for non-standard &nsup; entity (implemented in other browsers)
38501
38502        * khtml/html/kentities.gperf: Add "nsup" to table.
38503        * khtml/html/htmltokenizer.cpp: Removed old workaround for inlining issue that no
38504        longer seems to be necessary; also touches the file which is important because
38505        Xcode doesn't seem to understand the dependency on kentities.gperf and the need
38506        to recompile.
38507
385082005-12-22  Darin Adler  <darin@apple.com>
38509
38510        Reviewed by Eric.
38511
38512        - fix http://bugs.webkit.org/show_bug.cgi?id=6167
38513          RenderStyle default constructor should initialize its members for speed
38514
38515        * khtml/rendering/DataRef.h: (khtml::DataRef::operator=): Eliminate an extra
38516        branch by doing ref before deref instead of == check.
38517
38518        * khtml/rendering/render_style.cpp:
38519        (khtml::initDefaultStyle): Added. Function to initialize the default style
38520        for use in constructor.
38521        (khtml::RenderStyle::RenderStyle): Changed constructor to initalize all the
38522        members with constructor syntax instead of using assignment on all of them.
38523        * khtml/rendering/render_style.h: Removed static data member _default --
38524        it's now a file scope global instead.
38525
385262005-12-21  Darin Adler  <darin@apple.com>
38527
38528        Reviewed by Justin.
38529
38530        - fix http://bugs.webkit.org/show_bug.cgi?id=6142
38531          intermittent failures in some paste tests
38532
38533        * khtml/editing/apply_style_command.cpp:
38534        (khtml::ApplyStyleCommand::applyBlockStyle): Call new updateLayout member function.
38535        (khtml::ApplyStyleCommand::applyInlineStyle): Ditto.
38536        (khtml::ApplyStyleCommand::pushDownTextDecorationStyleAtBoundaries): Ditto.
38537        * khtml/editing/composite_edit_command.cpp:
38538        (khtml::CompositeEditCommand::addBlockPlaceholderIfNeeded): Ditto.
38539        (khtml::CompositeEditCommand::findBlockPlaceholder): Ditto.
38540        (khtml::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): Ditto.
38541        * khtml/editing/delete_selection_command.cpp:
38542        (khtml::DeleteSelectionCommand::fixupWhitespace): Ditto.
38543        (khtml::DeleteSelectionCommand::moveNodesAfterNode): Ditto.
38544        * khtml/editing/edit_command.cpp:
38545        (khtml::EditCommand::apply): Ditto.
38546        (khtml::EditCommand::unapply): Ditto.
38547        (khtml::EditCommand::reapply): Ditto.
38548        (khtml::EditCommand::updateLayout): Added. Calls updateLayoutIgnorePendingStylesheets
38549        on the document.
38550        * khtml/editing/edit_command.h: Added updateLayout member function.
38551        * khtml/editing/insert_line_break_command.cpp:
38552        (khtml::InsertLineBreakCommand::doApply): Call new updateLayout member function.
38553        * khtml/editing/insert_paragraph_separator_command.cpp:
38554        (khtml::InsertParagraphSeparatorCommand::doApply): Ditto.
38555        * khtml/editing/jsediting.cpp:
38556        (DOM::JSEditor::execCommand): Call updateLayoutIgnorePendingStylesheets instead of updateLayout.
38557        (DOM::JSEditor::queryCommandEnabled): Ditto.
38558        (DOM::JSEditor::queryCommandIndeterm): Ditto.
38559        (DOM::JSEditor::queryCommandState): Ditto.
38560        (DOM::JSEditor::queryCommandValue): Ditto.
38561        * khtml/editing/markup.cpp: (khtml::createMarkup): Ditto.
38562        * khtml/editing/replace_selection_command.cpp:
38563        (khtml::ReplacementFragment::insertFragmentForTestRendering): Ditto.
38564        (khtml::ReplaceSelectionCommand::fixupNodeStyles): Call new updateLayout member function.
38565        (khtml::ReplacementFragment::computeStylesUsingTestRendering): Call
38566        updateLayoutIgnorePendingStylesheets instead of updateLayout.
38567        (khtml::ReplaceSelectionCommand::doApply): Call new updateLayout member function.
38568        (khtml::ReplaceSelectionCommand::removeLinePlaceholderIfNeeded): Ditto.
38569        (khtml::ReplaceSelectionCommand::completeHTMLReplacement): Ditto.
38570        * khtml/editing/visible_units.cpp:
38571        (khtml::previousLinePosition): Call updateLayoutIgnorePendingStylesheets instead of updateLayout.
38572        (khtml::nextLinePosition): Ditto.
38573        * khtml/html/html_elementimpl.cpp:
38574        (HTMLElementImpl::innerText): Ditto.
38575        * kwq/WebCoreBridge.mm:
38576        (-[WebCoreBridge setSelectedDOMRange:affinity:closeTyping:]): Ditto.
38577        (-[WebCoreBridge smartDeleteRangeForProposedRange:]): Ditto.
38578
385792005-12-21  Darin Adler  <darin@apple.com>
38580
38581        Reviewed by Geoff.
38582
38583        - fix http://bugs.webkit.org/show_bug.cgi?id=6177
38584          move event code from JavaScript binding into DOM implementation
38585
38586        * khtml/ecma/kjs_events.cpp:
38587        (KJS::DOMMouseEvent::getValueProperty): Change everything to just call through instead of doing
38588        the work here.
38589        (KJS::DOMWheelEvent::getValueProperty): Ditto.
38590
38591        * khtml/xml/dom2_eventsimpl.h:
38592        (DOM::MouseRelatedEventImpl::offsetX):
38593        (DOM::MouseRelatedEventImpl::offsetY):
38594        * khtml/xml/dom2_eventsimpl.cpp:
38595        (DOM::MouseRelatedEventImpl::MouseRelatedEventImpl): Initialize new m_pageX, m_pageY, m_layerX,
38596        m_layerY, m_offsetX, and m_offsetY.
38597        (DOM::MouseRelatedEventImpl::computePositions): Renamed from computeLayerPos since it handles
38598        page position andoffset position too now.
38599        (DOM::MouseRelatedEventImpl::pageX): Added. Not in header since it's virtual.
38600        (DOM::MouseRelatedEventImpl::pageY): Ditto.
38601        (DOM::MouseRelatedEventImpl::x): Added, with FIXME since it should change eventually.
38602        (DOM::MouseRelatedEventImpl::y): Ditto.
38603        (DOM::MouseEventImpl::initMouseEvent): Call computePositions instead of computeLayerPos.
38604        (DOM::MouseEventImpl::toElement): Added.
38605        (DOM::MouseEventImpl::fromElement): Added.
38606
386072005-12-21  Timothy Hatcher  <timothy@apple.com>
38608
38609        * WebCore.xcodeproj/project.pbxproj:
38610          Set tab width to 8, indent width to 4 and uses tabs to false per file.
38611
386122005-12-21  John Sullivan  <sullivan@apple.com>
38613
38614        Reviewed by Tim Omernick and Darin Adler.
38615
38616        - fixed HiDPI problem with forms auto-fill menu width
38617
38618        No test cases added; this code is used for "chrome" only.
38619
38620        * kwq/DOMHTML.mm:
38621        (-[DOMHTMLInputElement _rectOnScreen]):
38622        convert entire rect to window coordinates, not just origin
38623
386242005-12-21  David Harrison  <harrison@apple.com>
38625
38626        Reviewed by Justin.
38627
38628        <rdar://problem/4039777> Pasting particular snippet of HTML containing list items and a link creates too many list items
38629        - Fixed paste crash by making calling RenderBox::deleteLineBoxWrapper() from RenderObject::remove(),
38630        so that the connection is broken before the InlineBox's parent gets deleted.
38631        - Fixed overzealous style changes when setting the style on a specific range of elements.  These specific
38632        ranges are derived programmatically, e.g. as a part of pasting, so they must be respected exactly rather
38633        than modified by converting the endpoints to VisiblePositions.
38634
38635        Test cases coming soon.
38636
38637        * khtml/editing/apply_style_command.cpp:
38638        (khtml::ApplyStyleCommand::ApplyStyleCommand):
38639        (khtml::ApplyStyleCommand::updateStartEnd):
38640        (khtml::ApplyStyleCommand::startPosition):
38641        (khtml::ApplyStyleCommand::endPosition):
38642        (khtml::ApplyStyleCommand::applyBlockStyle):
38643        (khtml::ApplyStyleCommand::applyRelativeFontStyleChange):
38644        (khtml::ApplyStyleCommand::applyInlineStyle):
38645        (khtml::ApplyStyleCommand::removeInlineStyle):
38646        (khtml::ApplyStyleCommand::splitTextAtStartIfNeeded):
38647        (khtml::ApplyStyleCommand::splitTextAtEndIfNeeded):
38648        (khtml::ApplyStyleCommand::splitTextElementAtStartIfNeeded):
38649        (khtml::ApplyStyleCommand::splitTextElementAtEndIfNeeded):
38650        (khtml::ApplyStyleCommand::mergeStartWithPreviousIfIdentical):
38651        (khtml::ApplyStyleCommand::mergeEndWithNextIfIdentical):
38652        (khtml::ApplyStyleCommand::joinChildTextNodes):
38653        * khtml/editing/apply_style_command.h:
38654        * khtml/editing/composite_edit_command.cpp:
38655        (khtml::CompositeEditCommand::applyStyle):
38656        * khtml/editing/composite_edit_command.h:
38657        * khtml/editing/insert_line_break_command.cpp:
38658        (khtml::InsertLineBreakCommand::doApply):
38659        * khtml/editing/replace_selection_command.cpp:
38660        (khtml::ReplaceSelectionCommand::fixupNodeStyles):
38661        (khtml::ReplaceSelectionCommand::completeHTMLReplacement):
38662        * khtml/rendering/render_box.cpp:
38663        (RenderBox::destroy):
38664        (RenderBox::deleteLineBoxWrapper):
38665        * khtml/rendering/render_box.h:
38666        * khtml/rendering/render_list.cpp:
38667        (RenderListMarker::~RenderListMarker):
38668        (RenderListMarker::setStyle):
38669        * khtml/rendering/render_object.cpp:
38670        (RenderObject::remove):
38671        * khtml/rendering/render_object.h:
38672        * khtml/rendering/render_replaced.cpp:
38673        (RenderWidget::destroy):
38674
386752005-12-20  Adele Peterson  <adele@apple.com>
38676
38677        Reviewed by Darin.
38678
38679        Fixed http://bugs.webkit.org/show_bug.cgi?id=5911
38680        REGRESSION: Page scroll position jumps when clicking on word in editable div
38681
38682        I moved the scrolling code out of setFocusNode, and consolidated some of the focus code to scroll when necessary.
38683
38684        * khtml/html/html_formimpl.cpp: Removed HTMLButtonElementImpl::blur, HTMLButtonElementImpl::focus, HTMLInputElementImpl::blur, HTMLInputElementImpl::focus.
38685        New code in ElementImpl::focus will now handle these cases.  This allows tabbing through the elements to go through the same code path as calling focus() on an element.
38686        Before, focus() would scroll to reveal for any form elements that had a RenderWidget, but wouldn't scroll for anchor elements, or any of the new form elements.
38687        Now the behavior will be more consistent.
38688        (DOM::HTMLLabelElementImpl::focus): calls ElementImpl::focus.
38689        (DOM::HTMLLegendElementImpl::focus): ditto.
38690        * khtml/html/html_formimpl.h:
38691        * khtml/khtml_part.cpp:
38692        (KHTMLPart::selectAll): calls new function selectContentsOfNode
38693        (KHTMLPart::selectContentsOfNode): factored out code to selectAll for a particular node- which is useful for contenteditable elements.
38694        * khtml/khtml_part.h: added selectContentsOfNode
38695        * khtml/xml/dom_docimpl.cpp:
38696        (DocumentImpl::setFocusNode): removed scrolling code.
38697        * khtml/xml/dom_elementimpl.cpp:
38698        (ElementImpl::focus): Calls updateLayout in case focus() is called before there's a renderer.
38699        Makes a selection for editable elements (right now we select all, but this will change).
38700        Doesn't scroll if the renderer is a RenderWidget, since that is handled when the view becomes first responder.  This will go away when we convert the rest of our form elements.
38701        * kwq/KWQKHTMLPart.mm:
38702        (KWQKHTMLPart::revealSelection): Made this more like centerSelectionInVisibleArea  where we get the right rectangle if the selection is a caret.
38703        (KWQKHTMLPart::nextKeyViewInFrame): call ElementImpl::focus() for the node.  This will set the selection too, which used to be done here.
38704
387052005-12-20  Alexey Proskuryakov  <ap@nypop.com>
38706
38707        Reviewed by justin
38708
38709        <http://bugs.webkit.org/show_bug.cgi?id=4682>
38710        -[WebHTMLView firstRectForCharacterRange:] is using _selectedRange instead of the given range if no marked text
38711
38712        Added layout tests:
38713        * editing/input/firstrectforcharacterrange-styled
38714        * editing/input/firstrectforcharacterrange-plain
38715
38716        * khtml/editing/visible_text.cpp:
38717        (khtml::TextIterator::rangeFromLocationAndLength):
38718        Return null if the range isn't found, instead of a startless/endless
38719        range.  Set the end if the requested location+length is out of bounds.
38720        * kwq/WebCoreBridge.mm:
38721        (-[WebCoreBridge convertToDOMRange:]): Handle larged unsigned values
38722        before calling rangeWithLocationAndLength, which expects signed ints.
38723
387242005-12-20  Adele Peterson  <adele@apple.com>
38725
38726        Reviewed by Darin.
38727
38728        Fix for <rdar://problem/4387630> REGRESSION: <select> element's onClick event doesn't fire @ bugweb.apple.com
38729
38730        * kwq/KWQKHTMLPart.mm:
38731        (KWQKHTMLPart::passSubframeEventToSubframe): only pass mouse down for khtmlviews.
38732
387332005-12-20  Justin Garcia  <justin.garcia@apple.com>
38734
38735        Reviewed by eric, thatcher
38736
38737        <rdar://problem/4172984> KWQExceptions needs to use @try/@catch instead of relying on NSException.h internals
38738
38739        Needed to undef try/catch because of 4333439.  Moved the
38740        declarations of variables that are returned from within a @try
38741        block outside the @try block (because of "might be clobbered by
38742        a longjmp or vfork" warnings).  Moved some return statements
38743        inside the @try block to fix volatilization errors with gcc4.
38744
38745        * WebCore.xcodeproj/project.pbxproj:
38746        * WebCorePrefix.h:
38747        * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
38748        (KCanvasFEBlendQuartz::getCIFilter):
38749        (KCanvasFEColorMatrixQuartz::getCIFilter):
38750        (KCanvasFECompositeQuartz::getCIFilter):
38751        (getPointLightVectors):
38752        (getLightVectors):
38753        (getNormalMap):
38754        (KCanvasFEDiffuseLightingQuartz::getCIFilter):
38755        (KCanvasFEFloodQuartz::getCIFilter):
38756        (KCanvasFEImageQuartz::getCIFilter):
38757        (KCanvasFEMergeQuartz::getCIFilter):
38758        (KCanvasFESpecularLightingQuartz::getCIFilter):
38759        * kwq/KWQExceptions.h:
38760        * kwq/KWQExceptions.mm:
38761        (KWQReportBlockedException):
38762        * kwq/KWQFileButton.mm:
38763        (KWQFileButton::sizeForCharacterWidth):
38764        (KWQFileButton::frameGeometry):
38765        * kwq/KWQKCursor.mm:
38766        (+[NSCursor _WebCore_cursorWithName:hotSpot:_WebCore_cursorWithName:hotSpot:]):
38767        * kwq/KWQKHTMLPart.mm:
38768        (KWQKHTMLPart::createPart):
38769        (KWQKHTMLPart::nextKeyView):
38770        (KWQKHTMLPart::runJavaScriptPrompt):
38771        (KWQKHTMLPart::keyEvent):
38772        (KWQKHTMLPart::sendContextMenuEvent):
38773        (KWQKHTMLPart::fileWrapperForElement):
38774        (KWQKHTMLPart::attributedString):
38775        (KWQKHTMLPart::imageFromRect):
38776        * kwq/KWQKHTMLPartBrowserExtension.mm:
38777        * kwq/KWQLineEdit.mm:
38778        (QLineEdit::sizeForCharacterWidth):
38779        * kwq/KWQListBox.mm:
38780        (QListBox::sizeForNumberOfLines):
38781        * kwq/KWQLoader.mm:
38782        (KWQCheckCacheObjectStatus):
38783        * kwq/KWQWidget.mm:
38784        (QWidget::frameGeometry):
38785        (QWidget::mapFromGlobal):
38786
387872005-12-20  David Harrison  <harrison@apple.com>
38788
38789        <rdar://problem/4294417> Cannot un-italicize some text after triple clicking it
38790
38791        Reviewed by Justin.
38792
38793        * khtml/editing/apply_style_command.cpp:
38794        (khtml::ApplyStyleCommand::addInlineStyleIfNeeded):
38795        Removed check for tab span because ApplyStyleCommand::removeCSSStyle() already makes the same check.
38796
387972005-12-20  Justin Garcia  <justin.garcia@apple.com>
38798
38799        <rdar://problem/4387270> editing/deleting/delete-3800834-fix failing
38800        <http://bugs.webkit.org/show_bug.cgi?id=6160> REGRESSION: Crash when running editing/deleting/delete-3800834-fix.html
38801        <http://bugs.webkit.org/show_bug.cgi?id=6161> REGRESSION: crash when pressing tab in editable WebHTMLView
38802
38803        Reviewed by darin
38804
38805        Some callers call setAttribute on a floating element.  So, using
38806        a RefPtr for the element inside addAttribute can destroy
38807        it.
38808
38809        * khtml/xml/dom_elementimpl.cpp:
38810        (NamedAttrMapImpl::addAttribute):
38811
388122005-12-20  Maciej Stachowiak  <mjs@apple.com>
38813
38814        Reviewed by Darin.
38815
38816        - fixed leak in createAttributeMap
38817        http://bugs.webkit.org/show_bug.cgi?id=6162
38818
38819        * khtml/xml/dom_elementimpl.cpp:
38820        (StyledElementImpl::createAttributeMap): the new attribute map
38821        is going in a RefPtr, don't also ref it manually.
38822
388232005-12-20  Maciej Stachowiak  <mjs@apple.com>
38824
38825        Reviewed by Darin.
38826
38827        - change an assignment to a contructor declaration to build with PassRefPtr
38828        leak fix changes
38829
38830        * ksvg2/svg/SVGTransformableImpl.cpp:
38831        (SVGTransformableImpl::parseTransformAttribute):
38832
388332005-12-20  Geoffrey Garen  <ggaren@apple.com>
38834
38835        Reviewed by John.
38836
38837        Fixed <rdar://problem/4310363> JavaScript window.open: Height is 1
38838        pixel short, and related bugs.
38839
38840        There were a few bugs here.
38841        (1) Our code took size arguments and applied them to the window's
38842            content rect. That's incorrect. The Rhino book says the arguments
38843            should apply to the WebView. Other things that occupy the content
38844            rect include the tab bar, the status bar, and the 1 pixel border
38845            between brushed metal and document. All of these used to impinge
38846            on the web page's display area.
38847
38848            The fix is to calculate sizing based on the WebView instead of
38849            the content rect. This means that the webViewContentRect and
38850            setContentRect delegate methods are obsolete and no longer called
38851            by any of our code. (setContentRect was never called in the
38852            first place.)
38853
38854        (2) None of our sizing accounted for scaled resolutions.
38855
38856            The fix is to ask the WebView to scale all coordintes for us.
38857
38858        (3) Our code assumed that all window accoutrements were on by default.
38859            Safari works that way, but other WebKit clients might not.
38860
38861            The fix is always to explicitly set an on/off state.
38862
38863        (a) To facilitate scaling, I added a new bridge method, webView, to
38864        access the webView.
38865
38866        (b) For internal consistency, I changed ___Bars to ___bars in bridge
38867        methods, and ___bars to ___Bars in WinArgs data members. (Interestingly,
38868        the different classes in our code are evenly divided on which format to
38869        use.)
38870
38871        Added manual test:
38872        * manual-tests/window-open-features.html: Added.
38873        * manual-tests/resources/200x200.png: Added.
38874        * manual-tests/resources/popup200x200.html: Added.
38875
38876        * khtml/ecma/kjs_window.cpp:
38877        (KJS::showModalDialog): see (b)
38878        (KJS::WindowFunc::callAsFunction): see (b)
38879        * kwq/KWQKHTMLPart.mm:
38880        (KWQKHTMLPart::statusbarVisible): see (b)
38881        * kwq/KWQKHTMLPartBrowserExtension.mm:
38882        (KHTMLPartBrowserExtension::createNewWindow):
38883        At the top of this method, I just did some formatting cleanup and
38884        moved the 'referrer' variable closer to where it's used.
38885        The changes in the middle of the method are (3), the bottom, (2).
38886        * kwq/KWQKPartsBrowserExtension.h:
38887        (KParts::WindowArgs::WindowArgs): see (b)
38888        * kwq/WebCoreBridge.h: see (a)
38889
388902005-12-20  Eric Seidel  <eseidel@apple.com>
38891
38892        Reviewed by mjs.
38893
38894        Leaks when running SVG tests
38895        http://bugs.webkit.org/show_bug.cgi?id=6156
38896        No additional tests necessary, leaks already caught by other tests.
38897
38898        * kcanvas/KCanvasFilters.cpp:
38899        (KCanvasFEDiffuseLighting::setLightSource): takes ownership
38900        (KCanvasFESpecularLighting::setLightSource): takes ownership
38901        * kcanvas/KCanvasFilters.h:
38902        (KCanvasFEDiffuseLighting::KCanvasFEDiffuseLighting): added
38903        (KCanvasFEDiffuseLighting::~KCanvasFEDiffuseLighting): added
38904        (KCanvasFEDiffuseLighting::lightSource): fixed spacing
38905        (KCanvasFESpecularLighting::KCanvasFESpecularLighting): added
38906        (KCanvasFESpecularLighting::~KCanvasFESpecularLighting): added
38907        (KCanvasFESpecularLighting::lightSource): fixed spacing
38908        * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
38909        (KRenderingDeviceQuartz::stringForPath): added missing CFRelease
38910
389112005-12-20  Eric Seidel  <eseidel@apple.com>
38912
38913        Reviewed by darin.
38914
38915        Remove additional bit-rotted DEBUG* ifdefs from WebCore.
38916        This removes PARSER_DEBUG, FORMS_DEBUG and CSS_STYLESHEET_DEBUG.
38917        http://bugs.webkit.org/show_bug.cgi?id=5931
38918        No tests possible, only removing dead code.
38919
38920        * khtml/css/css_stylesheetimpl.cpp:
38921        (CSSStyleSheetImpl::parseString):
38922        (CSSStyleSheetImpl::isLoading):
38923        * khtml/html/html_formimpl.cpp:
38924        (DOM::HTMLFormElementImpl::formData):
38925        (DOM::HTMLFormElementImpl::submit):
38926        (DOM::HTMLFormElementImpl::reset):
38927        (DOM::HTMLGenericFormElementImpl::getForm):
38928        * khtml/html/htmlparser.cpp:
38929        (HTMLParser::processCloseTag):
38930        (HTMLParser::createHead):
38931
389322005-12-20  Eric Seidel  <eseidel@apple.com>
38933
38934        Reviewed by darin.
38935
38936        Move Decoder onto Shared<T> and clients onto RefPtr.
38937        http://bugs.webkit.org/show_bug.cgi?id=6107
38938        No test cases possible, no functional changes.
38939
38940        * khtml/ecma/XSLTProcessor.cpp:
38941        (KJS::XSLTProcessorProtoFunc::callAsFunction):
38942        * khtml/ecma/xmlhttprequest.cpp:
38943        (KJS::XMLHttpRequest::XMLHttpRequest):
38944        (KJS::XMLHttpRequest::~XMLHttpRequest):
38945        (KJS::XMLHttpRequest::changeState):
38946        (KJS::XMLHttpRequest::abort):
38947        (KJS::XMLHttpRequest::slotFinished):
38948        (KJS::XMLHttpRequest::slotData):
38949        * khtml/ecma/xmlhttprequest.h:
38950        * khtml/khtml_part.cpp:
38951        (KHTMLPart::clear):
38952        (KHTMLPart::begin):
38953        (KHTMLPart::write):
38954        * khtml/khtmlpart_p.h:
38955        (KHTMLPartPrivate::KHTMLPartPrivate):
38956        * khtml/misc/decoder.cpp:
38957        (Decoder::Decoder):
38958        (Decoder::~Decoder):
38959        * khtml/misc/decoder.h:
38960        * khtml/misc/loader.h:
38961        * khtml/xml/dom_docimpl.cpp:
38962        (DocumentImpl::DocumentImpl):
38963        (DocumentImpl::~DocumentImpl):
38964        (DocumentImpl::prepareMouseEvent):
38965        (DocumentImpl::setDecoder):
38966        * khtml/xml/dom_docimpl.h:
38967        (DOM::DocumentImpl::decoder):
38968        * khtml/xsl/xslt_processorimpl.cpp:
38969        (DOM::XSLTProcessorImpl::createDocumentFromSource):
38970
389712005-12-19  Darin Adler  <darin@apple.com>
38972
38973        Reviewed by Maciej.
38974
38975        - fix http://bugs.webkit.org/show_bug.cgi?id=6143
38976          DOM::ElementImpl should use a RefPtr for the attribute map
38977
38978        * khtml/xml/dom_elementimpl.cpp:
38979        (ElementImpl::ElementImpl): Remove code to initialize the pointer; not needed since
38980        RefPtr gets initialized to 0.
38981        (ElementImpl::~ElementImpl): Remove code to deref the pointer; RefPtr handles that.
38982        (ElementImpl::attributes): Add get() call to get raw pointer.
38983        (ElementImpl::setAttributeMap): Remove code to deref the old map and set the new map.
38984        But added code to clear the element pointer from the old map (missing in the old
38985        version). Also added a FIXME.
38986        (ElementImpl::createAttributeMap): Remove ref(); RefPtr handles that.
38987        (NamedAttrMapImpl::addAttribute): Use a RefPtr to guarantee the element does not go
38988        away in the middle of dispatching DOM events.
38989        (StyledElementImpl::attributeChanged): Clean up code by using the inline function
38990        mappedAttributes() instead of doing type casts.
38991        (StyledElementImpl::parseMappedAttribute): Ditto.
38992        (StyledElementImpl::getClassList): Ditto.
38993
38994        * khtml/xml/dom_elementimpl.h: Make ElementImpl::namedAttrMap be a RefPtr instead
38995        of raw pointer. Added an overload of StyledElementImpl::mappedAttributes for both
38996        const and non-const.
38997
38998        * khtml/xml/dom_nodeimpl.cpp: (DOM::NodeImpl::addChild): Use a RefPtr to ref/deref
38999        the child so that it doesn't leak.
39000
39001        * khtml/html/htmlparser.h: Changed isindex to use a RefPtr.
39002        * khtml/html/htmlparser.cpp:
39003        (HTMLParser::~HTMLParser): Removed now-unneeded ref.
39004        (HTMLParser::isindexCreateErrorCheck): Remove now-unneeded deref/ref.
39005        (HTMLParser::handleIsindex): Put isindex element into a RefPtr. This prevents a
39006        crash that was otherwise happening during layout tests (caused indirectly by
39007        the changes above).
39008        (HTMLParser::startBody): Added call to get().
39009
390102005-12-19  Darin Adler  <darin@apple.com>
39011
39012        Reviewed by Geoff Garen and Eric Seidel.
39013
39014        - fix http://bugs.webkit.org/show_bug.cgi?id=4923
39015          stop using <ostream> in WebCore, eliminating the <cmath> troubles it causes
39016
39017        * ForwardingHeaders/kxmlcore/AlwaysInline.h: Added.
39018        * WebCorePrefix.h: Removed the use of <ostream>.
39019
39020        * kwq/KWQDef.h: Removed now-unused Q_INT64, Q_INT16, Q_UINT16, qRound, and _KWQ_IOSTREAM_.
39021
39022        * kwq/KWQKHTMLPart.h: Removed some unneeded headers and added forward-declarations of classes
39023        instead. Corrected some incorrect member function declarations.
39024        * kwq/KWQKHTMLPart.mm: Added a now-needed header.
39025
39026        * khtml/ecma/kjs_window.cpp: Removed the <cmath> workaround.
39027        * khtml/rendering/bidi.cpp: Added include of AlwaysInline.h and removed a
39028        lot of unnecessary includes.
39029        * khtml/rendering/render_canvasimage.cpp: Removed the <cmath> workaround.
39030        * khtml/rendering/render_image.cpp: Removed the <cmath> workaround.
39031        * khtml/rendering/render_text.cpp: Added include of AlwaysInline.h and removed a
39032        lot of unnecessary includes.
39033
39034        * ksvg2/css/SVGCSSStyleSelector.cpp: (KDOM::CSSStyleSelector::applySVGProperty):
39035        * ksvg2/svg/SVGAnimateColorElementImpl.cpp: (SVGAnimateColorElementImpl::calculateColor):
39036        * ksvg2/svg/SVGAnimateTransformElementImpl.cpp: (SVGAnimateTransformElementImpl::handleTimerEvent):
39037        * ksvg2/svg/SVGAnimationElementImpl.cpp: (SVGAnimationElementImpl::closeRenderer):
39038        * ksvg2/svg/SVGLinearGradientElementImpl.cpp: (SVGLinearGradientElementImpl::buildGradient):
39039        * ksvg2/svg/SVGPatternElementImpl.cpp: (SVGPatternElementImpl::notifyAttributeChange):
39040        * ksvg2/svg/SVGRadialGradientElementImpl.cpp: (SVGRadialGradientElementImpl::buildGradient):
39041        Replaced use of qRound with use of lroundf or lround as appropriate.
39042
39043        * kwq/KWQCString.h:
39044        * kwq/KWQCString.mm:
39045        * kwq/KWQDateTime.h:
39046        * kwq/KWQDateTime.mm:
39047        * kwq/KWQMap.h:
39048        * kwq/KWQMemArray.h:
39049        * kwq/KWQPoint.mm:
39050        * kwq/KWQPointArray.h:
39051        * kwq/KWQPtrList.h:
39052        * kwq/KWQPtrStack.h:
39053        * kwq/KWQPtrVector.h:
39054        * kwq/KWQRect.h:
39055        * kwq/KWQRect.mm:
39056        * kwq/KWQSize.h:
39057        * kwq/KWQSize.mm:
39058        * kwq/KWQValueList.h:
39059        Removed _KWQ_IOSTREAM_ code that was used at one time for unit tests, but is now unneeded,
39060        and requires <ostream>.
39061
390622005-12-19  Darin Adler  <darin@apple.com>
39063
39064        Reviewed by Geoff Garen and John Sullivan.
39065
39066        - fix http://bugs.webkit.org/show_bug.cgi?id=4312
39067          XMLHttpRequest headers that have two CRLF sequences lead to Obj-C exception
39068
39069        I found this by code inspection after examining a security report about
39070        vulnerabilities in other browsers' XMLHttpRequest implementations.
39071
39072        * kwq/KWQLoader.mm:
39073        (+[NSDictionary _webcore_dictionaryWithHeaderString:_webcore_dictionaryWithHeaderString:]):
39074        Check length of string before calling characterAtIndex:0 since it will fail for an empty string.
39075
390762005-12-19  Mitz Pettel  <opendarwin.org@mitzpettel.com>
39077
39078        Reviewed by Beth
39079
39080        - fix http://bugs.webkit.org/show_bug.cgi?id=6149
39081          REGRESSION (WebCore-417.5): horizontal scrollbar in overflow with top
39082          border doesn't receive mouse events
39083
39084        * khtml/rendering/render_block.cpp:
39085        (khtml::RenderBlock::isPointInScrollbar):
39086        Removed borderTop() from horizontal scrollbar rect computation.
39087        * manual-tests/scrollbar-hittest2.html: Added.
39088
390892005-12-19  Alexey Proskuryakov  <ap@nypop.com>
39090
39091        Reviewed by Darin, committed by Adele.
39092
39093        - fix http://bugs.webkit.org/show_bug.cgi?id=5744
39094          XMLHttpRequest does not apply page encoding after assigning via innerHtml
39095
39096        * khtml/ecma/xmlhttprequest.cpp:
39097        (getMIMEType): A helper function to get MIME type from a Content-Type string.
39098        (getCharset): A helper function to get charset from a Content-Type string.
39099        (KJS::XMLHttpRequest::getValueProperty): Factored out responseIsXML().
39100        (KJS::XMLHttpRequest::getResponseHeader): Return QString instead of JSValue
39101          (to get rid of unnecessary JSLocks).
39102        (KJS::XMLHttpRequest::responseIsXML): A new method that analyses Content-Type.
39103        (KJS::XMLHttpRequest::slotData): Use a correct charset for responses, see bug for details.
39104        (KJS::XMLHttpRequestProtoFunc::callAsFunction): Update for getResponseHeader() changes
39105        * khtml/ecma/xmlhttprequest.h:
39106
39107== Rolled over to ChangeLog-2005-12-19 ==
39108