1 2006-05-10 Matt Gough <matt@softchaos.com>
3 Reviewed, tweaked, and landed by Darin.
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).
9 * bindings/objc/DOM.mm:
10 (addElementClass): Added.
11 (createHTMLElementClassMap):
13 (+[DOMNode _nodeWith:]): Added code to call elementClass.
15 2006-05-09 Mitz Pettel <opendarwin.org@mitzpettel.com>
19 - fix http://bugs.webkit.org/show_bug.cgi?id=8760
20 crash (hang?) on subtlegradient.com article page
22 * manual-tests/first-line-style-crash.html: Added.
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().
33 2006-05-09 Mitz Pettel <opendarwin.org@mitzpettel.com>
37 - fix http://bugs.webkit.org/show_bug.cgi?id=8789
38 RenderStyle::getPseudoStyle() always returns 0
40 No test possible (no functionality change).
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.
49 2006-05-09 Darin Adler <darin@apple.com>
51 - another attempt to fix the Windows build
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.
59 2006-05-09 Darin Adler <darin@apple.com>
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
66 * html/html_imageimpl.cpp: (WebCore::HTMLAreaElement::getRegion): Remove extra Path
67 definition that was shadowing the real one.
69 2006-05-09 Darin Adler <darin@apple.com>
73 * rendering/render_style.cpp: (WebCore::RenderStyle::getPseudoStyle):
76 - attempt to fix Windows build
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.
101 2006-05-09 Darin Adler <darin@apple.com>
103 Rubber stamped by Hyatt.
105 - http://bugs.webkit.org/show_bug.cgi?id=8782
106 use ICU and UChar more, QChar less
108 - fix http://bugs.webkit.org/show_bug.cgi?id=6310
109 text-transform: uppercase/lowercase don't handle cases one character becomes two
111 Test: fast/css/case-transform.html
113 By using ICU more, this fixes some bugs in a few places.
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
123 * bindings/js/kjs_css.cpp: (KJS::cssPropertyName):
124 Eliminate use of QChar::latin1() in a case where it's not helpful.
126 * bindings/js/kjs_proxy.cpp: (WebCore::KJSProxy::evaluate):
127 Use characters() function instead of the old unicode() function.
129 * bindings/js/kjs_window.cpp: (KJS::isSeparator):
130 Use UChar instead of QChar.
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.
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.
150 * bridge/mac/WebCoreFrameBridge.mm:
151 (-[WebCoreFrameBridge selectedString]): Remove QChar cast, no longer needed.
152 (-[WebCoreFrameBridge stringForRange:]): Ditto.
154 * css/CSSGrammar.y: Update for field name change from string to characters.
155 Use UChar instead of unsigned short.
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.
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.
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.
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
179 (WebCore::deprecatedString): Moved here so we don't have to include DeprecatedString.h
182 * css/cssstyleselector.cpp: (WebCore::checkPseudoState): Added a type cast since this
183 code now bridges the world between modern code and QChar/DeprecatedString.
185 * dom/CharacterData.cpp: (WebCore::CharacterData::CharacterData): Changed QChar to UChar.
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.
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.
199 (WebCore::Position::leadingWhitespacePosition): Changed from QChar to UChar.
200 (WebCore::Position::trailingWhitespacePosition): Ditto.
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.
208 * dom/dom2_eventsimpl.cpp: (WebCore::KeyboardEvent::charCode):
209 * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::constrainValue):
210 Removed unicode() function call, no longer needed.
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).
215 * editing/HTMLInterchange.cpp: (convertHTMLTextToInterchangeFormat): Added a couple calls
216 to the unicode() function to bridge the gap from QChar/DeprecatedString back to modern
219 * editing/InsertTextCommand.cpp: Removed unused function.
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
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.
243 * editing/VisiblePosition.h: Changed from QChar to UChar.
244 * editing/VisiblePosition.cpp: (WebCore::VisiblePosition::characterAfter): Ditto.
246 * editing/markup.cpp: (WebCore::escapeTextForMarkup): Changed code that used latin1()
247 for no good reason to use unicode() instead.
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.
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
286 * kwq/KWQLoader.mm: (KWQIsResponseURLEqualToURL): Rewrote to use Vector and UChar,
287 removing all the type casts and making the whole function much shorter.
289 * kwq/WebCoreAXObject.mm:
290 (AXAttributedStringAppendText): Use UChar instead of QChar.
291 (-[WebCoreAXObject doAXAttributedStringForTextMarkerRange:]): More of the same.
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.
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.
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
319 (WebCore::AtomicString::deprecatedString): Ditto.
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.
325 * platform/Font.h: (WebCore::Font::width): Changed QChar to UChar.
326 * platform/Font.cpp: (WebCore::Font::width): Ditto.
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.
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.
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.
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.
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.
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.
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
413 * platform/mac/FontFamilyMac.mm: (WebCore::FontFamily::getNSFamily): Removed a
414 now-unneeded type cast.
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.
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.
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.
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.
486 * rendering/RenderTextField.cpp:
487 (WebCore::RenderTextField::updateFromElement): Removed unneeded QChar cast.
488 (WebCore::RenderTextField::calcMinMaxWidth): Changed from QChar to UChar.
491 * rendering/bidi.cpp:
492 (WebCore::BidiIterator::BidiIterator):
493 (WebCore::BidiState::BidiState):
494 (WebCore::BidiContext::BidiContext):
496 (WebCore::bidiFirst):
497 (WebCore::BidiIterator::current):
498 (WebCore::BidiIterator::direction):
500 (WebCore::checkMidpoints):
501 (WebCore::appendRun):
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
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.
522 * rendering/render_line.cpp:
523 (WebCore::InlineFlowBox::placeBoxesHorizontally): Updated for change from QChar
525 (WebCore::EllipsisBox::paint): Updated for unicode() -> characters() name change.
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
534 (WebCore::RenderListMarker::calcMinMaxWidth): More of the same.
535 (WebCore::RenderListMarker::getRelativeMarkerRect): Ditto.
537 2006-05-09 Tim Omernick <timo@apple.com>
539 Reviewed by/co-written by Darin.
541 Performance improvement when drawing large numbers of animated images.
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.
546 * loader/CachedObjectClientWalker.h:
547 * loader/CachedObjectClientWalker.cpp:
548 (WebCore::CachedObjectClientWalker::CachedObjectClientWalker):
549 (WebCore::CachedObjectClientWalker::next):
551 2006-05-09 Steve Falkenburg <sfalken@apple.com>
553 Fix Windows build. Added TextDocument.cpp to vcproj.
557 * WebCore.vcproj/WebCore/WebCore.vcproj:
559 2006-05-09 Steve Falkenburg <sfalken@apple.com>
562 Add host calback so caller can determine success/failure of a page load.
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.
581 2006-05-09 David Hyatt <hyatt@apple.com>
583 Revert styleForElement, pseudoStyleForElement, styleForRenderer back to
584 their old names, since the term "create" is not accurate.
586 * css/cssstyleselector.cpp:
587 (WebCore::CSSStyleSelector::styleForElement):
588 (WebCore::CSSStyleSelector::pseudoStyleForElement):
589 * css/cssstyleselector.h:
591 (WebCore::Element::styleForRenderer):
592 (WebCore::Element::recalcStyle):
595 (WebCore::Node::createRendererIfNeeded):
596 (WebCore::Node::styleForRenderer):
598 * ksvg2/svg/SVGClipPathElement.cpp:
599 (SVGClipPathElement::canvasResource):
600 * ksvg2/svg/SVGFEFloodElement.cpp:
601 (SVGFEFloodElement::filterEffect):
602 * ksvg2/svg/SVGGradientElement.cpp:
603 (SVGGradientElement::rebuildStops):
605 2006-05-09 Anders Carlsson <acarlsson@apple.com>
609 * loader/TextDocument.cpp:
610 (WebCore::TextTokenizer::write):
611 Use the correct variable to prevent crashes.
613 2006-05-09 Anders Carlsson <acarlsson@apple.com>
617 http://bugs.webkit.org/show_bug.cgi?id=8808
618 WebCore should handle text files
620 * WebCore.xcodeproj/project.pbxproj:
621 Add TextDocument.cpp and TextDocument.h
623 * bridge/mac/WebCoreFrameBridge.mm:
624 (+[WebCoreFrameBridge supportedMIMETypes]):
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.
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
642 (WebCore::TextDocument::TextDocument):
643 (WebCore::TextDocument::createTokenizer):
644 Create a TextTokenizer.
646 * loader/TextDocument.h: Added.
649 (WebCore::Frame::begin):
650 Create a TextDocument if the MIME type is of type text.
652 2006-05-09 Maciej Stachowiak <mjs@apple.com>
654 Rubber stamped by Anders.
656 - renamed kxmlcore to wtf
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:
691 * css/css_valueimpl.h:
694 * dom/DOMImplementation.h:
696 * dom/NamedNodeMap.h:
699 * dom/QualifiedName.cpp:
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:
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:
748 * kwq/KWQResourceLoader.mm:
749 * kwq/KWQTextEdit.mm:
751 * loader/CachedObject.h:
752 * loader/CachedObjectClientWalker.h:
754 * loader/DocLoader.h:
759 * page/FramePrivate.h:
760 * page/FrameTree.cpp:
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:
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:
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:
816 2006-05-09 Anders Carlsson <acarlsson@apple.com>
820 http://bugs.webkit.org/show_bug.cgi?id=8803
821 XPath query for empty attributes crashes in XPath::StringExpression::StringExpression
823 * xpath/impl/XPathParser.cpp:
824 (WebCore::XPath::Parser::lexString):
825 Make sure an empty string is returned instead of a null string.
827 (WebCore::XPath::Parser::lex):
828 Only assign the string if it isn't null.
830 2006-05-09 Alexey Proskuryakov <ap@nypop.com>
834 - http://bugs.webkit.org/show_bug.cgi?id=8769
835 TextEncoding::fromUnicode() - support non-BMP characters and convert to NFC
837 Fix the ICU code path, too (currently unused on the Mac).
839 * platform/TextEncoding.cpp:
840 (WebCore::TextEncoding::fromUnicode): Normalize the string.
842 2006-05-08 Maciej Stachowiak <mjs@apple.com>
844 Reviewed by Tim Hatcher.
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
850 * bridge/mac/WebCoreFrameBridge.h:
851 * bridge/mac/WebCoreFrameBridge.mm:
852 (-[WebCoreFrameBridge getData:andResponse:forURL:]):
853 (-[WebCoreFrameBridge getAllResourceDatas:andResponses:]):
855 (WebCore::Cache::updateCacheStatus):
856 (WebCore::Cache::requestImage):
857 (WebCore::Cache::requestStyleSheet):
858 (WebCore::Cache::requestScript):
859 (WebCore::Cache::requestXSLStyleSheet):
860 (WebCore::Cache::requestXBLDocument):
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):
874 2006-05-08 Levi Weintraub <lweintraub@apple.com>
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.
889 2006-05-08 Anders Carlsson <acarlsson@apple.com>
891 Try fixing the Win32 build
893 * WebCore.vcproj/WebCore/WebCore.vcproj:
894 Add XPath files to project.
896 2006-05-08 Anders Carlsson <acarlsson@apple.com>
898 Reviewed by Darin, Eric and Maciej.
900 http://bugs.webkit.org/show_bug.cgi?id=6638
901 Support Mozilla's XPathEvaluator object.
903 * DerivedSources.make:
904 Generate XPath grammar, and JavaScript wrappers.
906 * WebCore.xcodeproj/project.pbxproj:
907 Add new files to project
909 * bindings/js/kjs_binding.cpp:
911 (KJS::setDOMException):
912 Handle setting XPath exceptions.
914 * bindings/objc/DOM.mm:
915 Just return nil for now when trying to create a wrapper for
916 XPath namespace nodes.
918 * bindings/scripts/CodeGeneratorJS.pm:
919 Add XPath types. Also add a "CanBeConstructed" extended attribute
920 for interfaces that can be constructed directly.
922 * bridge/mac/WebCorePageBridge.mm:
923 (initializeLoggingChannelsIfNecessary):
924 Initialize LogXPath channel.
926 * dom/DOMImplementation.cpp:
927 (WebCore::DOMImplementation::hasFeature):
928 Support "xpath" version "3.0".
931 (WebCore::Document::Document):
933 (WebCore::Document::importNode):
934 Ignore XPath namespace nodes.
936 (WebCore::Document::createExpression):
937 (WebCore::Document::createNSResolver):
938 (WebCore::Document::evaluate):
939 New functions which call down to a lazily created XPathEvaluator.
942 Add function declarations.
949 Add XPATH_NAMESPACE_NODE type.
951 * editing/markup.cpp:
952 (WebCore::startMarkup):
953 Ignore XPath namespace nodes.
955 * page/DOMWindow.idl:
956 Add constructors for XPathEvaluator and XPathResult.
958 * platform/Logging.cpp:
959 * platform/Logging.h:
960 Add XPath log channel
963 * xpath/XPathEvaluator.cpp: Added.
964 (WebCore::XPathEvaluator::createExpression):
965 (WebCore::XPathEvaluator::createNSResolver):
966 (WebCore::XPathEvaluator::evaluate):
967 * xpath/XPathEvaluator.h: Added.
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.
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.
1179 2006-05-08 David Hyatt <hyatt@apple.com>
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).
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.
1193 2006-05-07 Darin Adler <darin@apple.com>
1195 Suggested by Mitz. Reviewed and landed by Maciej.
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.
1201 2006-05-07 David Hyatt <hyatt@apple.com>
1203 Fix for bugzilla bug 8060.
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
1211 Added fast/tables/fixed-cell-growth.html
1213 * rendering/table_layout.cpp:
1214 (WebCore::AutoTableLayout::recalcColumn):
1216 2006-05-07 Alexey Proskuryakov <ap@nypop.com>
1220 - http://bugs.webkit.org/show_bug.cgi?id=8769
1221 TextEncoding::fromUnicode() - support non-BMP characters and convert to NFC
1224 * fast/forms/form-data-encoding.html
1225 * fast/forms/form-data-encoding-2.html
1227 * platform/mac/TextEncodingMac.cpp:
1228 (WebCore::TextEncoding::fromUnicode): Normalize the string; handle surrogate pairs.
1230 2006-05-06 David Hyatt <hyatt@apple.com>
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).
1238 * WebCore.vcproj/WebCore/WebCore.vcproj:
1239 * WebCore.xcodeproj/project.pbxproj:
1240 * bridge/mac/WebCoreStringTruncator.mm:
1243 (+[WebCoreStringTruncator widthOfString:font:]):
1244 * kwq/KWQComboBox.mm:
1245 (QComboBox::sizeHint):
1246 * kwq/KWQLineEdit.mm:
1247 (QLineEdit::sizeForCharacterWidth):
1248 * kwq/KWQListBox.mm:
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):
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):
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:
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):
1356 2006-05-05 Darin Adler <darin@apple.com>
1358 - fix the Windows build
1360 * platform/win/FontWin.cpp: (WebCore::getFontData):
1362 2006-05-05 Darin Adler <darin@apple.com>
1364 * platform/SegmentedString.h: (WebCore::SegmentedString::advance): Oops!
1365 Removed an extra ! that was causing everything to fail.
1367 2006-05-05 Darin Adler <darin@apple.com>
1369 Reviewed by Tim Hatcher.
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)
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.
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.
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.
1390 * dom/StyledElement.cpp:
1391 (WebCore::toHex): Rewrote to just take a UChar parameter.
1392 (WebCore::StyledElement::addCSSColor): Call toHex on the character code.
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.
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.
1414 * loader/Decoder.cpp: (Decoder::decode): Changed code that did a type cast to
1415 unsigned char to instead call unicode().
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.
1435 * html/html_inlineimpl.cpp: (WebCore::HTMLAnchorElement::defaultEventHandler):
1436 Eliminate the one use of DeprecatedString::arg.
1440 * kwq/KWQCString.cpp: Remove unneeded "using" directive.
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.
1501 2006-05-05 Alexey Proskuryakov <ap@nypop.com>
1505 - http://bugs.webkit.org/show_bug.cgi?id=8626
1506 Strict mode erroneously triggered by a broken comment
1508 Test: fast/parser/broken-comments-vs-parsing-mode.html
1511 (WebCore::Frame::endIfNotLoading): Call determineParseMode() if needed.
1513 2006-05-05 Darin Adler <darin@apple.com>
1515 - fix the Windows build (this time for sure)
1517 * platform/win/TemporaryLinkStubs.cpp:
1518 (GraphicsContext::translate): Added.
1519 (GraphicsContext::rotate): Ditto.
1520 (GraphicsContext::scale): Ditto.
1522 2006-05-05 Darin Adler <darin@apple.com>
1524 - fix the Windows build
1526 * bridge/win/FrameWin.h: Add Element* parameter to createPlugin.
1527 * platform/win/TemporaryLinkStubs.cpp: (FrameWin::createPlugin): Ditto.
1529 2006-05-05 Darin Adler <darin@apple.com>
1531 - get the Windows build a little closer to building again
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.
1542 2006-05-05 Darin Adler <darin@apple.com>
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
1551 * manual-tests/form-value-restore.html: Added.
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
1557 (-[WebCoreFrameBridge restoreDocumentState]): Ditto, with the setStateForNewFormElements
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.
1575 (WebCore::Document::Document): Remove initialization of long-obsolete m_elementNames and
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.
1601 * dom/Element.h: Removed state function.
1602 * dom/Node.h: Removed maintainsState, state, and restoreState functions.
1603 * dom/Node.cpp: Ditto.
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.
1609 * html/HTMLParser.cpp:
1610 (WebCore::HTMLParser::insertNode): Remove code to restore state; that's now handled
1612 (WebCore::HTMLParser::popOneBlock): Ditto.
1614 * html/HTMLFormElement.cpp: Added include of HTMLInputElement.h.
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
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.
1632 * html/HTMLButtonElement.h: Changed type to return a const AtomicString& instead
1634 * html/HTMLButtonElement.cpp:
1635 (WebCore::HTMLButtonElement::type): Return a const AtomicString& instead of a
1637 (WebCore::HTMLButtonElement::defaultEventHandler): Use form() instead of m_form.
1638 (WebCore::HTMLButtonElement::isSuccessfulSubmitButton): Use disabled() instead of
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
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
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
1669 (WebCore::HTMLInputElement::setChecked): Use form() instead of m_form.
1670 (WebCore::HTMLInputElement::preDispatchEventHandler): Ditto.
1671 (WebCore::HTMLInputElement::defaultEventHandler): Ditto.
1673 * html/HTMLSelectElement.h: Changed type to return a const AtomicString& instead
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
1680 (WebCore::HTMLSelectElement::type): Changed to return const AtomicString& instead
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.
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
1697 (WebCore::HTMLTextAreaElement::~HTMLTextAreaElement): Call deregisterFormElementWithState
1699 (WebCore::HTMLTextAreaElement::type): Changed to return const AtomicString& instead
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.
1712 * html/HTMLFieldSetElement.h: Changed type to return a const AtomicString& instead
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.
1724 * ksvg2/svg/SVGAnimationElement.cpp: (SVGAnimationElement::closeRenderer):
1725 Added missing call to base class.
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.
1762 2006-05-05 Matt Gough <matt@softchaos.com>
1766 http://bugs.webkit.org/show_bug.cgi?id=8563
1768 Test: fast/doctypes/005-case-preserving.html
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)
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
1785 2006-05-05 Rob Buis <buis@kde.org>
1789 Fix for http://bugs.webkit.org/show_bug.cgi?id=8445:
1790 [DOMHTMLSelectElement multiple] returns no when the select element is multiple
1792 Correct the logic errors, which are clearly indicated by the changeset given
1795 * bindings/objc/DOMHTML.mm:
1796 (-[DOMHTMLLinkElement disabled]):
1797 (-[DOMHTMLSelectElement disabled]):
1798 (-[DOMHTMLSelectElement multiple]):
1799 (-[DOMHTMLOptGroupElement disabled]):
1800 (-[DOMHTMLOptionElement defaultSelected]):
1801 (-[DOMHTMLOptionElement disabled]):
1803 2006-05-04 Darin Adler <darin@apple.com>
1805 Reviewed by Tim Omernick.
1807 - fix storage leak I introduced yesterday
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.
1821 2006-05-04 Justin Garcia <justin.garcia@apple.com>
1823 Reviewed by harrison
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
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.
1847 * editing/ReplaceSelectionCommand.h:
1849 2006-05-04 Tim Omernick <timo@apple.com>
1853 <rdar://problem/4537606> Give Java WebKit plugin access to its own DOM element
1855 * bridge/mac/WebCoreFrameBridge.h:
1856 Added DOMElement parameter to -viewForJavaAppletWithFrame:attributeNames:attributeValues:baseURL:.
1858 * bridge/JavaAppletWidget.h:
1859 Constructor now takes the applet's element instead of its containing frame.
1861 * bridge/mac/JavaAppletWidget.mm:
1862 (JavaAppletWidget::JavaAppletWidget):
1863 Pass the applet's element to viewForJavaAppletWithFrame:.
1865 * rendering/RenderApplet.cpp:
1866 (WebCore::RenderApplet::createWidgetIfNecessary):
1867 Pass the element along to JavaAppletWidget.
1869 2006-05-04 Tim Omernick <timo@apple.com>
1871 Reviewed by John Sullivan.
1873 <rdar://problem/4480186> Give WebKit plugins access to their own DOM element
1875 * bridge/mac/WebCoreFrameBridge.h:
1876 Added DOMElement: parameter to -viewForPluginWithURL:attributeNames:attributueValues:MIMEType:
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.
1884 Added "element" parameter to createPlugin().
1886 (WebCore::Frame::loadPlugin):
1887 Get the plugin's DOM element and pass to createPlugin().
1889 2006-05-04 Eric Seidel <eseidel@apple.com>
1893 Add drag & drop support to <input type="file">
1894 http://bugs.webkit.org/show_bug.cgi?id=8733
1896 Test: manual/input-type-file-drag-drop.html
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:]):
1911 2006-05-04 Beth Dakin <bdakin@apple.com>
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
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
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
1933 2006-05-04 David Hyatt <hyatt@apple.com>
1935 Fix for 8693, crash when reloading PDF. Make sure to clear the truncator's
1940 * bridge/mac/WebCoreStringTruncator.h:
1941 * bridge/mac/WebCoreStringTruncator.mm:
1942 (+[WebCoreStringTruncator clear]):
1943 * platform/mac/WebTextRendererFactory.mm:
1944 (-[WebTextRendererFactory clearCaches]):
1946 2006-05-03 Darin Adler <darin@apple.com>
1950 - http://bugs.webkit.org/show_bug.cgi?id=8696
1951 another round of GraphicsContext improvements
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).
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.
1968 * platform/GraphicsTypes.h: Moved HorizontalAlignment here.
1969 * platform/Widget.h: Removed HorizontalAlignment from here.
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.
1990 * platform/mac/GraphicsContextMac.mm: Moved most of this file into GraphicsContextCG.cpp.
1991 (WebCore::GraphicsContext::setCompositeOperation): Added check of paintingDisabled().
1993 * platform/mac/WebCoreSystemInterface.h: Added declarations so this header
1996 2006-05-03 Darin Adler <darin@apple.com>
2000 - fix http://bugs.webkit.org/show_bug.cgi?id=8159
2001 REGRESSION: Clicking outside new text field focuses the field
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.
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).
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.
2032 (WebCore::Position::upstream): Removed use of the deepEquivalent function.
2033 (WebCore::Position::downstream): Ditto.
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.
2050 * dom/Node.cpp: (WebCore::Node::rootEditableElement): Rewrote to remove
2051 special case for body tag.
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.
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.
2066 2006-05-02 Adele Peterson <adele@apple.com>
2070 Fix for <rdar://problem/4523671>
2071 REGRESSION (NativeTextField): Auto-complete popup list doesn't appear at the correct location after scrolling page.
2073 * bindings/objc/DOMHTML.mm: (-[DOMHTMLInputElement _rectOnScreen]):
2074 Use the documentView to compute the correct rect for the element when the view is scrolled.
2076 2006-05-02 Justin Garcia <justin.garcia@apple.com>
2078 Reviewed by harrison
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
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.
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
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.
2112 * editing/VisiblePosition.h:
2113 * editing/htmlediting.cpp:
2114 (WebCore::enclosingTableCell): Added.
2115 (WebCore::enclosingList):
2116 * editing/htmlediting.h:
2118 2006-05-02 David Hyatt <hyatt@apple.com>
2120 Partial fix for the crash in bugzilla bug 8088. There's a third crash
2121 even after fixing this though.
2125 * platform/mac/WebTextRenderer.mm:
2126 (WebCore::WidthMap::widths):
2127 (WebCore::extendWidthMap):
2128 * platform/mac/WebTextRendererFactory.mm:
2129 (-[WebTextRendererFactory clearCaches]):
2131 2006-05-02 Steve Falkenburg <sfalken@apple.com>
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
2141 2006-05-02 David Hyatt <hyatt@apple.com>
2143 Make sure to updateLayout on all scrolling functions (in particular when
2144 setting scrollLeft/Top).
2148 fast/overflow/008,html added as a test case.
2151 (WebCore::Element::scrollIntoView):
2152 (WebCore::Element::scrollIntoViewIfNeeded):
2153 (WebCore::Element::setScrollLeft):
2154 (WebCore::Element::setScrollTop):
2156 2006-05-02 Anders Carlsson <andersca@mac.com>
2158 Reviewed by Dave Hyatt.
2160 http://bugs.webkit.org/show_bug.cgi?id=8688
2161 file URLs aren't being serialized correctly when using window.location
2163 * platform/KURL.cpp:
2165 Append "//" for file URLs.
2167 2006-05-01 David Hyatt <hyatt@apple.com>
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.
2176 * bridge/mac/WebCoreStringTruncator.mm:
2179 * kwq/KWQComboBox.mm:
2180 (QComboBox::sizeHint):
2181 * kwq/KWQLineEdit.mm:
2182 (QLineEdit::sizeForCharacterWidth):
2183 * kwq/KWQListBox.mm:
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):
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:]):
2264 2006-05-01 Justin Garcia <justin.garcia@apple.com>
2268 <http://bugs.webkit.org/show_bug.cgi?id=8653>
2269 Remove a use of hasMoreThanOneBlock, which uses info from the test rendering.
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.
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.
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.
2293 2006-05-01 Mitz Pettel <opendarwin.org@mitzpettel.com>
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
2301 * manual-tests/plugin-controller-datasource.html: Added.
2302 * manual-tests/resources/orange.mov: Added.
2304 2006-04-30 Rob Buis <buis@kde.org>
2306 Reviewed by eseidel. Landed by eseidel.
2308 Fix for http://bugs.webkit.org/show_bug.cgi?id=8651:
2309 CGContextSetLineDash: invalid dash array: emmited during WebKit tests
2311 Properly discard invalid stroke-dasharray properties like in
2312 invalid-css.svg. (Tests updated.)
2314 * ksvg2/css/SVGCSSParser.cpp:
2315 (WebCore::CSSParser::parseSVGStrokeDasharray):
2317 2006-04-28 David Hyatt <hyatt@apple.com>
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.
2328 * loader/CachedImage.cpp:
2329 (WebCore::CachedImage::data):
2331 2006-04-28 Steve Falkenburg <sfalken@apple.com>
2335 No test necessary - fixing Win32 build, turned off C++ exceptions, turned off RTTI
2337 * WebCore.vcproj/WebCore/WebCore.vcproj:
2338 * bridge/win/FrameWin.cpp:
2339 (WebCore::FrameWin::~FrameWin):
2340 * bridge/win/PageWin.cpp:
2341 (WebCore::Page::Page):
2343 * platform/win/TemporaryLinkStubs.cpp:
2344 (FrameWin::saveDocumentState):
2346 (Path::boundingRect):
2348 2006-04-28 David Hyatt <hyatt@apple.com>
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
2359 * WebCore.xcodeproj/project.pbxproj:
2360 * bridge/mac/WebCoreStringTruncator.mm:
2363 (+[WebCoreStringTruncator widthOfString:font:]):
2364 * kwq/KWQComboBox.mm:
2365 (QComboBox::sizeHint):
2366 * kwq/KWQLineEdit.mm:
2367 (QLineEdit::sizeForCharacterWidth):
2368 * kwq/KWQListBox.mm:
2370 (groupLabelTextRenderer):
2371 (QListBox::sizeForNumberOfLines):
2372 (-[KWQTableView drawRow:clipRect:]):
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]):
2395 2006-04-28 David Hyatt <hyatt@apple.com>
2397 Fix for 8586, move WebTextRenderer into WebCore.
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.
2412 (-[WebTextRenderer initWithFont:]):
2414 (-[WebTextRenderer drawLineForCharacters:yOffset:width:color:thickness:]):
2415 (-[WebTextRenderer drawLineForMisspelling:withWidth:]):
2416 (findSubstituteFont):
2423 (initializeATSUStyle):
2424 (createATSULayoutParameters):
2426 (addDirectionalOverride):
2428 (normalizeVoicingMarks):
2429 (advanceWidthIterator):
2430 (fillStyleWithAttributes):
2431 * platform/mac/WebTextRendererFactory.h: Added.
2432 * platform/mac/WebTextRendererFactory.mm: Added.
2433 (getAppDefaultValue):
2434 (getUserDefaultValue):
2435 (getLCDScaleParameters):
2437 (+[WebTextRendererFactory createSharedFactory]):
2438 (-[WebTextRendererFactory isFontFixedPitch:]):
2439 (-[WebTextRendererFactory fontWithFamily:traits:size:]):
2441 (-[WebTextRendererFactory cachedFontFromFamily:traits:size:]):
2443 2006-04-28 Eric Seidel <eseidel@apple.com>
2445 Fix by beth. Reviewed by darin. Landed by eseidel.
2447 Make hackish fix to avoid crash in Xcode and Filemaker.
2448 <rdar://problem/4059059> Crash in RenderFlow::detach (XCode Documentation Window)
2450 * bridge/mac/WebCoreFrameBridge.mm:
2451 (-[WebCoreFrameBridge didNotOpenURL:pageCache:]):
2453 2006-04-28 Alexey Proskuryakov <ap@nypop.com>
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)
2460 * html/HTMLTokenizer.cpp:
2461 (WebCore::HTMLTokenizer::parseComment): Revert one change made for acid2,
2462 <http://weblogs.mozillazine.org/hyatt/acid6.txt>.
2464 2006-04-28 Darin Adler <darin@apple.com>
2468 - http://bugs.webkit.org/show_bug.cgi?id=8608
2469 make GraphicsContext more suitable for cross-platform use, step 2
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.
2476 * WebCore.vcproj/WebCore/WebCore.vcproj: Add GraphicsTypes.h/cpp and remove
2477 CompositeOperator.h/cpp.
2478 * WebCore.xcodeproj/project.pbxproj: Ditto.
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).
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.
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
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
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.
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.
2554 * html/html_imageimpl.cpp:
2555 (WebCore::HTMLAreaElement::getRect): Update for changes to the Path class.
2556 (WebCore::HTMLAreaElement::getRegion): Ditto.
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.
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):
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.
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.
2603 * platform/Image.h: Changed include to GraphicsTypes.h from CompositeOperator.h.
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.
2628 * platform/mac/ImageMac.mm:
2629 (WebCore::fillSolidColorInRect): Changed to take a GraphicsContext instead of
2631 (WebCore::Image::checkForSolidColor): Changed to use the new setCompositeOperation
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.
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.
2646 * platform/win/TemporaryLinkStubs.cpp: Added lots of new stubs.
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.
2660 2006-04-28 Mitz Pettel <opendarwin.org@mitzpettel.com>
2662 Reviewed by hyatt, landed by ap.
2664 - fix http://bugs.webkit.org/show_bug.cgi?id=6769
2665 REGRESSION: Incomplete repaint when a cell's extra bottom margin grows
2667 Test: fast/repaint/table-extra-bottom-grow.html
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.
2678 2006-04-28 Eric Seidel <eseidel@apple.com>
2680 Reviewed by andersca.
2682 Remove KCanvasContainerQuartz, pushing all logic into KCanvasContainer.
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):
2729 2006-04-27 Eric Seidel <eseidel@apple.com>
2731 Reviewed by andersca.
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
2737 Test: http/tests/xmlhttprequest/supported-xml-content-types.html
2739 * dom/DOMImplementation.cpp:
2740 (WebCore::DOMImplementation::isXMLMIMEType):
2742 2006-04-27 Eric Seidel <eseidel@apple.com>
2744 * WebCore.vcproj/WebCore/WebCore.vcproj: Fix break from last checkin.
2746 2006-04-27 Geoffrey Garen <ggaren@apple.com>
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
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.
2762 - The window interface has many Constructor attributes
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.)
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.
2773 * DerivedSources.make:
2774 * WebCore.vcproj/WebCore/WebCore.vcproj:
2775 * WebCore.xcodeproj/project.pbxproj:
2776 * bindings/js/kjs_css.cpp:
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
2782 (KJS::Window::getValueProperty):
2783 (KJS::Window::getOverridePropertySlot):
2784 (KJS::Window::getOwnPropertySlot):
2785 * bindings/js/kjs_window.h:
2787 * bindings/scripts/CodeGeneratorJS.pm:
2788 * css/CSSPrimitiveValue.idl:
2790 * css/CSSStyleDeclaration.idl: Added.
2795 * dom/MutationEvent.idl:
2797 * dom/NodeFilter.idl:
2799 * page/DOMWindow.idl:
2801 2006-04-27 Mitz Pettel <opendarwin.org@mitzpettel.com>
2805 <http://bugs.webkit.org/show_bug.cgi?id=8607>
2806 Automate repaint tests
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.
2821 2006-04-27 Justin Garcia <justin.garcia@apple.com>
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
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
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.
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.
2851 2006-04-26 Tim Omernick <timo@apple.com>
2855 <rdar://problem/4068375> Flash inserted via innerHTML Fails to Show when CSS Display
2856 Style is Toggled via Javascript
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.
2866 2006-04-26 Geoffrey Garen <ggaren@apple.com>
2870 - Fixed http://bugs.webkit.org/post_bug.cgi
2871 REGRESSION (r14048): Google calendar not parsing
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
2878 2006-04-26 Justin Garcia <justin.garcia@apple.com>
2882 <http://bugs.webkit.org/show_bug.cgi?id=8459>
2883 REGRESSION: Content lost during a delete/merge of whitespace:pre text
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.
2892 2006-04-26 Geoffrey Garen <ggaren@apple.com>
2894 This time for sure. Fixed Windows build too.
2896 * WebCore.vcproj/WebCore/WebCore.vcproj:
2897 * WebCore.xcodeproj/project.pbxproj:
2899 2006-04-26 Geoffrey Garen <ggaren@apple.com>
2905 * bindings/js/kjs_dom.cpp:
2906 * bindings/js/kjs_domnode.h:
2908 2006-04-26 Geoffrey Garen <ggaren@apple.com>
2910 Reviewed by OMG DETHBAKIN.
2912 - Start autogenerating Node. This fixes many missing attributes in our
2913 DOM by making prototypes hold their relevant constants as properties.
2915 * DerivedSources.make:
2916 * WebCore.xcodeproj/project.pbxproj:
2917 * bindings/js/kjs_dom.cpp:
2918 (KJS::DOMEventTargetNode::DOMEventTargetNode):
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):
2929 * bindings/js/kjs_window.cpp:
2930 (KJS::Window::getValueProperty):
2931 * bindings/scripts/CodeGeneratorJS.pm:
2932 * dom/DocumentType.idl:
2934 * dom/Node.idl: Added.
2936 * dom/ProcessingInstruction.idl:
2938 2006-04-26 Geoffrey Garen <ggaren@apple.com>
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
2946 Instead of his patch, I used the following commands:
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
2952 sed -e 's/$(SolutionDir)/$(ProjectDir)\\../g'
2953 WebCore/WebCore.vcproj > WebCore/WebCore.vcproj_ && mv
2954 WebCore/WebCore.vcproj_ WebCore/WebCore.vcproj
2957 * WebCore.vcproj/WebCore/WebCore.vcproj:
2959 2006-04-25 Justin Garcia <justin.garcia@apple.com>
2961 Reviewed by harrison
2963 <http://bugs.webkit.org/show_bug.cgi?id=8583>
2964 Moving paste code around and some small fixes
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.
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.
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.
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.
2994 * editing/htmlediting.h:
2996 2006-04-25 Geoffrey Garen <ggaren@apple.com>
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.)
3006 A layout test regression caused by this change led me to do the
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.
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.
3018 * bindings/js/kjs_dom.cpp:
3019 (KJS::getRuntimeObject):
3020 * bindings/js/kjs_html.cpp:
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:
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):
3081 2006-04-25 Beth Dakin <bdakin@apple.com>
3085 Fix for <rdar://problem/4518632> getComputedStyle returns 'auto'
3086 for dimensions like 'margin-left'
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.
3097 2006-04-26 Mitz Pettel <opendarwin.org@mitzpettel.com>
3099 Reviewed by darin. Landed by eseidel.
3101 - fix http://bugs.webkit.org/show_bug.cgi?id=8452
3102 mangleme(0x58c22e11): Random crashes
3104 Test: fast/frames/empty-cols-attribute.html
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.
3115 2006-04-26 Oliver Hunt <ojh16@student.canterbury.ac.nz>
3117 Reviewed by eseidel. Landed by eseidel.
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):
3180 2006-04-25 Eric Seidel <eseidel@apple.com>
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
3192 * dom/ContainerNode.cpp:
3193 (WebCore::ContainerNode::removeChildren):
3195 2006-04-25 Maciej Stachowiak <mjs@apple.com>
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.
3202 * bridge/mac/WebCoreFrameBridge.mm:
3203 (-[WebCoreFrameBridge dealloc]):
3204 (-[WebCoreFrameBridge finalize]):
3206 2006-04-25 Steve Falkenburg <sfalkenburg@apple.com>
3208 Reviewed by eseidel.
3212 * platform/win/TemporaryLinkStubs.cpp:
3213 (KWQFileButton::setFrameGeometry):
3215 2006-04-25 Eric Seidel <eseidel@apple.com>
3219 Fix reproducible crash in html parser code.
3220 http://bugs.webkit.org/show_bug.cgi?id=7137
3222 Test: fast/parser/remove-current-node-parent.html
3224 * html/HTMLParser.cpp:
3225 (WebCore::HTMLParser::handleError):
3227 2006-04-25 Maciej Stachowiak <mjs@apple.com>
3231 - fixed http://bugs.webkit.org/show_bug.cgi?id=8575
3232 New KWQFileButton leaks reported by buildbot
3234 * kwq/KWQFileButton.mm:
3235 (KWQFileButton::KWQFileButton): Add a missing release
3237 2006-04-24 David Hyatt <hyatt@apple.com>
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.
3245 * platform/mac/GraphicsContextMac.mm:
3246 (WebCore::GraphicsContext::drawFocusRing):
3248 2006-04-24 Eric Seidel <eseidel@apple.com>
3252 Fix for 5th worst unresolved crasher:
3253 <rdar://problem/4129744> [REGRESSION]CrashTracer: ..400 crashes at com.apple.WebCore: DOM::NodeImpl::createRendererIfNeeded + 44
3255 Test: fast/dom/remove-style-element.html
3257 * dom/ContainerNode.cpp:
3258 (WebCore::ContainerNode::removeChildren):
3260 2006-04-24 Eric Seidel <eseidel@apple.com>
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
3269 (WebCore::Document::recalcStyle):
3270 (WebCore::Document::setInPageCache):
3273 (WebCore::Element::recalcStyle):
3275 2006-04-24 Adele Peterson <adele@apple.com>
3279 Fix for <rdar://problem/4503438> REGRESSION (NativeTextField): Can't insert caret when
3280 selection is active in field (Business/Unit)
3282 * css/html4.css: Added -webkit-user-select:text for input elements.
3284 2006-04-24 Maciej Stachowiak <mjs@apple.com>
3288 - move some prematurely moved code back
3290 * bridge/mac/WebCoreFrameBridge.h:
3291 * bridge/mac/WebCoreFrameBridge.mm:
3292 (-[WebCoreFrameBridge fini]):
3294 2006-04-24 Maciej Stachowiak <mjs@apple.com>
3298 - move more code from WebFrameBridge to WebCoreFrameBridge
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]):
3309 (-[WebCoreFrameBridge isCharacterSmartReplaceExempt:isPreviousCharacter:]):
3310 (-[WebCoreFrameBridge _retrieveKeyboardUIModeFromPreferences:]):
3311 (-[WebCoreFrameBridge keyboardUIMode]):
3313 2006-04-24 Adele Peterson <adele@apple.com>
3317 Fix to send textFieldDidBeginEditing on the first editing change instead of on focus.
3318 This matches our old behavior.
3320 * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::dispatchFocusEvent):
3321 * rendering/RenderTextField.cpp: (WebCore::RenderTextField::subtreeHasChanged):
3323 2006-04-24 Beth Dakin <bdakin@apple.com>
3327 Fix for <rdar://problem/4513383> REGRESSION: Crash in
3328 WebCore::shouldEmitTabBeforeNode() when iterating through document
3331 * editing/TextIterator.cpp:
3332 (WebCore::shouldEmitTabBeforeNode): Need to nil-check the renderer.
3334 2006-04-23 Geoffrey Garen <ggaren@apple.com>
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.'
3342 2006-04-23 Geoffrey Garen <ggaren@apple.com>
3346 - Took the larger snippets of C++ in the code generator and broke
3347 them into HERE documents in the hopes of improving readability.
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
3354 2006-04-23 Maciej Stachowiak <mjs@apple.com>
3358 - push WebFileButton and WebStringTruncator code down to WebCore
3359 http://bugs.webkit.org/show_bug.cgi?id=8552
3362 * WebCore.xcodeproj/project.pbxproj:
3363 * bridge/mac/WebCoreFrameBridge.h:
3364 * bridge/mac/WebCoreStringTruncator.h: Added.
3365 * bridge/mac/WebCoreStringTruncator.mm: Added.
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):
3412 2006-04-23 Maciej Stachowiak <mjs@apple.com>
3416 - remove WebCoreCookieAdapter, instead make mac implementation of
3417 CookieJar use Foundation directly.
3420 * WebCore.xcodeproj/project.pbxproj:
3421 * platform/mac/CookieJar.mm:
3423 (WebCore::setCookies):
3424 (WebCore::cookiesEnabled):
3425 * platform/mac/WebCoreCookieAdapter.h: Removed.
3426 * platform/mac/WebCoreCookieAdapter.m: Removed.
3428 2006-04-21 Rob Buis <buis@kde.org>
3430 Reviewed by hyatt. Landed by eseidel.
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)
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
3441 Test: svg/custom/invalid-css.svg
3443 * ksvg2/css/SVGCSSParser.cpp:
3444 (WebCore::CSSParser::parseSVGValue):
3446 2006-04-23 Michael Emmel <mike.emmel@gmail.com>
3448 Reviewed by mjs. Landed by eseidel.
3450 http://bugs.webkit.org/show_bug.cgi?id=8517
3451 No test necessary, no functional change.
3453 * DerivedSources.make: use VPATH more consistently.
3455 2006-04-23 Jon Shier <jshier@iastate.edu>
3457 Reviewed by ggaren. Landed by eseidel.
3459 - Fix for http://bugs.webkit.org/show_bug.cgi?id=8511
3460 onerror JS property does not register listener properly
3462 Test: fast/dom/onerror-img.html
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.
3470 * dom/EventNames.h: Removed khtmlError macro.
3472 2006-04-23 Eric Seidel <eseidel@apple.com>
3476 Reproducible crasher with <li value=1234567890 type=A>
3477 http://bugs.webkit.org/show_bug.cgi?id=8542
3479 Fixed our alphabetical list generation to match WinIE (not FireFox)
3480 Previously our alphabetical lists were completely wrong past 26 items.
3483 * fast/lists/alpha-list-wrap.html
3484 * fast/lists/li-style-alpha-huge-value-crash.html
3486 * rendering/render_list.cpp:
3487 (WebCore::toLetterString):
3488 (WebCore::toHebrew):
3489 (WebCore::RenderListMarker::calcMinMaxWidth):
3491 2006-04-22 Geoffrey Garen <ggaren@apple.com>
3495 - Finished autogeneration of Element
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
3505 2006-04-22 Michael Emmel <mike.emmel@gmail.com>
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
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.
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.
3525 2006-04-22 Darin Adler <darin@apple.com>
3529 2006-04-22 Maciej Stachowiak <mjs@apple.com>
3533 - push down a bunch of WebCoreFrameBridge code to C++ (plus some reformatting)
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:]):
3566 (WebCore::Frame::nodeInfoAtPoint):
3567 (WebCore::Frame::hasSelection):
3568 (WebCore::Frame::documentTypeString):
3570 * page/FrameTree.cpp:
3571 (WebCore::FrameTree::traverseNextWithWrap):
3572 (WebCore::FrameTree::traversePreviousWithWrap):
3573 (WebCore::FrameTree::deepLastChild):
3576 2006-04-22 Beth Dakin <bdakin@apple.com>
3580 Fix for http://bugs.webkit.org/show_bug.cgi?id=6141
3581 DOMCSSPrimitiveValue is always returning values in pixels when
3582 using getComputedStyle:
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.
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
3596 (WebCore::CSSPrimitiveValue::getFloatValue): This version of
3597 getFloatValue() takes a unit type parameter and converts
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.
3618 2006-04-21 Geoffrey Garen <ggaren@apple.com>
3622 - Fixed http://bugs.webkit.org/show_bug.cgi?id=8509
3623 javascript:document.importNode(null)
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
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.
3632 2006-04-21 Geoffrey Garen <ggaren@apple.com>
3636 - Fixed http://bugs.webkit.org/show_bug.cgi?id=8510
3637 submit event doesn't bubble - it's supposed to.
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
3646 2006-04-21 Geoffrey Garen <ggaren@apple.com>
3650 - Fixed: error event does not bubble
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.
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.
3662 * html/HTMLElement.cpp:
3663 (WebCore::HTMLElement::parseMappedAttribute): Make onerror a mapped
3664 attribute for all elements, so containing elements can register for
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
3676 2006-04-21 Adele Peterson <adele@apple.com>
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
3681 * manual-tests/tabbing-input-google.html: Added.
3683 2006-04-21 Kevin M. Ollivier <kevino@theolliviers.com>
3687 - http://bugs.webkit.org/show_bug.cgi?id=8507
3688 Compilation fixes for building on gcc 4.0.2, and without precomp headers
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.)
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
3700 * rendering/RenderText.h: Declare the InlineTextBox class before
3701 friend declaration to resolve compilation issues with gcc 4.0.2.
3703 2006-04-21 Adele Peterson <adele@apple.com>
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
3710 Test: fast/forms/tabbing-input-iframe.html
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.
3716 2006-04-21 Adele Peterson <adele@apple.com>
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.
3723 Test: manual-tests/text-field-autoscroll.html
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.
3729 2006-04-21 Geoffrey Garen <ggaren@apple.com>
3733 * WebCore.vcproj/WebCore/WebCore.vcproj:
3735 2006-04-21 Geoffrey Garen <ggaren@apple.com>
3737 - Futile attempt to fix Windows build.
3739 * WebCore.vcproj/WebCore/WebCore.vcproj:
3741 2006-04-20 Geoffrey Garen <ggaren@apple.com>
3745 - Added autogeneration of JS bindings for CSSRule, CSSValue,
3746 Event, and NodeFilter.
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
3753 - Fixed up remaining Windows build issues.
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):
3764 * bindings/js/kjs_css.h:
3765 * bindings/js/kjs_events.cpp:
3767 * bindings/js/kjs_events.h:
3768 * bindings/js/kjs_html.cpp:
3769 (KJS::OptionConstructorImp::OptionConstructorImp):
3770 * bindings/js/kjs_traversal.cpp:
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:
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
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
3790 * dom/NodeFilter.idl: Added.
3791 * dom/UIEvent.idl: Removed LegacyParent since event now exists in IDL
3792 * dom/dom2_eventsimpl.h:
3795 2006-04-21 Darin Adler <darin@apple.com>
3797 - one more attempt to fix Windows build
3799 * platform/cairo/GraphicsContextCairo.cpp:
3800 (WebCore::GraphicsContext::fillRect): Update to use Color and match
3801 the similar function on GraphicsContextMac.
3803 2006-04-21 Beth Dakin <bdakin@apple.com>
3807 Fix for http://bugs.webkit.org/show_bug.cgi?id=8495
3808 REGRESSION: Sidebar on cnn.com is hosed
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.
3820 2006-04-21 Darin Adler <darin@apple.com>
3822 - attempt to fix Windows build after my last check-in
3824 * WebCore.vcproj/Image Viewer/ImageView.cpp: Changed calls to use the
3825 new IntRect-based API.
3827 * html/CanvasPattern.cpp: (WebCore::CanvasPattern::CanvasPattern):
3828 Put appropriate ifdefs around the m_platformImage initializer.
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.
3834 * platform/cairo/GraphicsContextCairo.cpp: Take out constructor that
3835 takes only the "for printing" boolean for now.
3837 * platform/cairo/ImageCairo.cpp: Include the GraphicsContext.h header.
3839 * platform/win/TemporaryLinkStubs.cpp: (GraphicsContext::setShadow):
3840 Fix up this stub and remove the GraphicsContext empty constructor stub.
3842 2006-04-21 Darin Adler <darin@apple.com>
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!
3850 2006-04-20 Darin Adler <darin@apple.com>
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
3867 * DerivedSources.make: Added JSHTMLCanvasElement.h.
3868 * WebCore.xcodeproj/project.pbxproj: Added new files.
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.
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.
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.
3889 * bindings/js/kjs_html.h: Removed canvas-related stuff. Added HTMLElement
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.
3898 * bindings/scripts/CodeGeneratorJS.pm: Added types needed for HTMLCanvasElement.
3900 * bridge/mac/FrameMac.mm: (WebCore::FrameMac::setDisplaysWithFocusAttributes):
3901 Changed to create a GraphicsContext with the new constructor that takes
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.
3909 * editing/SelectionController.cpp: (WebCore::SelectionController::paintCaret):
3910 Eliminated a use of obsolete class Brush.
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.
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
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
3944 (WebCore::CanvasRenderingContext2D::setGlobalAlpha): Do nothing if alpha is NaN
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
3961 (WebCore::size): Renamed from imageSize, since C++ overloads based on parameter
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
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
3973 (WebCore::CanvasRenderingContext2D::drawingContext): Changed to return a
3975 (WebCore::CanvasRenderingContext2D::platformContext): Added. Now does what
3976 drawingContext used to do.
3978 * html/CanvasRenderingContext2D.idl: Added exception declarations as needed
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
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.
3997 * html/HTMLCanvasElement.idl: Added.
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.
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.
4011 * kcanvas/KCanvasResources.h:
4012 * kcanvas/KCanvasResources.cpp: (WebCore::KCanvasMarker::draw): Changed to take a
4013 GraphicsContext parameter.
4015 * kcanvas/RenderPath.h: Added GraphicsContext parameter to drawMarkersIfNeeded.
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.
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*.
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.
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.
4042 * platform/Brush.h: Removed.
4043 * platform/CompositeOperator.h: Added.
4044 * platform/CompositeOperator.cpp: Added.
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*.
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.
4062 * platform/GraphicsContext.cpp:
4063 (WebCore::GraphicsContextState::GraphicsContextState): Replaced Brush with
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.
4074 * platform/Image.h: Removed CompositeOperator and related functions.
4075 Removed void* context parameters from draw functions.
4077 * platform/Image.cpp: Removed compositeOperatorFromString.
4079 * platform/Widget.h: Added a GraphicsContext* return value from lockDrawingFocus
4080 that you pass back to unlockDrawingFocus (for deletion).
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.
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
4099 (WebCore::GraphicsContext::savePlatformState): Implement for the CGContext-only
4101 (WebCore::GraphicsContext::restorePlatformState): Ditto.
4102 (WebCore::GraphicsContext::drawRect): Assert that the NS context is present
4104 (WebCore::GraphicsContext::setColorFromFillColor): Renamed from
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.
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.
4136 * platform/mac/PDFDocumentImage.h: Updated for change in CompositeOperator type.
4137 * platform/mac/PDFDocumentImage.mm: (WebCore::PDFDocumentImage::draw): Ditto.
4139 * platform/mac/WidgetMac.mm:
4140 (WebCore::Widget::lockDrawingFocus): Changed to return a GraphicsContext*.
4141 (WebCore::Widget::unlockDrawingFocus): Changed to take a GraphicsContext*.
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.
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.
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):
4188 2006-04-20 Mitz Pettel <opendarwin.org@mitzpettel.com>
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
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.
4210 2006-04-20 Darin Adler <darin@apple.com>
4214 - WebCore part of http://bugs.webkit.org/show_bug.cgi?id=8505
4215 eliminate WebCoreGraphics bridge, demonstrate new SystemInterface technique
4217 * platform/mac/WebCoreGraphicsBridge.h: Removed.
4218 * platform/mac/WebCoreGraphicsBridge.m: Removed.
4219 * platform/mac/WebCoreSystemInterface.h: Added.
4220 * platform/mac/WebCoreSystemInterface.mm: Added.
4222 * WebCore.exp: Add new SystemInterface globals, remove WebCoreGraphicsBridge.
4224 * WebCore.xcodeproj/project.pbxproj: Updated for removed and added files.
4227 * bridge/mac/FrameMac.mm: Removed unneeded include of WebCoreGraphicsBridge.h.
4229 * platform/mac/ClipboardMac.mm: (WebCore::ClipboardMac::setDragImage):
4230 Moved code from WebGraphicsBridge here, using WebCoreSystemInterface so we can
4231 call wkSetDragImage.
4233 * platform/mac/GraphicsContextMac.mm: (WebCore::GraphicsContext::drawFocusRing):
4234 Moved code from WebGraphicsBridge here, using WebCoreSystemInterface so we can
4235 call wkDrawFocusRing.
4237 * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::paintTextField):
4238 Call wkDrawBezeledTextFieldCell from WebCoreSystemInterface instead of using
4239 WebGraphicsBridge to do the same thing.
4241 2006-04-20 Adele Peterson <adele@apple.com>
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
4248 Test: fast/forms/input-readonly-empty.html
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.
4257 2006-04-20 Darin Adler <darin@apple.com>
4259 Reviewed by Timothy.
4261 Removed TO_NODE_OFFSET and TO_NODE_ADDRESS macros. These can just be done inline with pointer math.
4263 * platform/DeprecatedString.cpp:
4267 2006-04-19 Adele Peterson <adele@apple.com>
4269 Rubber-stamped by Darin.
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.
4275 * html/HTMLElement.cpp:
4276 (WebCore::HTMLElement::setInnerHTML):
4277 (WebCore::HTMLElement::setInnerText):
4279 2006-04-19 Mitz Pettel <opendarwin.org@mitzpettel.com>
4283 - fix http://bugs.webkit.org/show_bug.cgi?id=6770
4284 REGRESSION: Incomplete repaint when block with clipping grows
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:
4298 2006-04-19 Mitz Pettel <opendarwin.org@mitzpettel.com>
4302 - fix http://bugs.webkit.org/show_bug.cgi?id=8352
4303 CSS text-shadow does not repaint completely when changed
4305 * manual-tests/dynamic-shadow.html: Added.
4306 * rendering/render_style.cpp:
4307 (WebCore::RenderStyle::diff): Changed to return Layout when text-shadow
4310 2006-04-19 Adele Peterson <adele@apple.com>
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.
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.
4327 2006-04-19 Adele Peterson <adele@apple.com>
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/
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.
4340 2006-04-19 Adele Peterson <adele@apple.com>
4344 Fix for Windows build.
4346 * rendering/RenderThemeWin.cpp: (WebCore::RenderThemeWin::determineState):
4347 Use isReadOnlyControl instead of isReadOnly.
4349 2006-04-19 Adele Peterson <adele@apple.com>
4353 Fix to make readonly text fields have dimmed borders to match AppKit behavior.
4355 Test: fast/forms/input-readonly-dimmed.html
4357 * dom/Node.h: (WebCore::Node::isReadOnlyControl): Changed from const version of isReadOnly.
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.
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.
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.
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.
4406 2006-04-19 Beth Dakin <bdakin@apple.com>
4410 Fix for http://bugs.webkit.org/show_bug.cgi?id=8467 Block
4411 with percentage background-size doesn't repaint properly when it
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.
4420 2006-04-19 David Hyatt <hyatt@apple.com>
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
4426 (There is no test, since we have no way of testing cases where we repaint
4427 too much rather than too little.)
4431 * rendering/bidi.cpp:
4432 (WebCore::RenderBlock::layoutInlineChildren):
4434 2006-04-19 Mitz Pettel <opendarwin.org@mitzpettel.com>
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).
4442 * manual-tests/table-cell-move.html: Added.
4443 * rendering/RenderCanvas.cpp:
4444 (WebCore::RenderCanvas::repaintViewRectangle):
4445 * rendering/RenderTableSection.cpp:
4446 (WebCore::RenderTableSection::layoutRows):
4448 2006-04-19 Mitz Pettel <opendarwin.org@mitzpettel.com>
4450 Reviewed by Eric, landed by ap.
4452 - fix http://bugs.webkit.org/show_bug.cgi?id=8469
4453 CRASH: WebCore::CSSParser::parseDashboardRegions when attr() is passed
4455 Test: fast/css/dashboard-regions-attr-crash.html
4457 * css/cssparser.cpp:
4458 (WebCore::CSSParser::parseDashboardRegions): Added null check for args.
4460 2006-04-18 Rob Buis <buis@kde.org>
4462 Reviewed by eseidel & darin. Landed by eseidel.
4464 No automated tests possible (from javascript).
4466 Fix for http://bugs.webkit.org/show_bug.cgi?id=6664:
4467 Inspector does not highlight SVG elements properly
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,
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:
4485 2006-04-17 Rob Buis <buis@kde.org>
4487 Reviewed by eseidel. Landed by eseidel.
4489 Test: svg/custom/tref-update.svg
4491 Fix for http://bugs.webkit.org/show_bug.cgi?id=6427:
4492 <tref> element not implemented
4494 Implementation of <tref> element.
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:
4512 2006-04-18 Darin Adler <darin@apple.com>
4514 * rendering/render_form.cpp: (WebCore::RenderSelect::updateFromElement):
4515 Roll out accidentally-landed change for bug 8398.
4517 2006-04-18 Beth Dakin <bdakin@apple.com>
4521 Fix for a leak exposed by background-size and detected by the
4524 * css/css_valueimpl.cpp:
4525 (WebCore::CSSPrimitiveValue::cleanup): We must deref pairs.
4527 2006-04-18 Beth Dakin <bdakin@apple.com>
4531 Build fix for Windows. Just a few typos from background-size patch.
4533 * platform/cairo/GraphicsContextCairo.cpp:
4534 (WebCore::GraphicsContext::drawTiledImage):
4535 * platform/cairo/ImageCairo.cpp:
4536 (WebCore::Image::tileInRect):
4538 2006-04-18 Beth Dakin <bdakin@apple.com>
4542 Implementation of CSS3 background-size property. See
4543 http://bugs.webkit.org/show_bug.cgi?id=8353 for details.
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
4563 * platform/mac/GraphicsContextMac.mm:
4564 (WebCore::GraphicsContext::drawTiledImage):
4565 * platform/mac/ImageMac.mm:
4566 (WebCore::Image::tileInRect): Take care of scaling image if
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.
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):
4587 2006-04-17 Justin Garcia <justin.garcia@apple.com>
4589 Reviewed by harrison
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.
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.
4603 2006-04-17 Adele Peterson <adele@apple.com>
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
4610 Test: fast/forms/input-spaces.html
4612 * rendering/RenderTextField.cpp: (WebCore::RenderTextField::createDivStyle):
4613 Use white-space:pre for the inner div to avoid collapsing spaces in the text field.
4615 2006-04-18 Mitz Pettel <opendarwin.org@mitzpettel.com>
4619 - fix http://bugs.webkit.org/show_bug.cgi?id=8437
4620 iExploder(#293): Crash in StringImpl::hash()
4622 * manual-tests/applet-param-no-name.html: Added.
4623 * rendering/RenderApplet.cpp:
4624 (WebCore::RenderApplet::createWidgetIfNecessary): Skip param elements with
4627 2006-04-18 Darin Adler <darin@apple.com>
4629 - try to fix the Windows build
4631 * platform/cairo/GraphicsContextCairo.cpp: (WebCore::setColor):
4632 Update for changes to getRGBA.
4634 2006-04-17 Alexey Proskuryakov <ap@nypop.com>
4638 - fix http://bugs.webkit.org/show_bug.cgi?id=8440
4639 iExploder(#3327): Crash in StringImpl::initWithQChar()
4641 Test: fast/parser/number-sign-in-map-name.html
4643 * html/html_imageimpl.cpp:
4644 (WebCore::HTMLMapElement::parseMappedAttribute): Fixed handling of names starting with a '#'.
4646 2006-04-17 Adele Peterson <adele@apple.com>
4650 Fix for: http://bugs.webkit.org/show_bug.cgi?id=8269
4651 REGRESSION: disabled text field does not display greyed-out text
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.
4667 2006-04-17 David Hyatt <hyatt@apple.com>
4669 Fix for bug 8270, text highlights outside of textfield when it shouldn't.
4673 Added fast/forms/input-double-click-selection-gap-bug.html
4675 * rendering/RenderBlock.cpp:
4676 (WebCore::RenderBlock::fillInlineSelectionGaps):
4678 2006-04-17 David Hyatt <hyatt@apple.com>
4680 Fix for bug 8848, caret off by 1 pixel on numerous pixel tests.
4684 * rendering/InlineTextBox.cpp:
4685 (WebCore::InlineTextBox::positionForOffset):
4686 * rendering/RenderText.cpp:
4687 (WebCore::RenderText::caretRect):
4689 2006-04-17 Timothy Hatcher <timothy@apple.com>
4693 <rdar://problem/4506601> TOT WebCore fails to build ppc64
4695 Switch many CG calls to use CGFloat for colors and gradients
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:
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
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):
4759 2006-04-17 Justin Garcia <justin.garcia@apple.com>
4763 <http://bugs.webkit.org/show_bug.cgi?id=8402>
4764 Fix interchange newline handling and avoid use of test rendering info
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.
4775 2006-04-16 Mitz Pettel <opendarwin.org@mitzpettel.com>
4779 - fix http://bugs.webkit.org/show_bug.cgi?id=8408
4780 Paint the highlight behind selected list markers
4782 Test: fast/lists/markers-in-selection.html
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
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
4802 2006-04-16 Mitz Pettel <opendarwin.org@mitzpettel.com>
4806 - fix http://bugs.webkit.org/show_bug.cgi?id=8420
4807 iExploder(#12): Assertion failure in RenderContainer::removeChildNode
4809 Test: fast/forms/button-inner-block-reuse.html
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.
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.
4824 2006-04-16 Mitz Pettel <opendarwin.org@mitzpettel.com>
4828 - fix http://bugs.webkit.org/show_bug.cgi?id=8394
4829 Editable region does not accept dropped text if there is no selection
4831 Test: editing/pasteboard/drop-text-without-selection.html
4833 * bridge/mac/WebCoreFrameBridge.mm:
4834 (-[WebCoreFrameBridge documentFragmentWithText:]): Changed to allow
4835 creating a fragment regardless of the selection.
4837 2006-04-16 Mitz Pettel <opendarwin.org@mitzpettel.com>
4841 - WebCore part of fix for http://bugs.webkit.org/show_bug.cgi?id=8324
4842 REGRESSION: textarea :focus not applied immediately
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]):
4852 (-[KWQSlider becomeFirstResponder]): Added call to formControlIsBecomingFirstResponder: and
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.
4862 2006-04-16 Darin Adler <darin@apple.com>
4864 Reviewed by Adele and Justin.
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
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.
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.
4881 * manual-tests/input-empty-on-focus.html: Added.
4883 * page/Frame.h: Tweaked a few comments and functions related to selection.
4884 * page/Frame.cpp: (WebCore::Frame::dragCaret): Made non-const.
4886 * dom/Document.cpp: (WebCore::Document::notifyBeforeNodeRemoval):
4887 Call nodeWillBeRemoved on the two selection controllers before removing
4888 a node from the document.
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.
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.
4906 2006-04-16 Kevin Ollivier <kevino@theolliviers.com>
4910 - fix http://bugs.webkit.org/show_bug.cgi?id=8417
4911 make-css-file-arrays.pl hangs when run on Linux
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
4916 * rendering/RenderArena.cpp: Added a missing include of <assert.h>.
4918 2006-04-15 Darin Adler <darin@apple.com>
4920 - removed references to a couple files that are obsolete
4921 but were still in the Windows project file
4923 * WebCore.vcproj/WebCore/WebCore.vcproj: Remove kjs_views.h and .cpp.
4925 2006-04-15 Mitz Pettel <opendarwin.org@mitzpettel.com>
4929 - fix http://bugs.webkit.org/show_bug.cgi?id=8405
4930 REGRESSION: Web Inspector's Style pane is blank
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.
4936 2006-04-14 David Hyatt <hyatt@apple.com>
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.
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:
4956 (WebCore::valueForTextAlign):
4957 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
4959 * css/CSSPropertyNames.in:
4960 * css/CSSValueKeywords.in:
4962 (WebCore::CSSSelector::extractPseudoType):
4963 * css/css_valueimpl.cpp:
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:
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):
5009 (WebCore::Frame::canMouseDownStartSelect):
5011 * rendering/RenderObject.cpp:
5012 (WebCore::RenderObject::draggableNode):
5014 2006-04-14 Eric Seidel <eseidel@apple.com>
5020 * WebCore.vcproj/WebCore/WebCore.vcproj:
5021 * page/FramePrivate.h:
5023 2006-04-04 Eric Seidel <eseidel@apple.com>
5027 Fix build-warnings in cairo code.
5028 http://bugs.webkit.org/show_bug.cgi?id=8176
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):
5038 2006-04-14 David Hyatt <hyatt@apple.com>
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
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.
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:
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):
5084 2006-04-13 Darin Adler <darin@apple.com>
5088 - moved a few things out of kwq and cleaned up the
5089 Java-applet-related renderers
5091 * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for file location
5093 * WebCore.xcodeproj/project.pbxproj: Ditto.
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.
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.
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.
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.
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.
5137 * html/html_objectimpl.cpp: Update includes for new file names.
5139 2006-04-12 Geoffrey Garen <ggaren@apple.com>
5143 - Fixed <rdar://problem/4478467> document.defaultView should return
5146 Also made part of the window object autogenerated by IDL file.
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
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.)
5167 (WebCore::toDOMWindow):
5168 * bindings/js/kjs_window.h:
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.
5191 (WebCore::Document::Document):
5192 (WebCore::Document::defaultView):
5195 * dom/KeyboardEvent.idl:
5196 * dom/MouseEvent.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.
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):
5215 * page/FramePrivate.h:
5217 2006-04-13 Alexey Proskuryakov <ap@nypop.com>
5221 - fix http://bugs.webkit.org/show_bug.cgi?id=7602
5222 Only use fixupChar for entities
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().
5234 2006-04-13 Darin Adler <darin@apple.com>
5236 * platform/mac/GraphicsContextMac.mm: Fix one no-SVG compile problem by adding
5237 a "using namespace std".
5239 2006-04-12 Darin Adler <darin@apple.com>
5241 Rubber-stamped by Anders.
5245 * WebCore.vcproj/Image\ Viewer/Image\ Viewer.vcproj: Add loader directory.
5247 - use std::min/max exclusively intead of kMin/Max
5248 - eliminate KWQDef.h since all it had left in it was kMin/Max
5250 * WebCore.vcproj/WebCore/WebCore.vcproj: Remove KWQDef.h.
5251 * WebCore.xcodeproj/project.pbxproj: Ditto.
5253 * kwq/KWQDef.h: Removed.
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):
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):
5305 (QSlider::setValue):
5307 (WebCore::Cache::setSize):
5309 (WebCore::Frame::forceLayoutWithPageWidthRange):
5310 * platform/DeprecatedPtrListImpl.h:
5311 * platform/DeprecatedString.cpp:
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.
5449 2006-04-12 Darin Adler <darin@apple.com>
5451 Rubber-stamped by Anders.
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
5457 * loader/CachedImage.h:
5458 * loader/CachedImage.cpp:
5459 * loader/DocLoader.cpp:
5460 * loader/DocLoader.h:
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.
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.
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:
5498 * dom/EventTargetNode.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:
5552 * loader/CachedObject.h:
5553 * loader/Decoder.cpp:
5554 * loader/FormData.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:
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:
5578 * WebCore.xcodeproj/project.pbxproj: Resorted a couple things.
5580 2006-04-12 Adele Peterson <adele@apple.com>
5582 Reviewed by Darin and Tim O.
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
5589 http://bugs.webkit.org/show_bug.cgi?id=8156
5590 FrameMac::submitForm is busted after Vector changes
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.
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.
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.
5625 * rendering/RenderTextField.cpp:
5626 (WebCore::RenderTextField::setSelectionRange): Setting the selection here should close the typing command.
5627 (WebCore::RenderTextField::subtreeHasChanged): Calls textDidChangeInTextField.
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.
5631 * dom/EventTargetNode.cpp:
5632 (WebCore:: EventTargetNode::dispatchFocusEvent): Added.
5633 (WebCore:: EventTargetNode::dispatchBlurEvent): Added.
5634 * dom/EventTargetNode.h:
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.
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.
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.
5670 2006-04-12 Mitz Pettel <opendarwin.org@mitzpettel.com>
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
5677 * manual-tests/list-marker-repaint.html: Added.
5678 * rendering/RenderBlock.cpp:
5679 (WebCore::RenderBlock::layoutBlock): Call positionListMarker() after laying out
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
5707 * rendering/render_list.h:
5709 2006-04-12 Darin Adler <darin@apple.com>
5711 Rubber-stamped by Hyatt.
5713 - moved some more files out of KWQ to more-permanent homes
5715 * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for new locations.
5716 * WebCore.xcodeproj/project.pbxproj: Ditto.
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.
5747 2006-04-12 David Harrison <harrison@apple.com>
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
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.
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.
5762 (see related changes in WebKit)
5765 * editing/selection/extend-by-sentence-001.html: Added.
5766 * fast/dom/inner-text-001.html: Added.
5768 * bridge/mac/WebCoreFrameBridge.h:
5769 * bridge/mac/WebCoreFrameBridge.mm:
5770 (-[WebCoreFrameBridge alterCurrentSelection:direction:granularity:]):
5771 Add sentence navigation/selection.
5773 * editing/Selection.cpp:
5774 (WebCore::Selection::validate):
5775 Add sentence navigation/selection.
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.
5785 * editing/TextGranularity.h:
5787 Add SentenceGranularity and SentenceBoundary.
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.
5797 (WebCore::TextIterator::handleNonTextNode):
5798 (WebCore::TextIterator::exitNode):
5799 (WebCore::SimplifiedBackwardsTextIterator::advance):
5800 Use new utility functions.
5802 (WebCore::SimplifiedBackwardsTextIterator::handleNonTextNode):
5803 Use new utility functions. Also emit linefeed instead of space,
5804 so sentence parsing works across block boundaries.
5806 (WebCore::SimplifiedBackwardsTextIterator::exitNode):
5807 Use new utility functions.
5809 (WebCore::SimplifiedBackwardsTextIterator::emitNewline):
5810 Renamed from emitNewlineForBROrText because it is not always for BR or text.
5812 * editing/TextIterator.h:
5813 Renamed emitNewlineForBROrText to emitNewline.
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.
5823 2006-04-12 Darin Adler <darin@apple.com>
5825 Rubber-stamped by Hyatt.
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
5834 * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for new locations.
5835 * WebCore.xcodeproj/project.pbxproj: Ditto.
5838 * loader/Decoder.cpp: Added.
5839 * loader/Decoder.h: Added.
5840 * loader/FormData.cpp: Added.
5841 * loader/FormData.h: Added.
5843 * css/Length.h: Removed.
5844 * rendering/Length.h: Added.
5846 * bridge/mac/WebCoreEncodings.mm:
5848 * kwq/KWQFormData.mm:
5849 * loader/CachedXBLDocument.cpp:
5850 * loader/CachedXSLStyleSheet.cpp:
5851 * page/ResourceRequest.h:
5852 * platform/TransferJobInternal.h:
5853 * xml/xmlhttprequest.cpp:
5856 2006-04-12 Mitz Pettel <opendarwin.org@mitzpettel.com>
5860 - fix http://bugs.webkit.org/show_bug.cgi?id=8337
5861 Incomplete repaint of inlines' outline during editing
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.
5868 2006-04-12 Justin Garcia <justin.garcia@apple.com>
5872 <http://bugs.webkit.org/show_bug.cgi?id=8335>
5873 Implement execCommand(InsertHorizontalRule)
5875 * editing/JSEditor.cpp:
5877 2006-04-12 Darin Adler <darin@apple.com>
5879 Rubber-stamped by Hyatt.
5881 - moved xsl files into xml directory, removed xbl files (for now)
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.
5892 2006-04-12 David Hyatt <hyatt@apple.com>
5894 Fix for 5283, make sure overflow doesn't paint on top of positioned elements.
5898 * kwq/RenderTreeAsText.cpp:
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):
5916 2006-04-12 Darin Adler <darin@apple.com>
5918 * WebCore.xcodeproj/project.pbxproj: Turn SVG support back on.
5919 I accidentally checked in this file with SVG off last night.
5921 2006-04-12 Darin Adler <darin@apple.com>
5923 - try to fix Windows build
5925 * platform/TransferJobInternal.h: Declare HANDLE.
5926 * platform/image-decoders/gif/GIFImageReader.h: Include GIFImageDecoder.h.
5927 * rendering/RenderThemeWin.h: Declare HANDLE and HMODULE.
5929 2006-04-12 Darin Adler <darin@apple.com>
5931 - another attempt to get things building
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.
5937 2006-04-11 Darin Adler <darin@apple.com>
5939 - try to fix Windows build
5941 * html/HTMLCollection.h: Add back include of Vector.h.
5942 * page/Frame.h: Ditto.
5943 * platform/Timer.h: Ditto.
5945 - more changes for no-SVG (not working yet though)
5947 * editing/CompositeEditCommand.h: Added css_valueimpl.h include.
5949 2006-04-11 Darin Adler <darin@apple.com>
5951 - try to fix no-SVG build
5953 * kwq/RenderTreeAsText.cpp: Added back an include only needed for non-SVG.
5954 * rendering/RenderObject.h: Ditto.
5956 2006-04-11 Darin Adler <darin@apple.com>
5958 - try to fix Windows build
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.
5966 2006-04-11 Justin Garcia <justin.garcia@apple.com>
5968 Reviewed by harrison
5970 Fixes more instances of:
5971 <rdar://problem/3950559>
5972 CrashTracer: 2116 crashes in Mail at com.apple.WebCore: khtml::CompositeEditCommand::insertNodeAfter + 32
5974 * editing/ReplaceSelectionCommand.cpp:
5975 (WebCore::ReplaceSelectionCommand::doApply): Do paragraph merging using moveParagraphs.
5977 2006-04-11 Justin Garcia <justin.garcia@apple.com>
5979 Reviewed by harrison
5981 Some setup for work on paste performance.
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:
5997 2006-04-11 John Sullivan <sullivan@apple.com>
5999 Reviewed by Darin Adler.
6001 - fixed <rdar://problem/4509328> highlight all matches hangs when searching for tab character on www.google.com (and others)
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).
6011 (WebCore::Frame::highlightAllMatchesForString):
6012 break the loop if the search range hasn't advanced
6014 2006-04-10 Darin Adler <darin@apple.com>
6016 Rubber-stamped by John Sullivan (except for pbxproj change).
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
6025 * WebCore.xcodeproj/project.pbxproj: Fixed a lot of paths that
6026 were not relative to the enclosing group.
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:
6065 * css/css_ruleimpl.h:
6066 * css/css_valueimpl.cpp:
6067 * css/cssparser.cpp:
6069 * css/cssstyleselector.cpp:
6070 * css/cssstyleselector.h:
6071 * dom/AbstractView.h:
6072 * dom/AtomicStringList.h:
6073 * dom/Attribute.cpp:
6076 * dom/ContainerNode.cpp:
6077 * dom/DOMImplementation.cpp:
6078 * dom/DOMImplementation.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:
6091 (WebCore::Node::showNode):
6092 (WebCore::Node::showTree):
6093 (WebCore::Node::showTreeAndMark):
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):
6142 * editing/Selection.h:
6143 * editing/SelectionController.cpp:
6144 (WebCore::SelectionController::formatForDebugger):
6145 (WebCore::SelectionController::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):
6158 * editing/VisiblePosition.h:
6159 (WebCore::VisiblePosition::VisiblePosition):
6160 (WebCore::operator==):
6161 * editing/WrapContentsInDummySpanCommand.cpp:
6162 * editing/htmlediting.h:
6163 * editing/markup.cpp:
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:
6245 * kwq/KWQPageState.mm:
6246 * kwq/KWQTextEdit.mm:
6247 * kwq/RegularExpression.h:
6248 * kwq/RenderTreeAsText.cpp:
6249 * kwq/RenderTreeAsText.h:
6250 * kwq/WebCoreAXObject.mm:
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:
6263 * page/FramePrivate.h:
6264 * page/FrameTree.cpp:
6266 * page/FrameView.cpp:
6271 (WebCore::Plugin::Plugin):
6272 (WebCore::Plugin::view):
6273 * platform/Color.cpp:
6274 * platform/FloatRect.h:
6275 * platform/Font.cpp:
6277 * platform/FontFamily.cpp:
6278 * platform/GraphicsContext.cpp:
6279 * platform/Image.cpp:
6281 * platform/IntRect.h:
6282 * platform/KURL.cpp:
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:
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:
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:
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:
6345 2006-04-10 Darin Adler <darin@apple.com>
6347 - try to fix the Windows build
6349 * WebCore.vcproj/WebCore/WebCore.vcproj: Fix mistaken bad editing of
6350 AdditionalIncludeDirectories.
6352 2006-04-10 David Hyatt <hyatt@apple.com>
6354 Make focus ring painting respect clips set by WebCore (e.g., overflow).
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:
6370 (WebCore::restoreClip):
6372 2006-04-10 Darin Adler <darin@apple.com>
6376 - death to khtml/ecma, long live bindings/js
6378 * khtml/ecma: Removed. Moved all files to bindings/js.
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.
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.
6414 2006-04-10 Darin Adler <darin@apple.com>
6418 - try to fix the Windows build
6420 * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::reset):
6421 Put code to release m_drawingContext into an __APPLE__ ifdef.
6423 * platform/win/TemporaryLinkStubs.cpp:
6425 2006-04-10 Mitz Pettel <opendarwin.org@mitzpettel.com>
6427 Reviewed by Eric, landed by ap.
6429 - fix http://bugs.webkit.org/show_bug.cgi?id=8295
6430 Dictionary pop-up panel targets the wrong word in a scrolled IFRAME
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.
6439 2006-04-09 Alexey Proskuryakov <ap@nypop.com>
6443 - fix http://bugs.webkit.org/show_bug.cgi?id=7877
6444 XMLHttpRequest ignores username/password passed to open()
6446 Test: http/tests/xmlhttprequest/basic-auth.html
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.
6453 2006-04-09 Darin Adler <darin@apple.com>
6457 - fix http://bugs.webkit.org/show_bug.cgi?id=4884
6458 Canvas element breaks when RenderObject creation is deferred by external CSS
6460 Test: fast/canvas/canvas-before-css.html
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.
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.
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.
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.
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.
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.
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.
6533 2006-04-09 Rob Buis <buis@kde.org>
6535 Reviewed by eseidel. Landed by eseidel.
6537 Fix for http://bugs.webkit.org/show_bug.cgi?id=6027:
6538 Dirty rect invalidation issues in mozilla sample
6540 Make sure the paths calculate the new bounding box and not
6541 use the cached bbox.
6543 No automated test case possible.
6545 * kcanvas/RenderPath.cpp:
6546 (WebCore::RenderPath::setPath):
6548 2006-04-09 Rob Buis <buis@kde.org>
6550 Reviewed by darin. Landed by eseidel.
6552 Fix for http://bugs.webkit.org/show_bug.cgi?id=6930:
6553 % width/height on nested <svg> tags do not work
6555 Set the context correctly for inner <svg>, so calculation of
6556 width/height for inner <svg> elements is done against the
6559 Test: svg/custom/inner-percent.svg
6561 * ksvg2/svg/SVGSVGElement.cpp:
6562 (WebCore::SVGSVGElement::width):
6563 (WebCore::SVGSVGElement::height):
6565 2006-04-08 Rob Buis <buis@kde.org>
6567 Reviewed by eseidel. Landed by eseidel.
6569 No automated test case possible.
6571 Fix for http://bugs.webkit.org/show_bug.cgi?id=7531:
6572 hang in SVGPolygonElementImpl::toPathData in polygon test case
6574 Make sure the points list is cleared, just like the path
6575 list is cleared first before (re)parsing.
6577 * ksvg2/svg/SVGPolyElement.cpp:
6578 (SVGPolyElement::parseMappedAttribute):
6580 2006-04-08 Darin Adler <darin@apple.com>
6584 - fix http://bugs.webkit.org/show_bug.cgi?id=7622
6585 REGRESSION: New text fields should compute maxlength considering composed character sequences
6587 Test: fast/forms/input-text-maxlength.html
6588 Test: fast/forms/input-text-paste-maxlength.html
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.
6596 * html/HTMLInputElement.cpp:
6597 (WebCore::numGraphemeClusters): Added.
6598 (WebCore::numCharactersInGraphemeClusters): Added.
6599 (WebCore::HTMLInputElement::isKeyboardFocusable): Use inputType() instead of using m_type
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
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
6646 (WebCore::HTMLInputElement::constrainValue): Added.
6647 (WebCore::HTMLInputElement::recheckValue): Added.
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.
6653 * html/HTMLGenericFormElement.h: Removed unused isEditable function.
6654 * html/HTMLGenericFormElement.cpp: Ditto.
6655 * html/HTMLTextAreaElement.h: Ditto.
6656 * html/HTMLTextAreaElement.cpp: Ditto.
6658 * platform/StringImpl.cpp: (WebCore::StringImpl::truncate): Changed > to >= so that
6659 truncating to the size of the string does nothing, efficiently.
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.
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.
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.
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.
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
6685 * editing/TypingCommand.cpp: (WebCore::TypingCommand::insertText): Ditto.
6687 2006-04-07 Darin Adler <darin@apple.com>
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
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.
6700 - some tiny efficiency improvements to the tokenizer -- no measurable speedup, but removes
6701 a little bit of unneeded code
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).
6708 2006-04-07 Justin Garcia <justin.garcia@apple.com>
6710 Reviewed by harrison
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.
6717 * editing/ReplaceSelectionCommand.cpp:
6718 (WebCore::ReplacementFragment::ReplacementFragment):
6720 2006-04-07 Maciej Stachowiak <mjs@apple.com>
6724 - fixed REGRESSION: offsetParent on element with no offset parent crashes
6727 (WebCore::Element::offsetParent): Add missing null check.
6729 2006-04-07 Justin Garcia <justin.garcia@apple.com>
6733 maxlength truncation in text fields didn't work if the fragment was a
6736 * editing/ReplaceSelectionCommand.cpp:
6737 (WebCore::ReplacementFragment::ReplacementFragment):
6739 2006-04-07 Justin Garcia <justin.garcia@apple.com>
6741 Reviewed by harrison
6743 <http://bugs.webkit.org/show_bug.cgi?id=8250>
6744 REGRESSION: Interchange newlines aren't passed with the khtmlBeforeTextInsertedEvent
6746 * editing/ReplaceSelectionCommand.cpp:
6747 (WebCore::ReplacementFragment::ReplacementFragment):
6748 Interchange content removal happened before khtmlBeforeTextInsertedEvent was sent.
6750 2006-04-07 Justin Garcia <justin.garcia@apple.com>
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
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.
6770 2006-04-06 Justin Garcia <justin.garcia@apple.com>
6772 Reviewed by harrison
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
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
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.
6799 2006-04-06 Maciej Stachowiak <mjs@apple.com>
6803 - Convert Element JS bindings to be almost completely autogenerated
6804 http://bugs.webkit.org/show_bug.cgi?id=8227
6806 * dom/Element.idl: Declare full interface in IDL.
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.
6812 (WebCore::Element::scrollByUnits): Moved logic from JS bindings to
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
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.
6836 * khtml/ecma/kjs_binding.cpp:
6837 (KJS::valueToStringWithNullCheck): fixed formatting
6838 (KJS::valueToBooleanTreatUndefinedAsTrue): added for binding of scrollIntoView
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
6847 * css/cssstyleselector.cpp:
6848 (WebCore::CSSStyleSelector::canShareStyleWithElement): updated for rename
6849 of tagName to tagQName
6850 (WebCore::CSSStyleSelector::checkOneSelector): ditto
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
6861 2006-04-06 Beth Dakin <bdakin@apple.com>
6865 Fix for http://bugs.webkit.org/show_bug.cgi?id=8203
6866 REGRESSION: "Invite a friend" text field in GMail page spills out
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().
6873 * rendering/RenderTextField.cpp:
6874 (WebCore::RenderTextField::calcMinMaxWidth):
6876 2006-04-06 Darin Adler <darin@apple.com>
6878 - try to fix Windows build
6880 * WebCore.vcproj/WebCore/WebCore.vcproj: Add JSDocument.cpp.
6882 2006-04-05 Darin Adler <darin@apple.com>
6886 - fix http://bugs.webkit.org/show_bug.cgi?id=8111
6887 REGRESSION (NativeTextField): first click in form field on weather.com leaves focus
6890 Test: fast/forms/input-text-self-emptying-click.html
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.
6898 * WebCore.xcodeproj/project.pbxproj: Added MouseEventWithHitTestResults.cpp.
6899 * WebCore.vcproj/WebCore/WebCore.vcproj: Ditto.
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.
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.
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.
6921 * bridge/mac/FrameMac.mm:
6922 (WebCore::FrameMac::handleMousePressEvent): Use new name targetNode, instead of old
6924 (WebCore::FrameMac::handleMouseMoveEvent): Ditto.
6925 (WebCore::FrameMac::passSubframeEventToSubframe): Ditto.
6926 (WebCore::FrameMac::sendContextMenuEvent): Ditto.
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.
6938 2006-04-05 Mitz Pettel <opendarwin.org@mitzpettel.com>
6940 Reviewed and landed by Maciej.
6942 - fix http://bugs.webkit.org/show_bug.cgi?id=8184
6943 REGRESSION (r13655): Layer outline not clipped where it should be
6945 * rendering/RenderLayer.cpp:
6946 (WebCore::RenderLayer::calculateRects): Reverted this part of the fix for bug 7943.
6947 The outlineRect should not be inflated.
6949 2006-04-05 Rob Buis <buis@kde.org>
6951 Reviewed by Eric, landed by Maciej.
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
6956 Fix this svg stylesheet to use strict-mode, as this makes sure
6957 class selecting is done correctly.
6959 * ksvg2/svg/SVGStyleElement.cpp:
6960 (SVGStyleElement::childrenChanged):
6962 2006-04-05 Justin Garcia <justin.garcia@apple.com>
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
6970 * editing/ReplaceSelectionCommand.cpp:
6971 (WebCore::ReplaceSelectionCommand::doApply):
6973 2006-04-05 Maciej Stachowiak <mjs@apple.com>
6977 - autogenerate bindings for all of the methods and properties of Document
6978 http://bugs.webkit.org/show_bug.cgi?id=8163
6980 - also removed document.actualEncoding since it is not in any spec
6981 or implemented by any other browser
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.
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
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:
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.
7023 2006-04-05 Justin Garcia <justin.garcia@apple.com>
7027 <http://bugs.webkit.org/show_bug.cgi?id=8198>
7028 Hitting an assert on undo paste
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.
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.
7054 2006-04-05 Darin Adler <darin@apple.com>
7058 * WebCore.xcodeproj/project.pbxproj: Oops! Resolved merge conflict.
7060 2006-04-05 Darin Adler <darin@apple.com>
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)
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.
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".
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!
7084 * kwq/AccessibilityObjectCache.h: Changed hash function to be IntHash
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.
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).
7097 * bridge/mac/FrameMac.h:
7099 * dom/xml_tokenizer.h:
7100 * khtml/xsl/XSLTProcessor.h:
7101 * kwq/JavaAppletWidget.h:
7102 * page/FramePrivate.h:
7104 * platform/AtomicString.cpp:
7105 * platform/TransferJob.h:
7106 * rendering/render_applet.h:
7107 Added include of StringHash.h.
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
7115 * ForwardingHeaders/kxmlcore/HashTraits.h: Added.
7117 - other minor cleanup
7119 * bridge/mac/FrameMac.mm: Sorted includes.
7120 * dom/Node.cpp: Removed bogus symbol after #endif.
7122 * khtml/xsl/XSLTProcessor.cpp: Sorted includes. Removed redundant using
7124 * loader/Cache.cpp: Ditto.
7126 2006-04-05 Beth Dakin <bdakin@apple.com>
7130 Fix for <rdar://problem/4502311> text-transform:capitalize needs to
7131 treat nbsp as a regular space when ICU changes
7133 There will be future changes in ICU to match the Unicode 4.1
7134 standard which no longer recognizes   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.
7138 No layout tests added because existing layout tests cover this.
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.
7145 2006-04-05 Alexey Proskuryakov <ap@nypop.com>
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)
7152 Test: fast/dom/navigator-vendorSub.html
7154 * khtml/ecma/kjs_navigator.cpp:
7155 (KJS::Navigator::getValueProperty): Return an empty string for vendorSub property.
7156 * khtml/ecma/kjs_navigator.h:
7158 2006-04-04 Darin Adler <darin@apple.com>
7160 Reviewed by Justin (editing parts) and Adele (the rest).
7162 - fix http://bugs.webkit.org/show_bug.cgi?id=8182
7163 some text-field-related layout tests are failing
7165 The smart paste code was getting confused and adding extra spaces.
7167 * editing/ReplaceSelectionCommand.cpp:
7168 (WebCore::ReplaceSelectionCommand::doApply): Use isStartOfParagraph instead of
7170 (WebCore::ReplaceSelectionCommand::removeLinePlaceholderIfNeeded): Ditto.
7172 * editing/InsertParagraphSeparatorCommand.cpp: (WebCore::enclosingEmptyListItem):
7173 Change to call isStart/EndOfParagraph instead of Line.
7175 * editing/InsertTextCommand.cpp: (WebCore::InsertTextCommand::input):
7176 Add a comment about how isStartOfLine is almost certainly wrong here.
7178 - clean up some loose ends in the Frame class from the recent renaming
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.
7186 - invoke the makefile directly, removing the generate-derived-sources script
7188 * WebCore.vcproj/WebCore/build-generated-files.sh: Call make directly.
7189 * WebCore.xcodeproj/project.pbxproj: Ditto.
7190 * generate-derived-sources: Removed.
7192 2006-04-04 Adele Peterson <adele@apple.com>
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
7200 editing/selection/caret-rtl.html
7201 editing/selection/caret-rtl-2.html
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
7209 2006-04-04 David Hyatt <hyatt@apple.com>
7211 Fix for bug 8065, inline blocks incorrectly loses spaces between them.
7216 (WebCore::Text::rendererIsNeeded):
7218 2006-04-04 Adele Peterson <adele@apple.com>
7223 http://bugs.webkit.org/show_bug.cgi?id=8092
7224 REGRESSION (NativeTextField): table contents misaligned in Netflix queue
7226 http://bugs.webkit.org/show_bug.cgi?id=8141
7227 REGRESSION: Native text field fails to wrap inside table
7229 http://bugs.webkit.org/show_bug.cgi?id=8072
7230 REGRESSION: text fields at connect.apple.com spill out of the containing box
7232 Test: fast/forms/input-table.html
7234 Rewrote calcMinMaxWidth for text fields so it considers width,
7235 min-width, and max-width settings as well as the size attribute.
7237 * rendering/RenderTextField.cpp: (WebCore::RenderTextField::calcMinMaxWidth):
7239 2006-04-04 Beth Dakin <bdakin@apple.com>
7243 This is a followup to my fix for <rdar://problem/4493218>
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
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):
7264 2006-04-04 Timothy Hatcher <timothy@apple.com>
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.
7271 * WebCore.xcodeproj/project.pbxproj:
7273 2006-04-04 Justin Garcia <justin.garcia@apple.com>
7277 <http://bugs.webkit.org/show_bug.cgi?id=6608>
7278 REGRESSION: Line disappears when deleting
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
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.
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:
7306 * editing/markup.cpp:
7307 (WebCore::createMarkup):
7308 Was crashing when passed a collapsed range. I early return an empty string instead.
7310 2006-04-04 John Sullivan <sullivan@apple.com>
7312 Reviewed by Adele Peterson.
7314 - WebCore part of <rdar://problem/4498418> "Autosaved" searchterms are saved during private browsing
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)
7322 * kwq/KWQKHTMLSettings.h:
7323 (KHTMLSettings::privateBrowsingEnabled):
7324 (KHTMLSettings::setPrivateBrowsingEnabled):
7325 Teach KHTMLSettings about private browsing
7327 * kwq/KWQLineEdit.mm:
7328 Fix wrong class in a category method declaration; the compiler didn't seem to mind.
7330 * kwq/WebCoreTextField.mm:
7331 (-[KWQSearchFieldCell _addStringToRecentSearches:]):
7332 Override this method to bail out if private browsing is enabled.
7334 2006-04-04 Trey Matteson <trey@usa.net>
7338 http://bugs.webkit.org/show_bug.cgi?id=7951
7339 REGRESSION: Safari crashes when printing a google map w/directions
7341 Tests: none, because I believe it only happens when printing, due to the relayouts
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.
7350 2006-04-03 Justin Haygood <jhaygood@spsu.edu>
7352 Reviewed by eseidel. Landed by eseidel.
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
7358 * platform/win/ScrollViewWin.cpp:
7359 (WebCore::ScrollView::updateScrollBars):
7361 2006-04-04 Eric Seidel <eseidel@apple.com>
7363 Reviewed by andersca.
7365 Work-around spaces-in-pathnames issue in gnumake on win32.
7366 http://bugs.webkit.org/show_bug.cgi?id=8173
7368 * WebCore.vcproj/WebCore/build-generated-files.sh:
7370 2006-04-03 Darin Adler <darin@apple.com>
7372 - tried to fix build again
7374 * WebCore.xcodeproj/project.pbxproj: Removed JSStyleSheet files.
7375 * WebCore.vcproj/WebCore/WebCore.vcproj: Ditto.
7377 2006-04-03 Darin Adler <darin@apple.com>
7379 - fixed properties on a bunch of files
7380 (removed allow-tabs and svn:executable from many)
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:
7394 * rendering/render_list.cpp:
7395 * rendering/render_style.cpp:
7396 * rendering/table_layout.h:
7397 Converted tabs to spaces.
7399 2006-04-03 Alexey Proskuryakov <ap@nypop.com>
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)
7406 Tests: fast/css/invalidation-errors.html
7407 fast/css/invalidation-errors-2.html
7408 fast/css/invalidation-errors-3.html
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.
7419 2006-04-03 Darin Adler <darin@apple.com>
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)
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.
7430 2006-04-03 Darin Adler <darin@apple.com>
7432 - fixed Macintosh build
7434 * WebCore.xcodeproj/project.pbxproj: Fixed paths of some files that were absolute
7435 paths from my machine.
7437 2006-04-03 Darin Adler <darin@apple.com>
7439 - try to fix Windows build
7441 * WebCore.vcproj/WebCore/WebCore.vcproj: Add three new generated files as source files.
7443 2006-04-03 Darin Adler <darin@apple.com>
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
7450 * rendering/RenderTextField.cpp: (WebCore::RenderTextField::forwardEvent):
7451 Scroll to the right if RTL.
7453 2006-04-03 Darin Adler <darin@apple.com>
7457 - http://bugs.webkit.org/show_bug.cgi?id=8147
7458 convert derived sources script to a Makefile
7460 * DerivedSources.make: Added.
7461 * css/CSSPrimitiveValue.idl: Added.
7462 * css/Counter.idl: Added.
7463 * css/StyleSheet.idl: Added.
7465 * WebCore.xcodeproj/project.pbxproj: Added new generated files, IDLs, and the makefile.
7466 * bindings/scripts/CodeGeneratorJS.pm:
7468 * generate-derived-sources: Added license header. Removed most of the script, except for
7469 a single invocation of make.
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.
7481 2006-04-03 Justin Garcia <justin.garcia@apple.com>
7483 Reviewed by harrison
7485 <http://bugs.webkit.org/show_bug.cgi?id=8117>
7486 REGRESSION (NativeTextField): Drag and drop text within a text input field modifies page
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
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
7498 * editing/ReplaceSelectionCommand.cpp:
7499 (WebCore::ReplacementFragment::ReplacementFragment):
7500 (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand):
7501 (WebCore::ReplaceSelectionCommand::doApply):
7502 * editing/ReplaceSelectionCommand.h:
7504 2006-04-03 Beth Dakin <bdakin@apple.com>
7508 Fix for <rdar://problem/4495644> crash when mousing over links at
7509 nationalrealestateinvestors.com in
7510 WebCore::RenderBlock::findNextLineBreak
7512 This is a fix for a repro crasher where a rootLineBox had a stale
7513 pointer to a render object.
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
7521 2006-04-03 Timothy Hatcher <timothy@apple.com>
7525 Removing idl files and some scripts from the WebCore target to prevent
7526 them from being copied into the Resources.
7528 * WebCore.xcodeproj/project.pbxproj:
7530 2006-04-03 Dave Hyatt <hyatt@apple.com>
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.
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):
7572 2006-04-03 Mitz Pettel <opendarwin.org@mitzpettel.com>
7576 - fix http://bugs.webkit.org/show_bug.cgi?id=8085
7577 REGRESSION: Main menu positioned incorrectly on eia.org and fedex.com/us
7579 Test: fast/dom/Element/offsetTop-table-cell.html
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.
7586 2006-04-03 Mitz Pettel <opendarwin.org@mitzpettel.com>
7588 Test: fast/repaint/layer-outline.html fast/repaint/layer-outline-horizontal.html
7592 - fix http://bugs.webkit.org/show_bug.cgi?id=7943
7593 Layer outline does not repaint
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
7601 2006-04-03 Adele Peterson <adele@apple.com>
7605 - Fix for http://bugs.webkit.org/show_bug.cgi?id=8104
7606 REGRESSION (NativeTextField): New text fields should not allow pasting newlines
7608 Test: fast/forms/input-truncate-newline.html
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.
7615 2006-04-03 Alexey Proskuryakov <ap@nypop.com>
7617 Fixed a comment (forgot to save the file before the previous commit).
7619 * xml/xmlhttprequest.cpp:
7620 (WebCore::XMLHttpRequest::open):
7622 2006-04-03 Alexey Proskuryakov <ap@nypop.com>
7626 - fix http://bugs.webkit.org/show_bug.cgi?id=8099
7627 REGRESSION: XMLHttpRequest lowercase post requests broken
7629 Test: http/tests/xmlhttprequest/methods-lower-case.html
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.
7635 2006-04-02 Graham Dennis <Graham.Dennis@gmail.com>
7639 - fix http://bugs.webkit.org/show_bug.cgi?id=8032
7640 REGRESSION: Focus ring not completely redrawn after a Delete changes its size
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
7648 * manual-tests/outline-repaint-glitch.html: Added. Manual testcase.
7649 This is just an outline version of border-repaint-glitch.html
7651 2006-04-02 Trey Matteson <trey@usa.net>
7655 Support for fixing http://bugs.webkit.org/show_bug.cgi?id=8121
7656 REGRESSION: 404s are not displayed
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.
7665 2006-04-02 David Kilzer <ddkilzer@kilzer.net>
7669 - Fix for http://bugs.webkit.org/show_bug.cgi?id=8079
7670 REGRESSION: Redraw from page cache does not show visited links
7672 * page/Frame.cpp: (WebCore::Frame::reparseConfiguration): Added back
7673 updateStyleSelector call that was removed as part of the patch for bug 7907.
7675 2006-04-02 Maciej Stachowiak <mjs@apple.com>
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
7685 * bridge/mac/FrameMac.mm:
7686 (WebCore::FrameMac::nextKeyViewInFrame):
7687 * bridge/mac/WebCoreFrameBridge.h:
7689 2006-04-02 Darin Adler <darin@apple.com>
7691 - add a few stubs to get Windows closer to building
7693 * platform/win/TemporaryLinkStubs.cpp:
7694 (WebCore::focusRingColor):
7695 (WebCore::setFocusRingColorChangeFunction):
7696 (Frame::setNeedsReapplyStyles):
7698 2006-04-02 Darin Adler <darin@apple.com>
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.
7705 2006-04-02 Darin Adler <darin@apple.com>
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
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
7715 - some cleanup to how we parse user agent style sheets
7717 * css/CSSValueKeywords.in: Added -webkit-focus-ring-color.
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.
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.
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
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.
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.
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.
7756 * page/Frame.h: Removed instances, mutableInstances, and detachFromView.
7757 * page/Frame.cpp: Ditto.
7759 * page/FrameTree.cpp:
7760 (WebCore::FrameTree::~FrameTree): Call setView(0) instead of detachFromView().
7761 (WebCore::FrameTree::removeChild): Ditto.
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
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.
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.
7777 * platform/PlatformString.h: Added a constructor that takes a char* and
7779 * platform/String.cpp: (WebCore::String::String): Ditto.
7781 * WebCore.xcodeproj/project.pbxproj: Just some tweaks; adding in a few files like
7782 the user agent style sheets.
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
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.
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
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.
7807 2006-04-02 Mitz Pettel <opendarwin.org@mitzpettel.com>
7809 Test: fast/inline-block/overflow-clip.html
7813 - fix http://bugs.webkit.org/show_bug.cgi?id=8118
7814 REGRESSION (r13595): Inline block's clipped overflow increases table row height
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.
7820 2006-04-02 Eric Seidel <eseidel@apple.com>
7822 Reviewed by andersca.
7824 Make WebCore safe against KJS::Node in JavaScriptCore private headers.
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):
7841 (KJS::DOMEventTargetNode::DOMEventTargetNode):
7842 (KJS::DOMDocumentProtoFunc::callAsFunction):
7843 (KJS::DOMElement::putValueProperty):
7844 (KJS::DOMElementProtoFunc::callAsFunction):
7845 (KJS::checkNodeSecurity):
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:
7865 * kwq/KWQPageState.mm:
7866 (-[KWQPageState WebCore::]):
7868 2006-04-01 Darin Adler <darin@apple.com>
7872 - removed a bunch of unneeded ForwardingHeaders and WebCore+SVG headers
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.
7918 * WebCore.xcodeproj/project.pbxproj: Removed headers.
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:
7995 2006-04-01 Darin Adler <darin@apple.com>
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
8002 - fix http://bugs.webkit.org/show_bug.cgi?id=8082
8003 REGRESSION: Empty RTL text fields place the caret on the left side
8005 Need a way to make a test for this. No obvious way at the moment.
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.
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
8016 2006-04-01 Darin Adler <darin@apple.com>
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
8023 Test: fast/forms/input-text-scroll-left-on-blur.html
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
8030 - unrelated small changes
8032 * html/HTMLTextFieldInnerElement.cpp: Removed excess includes.
8033 (WebCore::HTMLTextFieldInnerElement::defaultEventHandler): Tweaked comments a bit.
8036 (WebCore::Element::scrollIntoView): Removed unneeded this-> before function call.
8037 (WebCore::Element::scrollIntoViewIfNeeded): Ditto.
8039 * page/FrameView.cpp: (WebCore::FrameView::dispatchMouseEvent): Removed obsolete comment.
8041 2006-03-31 Maciej Stachowiak <mjs@apple.com>
8045 <rdar://problem/4497684> REGRESSION(NativeTextField): After undoing pasted text in a field, the field changes to only a few pixels in height (8096)
8047 * editing/ReplaceSelectionCommand.cpp:
8048 (WebCore::ReplaceSelectionCommand::doApply): merge into start block when pasting into
8049 an empty editable subtree.
8051 2006-04-01 Darin Adler <darin@apple.com>
8055 - fix http://bugs.webkit.org/show_bug.cgi?id=8063
8056 REGRESSION: double clicking in new text fields won't select whole words
8058 Test: fast/forms/input-text-double-click.html
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.
8066 * editing/Selection.cpp: (WebCore::Selection::validate): Fix a tiny formatting glitch
8067 I noticed at the same time.
8069 2006-03-31 John Sullivan <sullivan@apple.com>
8071 Reviewed by Tim Hatcher.
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)
8076 * bridge/mac/FrameMac.mm:
8077 (WebCore::FrameMac::sendContextMenuEvent):
8078 Rolled in this one-line change that Hyatt wrote ages ago.
8080 2006-03-31 Beth Dakin <bdakin@apple.com>
8084 Fix for http://bugs.webkit.org/show_bug.cgi?id=8108
8085 REGRESSION (r13590-r13593): Floating table's cells don't paint
8088 This is a regression from my painting patch yesterday. Just a silly
8089 error I didn't catch.
8091 * rendering/RenderTable.cpp:
8092 (WebCore::RenderTable::paint): Change the phase of our new
8093 PaintInfo, not our old one.
8095 2006-03-31 Tim Omernick <timo@apple.com>
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
8102 * rendering/RenderTextField.cpp:
8103 (WebCore::RenderTextField::createDivStyle):
8104 Set user modify based on the form element's readOnly().
8105 (WebCore::RenderTextField::updateFromElement):
8108 2006-03-31 Adele Peterson <adele@apple.com>
8110 Reviewed by Tim Omernick.
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.
8115 * dom/Node.cpp: (WebCore::Node::shadowAncestorNode):
8116 * rendering/RenderTextField.cpp: (WebCore::RenderTextField::setSelectionRange):
8117 Updated assertion to check for shadowAncestorNode instead of rootEditableElement.
8119 2006-03-31 Mitz Pettel <opendarwin.org@mitzpettel.com>
8121 Reviewed by John Sullivan.
8123 - fix http://bugs.webkit.org/show_bug.cgi?id=8101
8124 REGSRESSION: Fix for bug 7031 causes 30 layout tests to fail
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.
8133 2006-03-31 Mitz Pettel <opendarwin.org@mitzpettel.com>
8135 Reviewed by Darin, landed by Beth.
8137 Fix for http://bugs.webkit.org/show_bug.cgi?id=8081
8138 REGRESSION: Drop-down menu has gap at top
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.
8146 2006-03-31 Dave Hyatt <hyatt@apple.com>
8148 Fix the border drawing for themes on Win32.
8152 * rendering/RenderBox.cpp:
8153 (WebCore::RenderBox::paintBoxDecorations):
8154 * rendering/RenderTheme.cpp:
8155 (WebCore::RenderTheme::paintBorderOnly):
8156 * rendering/RenderTheme.h:
8158 2006-03-31 Darin Adler <darin@apple.com>
8160 Reviewed by John Sullivan.
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.
8166 * dom/Element.idl: Removed comment from bad old days where we had to
8167 touch these files to make them rebuild.
8169 2006-03-30 Maciej Stachowiak <mjs@apple.com>
8171 - fixed Windows build breakage from previous change
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):
8180 2006-03-30 Maciej Stachowiak <mjs@apple.com>
8184 - various Point / Size related cleanup
8186 First, I clarified the semantics of some operations to keep a
8187 better distinction between IntPoint and IntSize:
8189 * platform/IntPoint.h:
8190 (WebCore::IntPoint::move): new convenience to move a point by separate
8192 (WebCore::operator+=): You can't add a point to a point, you can only add
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,
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
8205 Made the same changes for FloatPoint:
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-):
8218 Then I changed a bunch of stuff to pass around IntPoint instead of separate x and y
8219 coordinates. The main one was:
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,
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):
8239 The rest is mainly updates for these changes.
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):
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):
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):
8279 2006-03-30 Maciej Stachowiak <mjs@apple.com>
8281 - fixed windows build
8283 * platform/win/TemporaryLinkStubs.cpp:
8284 (Widget::unlockDrawingFocus):
8286 2006-03-31 Eric Seidel <eseidel@apple.com>
8290 A bit more code cleanup.
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:]):
8302 (WebCore::Frame::submitForm):
8303 * platform/Widget.h:
8304 * platform/mac/WidgetMac.mm:
8305 * rendering/render_frames.cpp:
8306 (WebCore::RenderFrameSet::userResize):
8308 2006-03-30 Maciej Stachowiak <mjs@apple.com>
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:]):
8320 (WebCore::Document::elementFromPoint):
8321 (WebCore::Document::prepareMouseEvent):
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.
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:
8344 2006-03-30 Mitz Pettel <opendarwin.org@mitzpettel.com>
8346 Tests: fast/repaint/flexible-box-overflow.html fast/repaint/flexible-box-overflow-horizontal.html
8350 - fix http://bugs.webkit.org/show_bug.cgi?id=8056
8351 Flexible boxes do not repaint their top, left and children's overflows
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):
8365 2006-03-30 Mitz Pettel <opendarwin.org@mitzpettel.com>
8367 Tests: fast/repaint/text-shadow.html fast/repaint/text-shadow-horizontal.html
8371 - fix http://bugs.webkit.org/show_bug.cgi?id=7301
8372 Text shadow does not repaint correctly
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
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
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):
8399 2006-03-30 Beth Dakin <bdakin@apple.com>
8403 Fix for <rdar://problem/4472371> REGRESSION(417.9-TOT): Focus ring
8404 around link in overflow:auto div isn't clipped to div
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.
8412 This patch also changes the name of PaintAction back to PaintPhase.
8413 Because Hyatt said so.
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:
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):
8474 2006-03-30 Tim Omernick <timo@apple.com>
8476 Manual test case for the Java aspect of <rdar://problem/4212626> REGRESSION: LIVECONNECT:
8477 JavaScript type for Java Strings is function, not object
8479 * manual-tests/java-string-object-type.html: Added.
8480 * manual-tests/resources/StringTypeTest.class: Added.
8481 * manual-tests/resources/StringTypeTest.java: Added.
8483 2006-03-30 Eric Seidel <eseidel@apple.com>
8487 Fix text form controls, and add basic submit support!
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):
8500 2006-03-30 Adele Peterson <adele@apple.com>
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
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.
8511 2006-03-30 Justin Garcia <justin.garcia@apple.com>
8515 http://bugs.webkit.org/show_bug.cgi?id=6989
8516 REGRESSION: Plain-text mode needed for contenteditable area used in new text field
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):
8528 (WebCore::Node::isContentRichlyEditable):
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:
8553 2006-03-30 David Harrison <harrison@apple.com>
8557 <rdar://problem/4444693> REGRESSION: Deleting empty lines causes quoted text to mistakenly get "unquoted"
8559 * editing/DeleteSelectionCommand.cpp:
8560 (WebCore::DeleteSelectionCommand::handleGeneralDelete):
8562 (WebCore::DeleteSelectionCommand::moveNodesAfterNode):
8563 Generalize check that preserves nesting when deleting to the beginning of an ancestor block.
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.
8569 2006-03-30 Mitz Pettel <opendarwin.org@mitzpettel.com>
8573 - Test for http://bugs.webkit.org/show_bug.cgi?id=8076
8574 REGRESSION: native text fields are reversed on "visual Hebrew" pages
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.
8581 2006-03-30 Alexey Proskuryakov <ap@nypop.com>
8583 Reviewed by John Sullivan.
8585 - fix http://bugs.webkit.org/show_bug.cgi?id=8051
8586 Empty forms are submitted incorrectly
8588 Test: fast/forms/empty-get.html
8590 * platform/KURL.cpp:
8591 (KURL::setQuery): Add a question mark for empty query strings, too.
8593 2006-03-30 Dave Hyatt <hyatt@apple.com>
8595 Roll out the fix to 7102 and reopen it to get Spinneret working
8601 (WebCore::Frame::didOpenURL):
8602 (WebCore::Frame::receivedFirstData):
8603 (WebCore::Frame::begin):
8605 2006-03-30 Dave Hyatt <hyatt@apple.com>
8607 Land support for JPEG image decoding on Win32.
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):
8640 2006-03-29 Justin Garcia <justin.garcia@apple.com>
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>
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.
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):
8663 2006-03-29 Adele Peterson <adele@apple.com>
8667 - Fix for http://bugs.webkit.org/show_bug.cgi?id=6986
8668 Switch to use new text field implementation for <input type="text">
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.
8705 2006-03-29 Darin Adler <darin@apple.com>
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
8713 - fix some code that is not handling references correctly for GC
8715 Test: svg/custom/empty-merge.svg
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
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
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
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.
8741 2006-03-29 Geoffrey Garen <ggaren@apple.com>
8745 - WebCore side of fix for <rdar://problem/4308243> 8F36 Regression:
8746 crash in malloc_consolidate if you use a .PAC file
8748 (1) To ensure thread-safe deallocation, set the "unsafe to destroy on
8749 non-main threads" bit in the DOMObject constructor.
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.
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:
8780 2006-03-29 Geoffrey Garen <ggaren@apple.com>
8784 - Fixed <rdar://problem/4477126> TOT REGRESSION: with release
8785 build, maps.google.com zoom slider always zooms fully out
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.
8794 * dom/dom2_eventsimpl.cpp:
8795 (WebCore::MouseRelatedEvent::MouseRelatedEvent):
8796 (WebCore::MouseEvent::MouseEvent):
8797 * dom/dom2_eventsimpl.h:
8799 2006-03-29 Tim Omernick <timo@apple.com>
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.
8809 2006-03-29 Alexey Proskuryakov <ap@nypop.com>
8813 - http://bugs.webkit.org/show_bug.cgi?id=8055
8814 Fix most CSS grammar conflicts.
8816 Gets the number of shift/reduce and reduce/reduce conflicts down from 37+4 to 7+0.
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.
8825 2006-03-29 Alexey Proskuryakov <ap@nypop.com>
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)
8833 Test: fast/css/error-in-last-decl.html
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.
8838 2006-03-29 Darin Adler <darin@apple.com>
8842 - another cut at fixing the buildbot
8844 * generate-derived-sources: Fix if statement that was always following
8845 the Windows case. I believe this is the main problem.
8847 * WebCore.xcodeproj/project.pbxproj: Added CharsetData.h and added CharsetData.cpp
8849 * WebCore.vcproj/WebCore/WebCore.vcproj: Similar changes.
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.
8855 * platform/make-charset-table.pl: Changed to generate a file that can stand alone.
8857 2006-03-29 Darin Adler <darin@apple.com>
8859 - an attempt to fix the buildbot
8861 * platform/mac/mac-encodings.txt: Touched this file so the character encodings
8862 files will be regenerated.
8864 2006-03-29 Darin Adler <darin@apple.com>
8866 - a quick cut at fixing the windows build
8868 * WebCore.vcproj/WebCore/WebCore.vcproj: Added a few recently-added files.
8870 2006-03-29 Maciej Stachowiak <mjs@apple.com>
8874 - fixed <rdar://problem/4454976> repro crash in -[NSTextView(NSSharing) setSelectedRanges:affinity:stillSelecting:] when navigating
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
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
8884 * bindings/scripts/CodeGeneratorJS.pm: Handle Element as a parameter.
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().
8892 2006-03-28 Beth Dakin <bdakin@apple.com>
8896 Fix for <rdar://problem/4493218> repro crash in
8897 khtml::RenderBlock::repaintFloatingDescendants with giant
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.
8905 * css/css_valueimpl.cpp:
8906 (WebCore::CSSPrimitiveValue::computeIntLength): Return 0 if not
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()
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.
8925 2006-03-28 Alexey Proskuryakov <ap@nypop.com>
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
8932 Test: fast/dom/space-to-text.html
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.
8940 2006-03-28 Tim Omernick <timo@apple.com>
8944 <rdar://problem/4454976> repro crash in -[NSTextView(NSSharing) setSelectedRanges:affinity:stillSelecting:] when navigating
8945 to another page while selecting inside textarea inside iframe
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
8952 (-[WebCoreTextView mouseDown:]):
8955 * manual-tests/textarea-iframe-navigation.html: Added.
8956 * manual-tests/textarea-iframe-navigation2.html: Added.
8957 Manual test case for this fix.
8959 2006-03-28 Eric Seidel <eseidel@apple.com>
8963 <rdar://problem/4402170> CrashTracer: 499 crashes in Safari at com.apple.WebCore: DOM::DocumentImpl::open + 16
8966 (WebCore::Document::write): Fix unreproducible infinite recursion.
8968 2006-03-28 Eric Seidel <eseidel@apple.com>
8972 Remove global initializers.
8974 * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
8975 * ksvg2/svg/SVGAngle.cpp:
8976 * ksvg2/svg/SVGColor.cpp:
8977 * ksvg2/svg/SVGLength.cpp:
8979 2006-03-28 Eric Seidel <eseidel@apple.com>
8983 Switch UIEvent, MouseEvent and KeyboardEvent over to
8984 be new auto-generated bindings.
8985 http://bugs.webkit.org/show_bug.cgi?id=7928
8987 Updated test: fast/dom/prototype-chain.html
8989 * WebCore.xcodeproj/project.pbxproj:
8990 * bindings/objc/DOMEvents.mm:
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:
9012 * khtml/ecma/kjs_events.h:
9014 2006-03-28 Darin Adler <darin@apple.com>
9018 - replace getDocument with document in a few places that Geoff missed
9020 * WebCore.xcodeproj/project.pbxproj:
9022 (WebCore::Attr::createTextChild):
9023 (WebCore::Attr::setValue):
9024 (WebCore::Attr::cloneNode):
9025 * dom/Attribute.cpp:
9026 (WebCore::Attribute::createAttrIfNeeded):
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):
9051 - added missing include that seems to be breaking the Windows build
9053 * platform/String.cpp: Include <stdarg.h>.
9055 2006-03-28 Geoffrey Garen <ggaren@apple.com>
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().
9063 - Changed getDocument() to document(); changed data member document to
9064 m_document; changed stack variable document to doc.
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):
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):
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):
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):
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):
9170 (WebCore::Node::document):
9171 (WebCore::Node::inDocument):
9173 (WebCore::NodeList::itemById):
9175 (WebCore::Position::documentElement):
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):
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):
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):
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:]):
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):
9515 2006-03-28 Darin Adler <darin@apple.com>
9519 - added a build step that checks for init routines
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.
9525 2006-03-28 Timothy Hatcher <timothy@apple.com>
9529 Moved the derived sources script to an agregate target. Fixes internal builds.
9531 * WebCore.xcodeproj/project.pbxproj:
9532 * generate-derived-sources: was missing a use of $CREATE_HASH_TABLE
9534 2006-03-28 Eric Seidel <eseidel@apple.com>
9540 * dom/xml_tokenizer.cpp:
9541 (WebCore::XMLTokenizer::error):
9543 2006-03-28 Michael Emmel <mike.emmel@gmail.com>
9545 Reviewed, tweaked, landed by Darin.
9547 - fix http://bugs.webkit.org/show_bug.cgi?id=8023
9548 Attribute.h missing class predeclaration
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.
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.
9564 2006-03-27 Eric Seidel <eseidel@apple.com>
9568 Replace more DeprecatedString with String.
9569 Add String::sprintf() and String::number()
9570 http://bugs.webkit.org/show_bug.cgi?id=8009
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:
9594 * css/CSSComputedStyleDeclaration.cpp:
9595 (WebCore::numberAsString):
9596 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
9597 * css/css_valueimpl.cpp:
9598 (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
9599 (WebCore::CSSPrimitiveValue::cssText):
9601 (WebCore::Position::formatForDebugger):
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):
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):
9738 2006-03-28 Justin Garcia <justin.garcia@apple.com>
9742 <http://bugs.webkit.org/attachment.cgi?id=7322>
9743 REGRESSION: Select All does not highlight table if it's last in the document
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):
9764 2006-03-28 Maciej Stachowiak <mjs@apple.com>
9768 - fixed <rdar://problem/4483851> REGRESSION: parse mode gets set to strict after going back from non-HTML content (7102)
9770 Reshuffled things to arrange for m_doc to be cleared somewhat earlier than before.
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.
9780 2006-03-28 Eric Seidel <eseidel@apple.com>
9784 Convert a couple DeprecatedPtrList<T> to Vector<T*> and HashSet<T*>
9786 * bridge/mac/FrameMac.h:
9787 * bridge/mac/FrameMac.mm:
9788 (WebCore::regExpForLabels):
9789 (WebCore::FrameMac::addPluginRootObject):
9790 (WebCore::FrameMac::cleanupPluginRootObjects):
9792 (WebCore::Cache::init):
9793 (WebCore::Cache::clear):
9794 (WebCore::Cache::remove):
9796 * loader/DocLoader.cpp:
9797 (WebCore::DocLoader::DocLoader):
9798 (WebCore::DocLoader::~DocLoader):
9800 2006-03-27 Eric Seidel <eseidel@apple.com>
9804 Give StringImpl a little privacy.
9805 http://bugs.webkit.org/show_bug.cgi?id=8022
9807 * dom/CharacterData.cpp:
9808 (WebCore::CharacterData::length):
9809 (WebCore::CharacterData::appendData):
9810 (WebCore::CharacterData::replaceData):
9811 (WebCore::CharacterData::checkCharDataOperation):
9812 (WebCore::CharacterData::rendererIsNeeded):
9814 (WebCore::Range::compareBoundaryPoints):
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:
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):
9845 2006-03-27 Maciej Stachowiak <mjs@apple.com>
9849 - fixed <rdar://problem/4279765> REGRESSION: "More..." links on flickr groups pages have hover issues (flickr.com)
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
9859 2006-03-27 Darin Adler <darin@apple.com>
9861 Based on a patch by Michael Emmel <mike.emmel@gmail.com>.
9863 - fix http://bugs.webkit.org/show_bug.cgi?id=8012
9864 TransferJob.cpp includes non-existent "String.h" (capital S)
9866 * platform/TransferJob.cpp: Remove unneeded include of "String.h".
9868 2006-03-27 David Harrison <harrison@apple.com>
9872 <rdar://problem/4427002> REGRESSION: VoiceOver doesn't read heading level text in Safari (Range selectNodeContents broken)
9874 Better fix than previous checkin, since maxDeepOffset is really an editing hack.
9876 * editing/selection/selectNodeContents-textNode.html: Added.
9879 (WebCore::Range::selectNodeContents):
9880 Use maxOffset if offsetInCharacters, otherwise use childNodeCount.
9882 2006-03-27 Darin Adler <darin@apple.com>
9884 Based on a patch by Michael Emmel <mike.emmel@gmail.com>.
9886 - fix compilation for Linux
9887 http://bugs.webkit.org/show_bug.cgi?id=8013
9889 * rendering/render_style.h: Add declaration of CSSStyleSelector. Also tweaked
9890 formatting a bit and removed some extraneous WebCore:: prefixes.
9892 2006-03-27 John Sullivan <sullivan@apple.com>
9894 Reviewed by Darin Adler and Tim Omernick
9896 - fixed <rdar://problem/4406505> REGRESSION: (japanese text) Clauses is unexpectedly
9897 confirmed while typing on Safari.
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.
9904 2006-03-27 Alexander Kellett <lypanov@kde.org>
9908 Implement the IE extension insertAdjacentElement
9909 http://bugs.webkit.org/show_bug.cgi?id=6520
9911 * bindings/scripts/CodeGeneratorJS.pm:
9913 (WebCore::ElementImpl::insertAdjacentElement):
9917 2006-03-27 David Harrison <harrison@apple.com>
9919 Reviewed by Tim Hatcher.
9921 <rdar://problem/4427002> REGRESSION: VoiceOver doesn't read heading level text in Safari (Range selectNodeContents broken)
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.
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
9932 (WebCore::Range::selectNodeContents):
9933 Use maxDeepOffset instead of childNodeCount, so that text node content is selected.
9935 2006-03-27 Graham Dennis <Graham.Dennis@gmail.com>
9939 <http://bugs.webkit.org/show_bug.cgi?id=7868>
9940 REGRESSION: Extraneous focus ring drawn at the end of the page
9942 * platform/GraphicsContext.cpp:
9943 (WebCore::GraphicsContext::addFocusRingRect): Don't add a focus ring for an empty rect.
9945 2006-03-27 Maciej Stachowiak <mjs@apple.com>
9949 - fixed <rdar://problem/4489745> REGRESSION: Safari crashes at to display http://www.lgphilips-lcd.com/
9951 * manual-tests/empty-script-crash.html: Added.
9953 2006-03-27 Maciej Stachowiak <mjs@apple.com>
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.
9961 Also added a note so this doesn't get reverted again.
9963 * dom/EventTargetNode.cpp:
9964 (WebCore::EventTargetNode::dispatchGenericEvent):
9966 2006-03-26 Justin Garcia <justin.garcia@apple.com>
9970 <http://bugs.webkit.org/show_bug.cgi?id=7974>
9971 Add EditActions and WebUndoActions for CreateLink and Unlink
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):
9980 2006-03-26 Eric Seidel <eseidel@apple.com>
9986 * WebCore.vcproj/WebCore/WebCore.vcproj:
9987 * editing/CompositeEditCommand.cpp:
9988 * editing/InsertTextCommand.cpp:
9989 * generate-derived-sources:
9991 2006-03-26 Eric Seidel <eseidel@apple.com>
9993 * dom/Element.cpp: fix include case, fixing build.
9995 2006-03-25 Mitz Pettel <opendarwin.org@mitzpettel.com>
9997 Reviewed by darin. Landed by eseidel.
9999 - fix http://bugs.webkit.org/show_bug.cgi?id=7916
10000 Box repaint rect does not include the left overflow
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.
10016 2006-03-25 Eric Seidel <eseidel@apple.com>
10018 Reviewed by andersca.
10022 * bindings/scripts/CodeGeneratorJS.pm: include Element.h
10024 2006-03-25 Eric Seidel <eseidel@apple.com>
10026 Reviewed by andersca.
10028 Split dom_elementimpl.* into multiple files (one per class).
10029 http://bugs.webkit.org/show_bug.cgi?id=7978
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:
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.
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.
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:
10173 2006-03-25 Eric Seidel <eseidel@apple.com>
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
10183 No test possible (no functionality change).
10185 * css/cssstyleselector.cpp:
10186 (WebCore::CSSStyleSelector::createStyleForElement):
10187 (WebCore::CSSStyleSelector::createPseudoStyleForElement):
10188 * css/cssstyleselector.h:
10190 (WebCore::Node::createRendererIfNeeded):
10191 (WebCore::Node::createStyleForRenderer):
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):
10210 2006-03-23 Eric Seidel <eseidel@apple.com>
10214 Shave .2% on PLT by removing bogus strcmp.
10215 http://bugs.webkit.org/show_bug.cgi?id=7938
10217 Test: fast/parser/tag-with-exclamation-point.html
10219 * html/HTMLTokenizer.cpp:
10220 (WebCore::HTMLTokenizer::parseTag): remove bogus strcmp
10222 2006-03-25 Justin Garcia <justin.garcia@apple.com>
10224 Reviewed by harrison
10226 <http://bugs.webkit.org/show_bug.cgi?id=7683>
10227 TinyMCE: execCommand("Unlink") unimplemented
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).
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.
10261 (WebCore::Frame::selectContentsOfNode):
10262 (WebCore::Frame::computeAndSetTypingStyle):
10263 (WebCore::Frame::applyStyle):
10264 (WebCore::Frame::applyParagraphStyle):
10266 2006-03-24 Justin Garcia <justin.garcia@apple.com>
10268 Reviewed by harrison
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
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
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):
10301 2006-03-24 Eric Seidel <eseidel@apple.com>
10303 Reviewed by justing.
10305 * generate-derived-sources: fix clean builds on mac.
10307 2006-03-24 Darin Adler <darin@apple.com>
10309 Reviewed by Dave Harrison.
10311 - fix http://bugs.webkit.org/show_bug.cgi?id=7942
10312 nightlies after r13387 break js createcontextualfragment
10314 Test: fast/dom/Range/create-contextual-fragment.html
10316 * dom/Range.idl: Add createContextualFragment.
10318 2006-03-24 Eric Seidel <eseidel@apple.com>
10323 Unify mac/win dependency handling.
10324 Fix class vs. struct linker problem for win32.
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):
10343 2006-03-23 Darin Adler <darin@apple.com>
10347 - fix <rdar://problem/4484787> KWQAccObject dangles under GC
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.
10369 * bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge accessibilityTree]):
10370 Change to use functions by new names.
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.
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.
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.
10404 2006-03-23 Darin Adler <darin@apple.com>
10406 Reviewed by Maciej.
10408 - fix http://bugs.webkit.org/show_bug.cgi?id=7726
10409 REGRESSION: orbitz calendar fails (JavaScript function serialization/parsing)
10411 Test: fast/js/function-names.html
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.
10420 * html/HTMLElement.cpp: (WebCore::HTMLElement::setHTMLEventListener): Pass attribute
10421 name as function name when calling createHTMLEventListener.
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.
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.
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.
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.
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.
10450 * WebCore.xcodeproj/project.pbxproj: Moved generation script to the top.
10452 2006-03-23 Tim Omernick <timo@apple.com>
10456 <http://bugs.webkit.org/show_bug.cgi?id=7691>
10457 REGRESSION: imdb.com search button looks wrong because "Submit" is drawn
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.
10464 2006-03-23 Darin Adler <darin@apple.com>
10468 - fix <rdar://problem/4335038> REGRESSION: when max-height is none, height value is ignored
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.
10475 2006-03-23 Beth Dakin <bdakin@apple.com>
10479 Fix for http://bugs.webkit.org/show_bug.cgi?id=6431
10480 REGRESSION: style change where :hover changes only an :after style
10484 (WebCore::Node::diff): Need to call diff() on the before and after
10485 styles if we have them.
10487 2006-03-23 Adele Peterson <adele@apple.com>
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
10496 fast/forms/button-table-styles.html
10498 * rendering/RenderTheme.cpp: (WebCore::RenderTheme::adjustStyle):
10499 The theme should disallow table display styles form elements.
10501 2006-03-23 Darin Adler <darin@apple.com>
10503 * generate-derived-sources: Tweaked formatting a tiny bit and removed a stray
10504 touch that was left in here.
10506 2006-03-23 Eric Seidel <eseidel@apple.com>
10510 REGRESSION: Dashed borders paint with the wrong phase
10511 http://bugs.webkit.org/show_bug.cgi?id=7879
10513 Test: Already covered by css1/box_properties/border_style.html
10515 * platform/cairo/GraphicsContextCairo.cpp:
10516 (WebCore::GraphicsContext::drawLine):
10517 * platform/mac/GraphicsContextMac.mm:
10518 (WebCore::GraphicsContext::drawLine):
10520 2006-03-22 Maciej Stachowiak <mjs@apple.com>
10524 * generate-derived-sources: Suppress warning.
10526 2006-03-22 Maciej Stachowiak <mjs@apple.com>
10528 * generate-derived-sources: Added svn:executable property.
10530 2006-03-22 Maciej Stachowiak <mjs@apple.com>
10534 Handle dependencies for derived sources properly.
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.
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.
10556 (WebCore::Range::~Range):
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:
10565 2006-03-22 Justin Garcia <justin.garcia@apple.com>
10567 Reviewed by harrison
10569 <http://bugs.webkit.org/show_bug.cgi?id=7904>
10570 Avoid a layout after test insertion and remove isProbablyBlock
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):
10589 2006-03-22 Eric Seidel <eseidel@apple.com>
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()
10597 Test: fast/events/delayed-style-mutation-event-crash.html
10599 * dom/dom_elementimpl.cpp:
10600 (WebCore::Element::dispatchAttrRemovalEvent): add assert
10601 (WebCore::Element::dispatchAttrAdditionEvent): add assert
10602 (WebCore::NamedAttrMap::addAttribute):
10604 2006-03-22 Eric Seidel <eseidel@apple.com>
10608 Remove more DeprecatedString usage.
10609 http://bugs.webkit.org/show_bug.cgi?id=7882
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):
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):
10673 2006-03-22 Tim Omernick <timo@apple.com>
10675 Reviewed by Kevin Decker.
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.
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.
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.
10698 2006-03-22 Eric Seidel <eseidel@apple.com>
10702 Replace more DeprecatedString with String.
10703 http://bugs.webkit.org/show_bug.cgi?id=7907
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):
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):
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):
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:
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):
10853 2006-03-22 Beth Dakin <bdakin@apple.com>
10857 Fix for <rdar://problem/4471984> repro crash CSS position for html/
10858 table=relative causes crash when hiding table
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.
10869 2006-03-22 David Hyatt <hyatt@apple.com>
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.
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):
10887 2006-03-22 Mitz Pettel <opendarwin.org@mitzpettel.com>
10891 - fix http://bugs.webkit.org/show_bug.cgi?id=7747
10892 REGRESSION: Background tab/window auto-refresh in GMail will take focus.
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.
10902 2006-03-22 Darin Adler <darin@apple.com>
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)
10909 Test: fast/dom/Element/onclick-case.html
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.
10915 * khtml/ecma/kjs_dom.cpp:
10916 (KJS::DOMElement::attributeGetter): Use getAttributeNS so we're case sensitive.
10917 (KJS::DOMElement::getOwnPropertySlot): Ditto.
10919 2006-03-22 Eric Seidel <eseidel@apple.com>
10923 <rdar://problem/4486417> REGRESSION: Mail linked against TOT WebKit crashes when composing a message
10927 * bridge/mac/WebCoreSettings.mm:
10928 (-[WebCoreSettings init]): call AtomicString::init()
10930 2006-03-21 Darin Adler <darin@apple.com>
10932 - fix buildbot (and everyone else)
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.
10939 2006-03-21 Justin Haygood and Bjoern Graf <jhaygood@spsu.edu> <bjoern.graf@gmail.com>
10941 Reviewed by Eric and Darin.
10943 - get Windows building again
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):
10961 2006-03-21 Mitz Pettel <opendarwin.org@mitzpettel.com>
10965 - fix http://bugs.webkit.org/show_bug.cgi?id=7884
10966 REGRESSION: Selecting a custom style sheet crashes 20/3 nightly
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):
10977 2006-03-21 Adele Peterson <adele@apple.com>
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
10988 fast/forms/input-appearance-disabled.html
10989 fast/forms/input-appearance-elementFromPoint.html
10990 fast/forms/input-appearance-preventDefault.html
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.
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.
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
11009 (WebCore::HTMLInputElement::defaultEventHandler): let the renderer forward drag, mouse, and wheel events.
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.
11016 * rendering/RenderTextField.cpp: (WebCore::RenderTextField::forwardEvent): forwards events to the inner div element.
11017 * rendering/RenderTextField.h: Added forwardEvent method.
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.
11024 2006-03-21 Darin Adler <darin@apple.com>
11028 - fixed <rdar://problem/4251515> REGRESSION: listing tag broken in TOT
11030 Test: fast/html/listing.html
11032 * html/HTMLNames.h: Add listing tag.
11034 * bindings/objc/DOM.mm: (+[DOMNode _nodeWith:]):
11035 * bridge/mac/FrameMac.mm: (WebCore::FrameMac::attributedString):
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:
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.
11057 2006-03-21 Maciej Stachowiak <mjs@apple.com>
11061 - fix horrible build fallout from my attr fix
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:
11069 2006-03-21 Beth Dakin <bdakin@apple.com>
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
11076 * bridge/mac/FrameMac.mm:
11077 (WebCore::FrameMac::nextKeyViewInFrame): When a renderer doesn't
11078 have a widget, skip it in the focus loop.
11080 2006-03-20 Eric Seidel <eseidel@apple.com>
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)
11087 Test: fast/dom/NodeList/item-by-id-with-no-document.html
11089 * dom/NodeList.cpp:
11090 (WebCore::NodeList::itemById): fix unsafe static cast.
11092 2006-03-20 Maciej Stachowiak <mjs@apple.com>
11094 - touch this file in hopes of fixing build
11096 * bindings/js/JSDOMCore.cpp:
11098 2006-03-20 Maciej Stachowiak <mjs@apple.com>
11100 Reviewed by Anders.
11102 - fixed <rdar://problem/4446749> 10.4.4: safari crash in DOM::NamedAttrMapImpl::setNamedItem
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:
11113 2006-03-20 Eric Seidel <eseidel@apple.com>
11115 * ksvg2/css/SVGCSSParser.h: Removed unused file.
11117 2006-03-20 Eric Seidel <eseidel@apple.com>
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)
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.
11135 2006-03-20 Justin Garcia <justin.garcia@apple.com>
11139 <rdar://problem/3997958>
11140 REGRESSION (Mail): Mail takes half of forever to paste >1500 lines - replaceSelectionWithNode
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.
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.
11153 2006-03-20 Eric Seidel <eseidel@apple.com>
11155 Reviewed by adele & ggaren.
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.
11163 <rdar://problem/4480571> Safari crashed at exit at KXMLCore::deleteAllValues + 24
11165 * khtml/ecma/kjs_navigator.cpp:
11166 (KJS::PluginBase::cachePluginDataIfNecessary):
11167 (KJS::PluginBase::PluginBase):
11168 (KJS::PluginBase::~PluginBase):
11169 (KJS::PluginBase::refresh):
11171 2006-03-20 Adele Peterson <adele@apple.com>
11173 Reviewed by Justin.
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.
11179 2006-03-20 Maciej Stachowiak <mjs@apple.com>
11183 <rdar://problem/4362396> REGRESSION: (417-420) stopPropagation is not working for click event listener (onclick works fine)
11185 * dom/EventTargetNode.cpp:
11186 (WebCore::EventTargetNode::dispatchGenericEvent): make sure to fire capturing listeners
11187 as well as bubbling ones on the target.
11189 2006-03-20 Maciej Stachowiak <mjs@apple.com>
11193 <rdar://problem/4458568> WebCore should not disclose https referrers
11195 * bridge/mac/WebCoreFrameBridge.mm:
11196 (-[WebCoreFrameBridge canLoadURL:fromReferrer:hideReferrer:]):
11197 Don't send https URLs as referrers to non-secure http sites.
11199 2006-03-20 Darin Adler <darin@apple.com>
11203 - http://bugs.webkit.org/show_bug.cgi?id=7867
11204 get rid of macro hacks for DOM, KDOM, KSVG, khtml, DOMString, QString
11206 * config.h: Remove the defines for DOM, KDOM, KSVG, khtml, DOMString, QString,
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.
11214 * ForwardingHeaders/kjs/identifier.h: Added.
11216 * dom/PlatformWheelEvent.idl: Removed.
11217 * dom/WheelEvent.idl: Added. This file was renamed by accident.
11219 * bindings/js/JSDOMCore.cpp:
11220 * bindings/js/JSDOMEvents.cpp:
11221 * bindings/js/JSDOMHTML.cpp:
11223 * dom/CharacterData.idl:
11224 * dom/DOMImplementation.idl:
11225 * dom/DocumentType.idl:
11228 * dom/MutationEvent.idl:
11229 * dom/Notation.idl:
11230 * dom/ProcessingInstruction.idl:
11232 * html/CanvasGradient.idl:
11233 * html/CanvasPattern.idl:
11234 * html/CanvasRenderingContext2D.idl:
11235 Touched, to get CodeGeneratorJS.pm changes to take effect.
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.
11242 * khtml/ecma/kjs_binding.h: Added forward declaration of WebCore::String.
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.
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.
11322 (WebCore::getString): Removed unneeded .deprecatedString().
11323 (WebCore::Frame::begin): Removed the only use of QSTRING_NULL.
11325 * platform/AtomicString.h: Added conversion to and from KJS::Identifier
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.
11332 * platform/DeprecatedString.h: Added conversion to and from KJS::Identifier
11334 * platform/DeprecatedString.cpp:
11335 (DeprecatedString::DeprecatedString): Added overloads for Identifier and UString.
11336 (DeprecatedString::operator Identifier): Added.
11337 (DeprecatedString::operator UString): Added.
11339 * platform/PlatformString.h: Added conversion to and from KJS::Identifier
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.
11346 * platform/StringImpl.h: Added constructors that take KJS::Identifier
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.
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.
11452 2006-03-20 Eric Seidel <eseidel@apple.com>
11456 Remove many, many uses of DeprecatedString.
11457 Fix various style issues throughout the touched code.
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):
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):
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:
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:
11655 (quoteAndEscapeNonPrintables):
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):
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):
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):
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:
11791 (KURL::encode_string):
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:
11843 2006-03-20 Alexey Proskuryakov <ap@nypop.com>
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
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.
11857 Tests (both files perform multiple checks):
11858 - fast/events/mouseover-mouseout.html
11859 - fast/events/mouseover-mouseout2.html
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.
11884 2006-03-20 Darin Adler <darin@apple.com>
11886 Reviewed by Anders.
11888 - http://bugs.webkit.org/show_bug.cgi?id=7875
11889 autogenerate bindings for Range
11891 * dom/Range.idl: Added.
11892 * khtml/ecma/kjs_range.cpp: Removed.
11893 * khtml/ecma/kjs_range.h: Removed.
11895 * WebCore.vcproj/WebCore/build-generated-files.sh: Removed code to generate
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.
11902 * bindings/js/JSDOMCore.cpp: Added include of JSRange.cpp.
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.
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.
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.
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.
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.
11939 2006-03-20 Eric Seidel <eseidel@apple.com>
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):
11957 2006-03-19 Darin Adler <darin@apple.com>
11959 Rubber stamped by Eric.
11961 - moved khtml/html files all into html directory
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.
11967 * khtml/html: Removed.
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.
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:
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:
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:
12102 2006-03-17 Eric Seidel <eseidel@apple.com>
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
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):
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):
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):
12211 2006-03-19 Darin Adler <darin@apple.com>
12215 - fix http://bugs.webkit.org/show_bug.cgi?id=7854
12216 CanvasGradient leaks
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.
12225 2006-03-19 Darin Adler <darin@apple.com>
12229 - attempt to fix the buildbot by handling DOMImplementation another way
12231 * WebCore.xcodeproj/project.pbxproj: Added DOMImplementationFront.h/cpp.
12233 * bindings/objc/DOMImplementationFront.cpp: Added.
12234 * bindings/objc/DOMImplementationFront.h: Added.
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.
12247 2006-03-19 Darin Adler <darin@apple.com>
12249 - global rename, done by script
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.
12254 2006-03-19 Darin Adler <darin@apple.com>
12256 - roll out fix for http://bugs.webkit.org/show_bug.cgi?id=6314
12257 Unclosed <style> element in <head> makes page completely blank
12259 This fix was breaking major sites -- details in the bug report.
12261 * khtml/html/htmltokenizer.cpp: (WebCore::HTMLTokenizer::parseTag):
12262 Removed the bug fix, added a FIXME about the <title> code that has
12265 2006-03-18 David Carson <dacarson@gmail.com>
12267 Test: fast/canvas/patternfill-repeat.html
12271 - fix http://bugs.webkit.org/show_bug.cgi?id=7830
12272 <canvas> createPattern 'repeat' options fail
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.
12278 2006-03-18 Mitz Pettel <opendarwin.org@mitzpettel.com>
12280 Test: fast/dom/Element/class-attribute-whitespace.html
12284 - fix http://bugs.webkit.org/show_bug.cgi?id=7761
12285 Tabs in class attribute not treated as whitespace
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.
12293 2006-03-18 Mitz Pettel <opendarwin.org@mitzpettel.com>
12295 Test: fast/block/float/vertical-move-relayout.html
12299 - fix http://bugs.webkit.org/show_bug.cgi?id=6795
12300 Slow image load causes render problem
12302 * rendering/RenderBlock.cpp:
12303 (WebCore::RenderBlock::layoutBlockChildren): Call markAllDescendantsWithFloatsForLayout
12304 when the child's vertical position changes.
12306 2006-03-18 David Kilzer <ddkilzer@kilzer.net>
12310 - Fix for http://bugs.webkit.org/show_bug.cgi?id=6314
12311 Unclosed <style> element in <head> makes page completely blank
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
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().
12327 2006-03-18 Rob Buis <buis@kde.org>
12331 Fix for http://bugs.webkit.org/show_bug.cgi?id=5351:
12332 SVG: Safari ignores <title> elements
12334 Make SVGTitleElementImpl act the same as HTMLTitleElementImpl,
12335 in the process setting the title on the right triggers.
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:
12346 2006-03-18 Darin Adler <darin@apple.com>
12348 - another try at fixing Windows build
12350 * WebCore.vcproj/WebCore/WebCore.vcproj: Added EventTargetNodeImpl.h and .cpp.
12352 2006-03-18 Darin Adler <darin@apple.com>
12354 - another try at fixing Windows build
12356 * bridge/win/FrameWin.cpp: (WebCore::FrameWin::keyPress): Added EventTargetNodeCast.
12358 2006-03-18 Darin Adler <darin@apple.com>
12360 - try to fix Windows build
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.
12366 2006-03-18 Mitz Pettel <opendarwin.org@mitzpettel.com>
12370 - fix leaks caused by the fix for Bugzilla bug 3560
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.
12377 2006-03-18 David Hyatt <hyatt@apple.com>
12379 Fix for bug 7841, tables, table rows, and table row groups should
12380 all support overflow:hidden.
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):
12400 2006-03-17 Alice Liu <alice.liu@apple.com>
12404 - fixed http://bugs.webkit.org/show_bug.cgi?id=6999
12405 "Dynamically added link-tag disables the use of change styles
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
12417 2006-03-17 Geoffrey Garen <ggaren@apple.com>
12421 - Fixed some crashes in event dispatch and settled the question of
12422 when getDocument() can return NULL, removing superfluous NULL checks.
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.
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.
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.
12441 (3) Reflected (2) into the JS bindings and touched JSDOMCore.cpp to
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
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.
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.
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().
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):
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):
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):
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):
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:
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:]):
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):
12690 2006-03-17 David Hyatt <hyatt@apple.com>
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
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):
12722 2006-03-17 Maciej Stachowiak <mjs@apple.com>
12726 - clean up ResourceRequest to be closer to a proper request interface
12728 * page/ResourceRequest.h: folded URL into ResourceRequest, other cleanup
12729 (WebCore::ResourceRequest::ResourceRequest): Add new explicit constructor
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
12744 * bridge/mac/MacFrame.h: remove KURL args from methods that also take a
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
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
12767 * platform/win/TemporaryLinkStubs.cpp:
12768 (BrowserExtensionWin::createNewWindow): ditto
12770 2006-03-17 Adele Peterson <adele@apple.com>
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.
12779 * fast/forms/input-appearance-default-bkcolor.html
12781 * rendering/render_theme_mac.mm:
12782 (WebCore::RenderThemeMac::adjustTextFieldStyle):
12784 2006-03-17 David Hyatt <hyatt@apple.com>
12786 Make table sections and table captions support opacity.
12790 Covered by some of the new Mozilla table tests.
12792 * rendering/RenderTable.cpp:
12793 (WebCore::RenderTable::paint):
12795 2006-03-17 Mitz Pettel <opendarwin.org@mitzpettel.com>
12797 Reviewed by Maciej, landed by Beth.
12799 fix http://bugs.webkit.org/show_bug.cgi?id=3560
12800 page with use of first-letter crashes reproducibly in
12801 RenderObject::renderArena()
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
12810 * rendering/RenderTextFragment.cpp:
12811 (khtml::RenderTextFragment::RenderTextFragment):
12812 (khtml::RenderTextFragment::destroy): Destroy the first-letter
12814 * rendering/RenderTextFragment.h:
12815 (khtml::RenderTextFragment::firstLetter):
12817 2006-03-17 Adele Peterson <adele@apple.com>
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
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.
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.
12832 * rendering/RenderTextField.cpp: (WebCore::RenderTextField::calcMinMaxWidth):
12834 2006-03-17 Eric Seidel <eseidel@apple.com>
12840 Add previously forgotten KeyEventWin class.
12841 Pass MouseEvent() instead of 0 in a couple places to make compiler happy.
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):
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):
12870 2006-03-17 David Hyatt <hyatt@apple.com>
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.
12876 Reviewed by andersca
12878 * rendering/render_layer.cpp:
12879 (WebCore::RenderLayer::absoluteBoundingBox):
12881 2006-03-17 David Hyatt <hyatt@apple.com>
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.
12890 Existing layout tests cover this change.
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:
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):
12958 2006-03-17 Adele Peterson <adele@apple.com>
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
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.
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.
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):
12986 2006-03-16 Darin Adler <darin@apple.com>
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
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.
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:]):
13030 (createMouseEventFromDraggingInfo):
13031 (-[WebCoreFrameBridge dragOperationForDraggingInfo:]):
13032 (-[WebCoreFrameBridge dragExitedWithDraggingInfo:]):
13033 (-[WebCoreFrameBridge concludeDragForDraggingInfo:]):
13034 (-[WebCoreFrameBridge dragSourceMovedTo:]):
13035 (-[WebCoreFrameBridge dragSourceEndedAt:operation:]):
13036 * bridge/mac/WebCoreFrameNamespaces.mm:
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):
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.
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):
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):
13091 (WebCore::Page::init):
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):
13105 2006-03-16 Eric Seidel <eseidel@apple.com>
13109 Add additional hackish Font, focusring and caret code.
13110 http://bugs.webkit.org/show_bug.cgi?id=7803
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:
13172 2006-03-16 Maciej Stachowiak <mjs@apple.com>
13176 - renamed URLArgs to ResourceRequest, split it into its own header
13177 - moved methods to get and set ResourceRequest to Frame
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):
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):
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):
13217 2006-03-16 Darin Adler <darin@apple.com>
13219 - need to touch one more file to fix the build
13220 (Darn the lack of dependencies for autogenerated bindings!)
13222 * dom/Element.idl: Touch. (Really this time.)
13224 2006-03-16 Eric Seidel <eseidel@apple.com>
13228 Pushed focus ring handling down into GraphicsContext.cpp
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):
13247 2006-03-15 Darin Adler <darin@apple.com>
13251 - fix http://bugs.webkit.org/show_bug.cgi?id=7749
13252 canvas should be in DOM, not implemented in the JS bindings
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.
13258 * bindings/js/JSCanvasRenderingContext2DBase.cpp: Added.
13259 * bindings/js/JSCanvasRenderingContext2DBase.h: Added.
13260 * bindings/js/JSDOMHTML.cpp: 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.
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.
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.
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.
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
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.
13309 * platform/Image.h:
13310 * platform/Image.cpp: (WebCore::Image::compositeOperatorFromString):
13311 Changed to take a String instead of a const char*.
13313 * khtml/html/html_imageimpl.h:
13314 * khtml/html/html_imageimpl.cpp: (WebCore::HTMLMapElementImpl::areas):
13315 Tweaked formatting. Changed to use PassRefPtr.
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):
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):
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):
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):
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):
13406 * khtml/ecma/kjs_range.h:
13407 * khtml/ecma/kjs_traversal.cpp:
13408 (KJS::DOMNodeIterator::getValueProperty):
13409 (KJS::DOMNodeIteratorProtoFunc::callAsFunction):
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):
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".
13428 2006-03-15 Eric Seidel <eseidel@apple.com>
13432 Push more of MacFrame down into Frame.
13433 Add visibleContentRect method to ScrollView.
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:
13442 (WebCore::Frame::visibleSelectionRect):
13443 (WebCore::Frame::setDisplaysWithFocusAttributes):
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):
13458 2006-03-15 Eric Seidel <eseidel@apple.com>
13462 Remove unused code and clean-up style.
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):
13472 * page/FrameView.cpp:
13473 (WebCore::FrameView::dispatchMouseEvent):
13475 2006-03-15 Eric Seidel <eseidel@apple.com>
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.
13483 Test: fast/events/dblclick-addEventListener.html
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):
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:
13509 2006-03-16 Alexey Proskuryakov <ap@nypop.com>
13511 Reviewed by Maciej.
13513 - fix http://bugs.webkit.org/show_bug.cgi?id=4395
13514 REGRESSION: document.open doesn't clear the document
13516 Test: fast/dom/Document/document-reopen.html
13517 Test: fast/dom/Document/doc-open-while-parsing.html
13519 * dom/DocumentImpl.cpp:
13520 (WebCore::DocumentImpl::open): Only ignore open() while the frame is still loading the main resource.
13522 (WebCore::Frame::isComplete): Added const specifier.
13523 (WebCore::Frame::isLoadingMainResource): New function.
13526 2006-03-15 Adele Peterson <adele@apple.com>
13530 - Fixes win32 build.
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.
13537 2006-03-15 Eric Seidel <eseidel@apple.com>
13541 * platform/KeyEvent.h: Fix #define from QEvent_H to KeyEvent_H
13543 2006-03-15 David Hyatt <hyatt@apple.com>
13545 Fix the box-sizing layout test by stopping integer overflowing from
13546 occurring in the flexbox code.
13550 * rendering/render_flexbox.cpp:
13551 (khtml::RenderFlexibleBox::allowedChildFlex):
13553 2006-03-15 Beth Dakin <bdakin@apple.com>
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.
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.
13566 2006-03-15 Adele Peterson <adele@apple.com>
13568 Reviewed by Maciej.
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
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.
13578 * bridge/mac/MacFrame.mm: (WebCore::MacFrame::khtmlMouseMoveEvent):
13580 2006-03-15 Adele Peterson <adele@apple.com>
13582 Reviewed by Maciej.
13584 - Fix for http://bugs.webkit.org/show_bug.cgi?id=7114
13585 Dragging to scroll doesn't work for overflow areas
13587 No test case. There doesn't appear to be a way to trigger the autoscroll with the EventSender.
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.
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.
13608 2006-03-14 Justin Garcia <justin.garcia@apple.com>
13612 <http://bugs.webkit.org/show_bug.cgi?id=7578>
13613 TinyMCE: Implement execCommand CreateLink
13615 Used ApplyStyleCommand so that creating a link from
13616 a selection doesn't change document structure.
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:
13633 (WebCore::Frame::computeAndSetTypingStyle):
13634 (WebCore::Frame::applyStyle):
13635 (WebCore::Frame::applyParagraphStyle):
13637 2006-03-14 Beth Dakin <bdakin@apple.com>
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.
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()
13658 2006-03-14 Justin Garcia <justin.garcia@apple.com>
13662 <http://bugs.webkit.org/show_bug.cgi?id=7770>
13663 Should only dispatch the khtmlTextInsertedEvent for high level editing operations
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.
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):
13678 (WebCore::dispatchKHTMLEditableContentChanged):
13679 (WebCore::Frame::appliedEditing):
13680 (WebCore::Frame::unappliedEditing):
13681 (WebCore::Frame::reappliedEditing):
13683 2006-03-14 Darin Adler <darin@apple.com>
13687 - fix <rdar://problem/4478121> -[WebCoreFrameBridge finalize] crashes under GC
13689 * bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge finalize]):
13690 Don't call setBridge(nil).
13692 2006-03-14 Darin Adler <darin@apple.com>
13694 - oops, didn't mean to check this in
13696 * dom/dom_elementimpl.cpp: (WebCore::StyledElementImpl::parseMappedAttribute):
13697 Reverted nil-document check that I didn't mean to remove.
13699 2006-03-14 Beth Dakin <bdakin@apple.com>
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.
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.
13716 2006-03-14 Darin Adler <darin@apple.com>
13718 Reviewed by Geoff and Eric.
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
13725 Test: fast/dom/Element/attribute-uppercase.html
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.
13731 * dom/NamedNodeMapImpl.h: Changed getNamedItem and removeNamedItem to be pure virtual
13732 functions instead of calling through to getNamedItemNS and removeNamedItemNS.
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
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.
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).
13763 * khtml/ecma/kjs_dom.cpp: (KJS::DOMNamedNodeMapProtoFunc::callAsFunction):
13764 Call valueToStringWithNullCheck to do the equivalent of ConvertNullToNullString
13765 for both getNamedItemNS and removeNamedItemNS.
13767 * bindings/js/JSDOMCore.cpp: Touched so that the changes above will take effect.
13769 2006-03-14 David Hyatt <hyatt@apple.com>
13771 Fix for bug 7259, opacity performs badly.
13775 Adding some tests in fast/opacity.
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):
13788 2006-03-14 Eric Seidel <eseidel@apple.com>
13794 * platform/image-decoders/gif/GIFImageReader.cpp:
13795 (GIFImageReader::do_lzw): Initialize array after new.
13797 2006-03-14 Eric Seidel <eseidel@apple.com>
13801 Make MouseEvents aware of current scroll position.
13803 * platform/win/ScrollViewWin.cpp:
13804 (WebCore::ScrollView::viewportToContents):
13805 (WebCore::ScrollView::contentsToViewport):
13807 2006-03-13 Eric Seidel <eseidel@apple.com>
13811 Fix mouse events to be window-relative.
13813 * platform/win/MouseEventWin.cpp:
13814 (WebCore::positionForEvent):
13815 (WebCore::globalPositionForEvent):
13816 (WebCore::MouseEvent::MouseEvent):
13818 2006-03-13 Eric Seidel <eseidel@apple.com>
13822 Close DeviceContext leaks in Font code.
13823 Also add moveCursor stub to make maps.google.com not crash.
13825 * platform/win/FontWin.cpp:
13826 (WebCore::getFontData):
13827 (WebCore::Font::floatWidth):
13828 (WebCore::Font::drawText):
13829 * platform/win/TemporaryLinkStubs.cpp:
13831 (WebCore::moveCursor):
13833 2006-03-13 Eric Seidel <eseidel@apple.com>
13835 Reviewed by ggaren & TimH.
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
13844 Test: fast/xsl/xslt-second-level-import.xml
13846 * khtml/xsl/xsl_stylesheetimpl.cpp:
13847 (WebCore::XSLStyleSheetImpl::loadChildSheets):
13849 2006-03-10 Rob Buis <buis@kde.org>
13851 Reviewed by darin. Landed by eseidel.
13853 Fix for http://bugs.webkit.org/show_bug.cgi?id=7666:
13854 dasharray on rounded rectangles is broken
13856 Make sure the rounded rectangle is drawn clockwise, as outlined
13857 in the specification.
13859 Test: svg/custom/dashArrayOrigin.svg
13861 * kcanvas/KCanvasCreator.cpp:
13862 (WebCore::KCanvasCreator::createRoundedRectangle):
13864 2006-03-12 Mitz Pettel <opendarwin.org@mitzpettel.com>
13866 Reviewed by Maciej, landed by ap.
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
13872 Test: fast/events/drag-outside-window.html
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
13879 2006-03-12 Alexey Proskuryakov <ap@nypop.com>
13881 Reviewed by Maciej.
13883 - Fix for http://bugs.webkit.org/show_bug.cgi?id=7735
13884 REGRESSION: crash on importing bookmarks
13886 No test - only reproducible when Safari imports the bookmarks.
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.
13896 2006-03-12 David Kilzer <ddkilzer@kilzer.net>
13898 Reviewed by Darin, landed by ap.
13900 - Fix for http://bugs.webkit.org/show_bug.cgi?id=7724
13901 Minor refactoring to HTMLParser::handleError() to remove duplicate code
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
13908 * khtml/html/htmlparser.cpp:
13909 (WebCore::HTMLParser::handleError): Refactored code.
13911 2006-03-10 Darin Adler <darin@apple.com>
13913 - fix Windows build
13915 * bridge/win/FrameWin.h: Removed declaration of generateFrameName.
13917 2006-03-10 Darin Adler <darin@apple.com>
13921 - removed some unused stuff from Frame and MacFrame
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.
13931 (WebCore::Frame::didOpenURL): Removed use of m_restored, code to set
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.
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.
13943 * bridge/mac/WebCoreFrameBridge.h: Removed requestedURLString.
13945 2006-03-10 Darin Adler <darin@apple.com>
13947 - fix Windows build
13949 * page/FrameTree.cpp: Add include of <stdarg.h>.
13951 2006-03-10 Darin Adler <darin@apple.com>
13955 - fix http://bugs.webkit.org/show_bug.cgi?id=3308
13956 Pop-up blocking blocks window.open for already open windows
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
13961 - refactor frame-name-related functions into the FrameTree object
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.
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.
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.
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.
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.
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.
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.
14037 * rendering/render_frames.cpp: (WebCore::isURLAllowed): Changed to call Page::frameCount
14038 instead of Frame::topLevelFrameCount.
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.
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
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.
14058 * page/Page.h: Added setGroupName, groupName, frameNamespace, incrementFrameCount,
14059 decrementFrameCount, and frameCount.
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.
14066 * platform/win/TemporaryLinkStubs.cpp: Removed FrameWin::generateFrameName.
14068 2006-03-10 Justin Garcia <justin.garcia@apple.com>
14070 Reviewed by darin, harrison
14072 ~3x speedup pasting plain text from the console
14074 * dom/dom_position.cpp:
14075 (WebCore::Position::next):
14076 (WebCore::Position::atEnd):
14078 2006-03-10 David Hyatt <hyatt@apple.com>
14080 More refactoring. Split the FontData into cross-platform and
14081 platform-specific components.
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):
14104 2006-03-10 Maciej Stachowiak <mjs@apple.com>
14108 - fix win32 networking to properly use async load API
14110 * platform/win/TransferJobWin.cpp:
14111 (WebCore::TransferJobWndProc):
14112 (WebCore::TransferJob::start):
14114 2006-03-10 Eric Seidel <eseidel@apple.com>
14118 * platform/win/FontWin.cpp:
14119 (WebCore::getFontData):
14120 * platform/win/TemporaryLinkStubs.cpp:
14122 2006-03-10 Adele Peterson <adele@apple.com>
14124 Reviewed by Tim Hatcher.
14126 - fix for <rdar://problem/4469419>
14127 REGRESSION: RadioButtons are not checked in Safari when name attribute comes after checked attribute
14129 Test: fast/forms/radio-attr-order.html
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.
14137 2006-03-10 Eric Seidel <eseidel@apple.com>
14141 Add real ScrollViewWin implementation (fixes redraw bugs, adds ScrollBar support.)
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
14181 2006-03-10 David Hyatt <hyatt@apple.com>
14183 Rename the m_renderer variable to m_dataSet now that the class name
14188 * platform/Font.cpp:
14189 (WebCore::m_wordSpacing):
14190 (WebCore::Font::Font):
14191 (WebCore::Font::operator=):
14192 (WebCore::Font::update):
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):
14223 2006-03-10 David Hyatt <hyatt@apple.com>
14225 Rename FontRenderer to FontDataSet.
14229 * WebCore.xcodeproj/project.pbxproj:
14230 * platform/Font.cpp:
14231 (WebCore::Font::update):
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):
14248 2006-03-09 Justin Garcia <justin.garcia@apple.com>
14252 <http://bugs.webkit.org/show_bug.cgi?id=7692>
14253 Should use an iterator in CompositeEditCommand::doUnapply()
14255 ~30% speedup of a big undo
14257 * editing/CompositeEditCommand.cpp:
14258 (WebCore::CompositeEditCommand::doUnapply):
14259 (WebCore::CompositeEditCommand::doReapply):
14261 2006-03-09 Adele Peterson <adele@apple.com>
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.
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.
14274 2006-03-09 David Hyatt <hyatt@apple.com>
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.
14280 Reviewed by Tim Hatcher
14282 * platform/win/FontWin.cpp:
14283 (WebCore::getCairoFont):
14284 (WebCore::Font::drawText):
14286 2006-03-09 Adele Peterson <adele@apple.com>
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
14293 Test: fast/forms/input-appearance-visibility.html
14295 * rendering/RenderTextField.cpp: (WebCore::RenderTextField::setStyle):
14296 Sets the style directly on the children of the inner div.
14298 2006-03-09 David Hyatt <hyatt@apple.com>
14300 Make basic text rendering work on Win32.
14304 * WebCore.vcproj/WebCore/WebCore.vcproj:
14305 Add FontDescription.h to the Visual Studio project.
14307 * bridge/win/FrameWin.cpp:
14308 (WebCore::FrameWin::FrameWin):
14309 Add some good default font settings to KHTMLSettings.
14311 * platform/Font.cpp:
14312 (WebCore::Font::update):
14313 Renamed the FontRenderer method to invalidate, so that's what
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.
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
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
14342 (WebCore:::m_pitch):
14343 (WebCore::FontRenderer::~FontRenderer):
14344 (WebCore::FontRenderer::determinePitch):
14345 (WebCore::FontRenderer::invalidate):
14346 More of the FontRenderer plumbing.
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.
14352 (WebCore::Font::floatWidth):
14353 The width method uses GetTextExtentPoint32W for now. This
14354 is totally wrong and will eventually be replaced by Cairo
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.
14364 (WebCore::Font::drawText):
14365 Drawing of text. Uses TextOut and is also basically throwaway
14368 * platform/win/TemporaryLinkStubs.cpp:
14369 (Font::checkSelectionPoint):
14370 Move the checkSelectionPoint method back to the link stubs.
14372 2006-03-09 Justin Garcia <justin.garcia@apple.com>
14374 Reviewed by harrison
14376 Fixed formatting and changed functions to take in
14377 a const Selection& instead of a Selection.
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:
14392 2006-03-09 Adele Peterson <adele@apple.com>
14396 - Fix for http://bugs.webkit.org/show_bug.cgi?id=6814
14397 Implement selection methods for RenderTextField
14399 Test: fast/forms/input-appearance-selection.html
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.
14414 2006-03-09 David Carson <dacarson@gmail.com>
14416 Test: fast/canvas/fillrect_gradient.html
14420 - fix http://bugs.webkit.org/show_bug.cgi?id=6103
14421 Rectangles are not filled according to the Web Applications Working Draft
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.
14427 2006-03-09 Mitz Pettel <opendarwin.org@mitzpettel.com>
14429 No test because this fixes an existing pixel test (and does not affect
14432 Reviewed by Maciej.
14434 - fix http://bugs.webkit.org/show_bug.cgi?id=7664
14435 REGRESSION: tests that include numeric list markers fail in pixel mode
14437 * platform/GraphicsContext.cpp:
14438 (WebCore::GraphicsContext::drawText): Restored AlignRight behavior.
14440 2006-03-09 Mitz Pettel <opendarwin.org@mitzpettel.com>
14442 No test because we couldn't figure out how to write one.
14446 - fix http://bugs.webkit.org/show_bug.cgi?id=7680
14447 REGRESSION: Ellipsis painted over the chrome and in invalid contexts
14449 * rendering/render_line.cpp:
14450 (WebCore::EllipsisBox::paint): Replaced call to Font::drawText with
14451 GraphicsContext::drawText, which checks the paintingDisabled flag.
14453 2006-03-09 Maciej Stachowiak <mjs@apple.com>
14457 - make link clicks work by propagating them up to a client
14459 * Viewer/ImageView.cpp:
14460 * bridge/win/FrameWin.cpp:
14461 * bridge/win/FrameWin.h:
14462 * platform/win/TemporaryLinkStubs.cpp:
14463 (FrameWin::incomingReferrer):
14465 2006-03-09 Eric Seidel <eseidel@apple.com>
14469 Add support for Timers under 10ms.
14470 Fix random crashers due to multi-threaded loading.
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:
14495 2006-03-08 Justin Garcia <justin.garcia@apple.com>
14499 <http://bugs.webkit.org/show_bug.cgi?id=7579>
14500 TinyMCE: Implement execCommand(insertImage, ...)
14502 Implemented InsertImage and also changed paste to use a single
14503 rule for when to remove junk that remains after node removal.
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:
14513 2006-03-08 Eric Seidel <eseidel@apple.com>
14517 Fix build script to properly copy dll files.
14519 * WebCore.vcproj/WebCore/build-generated-files.sh:
14521 2006-03-08 Rob Buis <buis@kde.org>
14523 Reviewed by eseidel.
14525 Fix for http://bugs.webkit.org/show_bug.cgi?id=6899 SVG <rect> does not respect display: none
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.
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):
14568 2006-03-08 Eric Seidel <eseidel@apple.com>
14572 Add stubs to allow JavaScript-enabled WebCore to not crash.
14573 Add ScreenWin implementation.
14574 Add alert() support.
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):
14598 2006-03-08 Darin Adler <darin@apple.com>
14600 Reviewed by Maciej.
14602 - fix another instance of the bug I just fixed in the Macintosh-specific code path
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.
14608 2006-03-08 Maciej Stachowiak <mjs@apple.com>
14612 - very rough implementation of networking in TransferJob for windows
14614 * platform/TransferJob.h:
14615 * platform/TransferJobInternal.h:
14616 (WebCore::TransferJobInternal::TransferJobInternal):
14617 * platform/win/TransferJobWin.cpp:
14618 (WebCore::transferJobStatusCallback):
14619 (WebCore::TransferJob::start):
14621 2006-03-08 Maciej Stachowiak <mjs@apple.com>
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):
14635 2006-03-08 Darin Adler <darin@apple.com>
14637 Reviewed by Maciej.
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
14642 No layout test because I don't know how to test animated GIF speed.
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.
14648 2006-03-08 David Hyatt <hyatt@apple.com>
14650 Make GraphicsContext call into Font to draw all text and eliminate
14651 all knowledge of WebTextRenderers from it.
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):
14681 2006-03-08 Darin Adler <darin@apple.com>
14685 - fixed super-fast animation of many animated GIFs
14687 No layout test because I don't know how to test animated GIF speed.
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.
14693 2006-03-07 Darin Adler <darin@apple.com>
14695 Reviewed by Anders.
14697 - fix http://bugs.webkit.org/show_bug.cgi?id=7655
14698 unwanted output while running layout tests
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).
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.
14710 2006-03-07 Darin Adler <darin@apple.com>
14714 - fix http://bugs.webkit.org/show_bug.cgi?id=7647
14715 Crash when typing into text contols
14717 I missed a couple places that were still saying KWQWidgetHolder
14718 in the change I landed late last night.
14720 * kwq/KWQTextArea.h:
14721 * kwq/KWQTextArea.mm:
14722 * kwq/KWQTextField.h:
14723 Changed them all to say WebCoreWidgetHolder.
14725 2006-03-07 Eric Seidel <eseidel@apple.com>
14729 Fix cursor support on win32.
14731 * platform/win/WidgetWin.cpp:
14732 (WebCore::Widget::setCursor):
14734 2006-03-07 Eric Seidel <eseidel@apple.com>
14738 Fix basic text support.
14740 * WebCore.vcproj/WebCore/WebCore.vcproj:
14741 * platform/cairo/GraphicsContextCairo.cpp:
14742 (WebCore::GraphicsContext::drawText):
14744 2006-03-07 Dave Hyatt <hyatt@apple.com>
14746 Eliminate the unused parameters of the QString version of drawText.
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):
14760 2006-03-07 Eric Seidel <eseidel@apple.com>
14764 Add very basic text support.
14765 Sort a few more stubs.
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):
14780 2006-03-07 Adele Peterson <adele@apple.com>
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
14787 No tests added since I don't think the blinking caret will show up in our tests.
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.
14793 2006-03-07 David Kilzer <ddkilzer@kilzer.net>
14797 - Fix for http://bugs.webkit.org/show_bug.cgi?id=3905
14798 Missing </title> makes page blank
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
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.
14822 2006-03-07 Eric Seidel <eseidel@apple.com>
14824 Fix win32 link stubs.
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):
14840 2006-03-07 Darin Adler <darin@apple.com>
14842 Reviewed by Adele, except for the first change listed.
14844 - fix recently-introduced bug that GuardMalloc found while I was debugging my other change
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.
14849 - removed 10 more files from KWQ
14851 * ForwardingHeaders/klocale.h: Removed.
14853 * khtml/misc/helper.cpp: Removed.
14854 * khtml/misc/helper.h: Removed.
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.
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.
14877 * WebCore.xcodeproj/project.pbxproj: Updated for removed and added files.
14878 * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for removed and added files.
14880 * bridge/mac/WebCoreFrameBridge.mm: Updated includes.
14881 (-[WebCoreFrameBridge elementForView:]): Changed KWQWidgetHolder to WebCoreWidgetHolder.
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.
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.
14894 * khtml/html/HTMLFormElementImpl.cpp: Removed stray comment.
14896 * khtml/html/html_documentimpl.cpp:
14897 (WebCore::HTMLDocumentImpl::cookie):
14898 (WebCore::HTMLDocumentImpl::setCookie):
14899 Call CookieJar.h functions.
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:
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.
14933 * khtml/html/htmltokenizer.cpp: (WebCore::HTMLTokenizer::write): Remove
14935 * platform/QString.h: Remove QT_VERSION.
14937 * kwq/KWQPtrList.h: Change to no longer use QPtrCollection.
14939 * kwq/KWQRenderTreeDebug.h:
14940 * kwq/KWQRenderTreeDebug.cpp: (externalRepresentation):
14941 Remove unused debuggingRenderTree boolean.
14943 2006-03-07 Eric Seidel <eseidel@apple.com>
14947 * platform/mac/GraphicsContextMac.mm: Add Widget.h to fix no-svg build.
14949 2006-03-06 Eric Seidel <eseidel@apple.com>
14953 Make spinneret run again, fix webview to support dynamic resize.
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):
14963 2006-03-06 Eric Seidel <eseidel@apple.com>
14969 * platform/win/TemporaryLinkStubs.cpp:
14970 (QScrollBar::QScrollBar):
14971 (QTextEdit::setAlignment):
14973 (Widget::setClient):
14974 (QLineEdit::setAlignment):
14976 2006-03-06 Beth Dakin <bdakin@apple.com>
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.
14985 * kwq/KWQListBox.mm:
14986 (QListBox::sizeForNumberOfLines): Call update()
14987 (-[KWQTableView drawRow:clipRect:]): Call update()
14989 2006-03-06 Darin Adler <darin@apple.com>
14993 - http://bugs.webkit.org/show_bug.cgi?id=7564
14994 remove QObject, QGuardedPtr, slots, and signals
14996 I had written a detailed change log entry, but I lost it!
14997 I'm too annoyed to write one all over again.
14999 * ForwardingHeaders/qguardedptr.h: Removed.
15000 * ForwardingHeaders/qobject.h: Removed.
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.
15012 * platform/WidgetClient.h: Added.
15014 * WebCore.xcodeproj/project.pbxproj: Updated for removed and added files.
15015 * WebCore.vcproj/WebCore/WebCore.vcproj: Ditto.
15017 * bindings/js/JSDOMCore.cpp: Touched.
15018 * bindings/js/JSDOMEvents.cpp: Ditto.
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:
15085 (QScrollBar::orientation):
15086 * kwq/KWQScrollBar.mm:
15087 (-[KWQScrollBar initWithQScrollBar:]):
15088 (QScrollBar::QScrollBar):
15089 (QScrollBar::valueChanged):
15090 (QScrollBar::scroll):
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:
15121 (WebCore::Frame::Frame):
15122 (WebCore::Frame::~Frame):
15123 (WebCore::Frame::setOpener):
15124 (WebCore::Frame::nodeForWidget):
15125 (WebCore::Frame::disconnectOwnerRenderer):
15127 * page/FramePrivate.h:
15128 (WebCore::FramePrivate::FramePrivate):
15129 * page/FrameView.cpp:
15130 (WebCore::FrameView::~FrameView):
15131 * platform/Brush.h:
15133 * platform/Widget.cpp:
15134 (WebCore::Widget::isFrameView):
15135 * platform/Widget.h:
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:
15247 2006-03-06 Eric Seidel <eseidel@apple.com>
15251 Reorganize link stubs (alphabetically).
15252 Stub out Path methods to make cnn.com work.
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):
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):
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):
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):
15355 (Path::boundingRect):
15358 2006-03-03 Justin Garcia <justin.garcia@apple.com>
15362 <http://bugs.webkit.org/show_bug.cgi?id=6844>
15363 elementAtPoint returns the list when the point is over a list marker
15365 Call RenderObject::setInnerNode(), which sets both the
15366 innerNode and the innerNonSharedNode.
15368 * rendering/render_list.cpp:
15369 (WebCore::RenderListItem::nodeAtPoint):
15370 * rendering/render_list.h:
15372 2006-03-05 Darin Adler <darin@apple.com>
15374 * WebCore.vcproj/WebCore/WebCore.vcproj: Removed a lot of long-ago-deleted files
15375 from the kwq directory.
15377 2006-03-05 Darin Adler <darin@apple.com>
15379 Reviewed by Maciej.
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
15393 - did other preparation for the "remove Impl suffix" renaming
15394 (tested by using a script that does the renaming)
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.
15407 * dom/EventListener.h: Added.
15408 * dom/ExceptionCode.h: Added.
15410 * WebCore+SVG/kdom.h: Removed NodeType and ExceptionCodes
15411 * WebCore+SVG/kdomevents.h: Removed.
15413 * WebCore.xcodeproj/project.pbxproj: Updated for file changes.
15414 * WebCore.vcproj/WebCore/WebCore.vcproj: Ditto.
15416 * bindings/scripts/CodeGeneratorJS.pm: Removed unneeded DOM:: prefix. Updated file
15417 names and exception prefix for changes in DOM exceptions.
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.
15424 * dom/CharacterData.idl:
15425 * dom/DOMImplementation.idl:
15426 * dom/DocumentType.idl:
15429 * dom/MutationEvent.idl:
15430 * dom/Notation.idl:
15431 * dom/ProcessingInstruction.idl:
15433 * dom/WheelEvent.idl:
15434 Touched all IDL files so that changes in CodeGeneratorJS.pm would take effect.
15435 Added license headers.
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.
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.
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".
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.
15469 * bridge/mac/WebCoreFrameBridge.mm:
15470 * khtml/ecma/xmlserializer.cpp:
15471 * kwq/KWQAccObject.mm:
15472 Removed unneeded includes.
15474 * css/css_ruleimpl.h: Moved "rule type" into this header.
15476 * dom/CommentImpl.h:
15477 * dom/CommentImpl.cpp: (WebCore::CommentImpl::offsetInCharacters): Added. Returns true.
15479 * khtml/ecma/XSLTProcessor.cpp: (KJS::XSLTProcessorProtoFunc::callAsFunction):
15480 Changed this around so we don't have a local variable named docImpl.
15482 * khtml/ecma/kjs_binding.cpp: (KJS::setDOMException): Updated for new form of exception
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.
15490 * rendering/RenderTextField.h: Updated includes. Tweaked the code formatting of
15491 InputMutationListener. (Might be unnecessary since this class might be deleted soon.)
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:
15520 * dom/NodeListImpl.cpp:
15521 * dom/TextImpl.cpp:
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:
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.
15603 2006-03-06 Eric Seidel <eseidel@apple.com>
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.
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):
15625 (QLineEdit::~QLineEdit):
15626 (QLineEdit::setLiveSearch):
15627 (QComboBox::~QComboBox):
15629 2006-03-06 Eric Seidel <eseidel@apple.com>
15631 Reviewed by andersca.
15633 Empty enough stubs to make apple.com load.
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):
15659 2006-03-06 Eric Seidel <eseidel@apple.com>
15663 Fix external resource loading.
15664 Make a bunch of stubs not abort (to fix slashdot).
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):
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):
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):
15719 2006-03-05 Darin Adler <darin@apple.com>
15721 Reviewed by Maciej.
15723 - fix failure seen running editing layout tests
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.
15730 2006-03-05 Eric Seidel <eseidel@apple.com>
15734 Make updateContents invalidate entire window for now.
15735 Fix indentation in fileLoadTimer.
15737 * platform/win/ScrollViewWin.cpp:
15738 (WebCore::ScrollView::updateContents):
15739 * platform/win/TransferJobWin.cpp:
15740 (WebCore::TransferJob::fileLoadTimer):
15742 2006-03-05 Eric Seidel <eseidel@apple.com>
15746 Add missing files to vcproj (fix win32 build).
15747 Also add svn:eol-style=native to new files.
15749 * WebCore.vcproj/WebCore/WebCore.vcproj:
15751 2006-03-05 Darin Adler <mjs@apple.com>
15755 * rendering/render_style.h: (compareEqual): Made it inline, fixed variable name.
15757 2006-03-05 Adele Peterson <adele@apple.com>
15761 - Fixed http://bugs.webkit.org/show_bug.cgi?id=6987
15762 Implement maxlength for new text fields
15765 * fast/forms/input-appearance-maxlength.html
15767 * WebCore.xcodeproj/project.pbxproj:
15768 Added BeforeTextInsertedEventImpl.h, BeforeTextInsertedEventImpl.cpp, HTMLTextFieldInnerElementImpl.h, and HTMLTextFieldInnerElementImpl.cpp
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.
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.
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.
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.
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.
15811 2006-03-05 Maciej Stachowiak <mjs@apple.com>
15813 - fix build, give this a return type.
15815 * rendering/render_style.h:
15818 2006-03-05 Eric Seidel <eseidel@apple.com>
15820 Add "Font.h" to (try to) fix the no-svg build.
15822 * platform/mac/GraphicsContextMac.mm:
15824 2006-03-05 Maciej Stachowiak <mjs@apple.com>
15826 Rubber stamped by Darin.
15828 - fix win32 build by avoiding use of typeof
15830 * rendering/render_style.h:
15833 2006-03-05 Geoffrey Garen <ggaren@apple.com>
15835 Reviewed by Maciej.
15837 - Second cut at fixing <rdar://problem/4467143> JavaScript enumeration
15838 of HTML element properties skips DOM node properties
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).
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.
15853 Touched these files to force a rebuild:
15855 * bindings/js/JSDOMCore.cpp:
15856 * bindings/js/JSDOMEvents.cpp:
15858 * dom/CharacterData.idl:
15859 * dom/DOMImplementation.idl:
15860 * dom/DocumentType.idl:
15863 * dom/MutationEvent.idl:
15864 * dom/Notation.idl:
15865 * dom/ProcessingInstruction.idl:
15867 * dom/WheelEvent.idl:
15869 2006-03-05 Maciej Stachowiak <mjs@apple.com>
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
15876 * css/css_base.cpp:
15877 (WebCore::CSSSelector::operator == ):
15878 (WebCore::CSSSelector::selectorText):
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:
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:
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==):
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):
16051 2006-03-05 Geoffrey Garen <ggaren@apple.com>
16053 - Rolled out the fix for <rdar://problem/4467143> because it's the
16054 wrong approach. Maciej and I discussed this on IRC.
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.
16060 2006-03-05 Eric Seidel <eseidel@apple.com>
16062 Move improperly placed #endif causing no-svg build to fail.
16064 * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
16066 2006-03-05 Alexander Kellett <lypanov@kde.org>
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
16075 svg/custom/polyline-setattribute-points-null.svg
16076 svg/custom/polyline-invalid-points.svg
16078 * ksvg2/svg/svgpathparser.cpp:
16079 (SVGPolyParser::parsePoints):
16081 2006-03-05 Maciej Stachowiak <mjs@apple.com>
16083 Rubber stamped by Eric.
16085 - remove no longer used KDOMSettings and KSVGSettings
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:
16093 2006-03-05 Eric Seidel <eseidel@apple.com>
16097 * platform/Font.cpp:
16098 (WebCore::Font::update): remove extra ref causing large leak.
16100 2006-03-04 Eric Seidel <eseidel@apple.com>
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.
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):
16119 2006-03-05 Mitz Pettel <opendarwin.org@mitzpettel.com>
16121 Reviewed by Darin, landed by ap.
16123 - fix http://bugs.webkit.org/show_bug.cgi?id=4840
16124 Frames only resize wider, can't make them narrower
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).
16140 2006-03-04 David Hyatt <hyatt@apple.com>
16142 Fix for bug 7586, eliminate QFontMetrics.
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):
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:
16221 2006-03-04 Eric Seidel <eseidel@apple.com>
16223 Reviewed by ggaren.
16225 Add urlSelected stub, adjust font metrics, and fix view size/move bug.
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):
16237 2006-03-04 Maciej Stachowiak <mjs@apple.com>
16241 - stop background image loads from crashing
16243 * platform/cairo/GraphicsContextCairo.cpp:
16244 (WebCore::GraphicsContext::drawTiledImage):
16245 (WebCore::GraphicsContext::drawScaledAndTiledImage):
16247 - fix termination condition on file load loop
16249 * platform/win/TransferJobWin.cpp:
16250 (WebCore::TransferJob::fileLoadTimer):
16252 2006-03-04 Geoffrey Garen <ggaren@apple.com>
16256 - Fixed <rdar://problem/4467143> JavaScript enumeration of HTML
16257 element properties skips DOM node properties
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.
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
16266 * khtml/ecma/kjs_html.cpp:
16267 (KJS::): Used a script to sort classInfo data alphbetically.
16268 (KJS::KJS::HTMLElement::classInfo): Ditto.
16270 2006-03-04 Maciej Stachowiak <mjs@apple.com
16274 - fix mistake in TransferJob::start that made it cause a crash
16277 * platform/win/TransferJobWin.cpp:
16278 (WebCore::TransferJob::start):
16280 2006-03-04 Maciej Stachowiak <mjs@apple.com
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
16288 * WebCore.vcproj/WebCore/WebCore.vcproj: add TransferJobWin
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
16315 (WebCore::TransferJob::cancel): Stop timer and close windows file
16318 2006-03-03 Eric Seidel <eseidel@apple.com>
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.
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):
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):
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.
16385 * rendering/RenderThemeWin.h: Added.
16387 2006-03-03 Geoffrey Garen <ggaren@apple.com>
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*)
16392 * manual-tests/property-map-save-crash.html: Added.
16394 2006-03-03 Eric Seidel <eseidel@apple.com>
16398 Fix clearly bogus cairo elipse drawing code.
16399 Make QFontMetrics stubs slightly more sane.
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):
16409 2006-03-03 Darin Adler <darin@apple.com>
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>
16417 Test: fast/innerHTML/innerHTML-custom-tag.html
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.
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
16426 2006-03-03 Maciej Stachowiak <mjs@apple.com>
16428 Rubber stamped by Eric.
16430 - add new files to build, fix link stubs.
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.
16440 2006-03-03 Maciej Stachowiak <mjs@apple.com>
16442 - add file I forgot in my last commit.
16444 * platform/TransferJobInternal.h: Added.
16445 (WebCore::TransferJobInternal::TransferJobInternal):
16447 2006-03-03 Eric Seidel <eseidel@apple.com>
16451 Wire up WidgetWin, CursorWin, ScrollViewWin.
16452 Stub out methods for selection and cursors.
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):
16540 2006-03-03 Maciej Stachowiak <mjs@apple.com>
16544 - move TransferJob from kwq to platform, separate platform from non-platform bits
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:
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:
16572 2006-03-03 Maciej Stachowiak <mjs@apple.com>
16576 - enough link stubs to "display" local copy of WebKit site w/o hitting breakpoint
16578 * platform/win/TemporaryLinkStubs.cpp:
16579 (QLineEdit::setReadOnly):
16580 (QTextEdit::setCursorPosition):
16581 (QLineEdit::setCursorPosition):
16582 (QFontMetrics::width):
16583 (GraphicsContext::drawText):
16584 (GraphicsContext::drawLineForText):
16586 2006-03-02 Maciej Stachowiak <mjs@apple.com>
16588 Rubber stamped by Eric.
16590 - remove function that is now gone
16592 * platform/win/TemporaryLinkStubs.cpp:
16594 2006-03-02 Maciej Stachowiak <mjs@apple.com>
16598 - move logic to kick off load from KWQLoader function to a TransferJob method
16600 * kwq/KWQKJobClasses.h:
16601 * kwq/KWQKJobClasses.mm:
16602 (WebCore::TransferJob::start):
16604 * kwq/KWQLoader.mm:
16605 * loader/loader.cpp:
16606 (WebCore::Loader::servePendingRequests):
16607 * xml/xmlhttprequest.cpp:
16608 (WebCore::XMLHttpRequest::send):
16610 2006-03-02 Maciej Stachowiak <mjs@apple.com>
16612 Rubber stamped by Eric.
16614 - remove unused loader parameter to KWQServeRequest.
16617 * kwq/KWQLoader.mm:
16619 * loader/loader.cpp:
16620 (WebCore::Loader::servePendingRequests):
16621 * xml/xmlhttprequest.cpp:
16622 (WebCore::XMLHttpRequest::send):
16624 2006-03-02 Maciej Stachowiak <mjs@apple.com>
16628 - remove one of the versions of KWQServeRequest.
16631 * kwq/KWQLoader.mm:
16632 * loader/loader.cpp:
16633 (WebCore::Loader::servePendingRequests):
16634 * platform/win/TemporaryLinkStubs.cpp:
16635 (Widget::isEnabled):
16638 2006-03-02 Maciej Stachowiak <mjs@apple.com>
16640 Rubber stamped by Eric.
16644 * platform/win/MouseEventWin.cpp:
16646 2006-03-02 Justin Garcia <justin.garcia@apple.com>
16650 <http://bugs.webkit.org/show_bug.cgi?id=3894>
16651 uses of <cmath> should change to <math>
16653 * ksvg2/svg/SVGAnimateTransformElementImpl.cpp:
16654 * ksvg2/svg/SVGAnimationElementImpl.cpp:
16655 * ksvg2/svg/SVGHelper.cpp:
16656 * ksvg2/svg/SVGLengthImpl.cpp:
16658 2006-03-02 Andrew Wellington <proton@wiretapped.net>
16660 Reviewed by Darin, landed by Beth
16662 Fix for http://bugs.webkit.org/show_bug.cgi?id=3230
16663 CSS1: Words with inline elements get extra capital letters
16665 Does not use UBreakIterator (yet?) for this, but a relatively
16666 simple change that fixes our failure in the CSS1 test suite
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
16679 2006-03-02 Justin Garcia <justin.garcia@apple.com>
16681 Reviewed by sullivan
16683 <http://bugs.webkit.org/show_bug.cgi?id=7542>
16684 REGRESSION: (r13028) Scrolling causes incomplete drawing of <ul> bullets
16686 * rendering/render_list.cpp:
16687 (WebCore::RenderListMarker::paint):
16689 2006-03-02 Eric Seidel <eseidel@apple.com>
16691 Reviewed by ggaren.
16693 Add (partially stubbed out) mouse event handling for Win32.
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):
16748 2006-03-02 Justin Garcia <justin.garcia@apple.com>
16752 <http://tinymce.moxiecode.com/example_full.php?example=true>
16753 TinyMCE: Undo still enabled after a location change, crashes if performed
16755 Can't clear undo/redo operations registered by subframes in didOpenURL,
16756 because subframes have already been detached.
16759 (WebCore::Frame::didOpenURL):
16760 (WebCore::Frame::closeURL):
16762 2006-03-01 Maciej Stachowiak <mjs@apple.com>
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
16771 * ForwardingHeaders/kxmlcore/Platform.h: Added.
16772 * bridge/mac/WebCoreFrameNamespaces.m:
16773 * bridge/mac/WebCoreViewFactory.m:
16774 * bridge/mac/WebDashboardRegion.m:
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:
16786 2006-03-02 Eric Seidel <eseidel@apple.com>
16788 * WebCore.xcodeproj/project.pbxproj: update GraphicsContext.cpp path to fix build
16790 2006-03-01 Eric Seidel <eseidel@apple.com>
16792 Reviewed by andersca.
16794 Add first-stab GraphicsContextCairo.
16795 Shuffle a few more link stubs around, remove uncessary WebCore::
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):
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):
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):
16916 2006-03-02 Alexey Proskuryakov <ap@nypop.com>
16920 Changed an Objective-C forward declaration from "class" to "@class".
16921 This doesn't appear to fix any problems, though.
16923 * platform/StringImpl.h:
16925 2006-03-01 Justin Garcia <justin.garcia@apple.com>
16929 <http://bugs.webkit.org/show_bug.cgi?id=7059>
16930 TinyMCE: Select All + delete sends you Back intsead of deleting
16933 (WebCore::Frame::selectFrameElementInParentIfFullySelected):
16935 2006-03-01 David Harrison <harrison@apple.com>
16937 Reviewed by Justin.
16938 (missed these in my earlier commit for <rdar://problem/4359736>)
16940 * bridge/mac/WebCoreFrameBridge.h:
16941 * bridge/mac/WebCoreFrameBridge.mm:
16942 (-[WebCoreFrameBridge canIncreaseSelectionListLevel]):
16943 (-[WebCoreFrameBridge canDecreaseSelectionListLevel]):
16944 (-[WebCoreFrameBridge increaseSelectionListLevel]):
16945 (-[WebCoreFrameBridge decreaseSelectionListLevel]):
16947 2006-03-01 Eric Seidel <eseidel@apple.com>
16951 Fix win32 build, add IntRectWin and GraphicsContextCairo stub.
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):
16965 2006-02-23 David Harrison <harrison@apple.com>
16967 Reviewed by Justin.
16969 <rdar://problem/4359736> Support outlining ability with lists
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.
16975 * WebCore.vcproj/WebCore/WebCore.vcproj:
16976 * WebCore.xcodeproj/project.pbxproj:
16977 Added ModifySelectionListLevelCommand.cpp and ModifySelectionListLevelCommand.h
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.
16987 * editing/InsertParagraphSeparatorCommand.cpp:
16988 (WebCore::createListItemElement):
16989 New. Creates an li.
16991 (WebCore::InsertParagraphSeparatorCommand::doApply):
16992 - slight logic cleanup
16993 - on empty list item, end the list
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.
17015 * editing/ReplaceSelectionCommand.cpp:
17016 (WebCore::ReplaceSelectionCommand::doApply):
17017 Slight logic cleanup
17019 * editing/htmlediting.cpp:
17020 (WebCore::isListElement):
17021 (WebCore::enclosingListChild):
17024 (WebCore::isTableElement):
17025 Allow caller to pass 0... return false in that case.
17027 * editing/htmlediting.h:
17030 * rendering/RenderContainer.cpp:
17031 (WebCore::updateListMarkerNumbers):
17032 Allow for list children that are not li nodes. Ignore and continue rather than stopping.
17034 (WebCore::RenderContainer::addChild):
17035 Allow for nil beforeChild, meaning "add at end".
17037 2006-03-01 Eric Seidel <eseidel@apple.com>
17039 Reviewed by justing.
17041 Update ESelectionGranulartiy enum to use newer CamelCase styling.
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:
17061 (WebCore::Frame::selectClosestWordFromMouseEvent):
17062 (WebCore::Frame::handleMousePressEventTripleClick):
17063 (WebCore::Frame::handleMousePressEventSingleClick):
17064 (WebCore::Frame::handleMouseMoveEventSelection):
17066 2006-03-01 Alexander Kellett <lypanov@kde.org>
17068 Reviewed by Maciej.
17070 - fix http://bugs.webkit.org/show_bug.cgi?id=5966
17072 Fixes already existing test:
17073 svg/W3C-SVG-1.1/coords-viewattr-02-b.svg
17075 * kcanvas/RenderSVGImage.cpp:
17076 (WebCore::RenderSVGImage::adjustRectsForAspectRatio):
17077 (WebCore::RenderSVGImage::paint):
17078 * kcanvas/RenderSVGImage.h:
17080 2006-03-01 Alexey Proskuryakov <ap@nypop.com>
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.
17087 HEAD is currently unimplemented because of what seems to be a bug in NSURLConnection,
17088 and does a GET instead.
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:
17102 (KWQServeSynchronousRequest):
17103 * loader/loader.cpp:
17104 (WebCore::Loader::servePendingRequests):
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".
17112 2006-03-01 Timothy Hatcher <timothy@apple.com>
17116 http://bugs.webkit.org/show_bug.cgi?id=7450
17117 elementAtPoint is expensive and should return a smart dictionary
17119 <rdar://problem/2952761> moving the mouse around eats more CPU than I would expect (7450)
17121 Support for WebKit. This removes the old elementAtPoint: on the bridge.
17122 WebKit now uses the bridge method getInnerNonSharedNode:innerNode:URLElement:atPoint:
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):
17154 2006-03-01 Mitz Pettel <opendarwin.org@mitzpettel.com>
17156 Test: fast/css/hover-subselector.html
17160 - fix http://bugs.webkit.org/show_bug.cgi?id=7327
17161 REGRESSION (r12869): :hover subselector does not work in quirks mode
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.
17169 2006-03-01 Maciej Stachowiak <mjs@apple.com>
17171 Rubber stamped by Hyatt.
17173 - fix win32 build (and make dumprendertree run)
17175 * kwq/KWQComboBox.h:
17176 * platform/win/TemporaryLinkStubs.cpp:
17177 (QTextEdit::selectionEnd):
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):
17196 2006-02-28 Darin Adler <darin@apple.com>
17200 - http://bugs.webkit.org/show_bug.cgi?id=7444
17201 move QPainter to platform directory and name it GraphicsContext
17203 * platform/GraphicsContext.h: Added.
17204 * platform/TextDirection.h: Added.
17205 * platform/cg/GraphicsContextCG.cpp: Added.
17206 * platform/mac/GraphicsContextMac.mm: Added.
17208 * kwq/KWQPainter.h: Removed.
17209 * kwq/KWQPainter.mm: Removed.
17210 * ForwardingHeaders/qpainter.h: Removed.
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.
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):
17227 (WebCore::Frame::paintCaret):
17228 (WebCore::Frame::paintDragCaret):
17229 (WebCore::Frame::paint):
17230 (WebCore::Frame::adjustPageHeight):
17231 * page/FrameView.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.
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:
17335 (khtml::bidiFirst):
17336 Updated to use TextDirection instead of QPainter::TextDirection and EDirection.
17338 * kcanvas/device/KRenderingDevice.h: Added renderingDevice here to
17339 replace QPainter::renderingDevice for now.
17341 * khtml/ecma/kjs_html.h: Fixed comments to mention GraphicsContext.
17343 * khtml/html/html_imageimpl.h:
17344 * page/FrameView.cpp:
17345 * rendering/RenderBlock.cpp:
17346 Added include needed since I reduced includes elsewhere.
17348 * kwq/KWQFontMetrics.h:
17349 * kwq/KWQFontMetrics.mm: (QFontMetrics::checkSelectionPoint):
17350 Changed QChar* to be const QChar*.
17352 * platform/FontDescription.h: Added include that was missing.
17353 * rendering/render_theme.cpp: Ditto.
17355 * platform/Image.h: Removed unnecessary forward declaration of QPainter.
17357 * rendering/RenderText.h: Clean up types, use const.
17359 * rendering/render_style.h: Removed EDirection and replaced it with TextDirection.
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.
17431 2006-02-28 Darin Adler <darin@apple.com>
17433 - fixed part of the reason the build is broken
17435 * WebCore.xcodeproj/project.pbxproj: Updated project file.
17437 2006-02-28 Darin Adler <darin@apple.com>
17439 Rubber-stamped by Hyatt.
17441 - moved the WebCoreXXX files from kwq to appropriate directories
17443 No changes to the contents of the files.
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.
17521 2006-02-28 David Hyatt <hyatt@apple.com>
17523 Fold QFont into Font and eliminate QFont completely.
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):
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):
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):
17670 2006-02-28 Darin Adler <darin@apple.com>
17674 - remove obsolete WebCoreScrollView class
17676 * WebCore.exp: Remove WebCoreScrollView class name.
17678 * kwq/WebCoreScrollView.h: Removed.
17679 * kwq/WebCoreScrollView.m: Removed.
17680 * WebCore.xcodeproj/project.pbxproj: Remove WebCoreScrollView source files.
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.
17686 2006-02-28 Eric Seidel <eseidel@apple.com>
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.
17695 * bridge/mac/MacFrame.h: mark setView virtual
17696 * dom/DocumentImpl.cpp:
17697 (WebCore::DocumentImpl::attach): remove no-renderer hack
17699 (WebCore::Frame::view): fix spacing
17700 (WebCore::Frame::setView): added.
17702 * platform/win/TemporaryLinkStubs.cpp:
17703 (notImplemented): make break directly into debugger.
17704 Moved, modified several other stubs not mentioned here.
17706 2006-02-28 Justin Garcia <justin.garcia@apple.com>
17710 <http://bugs.webkit.org/show_bug.cgi?id=6647>
17711 TinyMCE: document.execCommand("insertHTML", ...) unimplemented
17713 * editing/jsediting.cpp:
17715 2006-02-28 Maciej Stachowiak <mjs@apple.com>
17719 - make win32 DumpRenderTree run without crashing
17720 http://bugs.webkit.org/show_bug.cgi?id=7511
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
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.
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
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):
17761 2006-02-27 Eric Seidel <eseidel@apple.com>
17765 Remove abort() from constructors to allow DRT to run.
17767 * platform/win/TemporaryLinkStubs.cpp:
17769 (QFontMetrics::QFontMetrics):
17771 2006-02-27 Justin Garcia <justin.garcia@apple.com>
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
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".
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:
17811 2006-02-27 Eric Seidel <eseidel@apple.com>
17815 Copy missing dlls to build directory.
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:
17822 2006-02-27 Mitz Pettel <opendarwin.org@mitzpettel.com>
17824 Test: added to fast/dom/css-selectorText.html
17828 - fix http://bugs.webkit.org/show_bug.cgi?id=7338
17829 Incorrect selectorText for multiple subselectors.
17831 * css/css_base.cpp:
17832 (CSSSelector::selectorText): Iterate over subselectors
17834 2006-02-27 Maciej Stachowiak <mjs@apple.com>
17838 - write a portable ICU version of TextEncoding::fromUnicode for use on win32
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
17850 2006-02-27 Mitz Pettel <opendarwin.org@mitzpettel.com>
17852 Test: fast/text/in-rendered-text-rtl.html
17856 - fix http://bugs.webkit.org/show_bug.cgi?id=7433
17857 REGRESSION (r12789): Second RTL text run on a line cannot be selected
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.
17865 2006-02-27 David Kilzer <ddkilzer@kilzer.net>
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
17872 * khtml/html/htmlparser.cpp: Handle the head node like form and map nodes.
17873 (WebCore::HTMLParser::parseToken):
17874 (WebCore::HTMLParser::headCreateErrorCheck):
17876 2006-02-27 Eric Seidel <eseidel@apple.com>
17880 Add stub to make DRT link.
17881 Make WebCore copy libxml.dll into build directory when building.
17883 * WebCore.vcproj/WebCore/build-generated-files.sh:
17884 * platform/win/TemporaryLinkStubs.cpp:
17885 (WebCore::TextEncoding::fromUnicode):
17887 2006-02-27 Darin Adler <darin@apple.com>
17891 - fix regression in layout tests
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.
17897 2006-02-27 Maciej Stachowiak <mjs@apple.com>
17899 Rubber stamped by Eric.
17901 - add stubs for FrameWin overrides of pure virtual Frame methods
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):
17940 2006-02-27 Eric Seidel <eseidel@apple.com>
17944 Add constructor and destructor.
17946 * bridge/win/FrameWin.cpp:
17947 (WebCore::FrameWin::FrameWin):
17948 (WebCore::FrameWin::~FrameWin):
17950 2006-02-27 Maciej Stachowiak <mjs@apple.com>
17952 Rubber stamped by Eric (sorta).
17954 - add return values where needed
17956 * platform/win/TemporaryLinkStubs.cpp:
17958 (KWQServeSynchronousRequest):
17960 2006-02-27 Eric Seidel <eseidel@apple.com>
17964 Add a couple more stubs to make Win32 link.
17966 * platform/win/TemporaryLinkStubs.cpp:
17967 (KWQServeSynchronousRequest):
17968 (WebCore::FrameView::topLevelWidget):
17970 2006-02-27 Eric Seidel <eseidel@apple.com>
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
17978 * bridge/mac/WebCorePageBridge.mm:
17979 (initializeLogChannel):
17980 (initializeLoggingChannelsIfNecessary):
17981 (-[WebCorePageBridge init]):
17983 * platform/Logging.cpp:
17984 * platform/Logging.h:
17986 2006-02-27 Darin Adler <darin@apple.com>
17988 Reviewed by Maciej.
17990 - fix <rdar://problem/4104575> hang due to slow saveDocumentState method
17992 * bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge saveDocumentState]):
17993 Change code that iterates a QStringList with indices to use iterator instead.
17995 2006-02-27 Maciej Stachowiak <mjs@apple.com>
17999 - portable version of QString::utf8
18001 * platform/QString.cpp:
18002 (QString::utf8): moved here, rewritten to use TextCodec
18003 * platform/mac/QStringMac.mm:
18004 (QString::utf8): removed from here
18006 2006-02-27 Eric Seidel <eseidel@apple.com>
18008 Rubber-stamped by mjs.
18010 Fix FrameWin.h to use consistant line endings.
18011 Fix TemporaryLinkStubs to better match style guidelines.
18013 * bridge/win/FrameWin.h:
18015 * platform/win/TemporaryLinkStubs.cpp:
18016 (QLineEdit::selectAll):
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):
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):
18043 (QTextEdit::setText):
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):
18055 (Widget::focusPolicy):
18056 (ScrollView::removeChild):
18057 (QTextEdit::selectAll):
18058 (QPainter::fillRect):
18059 (QPainter::endTransparencyLayer):
18061 (ScrollView::addChild):
18062 (QTextEdit::setDisabled):
18063 (QScrollBar::scroll):
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):
18109 (QTextEdit::setAlignment):
18110 (QLineEdit::setCursorPosition):
18111 (QPainter::drawText):
18113 (KJavaAppletWidget::KJavaAppletWidget):
18114 (QFontMetrics::descent):
18115 (QListBox::QListBox):
18116 (QFontMetrics::ascent):
18117 (QLineEdit::selectedText):
18118 (Widget::setIsSelected):
18120 (Widget::unlockDrawingFocus):
18121 (QLineEdit::setLiveSearch):
18122 (QPainter::paintingDisabled):
18123 (QComboBox::QComboBox):
18124 (QPainter::drawConvexPolygon):
18126 (QSlider::setMaxValue):
18127 (Widget::lockDrawingFocus):
18128 (QPainter::drawLine):
18129 (QPainter::setBrush):
18130 (QTextEdit::setSelectionRange):
18131 (ScrollView::scrollPointRecursively):
18132 (QLineEdit::sizeForCharacterWidth):
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):
18164 (QLineEdit::edited):
18165 (QPainter::drawTiledImage):
18166 (QPainter::clearFocusRing):
18167 (QFont::operator==):
18170 (QPainter::drawImageInRect):
18171 (QPainter::setFont):
18172 (Widget::disableFlushDrawing):
18173 (QPainter::initFocusRing):
18174 (QSlider::setMinValue):
18175 (QTextEdit::setWordWrap):
18176 (QPainter::drawLineForMisspelling):
18177 (QLineEdit::setText):
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):
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):
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):
18263 2006-02-27 Justin Garcia <justin.garcia@apple.com>
18267 <http://bugs.webkit.org/show_bug.cgi?id=6844>
18268 elementAtPoint returns the list when the point is over a list marker
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.
18275 * fast/events/onclick-list-marker.html
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:
18286 2006-02-27 Eric Seidel <eseidel@apple.com>
18290 Fix xcode project after previous KWQLogging move.
18292 * WebCore.xcodeproj/project.pbxproj:
18293 * platform/Logging.h:
18295 2006-02-27 Eric Seidel <eseidel@apple.com>
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.
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):
18323 2006-02-27 Eric Seidel <eseidel@apple.com>
18327 Fix a bunch more link errors in the win32 build, mostly by adding stubs.
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):
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):
18359 2006-02-27 Eric Seidel <eseidel@apple.com>
18363 Add missing include to fix build.
18365 * platform/win/TemporaryLinkStubs.cpp:
18367 2006-02-27 Eric Seidel <eseidel@apple.com>
18369 Reviewed by ggaren.
18371 Move KConfig to platform/PlugInInfoStore and add test.
18372 http://bugs.webkit.org/show_bug.cgi?id=7498
18374 Test: plugins/plugin-javascript-access.html
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):
18389 2006-02-27 Darin Adler <darin@apple.com>
18393 * platform/win/TemporaryLinkStubs.cpp: Added more stubs.
18395 2006-02-27 Eric Seidel <eseidel@apple.com>
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.
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.
18406 No layout test possible (no way to control which plugins DRT sees).
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):
18430 2006-02-27 Eric Seidel <eseidel@apple.com>
18434 Build fix: cast to unsigned from size_t.
18436 * platform/StreamingTextDecoder.cpp:
18438 2006-02-27 Maciej Stachowiak <mjs@apple.com>
18442 - add Selection.cpp to win32 build
18443 http://bugs.webkit.org/show_bug.cgi?id=7490
18445 * WebCore.vcproj/WebCore/WebCore.vcproj:
18447 2006-02-27 Maciej Stachowiak <mjs@apple.com>
18449 - use proper header for std::min.
18451 * platform/StreamingTextDecoder.cpp:
18453 2006-02-27 Maciej Stachowiak <mjs@apple.com>
18457 - add new TextEncoding stuff to win32 build
18458 http://bugs.webkit.org/show_bug.cgi?id=7491
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:
18466 2006-02-27 Darin Adler <darin@apple.com>
18468 - try to fix Windows build
18470 * WebCore.vcproj/WebCore/WebCore.vcproj: Removed rendering/font.* and added platform/Font.*.
18472 2006-02-27 Darin Adler <darin@apple.com>
18474 * css/csshelper.cpp: (WebCore::parseURL): Actually, the second version was fine. Rolling
18475 back to that; apologies for the churn.
18477 2006-02-27 Darin Adler <darin@apple.com>
18479 * css/csshelper.cpp: (WebCore::parseURL): Third time's the charm.
18481 2006-02-27 Darin Adler <darin@apple.com>
18483 * css/csshelper.cpp: (WebCore::parseURL): Oops! Checked in fixed version of this file.
18485 2006-02-27 Darin Adler <darin@apple.com>
18487 Reviewed by Maciej.
18489 - http://bugs.webkit.org/show_bug.cgi?id=7486
18490 a first step in improving String/StringImpl API -- use "s" and "l" less
18492 * css/csshelper.cpp: (WebCore::parseURL): Use a local buffer rather than
18493 manipulating the characters directly inside a StringImpl buffer.
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.
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[].
18534 * editing/visible_units.cpp:
18535 (WebCore::startOfParagraph): Use const.
18536 (WebCore::endOfParagraph): Ditto.
18538 2006-02-27 Maciej Stachowiak <mjs@apple.com>
18540 - fix problem with a prototype that broke win32 build
18542 * platform/StreamingTextDecoder.h:
18543 (WebCore::StreamingTextDecoder::convert):
18545 2006-02-27 Maciej Stachowiak <mjs@apple.com>
18547 - fix debug build (broken by my last commit)
18549 * platform/StreamingTextDecoder.cpp:
18550 (WebCore::StreamingTextDecoder::createICUConverter):
18551 (WebCore::StreamingTextDecoder::convertUsingICU):
18553 2006-02-26 Maciej Stachowiak <mjs@apple.com>
18557 - platformize KWQTextCodec
18558 http://bugs.webkit.org/show_bug.cgi?id=7487
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.
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):
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):
18619 (WebCore::Frame::write):
18620 (WebCore::Frame::gotoAnchor):
18621 (WebCore::Frame::encoding):
18622 (WebCore::Frame::backslashAsCurrencySymbol):
18623 * platform/CharsetNames.cpp: Added.
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:
18633 (KURL::decode_string):
18634 (encodeRelativeString):
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.
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):
18685 2006-02-27 Darin Adler <darin@apple.com>
18687 - fix Windows build
18689 * platform/win/TemporaryLinkStubs.cpp: Change KIO::TransferJob to WebCore::TransferJob.
18691 2006-02-26 Darin Adler <darin@apple.com>
18693 Reviewed by Maciej.
18695 - merged Job and TransferJob into TransferJob and moved it to WebCore namespace
18696 - changed TransferJob to use a TransferJobClient object instead of signals
18698 * ForwardingHeaders/kio/job.h: Changed to point to "KWQKJobClasses.h".
18699 * kwq/KWQKJob.h: Removed.
18700 * kwq/TransferJobClient.h: Added.
18702 * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for file changes.
18703 * WebCore.xcodeproj/project.pbxproj: Ditto.
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".
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.
18720 * kwq/KWQLoader.h: Switched things to mention the WebCore namespace.
18721 Changed KIO::TransferJob to WebCore::TransferJob.
18722 * kwq/KWQLoader.mm: Ditto.
18725 * kwq/KWQObject.cpp: Removed isKHTMLLoader.
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.
18740 * kwq/KWQSignal.cpp:
18743 Removed the job-related signals and slots.
18745 * loader/CachedObject.h: Removed unneeded declaration of TransferJob.
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.
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.
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.
18777 2006-02-26 Darin Adler <darin@apple.com>
18779 - try again after seeing errors from buildbot
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.
18787 2006-02-26 Darin Adler <darin@apple.com>
18789 - try again after seeing errors from buildbot
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.
18796 * platform/win/TemporaryLinkStubs.cpp: Add missing includes.
18798 2006-02-26 Darin Adler <darin@apple.com>
18800 Reviewed by Maciej.
18802 - more Win32 link fixes
18804 * loader/CachedObject.h: Put some Mac-specific stuff inside
18806 * platform/win/TemporaryLinkStubs.cpp: Added more stubs.
18808 2006-02-26 Darin Adler <darin@apple.com>
18810 - try again after seeing errors from buildbot
18812 * platform/win/TemporaryLinkStubs.cpp: Added more includes.
18814 2006-02-26 Darin Adler <darin@apple.com>
18816 - try again after seeing errors from buildbot
18818 * platform/win/TemporaryLinkStubs.cpp: Added more includes.
18820 2006-02-26 Darin Adler <darin@apple.com>
18822 Reviewed by Maciej.
18824 - work toward getting the Win32 build to link
18826 * WebCore.vcproj/WebCore/WebCore.vcproj: Added KWQObject.cpp.
18827 * platform/win/TemporaryLinkStubs.cpp: Added more stubs.
18829 2006-02-24 Antti Koivisto <koivisto@iki.fi>
18833 - fix http://bugs.webkit.org/show_bug.cgi?id=7440
18834 Floats not positioned correctly
18836 Test: fast/block/float/multiple-float-positioning.html
18838 * rendering/RenderBlock.cpp:
18839 (WebCore::RenderBlock::positionNewFloats): Correct iteration of the float list
18841 2006-02-24 Graham Dennis <Graham.Dennis@gmail.com>
18843 <http://bugs.webkit.org/show_bug.cgi?id=6933>
18844 Selection extends beyond focus ring for some contentEditable divs
18848 * rendering/RenderBlock.cpp:
18849 (WebCore::RenderBlock::isSelectionRoot): Have root editable elements paint their
18850 own selection gaps.
18852 2006-02-24 Darin Adler <darin@apple.com>
18854 Reviewed by Maciej.
18856 - fix <rdar://problem/4456287> REGRESSION: assertion failure at mypage.apple.com
18857 in WebCore::TimerBase::nextFireInterval() const + 100 (Timer.cpp:188)
18859 Test: fast/dom/Window/redirect-with-timer.html
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
18869 2006-02-24 Graham Dennis <Graham.Dennis@gmail.com>
18871 <http://bugs.webkit.org/show_bug.cgi?id=7245>
18872 caret does not display at the end of some lines in contenteditable divs
18876 * khtml/html/HTMLElementImpl.cpp:
18877 (WebCore::HTMLElementImpl::setContentEditable):
18879 (WebCore::Frame::applyEditingStyleToElement):
18880 (WebCore::Frame::removeEditingStyleFromElement):
18882 2006-02-24 Eric Seidel <eseidel@apple.com>
18886 Move dom_qname to QualifiedName and dom_atomicstringlist to AtomicStringList.
18888 * WebCore+SVG/KDOMHeaders.h:
18889 * WebCore.vcproj/WebCore/WebCore.vcproj:
18890 * WebCore.xcodeproj/project.pbxproj:
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
18906 2006-02-24 Eric Seidel <eseidel@apple.com>
18910 Made a few methods on frame pure virtual.
18911 Added a bunch of stub functions for win32 linking.
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:
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):
18948 2006-02-24 Sam Weinig <sam.weinig@gmail.com>
18950 Reviewed by Hyatt, tweaked and landed by ggaren.
18952 - fix http://bugs.webkit.org/show_bug.cgi?id=5146
18953 max-height/max-width not resizing images with correct aspect ratio
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).
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
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:
18983 2006-02-24 Vicki Murley <vicki@apple.com>
18985 - add missing resources for manual-tests/scrolling-nestedframesets.html
18987 * manual-tests/resources/testframe-link_text.html: Added.
18988 * manual-tests/resources/testframeset.html: Added.
18990 2006-02-24 Vicki Murley <vicki@apple.com>
18992 - test case for <rdar://problem/4394910> calling Javascript window.close() does not trigger onbeforeunload event
18994 * manual-tests/onbeforeunload-close_with_javascript.html: Added.
18996 2006-02-24 Eric Seidel <eseidel@apple.com>
19000 Add Path stubs for Win32 build.
19002 * WebCore.vcproj/WebCore/WebCore.vcproj:
19003 * platform/win/TemporaryLinkStubs.cpp:
19009 (Path::boundingRect):
19011 2006-02-24 David Hyatt <hyatt@apple.com>
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()).
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):
19085 2006-02-24 Maciej Stachowiak <mjs@apple.com>
19089 - add link stubs for symbols only referenced from the link stubs file
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):
19112 2006-02-24 Maciej Stachowiak <mjs@apple.com>
19114 Rubber stamped by Eric.
19116 - fix up font.h inclues to be Font.h to fix build.
19118 * css/css_computedstyle.cpp:
19119 * css/css_valueimpl.cpp:
19120 * platform/Font.cpp:
19121 * rendering/render_style.h:
19123 2006-02-24 Eric Seidel <eseidel@apple.com>
19127 Fix mac build by changing constants to an enum.
19129 * khtml/dom/dom2_events.h:
19130 (DOM::KeyboardEvent::):
19132 2006-02-24 David Hyatt <hyatt@apple.com>
19134 Move rendering/font to platform/Font.
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:
19146 2006-02-24 Eric Seidel <eseidel@apple.com>
19150 Remove delcarations causing duplicate symbols on win32.
19152 * khtml/dom/dom2_events.cpp:
19154 2006-02-24 Eric Seidel <eseidel@apple.com>
19156 * bridge/win/FrameWin.cpp: fix line endings
19158 2006-02-24 Eric Seidel <eseidel@apple.com>
19162 Removed WebCore:: prefixes added using namespace WebCore, fixes win32 build.
19164 * platform/win/TemporaryLinkStubs.cpp:
19166 (Widget::enableFlushDrawing):
19167 (QPainter::drawHighlightForText):
19168 (QTextEdit::textWithHardLineBreaks):
19169 (QPainter::setPen):
19170 (QPainter::selectedTextBackgroundColor):
19171 (QPainter::fontMetrics):
19173 (QLineEdit::setWritingDirection):
19174 (KWQFileButton::sizeForCharacterWidth):
19175 (QTextEdit::sizeWithColumnsAndRows):
19177 (QPainter::misspellingLineThickness):
19178 (westResizeCursor):
19179 (Widget::isEnabled):
19180 (northWestResizeCursor):
19181 (QPainter::drawEllipse):
19182 (southWestResizeCursor):
19183 (Widget::focusPolicy):
19185 (QPainter::endTransparencyLayer):
19186 (ScrollView::addChild):
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):
19206 (Widget::setIsSelected):
19209 (Widget::unlockDrawingFocus):
19210 (QPainter::paintingDisabled):
19211 (northResizeCursor):
19212 (Widget::lockDrawingFocus):
19213 (QPainter::drawLine):
19214 (QPainter::setBrush):
19215 (QPainter::drawText):
19216 (QLineEdit::sizeForCharacterWidth):
19218 (QFontMetrics::selectionRectForText):
19219 (southResizeCursor):
19221 (FrameView::isFrameView):
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):
19235 (QPainter::drawImageInRect):
19236 (Widget::disableFlushDrawing):
19237 (QPainter::initFocusRing):
19238 (QPainter::drawLineForMisspelling):
19239 (QComboBox::frameGeometry):
19240 (QListBox::setWritingDirection):
19241 (ScrollView::updateContents):
19243 2006-02-24 Darin Adler <darin@apple.com>
19247 - moved QScrollView from kwq to platform directory
19249 * kwq/KWQScrollView.h: Removed.
19250 * kwq/KWQScrollView.mm: Removed.
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.
19256 * WebCore.xcodeproj/project.pbxproj: Updated.
19257 * WebCore.vcproj/WebCore/WebCore.vcproj: Ditto.
19258 * platform/win/TemporaryLinkStubs.cpp: Updated.
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.
19267 * khtml/ecma/kjs_html.cpp: (KJS::HTMLElement::bodySetter):
19268 Use FrameView instead of QScrollView for a local variable.
19270 * khtml/html/html_baseimpl.h: Use ScrollBarMode instead of
19271 QScrollView::ScrollBarMode.
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.
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.
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.
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.
19304 * rendering/render_layer.cpp:
19305 (WebCore::RenderLayer::scrollRectToVisible): Use FrameView instead of QScrollView.
19306 (WebCore::RenderLayer::setHasHorizontalScrollbar): Ditto.
19307 (WebCore::RenderLayer::setHasVerticalScrollbar): Ditto.
19309 2006-02-24 Eric Seidel <eseidel@apple.com>
19311 Reviewed by anders.
19313 Fix the win32 build.
19316 (WebCore::Frame::adjustPageHeight):
19317 (WebCore::Frame::forceLayoutWithPageWidthRange):
19319 2006-02-23 David Hyatt <hyatt@apple.com>
19321 Rename FontDef to FontDescription and move it into the platform directory.
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):
19399 2006-02-23 Maciej Stachowiak <mjs@apple.com>
19401 - fix build by making some pointless changes to files that Xcode doesn't
19404 * bindings/js/JSDOMCore.cpp:
19405 * bindings/js/JSDOMEvents.cpp:
19407 * dom/WheelEvent.idl:
19409 - add -Y 3 flag to linking; this makes the linker say what files reference
19412 * WebCore.xcodeproj/project.pbxproj:
19414 2006-02-23 Darin Adler <darin@apple.com>
19416 - try to fix Windows build
19418 * platform/win/TemporaryLinkStubs.cpp: Removed childX/Y stubs.
19420 2006-02-23 Darin Adler <darin@apple.com>
19422 - try to fix Windows build
19424 * platform/win/TemporaryLinkStubs.cpp: Removed QPalette-related stubs.
19426 - remove unused forwarding headers
19428 * ForwardingHeaders/kurl.h: Removed.
19429 * ForwardingHeaders/qlist.h: Removed.
19430 * ForwardingHeaders/qregion.h: Removed.
19431 * ForwardingHeaders/qsortedlist.h: Removed.
19433 2006-02-23 Darin Adler <darin@apple.com>
19435 Reviewed by Maciej.
19437 - removed QPalette, QRegion, QPrinter
19438 - added Path to replace QRegion
19439 - removed unused QScrollView functions
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.
19448 * platform/Path.h: Added. Replaces QRegion.
19449 * platform/cg: Added.
19450 * platform/cg/PathCG.cpp: Added.
19452 * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for file changes.
19453 * WebCore.xcodeproj/project.pbxproj: Ditto.
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.
19470 * kwq/KWQScrollView.h: Removed viewport(), hasVerticalScrollBar(),
19471 hasHorizontalScrollBar(), childX(), childY().
19472 * kwq/KWQScrollView.mm: Ditto.
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):
19479 * platform/Widget.h:
19480 * platform/mac/WidgetMac.mm: Removed palette() and setPalette().
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.
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.
19492 * rendering/render_replaced.cpp: (WebCore::RenderWidget::paint):
19493 Removed use of childX and childY functions.
19495 2006-02-23 Maciej Stachowiak <mjs@apple.com>
19499 - add KURL to windows build and fix its compile issues
19500 http://bugs.webkit.org/show_bug.cgi?id=7439
19502 * WebCore.vcproj/WebCore/WebCore.vcproj:
19503 * platform/KURL.cpp:
19505 2006-02-23 Maciej Stachowiak <mjs@apple.com>
19507 - fix build (header name changed)
19509 * platform/mac/KURLMac.mm:
19511 2006-02-23 Maciej Stachowiak <mjs@apple.com>
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
19518 This gets rid of a couple hundred link errors.
19520 * WebCore.vcproj/WebCore/WebCore.vcproj:
19521 * kwq/KWQFontMetrics.h:
19523 (KWQSignal::KWQSignal):
19524 * platform/win/TemporaryLinkStubs.cpp: Added.
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):
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):
19663 (QLineEdit::edited):
19664 (WebCore::QPainter::drawTiledImage):
19665 (WebCore::QPainter::clearFocusRing):
19666 (WebCore::Widget::Widget):
19668 (WebCore::QPainter::drawImageInRect):
19669 (WebCore::Widget::disableFlushDrawing):
19670 (WebCore::QPainter::initFocusRing):
19671 (QSlider::setMinValue):
19672 (QTextEdit::setWordWrap):
19673 (WebCore::QPainter::drawLineForMisspelling):
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):
19685 2006-02-23 Maciej Stachowiak <mjs@apple.com>
19689 - Move KURL from kwq to platform, make portable
19690 http://bugs.webkit.org/show_bug.cgi?id=7437
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:
19713 * platform/KURL.cpp: Added.
19714 (KURL::decode_string):
19715 (encodeRelativeString):
19716 * platform/KURL.h: Added.
19717 * platform/mac/KURLMac.mm: Added.
19719 * xml/xmlhttprequest.h:
19721 2006-02-23 Darin Adler <darin@apple.com>
19723 Reviewed by John Sullivan.
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
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.
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.
19762 * WebCore.xcodeproj/project.pbxproj: Updated for above changes.
19763 * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for above changes.
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.
19782 * css/csshelper.h: Removed a bunch of unused declarations.
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.
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.
19797 * dom/dom2_eventsimpl.h:
19798 * dom/dom2_eventsimpl.cpp:
19799 (WebCore::KeyboardEventImpl::KeyboardEventImpl): Changed to use KeyEvent.
19800 (WebCore::KeyboardEventImpl::charCode): Ditto.
19802 * dom/dom_elementimpl.h: Removed unused mouseEventHandler function.
19804 * khtml/ecma/domparser.h: Use RefPtr instead of QGuardedPtr to hold the reference
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.
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
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.
19851 * khtml/html/html_baseimpl.h: Forward-declare Length instead of including khtmllayout.h.
19852 * khtml/html/html_imageimpl.h: Ditto.
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.
19859 * khtml/html/htmltokenizer.cpp: (WebCore::HTMLTokenizer::timerFired): Change to use
19860 a RefPtr instead of a QGuardedPtr.
19862 * khtml/misc/helper.h:
19863 * khtml/misc/helper.cpp: Removed printpainter and setPrintPainter.
19865 * ksvg2/svg/SVGDocumentImpl.h:
19866 * ksvg2/svg/SVGDocumentImpl.cpp: (WebCore::SVGDocumentImpl::dispatchKeyEvent):
19867 Change to use KeyEvent.
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.
19888 * kwq/KWQNamespace.h: Removed ButtonState.
19891 * kwq/KWQObject.cpp: Replaced eventFilter function with eventFilterFocusIn and
19892 eventFilterFocusOut, allowing us to remove QEvent. Removed event function.
19895 (KWQSlot::KWQSlot): Removed the parentDestroyed slot.
19896 (KWQSlot::call): Ditto.
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
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.
19933 * page/FramePrivate.h: Added m_userStyleSheetLoader.
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
19948 (WebCore::FrameView::hoverTimerFired): Update for change to prepareMouseEvent
19951 * platform/Widget.h:
19952 * platform/Widget.cpp: Removed event function.
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
19961 (WebCore::RenderSelect::slotSelected): Ditto.
19962 (WebCore::RenderSelect::createComboBox): Ditto.
19964 * rendering/render_replaced.h:
19965 * rendering/render_replaced.cpp:
19966 (WebCore::RenderWidget::destroy): Updated since removeEventFilter no longer takes
19968 (WebCore::RenderWidget::setQWidget): Ditto.
19969 (WebCore::RenderWidget::eventFilterFocusIn): Added. Replaces eventFilter.
19970 (WebCore::RenderWidget::eventFilterFocusOut): Ditto.
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.
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:
20089 * kwq/KWQFontMetrics.mm:
20090 * kwq/KWQKJobClasses.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:
20106 * bindings/js/JSDOMCore.cpp: Touched, because I got strange failures if this
20108 * bindings/js/JSDOMEvents.cpp: Ditto.
20110 2006-02-23 Eric Seidel <eseidel@apple.com>
20114 Fix linking of static constructed globals on win32.
20116 * WebCore.vcproj/WebCore/WebCore.vcproj:
20118 * dom/EventNames.cpp:
20119 (WebCore::EventNames::init):
20120 * dom/EventNames.h:
20121 * dom/dom_qname.cpp:
20122 (WebCore::QualifiedName::init):
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.
20131 2006-02-23 Vicki Murley <vicki@apple.com>
20133 Reviewed by Tim Omernick.
20135 - fix <rdar://problem/4394910> calling Javascript window.close() does not trigger onbeforeunload event
20137 Check shouldClose() before actually scheduling a close.
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.
20146 * bridge/mac/MacFrame.mm:
20147 (WebCore::MacFrame::scheduleClose): add a check for shouldClose()
20149 2006-02-23 Vicki Murley <vicki@apple.com>
20153 - fix <rdar://problem/4456004> onbeforeunload should cancel, and
20154 <rdar://problem/4453579> REGRESSION (TOT): onbeforeunload is broken (7421)
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
20165 2006-02-22 Eric Seidel <eseidel@apple.com>
20169 Adding stub FrameWin class to expose link errors.
20171 * WebCore.vcproj/WebCore/WebCore.vcproj:
20172 * bridge/win/FrameWin.cpp: Added.
20173 * bridge/win/FrameWin.h: Added.
20176 2006-02-22 Maciej Stachowiak <mjs@apple.com>
20180 - move QStringList to platform, make it portable
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:
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):
20228 2006-02-21 Adele Peterson <adele@apple.com>
20233 * fast/forms/input-baseline.html
20234 * fast/inline-block/contenteditable-baseline.html
20236 - Fixed http://bugs.webkit.org/show_bug.cgi?id=7330
20237 baselinePosition is wrong for new text field when empty
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.
20243 2006-02-21 Vicki Murley <vicki@apple.com>
20247 - fix http://bugs.webkit.org/show_bug.cgi?id=7363
20248 REGRESSION (r12872): Repro crash when clicking the Quick Reply box in Gmail
20250 Add a nil check for the renderer, and refetch the renderer for the old focus node
20251 after dispatching the event.
20253 * dom/DocumentImpl.cpp:
20254 (WebCore::DocumentImpl::setFocusNode):
20256 2006-02-21 Maciej Stachowiak <mjs@apple.com>
20258 Rubber Stamped by Hyatt.
20260 - renamed STATIC, FIXED, RELATIVE, ABSOLUTE to StaticPosition, FixedPosition, etc
20262 This avoids conflicting with win32 headers.
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:
20292 (khtml::RenderStyle::initialPosition):
20294 2006-02-21 Maciej Stachowiak <mjs@apple.com>
20296 Rubber Stamped by Hyatt.
20298 - remove KWQSignalStubs.cpp from project.
20300 * WebCore.vcproj/WebCore/WebCore.vcproj:
20302 2006-02-21 Maciej Stachowiak <mjs@apple.com>
20304 Platform build fix, not reviewed.
20306 - undef min and max, and include <algorithm> so std::min works
20308 * rendering/font.h:
20310 2006-02-20 Maciej Stachowiak <mjs@apple.com>
20312 Reviewed by Geoff and Darin.
20314 Patch from Maks Orlovich, based on work by David Faure, hand-applied and
20315 significantly reworked by me.
20317 - Patch: give internal function names (KJS merge)
20318 http://bugs.webkit.org/show_bug.cgi?id=6279
20320 * khtml/ecma/kjs_binding.h:
20321 * khtml/ecma/kjs_html.cpp:
20322 (KJS::HTMLElementFunction::HTMLElementFunction):
20323 * kwq/WebCoreScriptDebugger.mm:
20324 (-[WebCoreScriptCallFrame functionName]):
20326 2006-02-20 Darin Adler <darin@apple.com>
20330 - fix http://bugs.webkit.org/show_bug.cgi?id=7331
20331 CSS parser leaks when parsing incorrect CSS
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
20350 (WebCore::StyleListImpl::insert): Added. Calls insertedIntoParent.
20351 (WebCore::StyleListImpl::remove): Added.
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.
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.
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
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().
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.
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.
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
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.
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.
20475 - fixed another leak found by run-webkit-leaks --leaks
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.
20480 - updated other code to use new Vector insert and remove
20482 * khtml/html/HTMLFormElementImpl.cpp:
20483 (WebCore::removeFromVector): Changed to use Vector's remove.
20484 (WebCore::HTMLFormElementImpl::registerFormElement): Changed to use Vector's insert.
20486 2006-02-20 Darin Adler <darin@apple.com>
20488 Collaborated with Graham Dennis <Graham.Dennis@gmail.com> on this.
20490 - fix http://bugs.webkit.org/show_bug.cgi?id=6831
20491 contentEditable outline darkens as caret moves
20493 Test: editing/selection/move-by-character-6.html
20495 The trick was to draw the focus ring clipped to a list of rectangles instead
20496 of clipped to exactly one.
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.
20510 * kwq/WebCoreGraphicsBridge.h:
20511 * kwq/WebCoreGraphicsBridge.m:
20512 (-[WebCoreGraphicsBridge drawFocusRingWithPath:radius:color:]):
20513 Replaced setFocusRingStyle: method with this one.
20515 * rendering/render_flow.cpp: (WebCore::RenderFlow::paintFocusRing):
20516 * rendering/render_object.cpp: (WebCore::RenderObject::paintOutline):
20517 Pass color to drawFocusRing instead of initFocusRing.
20519 - fixed message on exit from the other patch I just landed
20521 * platform/mac/CursorMac.mm:
20522 (WebCore::leakNamedCursor): Renamed and made this leak intentionally.
20524 2006-02-20 Darin Adler <darin@apple.com>
20528 - moved Cursor into the platform directory from KWQ
20529 - removed a lot of other unneeded stuff from KWQ
20531 * platform/Cursor.h: Added.
20532 * platform/mac/CursorMac.mm: Added.
20533 * platform/mac/CursorWin.cpp: Added.
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.
20545 * ForwardingHeaders/kcursor.h: Removed.
20546 * ForwardingHeaders/kdebug.h: Removed.
20547 * ForwardingHeaders/qbuffer.h: Removed.
20549 * kwq/KWQEvent.h: Removed unused constants and types QCustomEvent,
20550 QFocusEvent, QHideEvent, QShowEvent, QContextMenuEvent, and QResizeEvent.
20552 * kwq/KWQLoader.h: Removed KWQLoader class since signals are no longer needed.
20553 * kwq/KWQLoader.mm: Ditto.
20555 * kwq/KWQNamespace.h: Removed DontClip, ShowPrefix, WordBreak, LayoutDirection,
20556 LeftToRight, RightToLeft, RasterOp, CopyROP, OrROP, and XorROP.
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.
20566 * kwq/KWQPainter.h: Removed rasterOp and setRasterOp.
20567 * kwq/KWQPainter.mm: Ditto.
20570 * kwq/KWQSignal.cpp: (KWQSignal::disconnect): Removed special cases for
20571 various signals; all are now using plain function calls instead.
20574 * kwq/KWQSlot.cpp: Removed slots that are no longer needed because they
20575 are using plain function calls instead of signals.
20577 * WebCore.vcproj/WebCore/WebCore.vcproj:
20578 * WebCore.xcodeproj/project.pbxproj:
20579 Updated for changed files.
20581 * bridge/mac/FrameViewMac.mm: Moved the contents of KWQKHTMLView.cpp in here.
20582 * bridge/mac/KWQKHTMLView.cpp: Removed.
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().
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.
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.
20605 * khtml/html/htmlparser.h:
20606 * khtml/html/htmlparser.cpp: Moved the parser inside the WebCore namespace.
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.
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.
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.
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.
20644 * loader/DocLoader.cpp: (WebCore::DocLoader::setLoadInProgress): Added a call
20645 to loadDone on the frame. Replaces the requestFailed and requestDone signals.
20647 * loader/DocLoader.h: Removed include of <qbuffer.h>.
20649 * loader/Request.h:
20650 * loader/Request.cpp: Updated to use ByteArray instead of QBuffer.
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.
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.
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
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
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.
20713 * page/FramePrivate.h: Removed m_activeFrame and changed m_kjsStatusBarText and
20714 m_kjsDefaultStatusBarText to String from QString.
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.
20731 * platform/Widget.h: Changed to Cursor from QCursor.
20732 * platform/mac/WidgetMac.mm: (WebCore::Widget::setCursor): Ditto.
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.
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.
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.
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.
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.
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>.
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.
20838 2006-02-20 Maciej Stachowiak <mjs@apple.com>
20842 - port QString to win32
20844 * WebCore.vcproj/WebCore/WebCore.vcproj:
20845 * platform/QString.cpp:
20850 2006-02-20 Eric Seidel <eseidel@apple.com>
20854 <rdar://problem/4449442> GMAIL: XMLHttpRequest does not correctly report "Interactive" state on receipt of load data
20855 Also cleaned up spacing a little.
20857 No layout test possible (local loads are non incremental).
20859 * xml/xmlhttprequest.cpp:
20860 (WebCore::XMLHttpRequest::changeState):
20861 (WebCore::XMLHttpRequest::slotData):
20863 2006-02-20 Darin Adler <darin@apple.com>
20865 Reviewed by Maciej.
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
20870 Timers were stopping firing after a while.
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.
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.
20883 2006-02-19 Darin Adler <darin@apple.com>
20885 Reviewed by Maciej.
20887 - cut out a little unneeded bridge code
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.
20901 * bridge/mac/WebCorePageBridge.h: Added outerView method to replace webView method
20902 on the frame bridge.
20904 * bridge/mac/BrowserExtensionMac.mm: (WebCore::BrowserExtensionMac::createNewWindow):
20905 Update to use a page bridge instead of frame bridge.
20907 2006-02-19 Maciej Stachowiak <mjs@apple.com>
20909 Rubber-stamped by Anders.
20911 - renamed ERROR to LOG_ERROR because some operating systems define ERROR in a system header
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):
20951 * kwq/KWQSignal.cpp:
20952 (KWQSignal::connect):
20953 (KWQSignal::disconnect):
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:]):
20964 (WebCore::Frame::paint):
20966 2006-02-17 Maciej Stachowiak <mjs@apple.com>
20968 Reviewed by Dave Hyatt.
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:
20982 2006-02-18 Alexander Kellett <lypanov@kde.org>
20984 Reviewed by Maciej.
20986 - Fix http://bugs.webkit.org/show_bug.cgi?id=7199.
20989 svg/custom/text-gradient-no-content.svg
20991 * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
20992 (WebCore::KRenderingPaintServerGradientQuartz::teardown):
20994 2006-02-18 David Harrison <harrison@apple.com>
20998 <rdar://problem/4448212> _accessibilityTableCell please remove this.
21000 Remove override of a defamed AX method.
21002 * kwq/KWQListBox.mm:
21003 Dump _accessibilityTableCell.
21005 2006-02-17 Mitz Pettel <opendarwin.org@mitzpettel.com>
21007 Test: fast/css/ex-after-font-variant.html
21011 - fix http://bugs.webkit.org/show_bug.cgi?id=4227
21012 The ex unit doesn't work for font-variant: small-caps
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.
21018 2006-02-17 Adele Peterson <adele@apple.com>
21022 Adding isEdited/setEdited hooks so onChange will fire for the new text fields.
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):
21033 2006-02-17 Vicki Murley <vicki@apple.com>
21035 Reviewed by Justin.
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().
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
21047 Test case is on the way.
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.
21070 2006-02-17 Mitz Pettel <opendarwin.org@mitzpettel.com>
21072 Test: fast/parser/nofoo-tags-inside-paragraph.html
21074 Reviewed by Anders Carlsson.
21076 - fix http://bugs.webkit.org/show_bug.cgi?id=7265
21077 REGRESSION: noscript, noframes, nolayer, noembed tags insert break inside paragraph tag
21079 * khtml/html/htmlparser.cpp:
21080 (HTMLParser::isInline): Treat noframes, nolayer, noembed and skipped noscript
21081 as inline elements.
21083 2006-02-17 Mitz Pettel <opendarwin.org@mitzpettel.com>
21087 - fix http://bugs.webkit.org/show_bug.cgi?id=7235
21088 Pure CSS Tooltips method renders wrong and creates artifacts
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.
21096 2006-02-17 Mitz Pettel <opendarwin.org@mitzpettel.com>
21098 Test: fast/css/universal-hover-quirk.html
21100 Reviewed by Maciej.
21102 - fix http://bugs.webkit.org/show_bug.cgi?id=7218
21103 Text underlined on mouse over
21105 * css/cssstyleselector.cpp:
21106 (WebCore::CSSStyleSelector::checkOneSelector): Prevent *:hover and *:active
21107 from matching anything in quirks mode.
21109 2006-02-17 Mitz Pettel <opendarwin.org@mitzpettel.com>
21111 Test: fast/text/whitespace/pre-wrap-spaces-after-newline.html
21113 Reviewed by Dave Hyatt.
21115 - fix http://bugs.webkit.org/show_bug.cgi?id=7216
21116 white-space: pre-wrap collapses leading whitespace following a newline
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.
21125 2006-02-16 Tim Omernick <timo@apple.com>
21129 <rdar://problem/4193286> enabledPlugin returns a non-NULL object even when plugins are
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.
21137 2006-02-16 Darin Adler <darin@apple.com>
21139 Reviewed by Eric and Justin.
21141 - fix http://bugs.webkit.org/show_bug.cgi?id=7310
21142 fix leaks by using RefPtr more
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):
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):
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):
21584 2006-02-16 David Harrison <harrison@apple.com>
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.
21593 * rendering/render_frames.cpp:
21594 (WebCore::RenderPartObject::updateWidget):
21595 Fix unique param check when processing object tag attributes.
21597 2006-02-16 Adele Peterson <adele@apple.com>
21601 - Fixed http://bugs.webkit.org/show_bug.cgi?id=7113
21602 Typing in editable overflow:hidden div doesn't scroll
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.
21613 2006-02-16 Adele Peterson <adele@apple.com>
21617 - Fixed http://bugs.webkit.org/show_bug.cgi?id=6812
21618 Missing focus ring on new text fields
21621 * fast/forms/input-appearance-focus.html: Updated.
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:
21629 2006-02-16 Darin Adler <darin@apple.com>
21633 - eliminate QFrame and QObject::inherits, fix some strange stuff
21634 in RenderCanvas that showed up when I tested that change
21636 * kwq/KWQFrame.h: Removed.
21637 * kwq/KWQFrame.mm: Removed.
21639 * bridge/mac/FrameViewMac.mm: Added.
21641 * WebCore.xcodeproj/project.pbxproj: Updated for adds and removes.
21642 * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for removes.
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:
21654 (WebCore::isFrameElement):
21655 * page/FramePrivate.h:
21656 (WebCore::FramePrivate::FramePrivate):
21657 Change QObject::inherits callers to call the "is" functions directly.
21660 * kwq/KWQObject.cpp: Removed QObject::inherits, QObject::isQFrame,
21661 and QObject::isQScrollView.
21663 * kwq/KWQScrollView.h: Inherit from Widget instead of QFrame.
21664 Remove isQScrollView.
21665 * kwq/KWQScrollView.mm: Remove isQScrollView.
21667 * page/FrameView.h:
21668 * page/FrameView.cpp: Changed underMouse and clickNode to be RefPtr.
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.
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
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
21701 * rendering/render_frames.cpp:
21702 (WebCore::RenderFrame::slotViewCleared): Use new setHasBorder.
21703 (WebCore::RenderPartObject::slotViewCleared): Ditto.
21705 2006-02-17 Eric Seidel <eseidel@apple.com>
21707 Reviewed by justing.
21709 Close several age-old leaks in xslt code.
21710 Tests already were catching these.
21712 * khtml/xsl/xsl_stylesheetimpl.cpp:
21713 (WebCore::XSLStyleSheetImpl::loadChildSheets):
21714 (WebCore::XSLStyleSheetImpl::locateStylesheetSubResource):
21715 * khtml/xsl/xslt_processorimpl.cpp:
21716 (WebCore::docLoaderFunc):
21718 2006-02-16 Tim Omernick <timo@apple.com>
21722 <rdar://problem/4428609> Flash Player 8.0.22 can crash Safari (and WebKit apps)
21723 with javascript disabled (7015)
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.
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
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.
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.
21748 2006-02-16 Mitz Pettel <opendarwin.org@mitzpettel.com>
21750 Reviewed by Darin, landed by ap.
21752 - fix http://bugs.webkit.org/show_bug.cgi?id=7274
21753 Assertion failure in TimerBase::checkHeapIndex() (Timer.cpp:199) !timerHeap->isEmpty()
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.
21759 2006-02-15 Geoffrey Garen <ggaren@apple.com>
21761 Reviewed by Maciej, Eric.
21763 - WebCore half of fix for <rdar://problem/4176077> CrashTracer: 6569
21764 crashes in DashboardClient at com.apple.JavaScriptCore:
21765 KJS::Bindings::ObjcFallbackObjectImp::type()
21767 WebCore and JavaScriptCore weren't sharing Instance objects very
21768 nicely. I made them use RefPtrs, and sent them to bed without dessert.
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:
21788 2006-02-15 Geoffrey Garen <ggaren@apple.com>
21792 - Fixed http://bugs.webkit.org/show_bug.cgi?id=4674
21793 LEAK: WheelEventImpl leaked when mousewheel used
21795 No test case because it requires manual mouse wheeling.
21797 * dom/NodeImpl.cpp:
21798 (WebCore::NodeImpl::dispatchWheelEvent): Use a RefPtr instead of just
21799 leaking the WheelEventImpl.
21801 2006-02-15 Dave Hyatt <hyatt@apple.com>
21803 Make FontFamily compile on Win32 (just needed a few more
21806 Clean up the frameBufferAtIndex method of the image decoders
21809 * WebCore.vcproj/WebCore/WebCore.vcproj:
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:
21828 2006-02-15 David Hyatt <hyatt@apple.com>
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).
21835 * WebCore.xcodeproj/project.pbxproj:
21836 * css/cssstyleselector.cpp:
21837 (WebCore::CSSStyleSelector::applyProperty):
21839 (QFont::firstFamily):
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):
21862 (WebCore::FontFamily::getNSFamily):
21863 * rendering/font.h:
21864 (khtml::FontDef::firstFamily):
21866 2006-02-15 Oliver Hunt <ojh16@student.canterbury.ac.nz>
21868 Reviewed by eseidel. Landed by eseidel.
21870 Implemented feDisplacementMap.
21871 http://bugs.webkit.org/show_bug.cgi?id=5862
21873 Test: svg/custom/feDisplacementMap-01.svg
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:
21913 2006-02-15 Eric Seidel <eseidel@apple.com>
21917 Commit change forgotten after editing directory move.
21919 * editing/markup.cpp:
21920 (khtml::startMarkup): add support for serializing DOCTYPEs in xml
21922 2006-02-15 Alexey Proskuryakov <ap@nypop.com>
21924 Reviewed by Maciej.
21926 - fix http://bugs.webkit.org/show_bug.cgi?id=6452
21927 KURL::appendEscapingBadChars() doesn't know about %u-escaping.
21929 Test case: fast/encoding/percent-escaping.html
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.
21936 2006-02-14 Eric Seidel <eseidel@apple.com>
21938 Fix build failure from last minute edit.
21940 * khtml/xsl/xsl_stylesheetimpl.cpp:
21941 (WebCore::XSLStyleSheetImpl::parseString):
21943 2006-02-14 Eric Seidel <eseidel@apple.com>
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
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
21992 2006-02-14 Adele Peterson <adele@apple.com>
21994 Reviewed by Maciej.
21996 http://bugs.webkit.org/show_bug.cgi?id=6815
21997 Calculate correct width for new text fields
22000 fast/forms/input-appearance-width.html
22001 fast/forms/input-appearance-minWidth.html
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.
22016 2006-02-14 John Sullivan <sullivan@apple.com>
22018 Reviewed by Tim Hatcher.
22020 removed -[DOMHTMLSelectElement _optionLabels], formerly used only by Safari, now unused.
22022 * bindings/objc/DOMHTML.mm:
22023 * bindings/objc/DOMPrivate.h:
22025 2006-02-14 Timothy Hatcher <timothy@apple.com>
22027 Reviewed by Justin.
22029 Fixed <rdar://problem/4415050> STD: WebCore build steps use echo -n, which will change
22030 behavior due to POSIX version of sh
22032 * WebCore.xcodeproj/project.pbxproj: removed the use of echo -n, replaced with printf ""
22034 2006-02-14 Darin Adler <darin@apple.com>
22036 Rubber-stamped by Eric.
22038 - moved editing sources from khtml/editing to editing, and renamed files with single classes
22040 * WebCore.xcodeproj/project.pbxproj: Added new, removed old.
22041 * WebCore.vcproj/WebCore/WebCore.vcproj: Ditto.
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:
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:
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.
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.
22266 2006-02-14 John Sullivan <sullivan@apple.com>
22268 Reviewed by Adele Peterson.
22270 - fixed http://bugs.webkit.org/show_bug.cgi?id=7255
22271 label attribute in option elements is ignored
22274 * dom/html/level2/html/HTMLOptionElement_label01.html
22275 * dom/html/level2/html/HTMLOptionElement_label02.html
22276 * dom/html/level2/html/HTMLOptionElement_label03.html
22278 * rendering/render_form.cpp:
22279 (WebCore::RenderSelect::updateFromElement):
22280 use label attribute, if present, when setting text on the widget.
22282 2006-02-14 Vicki Murley <vicki@apple.com>
22284 Reviewed by Maciej.
22286 Change formatting in this file to match the style guidelines. No spaces after
22287 opening parentheses or before closing parentheses.
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):
22310 2006-02-14 John Sullivan <sullivan@apple.com>
22312 Reviewed by Tim Hatcher.
22314 Some cleanup from the previous checkin, inspired by Darin's comments
22316 * bridge/mac/MacFrame.h:
22317 * bridge/mac/MacFrame.mm:
22318 moved highlightAllMatchesForString out of here
22320 * bridge/mac/WebCoreFrameBridge.mm:
22321 (-[WebCoreFrameBridge highlightAllMatchesForString:caseSensitive:]):
22322 now converts NSString to QString here, rather than in Frame/MacFrame
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
22330 * dom/DocumentImpl.h:
22331 moved DocumentMarker out; now includes DocumentMarker.h
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.
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
22349 * WebCore.xcodeproj/project.pbxproj:
22350 updated for new file
22352 2006-02-13 John Sullivan <sullivan@apple.com>
22354 Reviewed by Tim Omernick.
22356 Support for highlighting multiple text matches.
22358 * dom/DocumentImpl.h:
22359 (WebCore::DocumentMarker::):
22360 Added new marker type TextMatch
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
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
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
22388 2006-02-13 Darin Adler <darin@apple.com>
22390 Reviewed by Maciej.
22392 - move pointer from frame to page here from WebKit
22394 * WebCore.xcodeproj/project.pbxproj: Added PageMac.h.
22396 * bridge/mac/PageMac.h: Added.
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.
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.
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.
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".
22445 * page/Frame.h: Added Page and RenderPart parameter to constructor.
22446 Added a page function. Removed the createBrowserExtension function.
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.
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.
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.
22470 (WebCore::Page::Page): Removed the mainFrame parameter.
22471 (WebCore::Page::setMainFrame): Added.
22473 2006-02-13 David Harrison <harrison@apple.com>
22475 Reviewed by Justin.
22477 - merge VisiblePosition:isCandidate() into Position::inRenderedContent()
22478 These functions were answering the same question in different ways! We
22479 only need one implementation.
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):
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
22497 * khtml/editing/htmlediting.cpp:
22498 (WebCore::isFirstVisiblePositionAfterTableElement):
22499 simpler implementation
22500 (WebCore::positionBeforePrecedingTableElement):
22501 simpler implementation
22502 (WebCore::isFirstVisiblePositionBeforeTableElement):
22504 (WebCore::positionAfterFollowingTableElement):
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
22534 2006-02-13 David Hyatt <hyatt@apple.com>
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.
22541 Adding xslt-import-depth.xml to fast/xsl
22543 * khtml/xsl/xsl_stylesheetimpl.cpp:
22544 (DOM::XSLStyleSheetImpl::XSLStyleSheetImpl):
22546 2006-02-13 Dave Hyatt <hyatt@apple.com>
22548 Fix Win32 bustage in WebCore.
22552 * WebCore.vcproj/WebCore/WebCore.vcproj:
22553 * platform/Timer.cpp:
22554 (WebCore::operator==):
22555 (WebCore::operator!=):
22556 (WebCore::TimerBase::heapPop):
22558 HUGE_VAL can be used on both Windows and Mac, so replace 1e500 with
22561 Add == and != operators for the TimerHeapIterator.
22563 * platform/image-decoders/png/PNGImageDecoder.cpp:
22564 (WebCore::PNGImageDecoder::rowAvailable):
22566 Fix my bustage in the PNG decoder where I left off a stray
22569 * platform/win/SharedTimerWin.cpp:
22570 (WebCore::timerFired):
22571 (WebCore::setSharedTimerFireTime):
22572 (WebCore::stopSharedTimer):
22574 KillTimer should take 2 arguments. Add some missing includes.
22576 2006-02-12 Alexander Kellett <lypanov@kde.org>
22578 Reviewed by eseidel.
22580 Fix http://bugs.webkit.org/show_bug.cgi?id=7207.
22582 No testcases as this is not possible to reproduce via anything
22583 other than manual interaction.
22585 * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
22586 (WebCore::KCanvasFilterQuartz::getCIFilterStack):
22588 2006-02-13 Darin Adler <darin@apple.com>
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
22596 * ForwardingHeaders/qwidget.h: Removed.
22597 * kwq/KWQWidget.h: Removed.
22598 * kwq/KWQWidget.mm: Removed.
22600 * WebCore.vcproj/WebCore/WebCore.vcproj: Update for file removals and adds.
22601 * WebCore.xcodeproj/project.pbxproj: Ditto.
22603 * platform/Widget.h: Moved code here, fixed it up.
22604 * platform/Widget.cpp: Ditto.
22605 * platform/mac/WidgetMac.mm: Added.
22607 * bindings/objc/DOMHTML.mm:
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):
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:
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):
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]):
22725 * kwq/KWQWindowWidget.h:
22726 * kwq/KWQWindowWidget.mm:
22727 (KWQWindowWidget::topLevelWidget):
22729 (WebCore::isFrameElement):
22730 (WebCore::Frame::frameForWidget):
22731 (WebCore::Frame::nodeForWidget):
22732 (WebCore::Frame::setDocumentFocus):
22733 (WebCore::Frame::clearDocumentFocus):
22734 (WebCore::Frame::passWidgetMouseDownEventToWidget):
22736 * page/FrameView.cpp:
22737 (WebCore::FrameView::FrameView):
22738 (WebCore::FrameView::init):
22739 * page/FrameView.h:
22741 (WebCore::Plugin::Plugin):
22742 (WebCore::Plugin::view):
22743 * platform/Screen.h:
22744 * platform/mac/ScreenMac.mm:
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.
22766 === WebCore-521.7 ===
22768 2006-02-12 Darin Adler <darin@apple.com>
22772 - fix http://bugs.webkit.org/show_bug.cgi?id=7206
22773 REGRESSION: PDF "images" no longer render within HTML pages
22775 Test: fast/replaced/page-as-image.html
22777 * platform/Image.cpp: (WebCore::Image::setNativeData):
22778 Return false in the case where the PDF document has not been created yet.
22780 2006-02-12 Darin Adler <darin@apple.com>
22782 Reviewed by Maciej.
22784 - http://bugs.webkit.org/show_bug.cgi?id=7209
22785 reimplement Timer so it uses only a single timer from the underlying OS
22787 * WebCore.vcproj/WebCore/WebCore.vcproj: Removed old files, added new.
22788 * WebCore.xcodeproj/project.pbxproj: Ditto.
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.
22795 * platform/SharedTimer.h: Added.
22796 * platform/mac/SharedTimerMac.cpp: Added.
22797 * platform/win/SharedTimerWin.cpp: Added.
22799 * platform/mac/TimerMac.cpp: Removed.
22800 * platform/win/TimerWin.cpp: Removed.
22802 2006-02-12 Eric Seidel <eseidel@apple.com>
22806 * loader/CachedXSLStyleSheet.cpp: removed duplicate copy of xbl code.
22808 2006-02-12 Maciej Stachowiak <mjs@apple.com>
22810 Unreviewed build fix.
22814 * bindings/scripts/CodeGeneratorJS.pm: Update for splitting of the
22815 dom_textimpl.h header.
22817 2006-02-11 Maciej Stachowiak <mjs@apple.com>
22821 - rename FrameTreeNode to FrameTree and treeNode() to tree()
22822 http://bugs.webkit.org/show_bug.cgi?id=7210
22824 This may be slightly less accurate, but reads better.
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):
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):
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):
22892 2006-02-12 Dave Hyatt <hyatt@apple.com>
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.
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):
22911 2006-02-11 Geoffrey Garen <ggaren@apple.com>
22913 - Fixed bad free resulting from 0 legnth StringImpl
22915 No test case because currently this bug only has the effect of a bad
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:
22929 2006-02-11 Maciej Stachowiak <mjs@apple.com>
22931 Rubber stamped by Eric.
22933 - split dom_textimpl.{h,cpp} by class.
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:
22984 * rendering/RenderText.h:
22985 * rendering/render_frames.cpp:
22987 2006-02-11 Alexander Kellett <lypanov@kde.org>
22989 Reviewed by eseidel.
22991 - Fixing http://bugs.webkit.org/show_bug.cgi?id=6942
22992 Implement support for "em" and "ex" relative lengths.
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
22998 * ksvg2/svg/SVGLengthImpl.cpp:
22999 (SVGLengthImpl::SVGLengthImpl):
23000 (SVGLengthImpl::value):
23001 (SVGLengthImpl::updateValue):
23002 (SVGLengthImpl::updateValueInSpecifiedUnits):
23003 * ksvg2/svg/SVGLengthImpl.h:
23005 2006-02-11 Darin Adler <darin@apple.com>
23007 Rubber-stamped by Eric.
23009 - renamed all the platform/mac files to have a Mac suffix
23010 (Hyatt and I discussed this change recently)
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.
23040 2006-02-11 Eric Seidel <eseidel@apple.com>
23042 Rubber-stamped by darin.
23044 Push kcanvas into WebCore namespace.
23045 Fix KSVG2 to use WebCore namespace.
23046 Remove all uses of khtml:: and KDOM:: from SVG code.
23048 Too many files changed to bother showing here.
23050 2006-02-11 Mitz Pettel <opendarwin.org@mitzpettel.com>
23052 Test: fast/table/edge-offsets.html
23056 - fix http://bugs.webkit.org/show_bug.cgi?id=7054
23057 Vertical scroll bars do not appear or do not scroll completely
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:
23066 2006-02-11 Mitz Pettel <opendarwin.org@mitzpettel.com>
23068 No test until we figure out how to make one.
23072 - fix http://bugs.webkit.org/show_bug.cgi?id=7189
23073 XSLT result parsing stops prematurely
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.
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.
23083 2006-02-11 Mitz Pettel <opendarwin.org@mitzpettel.com>
23087 - fix http://bugs.webkit.org/show_bug.cgi?id=6821
23088 Fix for 5983 will not always update hover correctly.
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
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:
23113 2006-02-11 Alexey Proskuryakov <ap@nypop.com>
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
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
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:
23132 2006-02-10 Eric Seidel <eseidel@apple.com>
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
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:
23155 2006-02-10 Beth Dakin <bdakin@apple.com>
23159 Fix for <rdar://problem/4149655> Frequently reported crash, repro
23160 at lastminute.se in khtml::RenderBlock::createLineBoxes
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.
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
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.
23183 2006-02-10 Darin Adler <darin@apple.com>
23185 - fixed the build, this time for sure
23187 * bindings/js/JSDOMCore.cpp: Touch this file, since the project doesn't get
23188 the dependencies right.
23189 * bindings/js/JSDOMEvents.cpp: Ditto.
23191 * bridge/mac/WebCoreFrameBridge.mm: (aeDescFromJSValue): Fix an uninitialized
23192 variable warning and also tightened the code for Boolean, String, and Number
23195 2006-02-10 Geoffrey Garen <ggaren@apple.com>
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:
23213 2006-02-09 Darin Adler <darin@apple.com>
23217 - <rdar://problem/4430614> RenderThemeMac crashes under GC
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.
23227 * kwq/KWQResourceLoader.h: Remove unneeded forward declaration.
23229 2006-02-09 Darin Adler <darin@apple.com>
23231 Reviewed by Eric and Geoff.
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)
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"
23240 * bindings/js/JSDOMCore.cpp: Touched this file to get things to build.
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):
23350 2006-02-09 Alexander Kellett <lypanov@kde.org>
23352 Reviewed and landed by Maciej.
23354 Factor out common parts of Linear/Radial GradientQuartz
23355 up into KRenderingPaintServerGradientQuartz.
23357 Cleanup only, no layout tests needed or affected.
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):
23376 2006-02-09 Maciej Stachowiak <mjs@apple.com>
23380 - various Frame cleanup:
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
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):
23402 (WebCore::Page::mainFrame):
23404 (WebCore::Plugin::Plugin):
23405 (WebCore::Plugin::view):
23407 2006-02-09 Dave Hyatt <hyatt@apple.com
23409 Minor image cleanup. Move some variables that all the
23410 image decoders have in common up into the base class.
23412 Stub out the boring parts of the JPEG decoder also, so that
23413 the patch that does the decoding will be all meat. :)
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:
23451 2006-02-09 Maciej Stachowiak <mjs@apple.com>
23453 Rubber-stamped by Hyatt.
23455 - moved khtml/xml to dom
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
23508 2006-02-08 Mitz Pettel <opendarwin.org@mitzpettel.com>
23510 Test: fast/block/positioning/window-height-change.html
23514 - fix http://bugs.webkit.org/show_bug.cgi?id=5813
23515 positioned blocks don't update when resizing the window vertically
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
23521 * rendering/render_flexbox.cpp:
23522 (khtml::RenderFlexibleBox::layoutBlock): Ditto.
23524 2006-02-08 Dave Hyatt <hyatt@apple.com>
23526 Add support for tiling of backgrounds using Cairo.
23530 * Image Viewer/ImageView.cpp:
23531 * platform/cairo/ImageCairo.cpp:
23532 (WebCore::Image::tileInRect):
23534 2006-02-08 Boris Daljevic <boris@backbase.com>
23536 Reviewed and tweaked by Darin.
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
23541 Test: fast/dom/Element/setAttribute-with-colon.html
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.
23547 2006-02-08 Justin Garcia <justin.garcia@apple.com>
23549 Original patch by Graham Dennis, reviewed by me
23550 Changes made by me, reviewed by thatcher
23552 <http://bugs.webkit.org/show_bug.cgi?id=3982>
23553 webViewDidBeginEditing, webViewDidEndEditing notification methods not called on delegate
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):
23568 (WebCore::Frame::didBeginEditing):
23569 (WebCore::Frame::didEndEditing):
23571 2006-02-08 Mitz Pettel <opendarwin.org@mitzpettel.com>
23573 Test: fast/block/positioning/relayout-on-position-change.html
23577 - fix http://bugs.webkit.org/show_bug.cgi?id=7095
23578 Removing positioning from an element does not relayout properly
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
23587 2006-02-08 Maciej Stachowiak <mjs@apple.com>
23591 RenderPath refactoring:
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
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).
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):
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:
23643 2006-02-08 Adele Peterson <adele@apple.com>
23645 Fix broken layout tests.
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.
23650 2006-02-08 Adele Peterson <adele@apple.com>
23652 Reviewed by Maciej.
23654 - Fixed <rdar://problem/4325160>
23655 REGRESSION(416.12-420+): window events not stopped by stopPropagation (affects macnn forums)
23658 * fast/events/window-events-bubble.html
23659 * fast/events/window-events-bubble2.html
23660 * fast/events/window-events-capture.html
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.
23670 2006-02-08 Anders Carlsson <andersca@mac.com>
23672 Rubber stamped by Maciej.
23674 Move JSCore.cpp to bindings/js/JSDOMCore.cpp and
23675 rename JSEvents.cpp to JSDOMEvents.cpp
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.
23684 2006-02-08 Anders Carlsson <andersca@mac.com>
23686 Reviewed by Maciej.
23688 - http://bugs.webkit.org/show_bug.cgi?id=7108
23689 Autogenerate most of Element
23694 * bindings/scripts/CodeGeneratorJS.pm:
23695 Handle a bunch of new types.
23697 * khtml/ecma/kjs_dom.cpp:
23698 (KJS::DOMElement::getValueProperty):
23699 (KJS::DOMElementProtoFunc::callAsFunction):
23700 Remove code that is autogenerated now.
23703 Create a JSElement instead of a DOMElement.
23705 (KJS::getDOMNodeList):
23706 Take a PassRefPtr like some of the other get methods.
23708 * khtml/ecma/kjs_dom.h:
23709 (KJS::DOMElement::):
23710 Remove the now unused enums.
23712 * khtml/ecma/kjs_html.cpp:
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.
23721 * khtml/xml/Element.idl: Added.
23723 2006-02-08 Dave Hyatt <hyatt@apple.com>
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
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):
23751 2006-02-08 Dave Hyatt <hyatt@apple.com>
23753 Implement support for PNGs on Win32. Includes support for
23754 interlacing and transparency.
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.
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:
23799 2006-02-07 Maciej Stachowiak <mjs@apple.com>
23801 Rubber stamped by Hyatt.
23803 - move kwq/KWQString.mm to platform/QString.cpp, split out nonportable parts, speculative
23804 port of one remaining nonportable bit to windows.
23806 * ForwardingHeaders/qstring.h:
23807 * WebCore+SVG/KDOMSettings.h:
23808 * WebCore+SVG/kdom.h:
23809 * WebCore.xcodeproj/project.pbxproj:
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:
23836 * kwq/KWQFontFamily.h:
23837 * kwq/KWQFontMetrics.h:
23838 * kwq/KWQKConfigBase.h:
23840 * kwq/KWQKHTMLSettings.h:
23841 * kwq/KWQKJobClasses.h:
23842 * kwq/KWQKJobClasses.mm:
23843 * kwq/KWQKLocale.mm:
23844 * kwq/KWQKSSLKeyGen.mm:
23846 * kwq/KWQLineEdit.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:
23857 * platform/Color.cpp:
23858 * platform/Color.h:
23859 * platform/QString.cpp: Added.
23861 (KWQStringData::KWQStringData):
23862 (QString::QString):
23866 (QString::setLength):
23868 (initializeHandleNodeBlock):
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):
23881 (QString::fromUtf8):
23882 * rendering/bidi.h:
23883 * rendering/break_lines.cpp:
23885 2006-02-07 Maciej Stachowiak <mjs@apple.com>
23889 - remove all remains of old-style frame tree, ChildFrame, ObjectContents and FrameList are all gone
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):
23906 (QFrame::setFrameStyle):
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):
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.
23942 (WebCore::Plugin::view):
23944 2006-02-07 Adele Peterson <adele@apple.com>
23946 Reviewed by Maciej.
23948 - Fixed <rdar://problem/3727939> Safari strips \0 characters from HTML tags making them valid
23950 Test: fast/encoding/decoder-allow-null-chars.html
23952 * kwq/KWQTextCodec.cpp:
23953 (KWQTextDecoder::convertLatin1): Removed stripping of null characters
23956 2006-02-07 David Hyatt <hyatt@apple.com>
23958 Land the skeleton of a PNG decoder for Win32.
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.
23978 2006-02-07 Eric Seidel <eseidel@apple.com>
23982 Removed ImageSubset, making ImageViewer link directly to WebCore.
23985 * WebCore.vcproj/ImageSubset: Removed.
23986 * WebCore.vcproj/ImageSubset/ImageSubset.vcproj: Removed.
23987 * WebCore.vcproj/WebCore.sln:
23988 * WebCore.vcproj/WebCore/WebCore.vcproj:
23990 2006-02-07 Geoffrey Garen <ggaren@apple.com>
23994 - Fixed <rdar://problem/4425269> REGRESSION: wrong size pop-up when
23995 downloading attachment at webmail.mac.com (6882)
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.
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.
24006 * manual-tests/window-open-features-parsing.html: Added these cases,
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
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.
24017 2006-02-07 Alexey Proskuryakov <ap@nypop.com>
24019 Reviewed by Timothy.
24021 Convert JavaScript objects to appropriate AppleScript types, instead of only strings
24022 http://bugs.webkit.org/show_bug.cgi?id=7012
24024 Tests: fast/AppleScript/*
24026 * bridge/mac/WebCoreFrameBridge.h:
24027 * bridge/mac/WebCoreFrameBridge.mm:
24028 (aeDescFromJSValue):
24029 (-[WebCoreFrameBridge aeDescByEvaluatingJavaScriptFromString:]):
24031 2006-02-07 Dave Hyatt <hyatt@apple.com>
24033 Rename ImageDecoderPlugin to ImageDecoder. Rename
24034 GIFReader to GIFImageReder. Rename GIFDecoderPlugin to
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.
24077 2006-02-07 David Hyatt <hyatt@apple.com>
24079 Rename ImageDecoder to ImageSource.
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):
24124 2006-02-07 David Hyatt <hyatt@apple.com>
24126 Combine ImageData and Image (the result ends up in Image).
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):
24142 (KJS::ImagePattern::createPattern):
24143 * kwq/KWQClipboard.mm:
24144 (WebCore::KWQClipboard::dragNSImage):
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:
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):
24227 2006-02-06 Maciej Stachowiak <mjs@apple.com>
24231 - fixed "remove frame, renderer and completed flag from ChildFrame, make Frame track these"
24232 http://bugs.webkit.org/show_bug.cgi?id=7125
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
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
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
24270 (WebCore::Frame::ownerRenderer): added
24271 (WebCore::Frame::canCachePage): check m_plugins not m_objects
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
24280 2006-02-06 Adele Peterson <adele@apple.com>
24282 Reviewed by Maciej.
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
24287 Test: fast/events/event-listener-on-link.html
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.
24325 2006-02-06 Maciej Stachowiak <mjs@apple.com>
24329 - fixed 7094: onfocus/onblur on non-form-controls bubble
24330 http://bugs.webkit.org/show_bug.cgi?id=7094
24332 * khtml/html/HTMLElementImpl.cpp:
24333 (WebCore::HTMLElementImpl::parseMappedAttribute): connect onfocus/onblur to
24334 focus/blur, not DOMFocusIn/DOMFocusOut
24336 2006-02-06 Eric Seidel <eseidel@apple.com>
24338 Add svn:ignore properties for visual studio internals.
24340 2006-02-06 Dave Hyatt <hyatt@apple.com>
24342 Commit the image viewer test app, and all the Win32 project
24343 changes to build both it and Cairo.
24348 * Viewer.aps: Added.
24349 * Viewer.cpp: 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:
24371 2006-02-06 Dave Hyatt <hyatt@apple.com>
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):
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):
24498 2006-02-06 Vicki Murley <vicki@apple.com>
24500 Reviewed by Darin and Eric.
24502 - fix <rdar://problem/4414918> REGRESSION: images dragged into contenteditable area
24503 end up outside of editable area (6525)
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.
24512 2006-02-04 Darin Adler <darin@apple.com>
24516 - fix http://bugs.webkit.org/show_bug.cgi?id=7071
24517 REGRESSION: Jumping to an anchor identifier makes page scroll horizontally
24519 Test: fast/overflow/scroll-vertical-not-horizontal.html
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.
24526 2006-02-06 David Harrison <harrison@apple.com>
24528 Suggested by Darin.
24530 * khtml/html/HTMLElementImpl.cpp:
24531 (WebCore::HTMLElementImpl::createContextualFragment):
24532 - make nextChild a RefPtr to survive possible DOM changes
24534 2006-02-06 Beth Dakin <bdakin@apple.com>
24536 Reviewed by John and Adele
24538 Fix for <rdar://problem/4323167> REGRESSION (TOT): Crash in
24539 RenderTable::colToEffCol entering text into text input field
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
24546 * bridge/mac/MacFrame.mm:
24547 (WebCore::MacFrame::searchForLabelsAboveCell): Check if the
24548 renderer is a table cell.
24550 2006-02-06 Darin Adler <darin@apple.com>
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
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.
24564 * manual-tests/redirect.html: Added.
24565 * manual-tests/redirection-target.html: Added.
24567 2006-02-06 David Harrison <harrison@apple.com>
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
24574 No layout test because this code cannot be reached via JS operations.
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.
24582 2006-02-05 Anders Carlsson <andersca@mac.com>
24584 Reviewed by Maciej.
24586 - http://bugs.webkit.org/show_bug.cgi?id=7091
24587 Autogenerate even more.
24590 Add new generated files.
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.
24597 * khtml/ecma/kjs_dom.cpp:
24602 Use new constructors.
24604 * khtml/ecma/kjs_dom.h:
24605 Remove classes that are generated now.
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.
24614 2006-02-05 Maciej Stachowiak <mjs@apple.com>
24618 Re-landed the following with more fixes so it does not break tests:
24620 - various event cleanup, including fixing of the load event for iframes
24621 http://bugs.webkit.org/show_bug.cgi?id=7079
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
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
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:
24652 (WebCore::Frame::stopLoading):
24653 (WebCore::Frame::setWindowHasFocus):
24655 2006-02-05 Darin Adler <darin@apple.com>
24659 - fix <rdar://problem/4197997> -[DOMHTMLSelectElement options] always returns an empty list
24661 * khtml/html/HTMLOptionsCollectionImpl.h: Changed to be a subclass of HTMLCollectionImpl.
24662 * khtml/html/HTMLOptionsCollectionImpl.cpp: Added.
24664 * WebCore.vcproj/WebCore/WebCore.vcproj: Added new source file.
24665 * WebCore.xcodeproj/project.pbxproj: Ditto.
24667 * bindings/objc/DOMHTML.mm:
24668 (-[DOMHTMLOptionsCollection setLength:]): Handle possible exception.
24669 (-[DOMHTMLSelectElement options]): Add get() since this is now a PassRefPtr.
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.
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.
24690 2006-02-05 Darin Adler <darin@apple.com>
24692 Reviewed by Maciej.
24694 - fix http://bugs.webkit.org/show_bug.cgi?id=6908
24695 REGRESSION: Replacing existing <option> shuffles it to the end of the list
24697 Test: fast/forms/select-replace-option.html
24699 * khtml/ecma/kjs_html.cpp: (KJS::KJS::HTMLSelectCollection::put):
24700 Use optionsHTMLCollection, because options isn't really implemented yet.
24702 2006-02-05 Darin Adler <darin@apple.com>
24704 Reviewed by Maciej.
24706 - fix http://bugs.webkit.org/show_bug.cgi?id=6941
24707 Assertion failure in MacFrame::bridgeForWidget() on manual-tests/textfield-onblur.html
24709 * kwq/KWQTextField.mm: (-[KWQTextFieldController setHasFocus:]):
24710 Add check for nil in case the blur event causes the KWQLineEdit to be
24713 2006-02-05 Darin Adler <darin@apple.com>
24715 Reviewed by Maciej.
24717 - fix http://bugs.webkit.org/show_bug.cgi?id=6962
24718 REGRESSION: www.usa.phillips.com crashes due to <param> with no name
24720 Test: fast/replaced/object-param-no-name.html
24722 * rendering/render_frames.cpp: (WebCore::RenderPartObject::updateWidget):
24723 Check for empty name, and skip processing the name/value of that <param> element.
24725 2006-02-05 Darin Adler <darin@apple.com>
24727 - rolled out Maciej's event cleanup patch, which is causing problems
24729 I believe he has a fix, and he'll re-land the patch with the fix later.
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>.
24734 2006-02-05 Darin Adler <darin@apple.com>
24736 * ksvg2/css/KSVGCSSParser.cpp: Remove config.h, since this is included by another
24739 2006-02-05 Darin Adler <darin@apple.com>
24741 Discussed with Anders (didn't get real review).
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.
24749 * ksvg2/css/KSVGCSSParser.cpp: Added include of config.h.
24750 * platform/mac/ImageDecoder.cpp: Ditto.
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.
24757 2006-02-05 Darin Adler <darin@apple.com>
24759 Reviewed by Maciej.
24761 - fix http://bugs.webkit.org/show_bug.cgi?id=7048
24762 Reproducible crash when onscroll handler deletes the layer or its object
24764 Test: onscroll-layer-self-destruct.html
24766 * rendering/render_layer.cpp: (WebCore::RenderLayer::scrollToOffset):
24767 Don't send the scroll event until after we've done everything else we
24770 2006-02-05 Darin Adler <darin@apple.com>
24772 Rubber stamped by Maciej.
24774 - renamed DOMString and DOMStringImpl to String and StringImpl, and moved into platform
24776 * config.h: Put in transitional defines so old code can still refer to the classes
24777 as DOMString and DOMStringImpl.
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.
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.
24796 * WebCore.xcodeproj/project.pbxproj: Updated for file adds and removes.
24797 * WebCore.vcproj/WebCore/WebCore.vcproj: Ditto.
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:
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:
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:
24884 * loader/CachedObject.h:
24885 * loader/CachedXBLDocument.h:
24886 * loader/CachedXSLStyleSheet.h:
24887 * loader/DocLoader.h:
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.
24896 2006-02-05 Maciej Stachowiak <mjs@apple.com>
24900 - various event cleanup, including fixing of the load event for iframes
24901 http://bugs.webkit.org/show_bug.cgi?id=7079
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
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
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:
24923 2006-02-05 Maciej Stachowiak <mjs@apple.com>
24925 Reviewed and landed by Anders.
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
24933 2006-02-05 David Kilzer <ddkilzer@kilzer.net>
24935 Reviewed by Darin, landed by ap (with a tweak suggested by Darin).
24937 - Fixed --no-svg build on http://build.webkit.org/.
24939 * kwq/KWQPainter.mm: Include "FloatRect.h".
24941 2006-02-04 Maciej Stachowiak <mjs@apple.com>
24945 - Just return bool from DOM child mutation methods instead of the node
24946 http://bugs.webkit.org/show_bug.cgi?id=7076
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):
24986 2006-02-04 Maciej Stachowiak <mjs@apple.com>
24988 - reverted CSS media queries patch, as it causes random crashes on the
24989 layout tests with a debug build.
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:
25009 * css/cssmediafeatures.in: Removed.
25010 * css/cssparser.cpp:
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:
25032 2006-02-04 Andrew Wellington <proton@wiretapped.net>
25034 Reviewed and tweaked by Darin.
25036 - fixed regressions caused by fix for bug 5776 earlier today
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.
25048 * rendering/RenderContainer.cpp: (updateListMarkerNumbers): Call resetValue by its new name.
25050 2006-02-04 Maciej Stachowiak <mjs@apple.com>
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
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.
25064 2006-02-04 Maciej Stachowiak <mjs@apple.com>
25068 - refactor and simplify code using ChildFrame in preparation for removing it
25069 http://bugs.webkit.org/show_bug.cgi?id=7065
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
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
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
25105 2006-02-03 Andrew Wellington <proton@wiretapped.net>
25107 Reviewed and tweaked by Darin.
25109 - fix http://bugs.webkit.org/show_bug.cgi?id=5776
25110 Generated numbers of ordered lists (OL) are not calculated right
25112 Uses the DOM tree to calculate previous nodes and nest correctly
25115 * fast/lists/olstart.html
25116 * fast/lists/ol-display-types.html
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
25127 2006-02-03 Geoffrey Garen <ggaren@apple.com>
25131 - Fixed <rdar://problem/4394868> window.open fails to parse
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.
25138 * manual-tests/window-open-features-parsing.html: Added "px" case to
25141 * khtml/ecma/kjs_window.cpp:
25142 (KJS::setWindowFeature):
25143 (KJS::parseWindowFeatures):
25144 (KJS::WindowFunc::callAsFunction):
25146 2006-02-03 Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>
25148 Reviewed by Dave Hyatt and Tim H.
25150 Bug 4127: WebCore doesn't support Media Queries (CSS3 module)
25151 http://bugs.webkit.org/show_bug.cgi?id=4127
25153 http://www.w3.org/TR/css3-mediaqueries/
25155 * WebCore.xcodeproj/project.pbxproj:
25156 * css/css_grammar.y:
25157 * css/css_mediaqueryeval.cpp: Added.
25158 (MediaQueryEvaluator):
25159 (MediaQueryEvaluator::~MediaQueryEvaluator):
25160 (MediaQueryEvaluator::mediaTypeMatch):
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:
25196 * css/cssmediafeatures.in: Added.
25197 * css/cssparser.cpp:
25198 (CSSParser::parseMediaQuery):
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):
25222 2006-02-03 Timothy Hatcher <timothy@apple.com>
25224 Reviewed by Justin.
25226 Renamed configuration names to Debug, Release and Production.
25228 * WebCore.xcodeproj/project.pbxproj:
25230 2006-02-03 Beth Dakin <bdakin@apple.com>
25234 No test cases added because this is an unreproducible crash.
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
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.
25243 * khtml/html/htmlparser.cpp:
25244 (HTMLParser::popOneBlock): Added nil check.
25246 2006-02-03 David Hyatt <hyatt@apple.com>
25248 Refactoring of the image classes to make them even more
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):
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.
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):
25326 2006-02-03 David Hyatt <hyatt@apple.com>
25328 Make a new class called ImageDecoder that wraps a CGImageSource.
25329 This paves the way for ImageData to become portable as well.
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):
25357 2006-02-02 David Hyatt <hyatt@apple.com>
25359 Move ImageAnimationObserver into its own file.
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:
25370 2006-02-02 Maciej Stachowiak <mjs@apple.com>
25374 - remove all use of the ChildFrame from outside Frame.cpp, in preparation for removing it
25376 * bridge/mac/MacFrame.h:
25377 * bridge/mac/MacFrame.mm:
25378 (WebCore::MacFrame::frameDetached): Factor out the ChildFrame manipulations into a base
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.
25389 (WebCore::Frame::createPart): Moved here from MacFrame, but some of the guts were
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.
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
25402 2006-02-02 David Hyatt <hyatt@apple.com>
25404 Avoid extra copies of all the decoded image bytes.
25408 * platform/mac/Image.mm:
25409 (WebCore::ImageData::setData):
25411 2006-02-02 Justin Garcia <justin.garcia@apple.com>
25413 Reviewed by darin, harrison
25415 <http://bugs.webkit.org/show_bug.cgi?id=6586>
25416 REGRESSION: visible_text.cpp assertion failure in Mail.app
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
25425 * editing/selection/end-of-document.html
25427 * khtml/editing/visible_text.h:
25428 * khtml/editing/visible_units.cpp:
25429 (khtml::previousBoundary):
25431 2006-02-02 David Hyatt <hyatt@apple.com>
25433 Vectorize Image. Optimize so that we no longer throw away
25434 all CGImageRefs. Now we just throw away the last frame.
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):
25447 2006-01-31 Geoffrey Garen <ggaren@apple.com>
25451 Cleaned up some stuff I came across when working with JS enabled/
25454 (1) Renamed initScript to initScriptIfNeeded, because that's what it
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().
25461 No test case because there's no change in behavior.
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
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
25479 (Frame::userGestureHint): 4
25480 (Frame::pauseTimeouts): collapsed a line
25481 (Frame::resumeTimeouts): ditto
25482 (Frame::saveInterpreterBuiltins): 4
25483 (Frame::restoreInterpreterBuiltins): 4
25485 * page/FramePrivate.h: 2
25486 (FramePrivate::FramePrivate): 2
25488 2006-02-02 David Hyatt <hyatt@apple.com>
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.
25495 * khtml/xml/DocumentImpl.cpp:
25496 (WebCore::DocumentImpl::dispatchImageLoadEventSoon):
25498 2006-02-02 Darin Adler <darin@apple.com>
25500 Reviewed by Maciej.
25502 - fix http://bugs.webkit.org/show_bug.cgi?id=7000
25503 REGRESSION: Scrolling is triggering onunload in TOT
25506 - fast/events/onunload-body-property.html
25507 - fast/events/onunload-window-property.html
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.
25516 2006-02-02 Darin Adler <darin@apple.com>
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?)
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.
25526 2006-02-02 Darin Adler <darin@apple.com>
25528 - added a FIXME about an incorrect change made to FloatRect
25529 to fix the Win32 compile
25531 * platform/FloatRect.cpp: (WebCore::enclosingIntRect): Added FIXME
25532 because this should do a ceil operation, not a round operation.
25534 2006-02-02 David Hyatt <hyatt@apple.com>
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).
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):
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:
25674 2006-02-02 Mitz Pettel <opendarwin.org@mitzpettel.com>
25676 Test: fast/block/positioning/height-change.html
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)
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.
25690 2006-02-02 Maciej Stachowiak <mjs@apple.com>
25694 - Move name and parent from Frame to FrameTreeNode
25695 http://bugs.webkit.org/show_bug.cgi?id=6994
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):
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):
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):
25751 2006-02-01 Darin Adler <darin@apple.com>
25753 Checking in without review because I *just* broke this with my last check-in.
25755 - fix http://bugs.webkit.org/show_bug.cgi?id=7018
25756 REGRESSION: clearTimeout no longer works
25758 Test: fast/dom/Window/clear-timeout.html
25760 * khtml/ecma/kjs_window.cpp: (WindowQObject::clearTimeout): Fixed a
25761 != that should have been a ==.
25763 2006-02-01 Darin Adler <darin@apple.com>
25767 - use Timer for everything, kill timer features of QObject, QTimer, QTimerEvent
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.
25777 * kwq/KWQObject.cpp: Remove timer-related features.
25779 * kwq/KWQEvent.h: Remove QTimerEvent.
25781 * WebCore.xcodeproj/project.pbxproj: Updated for file changes.
25782 * WebCore.vcproj/WebCore/WebCore.vcproj: Ditto.
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.
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.
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.
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.
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.
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.
25867 * ksvg2/misc/SVGDocumentExtensions.h:
25868 * ksvg2/misc/SVGDocumentExtensions.cpp:
25869 Make SVGDocumentExtensions no longer be shared, be solely owned by the document.
25871 * ksvg2/svg/SVGDocumentImpl.cpp:
25872 (WebCore::SVGDocumentImpl::createStyleSelector): Update for RefPtr use.
25874 * kwq/KWQSlot.cpp: Remove endLifeSupport and timerNotify slots.
25878 (WebCore::Frame::selectionLayoutChanged): Update to use new style timer.
25879 (WebCore::Frame::caretBlinkTimerFired): Ditto.
25880 * page/FramePrivate.h: (WebCore::FramePrivate::FramePrivate): Ditto.
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.
25893 * page/ObjectContents.h: Remove unneeded includes.
25895 * rendering/render_frames.cpp: Removed include of <qtimer.h>.
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.
25906 2006-02-01 Darin Adler <darin@apple.com>
25910 Fix for <rdar://problem/4424126> REGRESSION(412-420+): yellow
25911 highlight fails to follow cursor when mousing over star rating
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.
25919 * khtml/xml/dom2_eventsimpl.cpp:
25920 (WebCore::EventImpl::setTarget): Now calls receivedTarget() if the
25922 (WebCore::EventImpl::receivedTarget): virtual receivedTarget()
25923 (WebCore::MouseRelatedEventImpl::MouseRelatedEventImpl): Call
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.
25936 2006-01-31 Maciej Stachowiak <mjs@apple.com>
25940 - fixed REGRESSION: assertion failure mousing over DHTML menus at www.worldofwarcraft.com
25941 http://bugs.webkit.org/show_bug.cgi?id=6931
25943 * rendering/render_layer.cpp:
25944 (WebCore::RenderLayer::hitTestLayer): Iterate vectors in a way that won't break on empty ones.
25946 2006-01-31 Adele Peterson <adele@apple.com>
25950 http://bugs.webkit.org/show_bug.cgi?id=6862
25951 Input's value doesn't get updated after typing in new text field
25954 fast/forms/input-changing-value.html
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.
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.
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.
25975 2006-01-31 Antti Koivisto <koivisto@iki.fi>
25977 Reviewed by Dave Hyatt.
25978 Landed by Timothy Hatcher.
25980 http://bugs.webkit.org/show_bug.cgi?id=4959
25981 Bug 4959: inline style not terminated properly after <form>
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
25987 2006-01-31 Vicki Murley <vicki@apple.com>
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.
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.
26007 2006-01-31 David Harrison <harrison@apple.com>
26010 <rdar://problem/4423922> TOT REGRESSION (r12358): first iframe in pair fails to copy
26013 * editing/pasteboard/paste-empty-startcontainer.html
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()
26019 2006-01-31 Mitz Pettel <opendarwin.org@mitzpettel.com>
26021 Test: fast/forms/selected-index-assert.html.
26025 - fix http://bugs.webkit.org/show_bug.cgi?id=6942
26026 Assertion failure in HTMLSelectElementImpl::selectedIndex (m_multiple)
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.
26032 2006-01-31 Beth Dakin <bdakin@apple.com>
26036 Fixing build bustage. Removing include of khtml_factory.h since it
26039 * rendering/font.cpp: No longer include khtml_factory.h
26041 2006-01-31 David Kilzer <ddkilzer@kilzer.net>
26045 - fix http://bugs.webkit.org/show_bug.cgi?id=6584
26046 REGRESSION: button after unclosed button gives trouble
26048 * khtml/html/htmlparser.cpp: (HTMLParser::getNode):
26049 Add buttonTag to error handling table to take care of unclosed tags.
26051 2006-01-31 Mitz Pettel <opendarwin.org@mitzpettel.com>
26053 Test: fast/parser/script-after-frameset-assert.html
26057 - fix http://bugs.webkit.org/show_bug.cgi?id=6959
26058 REGRESSION: Assertion failure in HTMLTokenizer::parseTag (!scriptNode) on page with ignored scripts
26060 * khtml/html/htmltokenizer.cpp:
26061 (WebCore::HTMLTokenizer::scriptHandler): Reset scriptNode to 0 if the
26062 script is being skipped.
26064 2006-01-31 Mitz Pettel <opendarwin.org@mitzpettel.com>
26068 - fix http://bugs.webkit.org/show_bug.cgi?id=6960
26069 REGRESSION: Assertion failure in table_layout.cpp:216 calcWidthArray()
26071 * rendering/table_layout.cpp: (WebCore::FixedTableLayout::calcWidthArray):
26072 Remove the assertion.
26074 2006-01-31 Anders Carlsson <andersca@mac.com>
26078 - fix http://bugs.webkit.org/show_bug.cgi?id=6964
26079 ImagePatterns are always rendered mirrored
26081 * khtml/ecma/kjs_html.cpp:
26082 (KJS::ImagePattern::createPattern):
26083 Don't mirror the x coordinate when creating the pattern.
26085 2006-01-31 Darin Adler <darin@apple.com>
26089 - added a Timer class
26090 - used the Timer class for the redirection timer
26091 - moved Frame, FrameView, MacFrame, and FrameNodeTree into WebCore namespace
26094 * ForwardingHeaders/khtml_factory.h: Removed.
26095 * kwq/KWQKHTMLFactory.cpp: Removed.
26096 * kwq/KWQKHTMLFactory.h: Removed.
26098 * platform/Timer.h: Added.
26099 * platform/mac/Timer.cpp: Added.
26101 * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for added and removed files.
26102 * WebCore.xcodeproj/project.pbxproj: Ditto.
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
26117 (WebCore::Frame::stopRedirectionTimer): Added. Virtual bottleneck to stop the
26120 * page/FramePrivate.h: Changed m_redirectionTimer from a QTimer to a Timer.
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
26126 (WebCore::MacFrame::stopRedirectionTimer): Ditto.
26128 * kwq/KWQSlot.cpp: Removed slotRedirected.
26130 * ForwardingHeaders/ksvg2/KSVGPart.h: Removed using to put Frame into various
26131 namespaces (all of which are WebCore now anyway).
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:
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:
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.
26190 2006-01-31 Anders Carlsson <andersca@mac.com>
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
26197 * khtml/ecma/kjs_html.h:
26198 (KJS::HTMLAllCollection::masqueradeAsUndefined):
26199 Update for name change.
26201 2006-01-30 Geoffrey Garen <ggaren@apple.com>
26205 - Speculative fix for <rdar://problem/4135845> Crash executing
26206 cross-frame script on timeout in KJS::ScheduledAction::execute
26208 If we ever get a reproducible case of 4135845, I'll add a test for it.
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.
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
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.)
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.
26236 2006-01-30 Geoffrey Garen <ggaren@apple.com>
26238 Reviewed by Dave Harrison.
26240 - Fixed <rdar://problem/4378159> crash in KWQKHTMLPart::userGestureHint
26241 from javascript enabled/disabled inconsistency when pasting webpage
26245 (Frame::userGestureHint): Check root frame's jScript() for NULL instead
26246 of checking inner frame's jScript().
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.)
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.
26256 * manual-tests/paste-crash.html: Added.
26257 (No automated test because the crash depends on JavaScript being
26260 2006-01-30 Beth Dakin <bdakin@apple.com>
26264 Fix for <rdar://problem/4298052> Crash in KWQCheckIfReloading at
26265 http://www.inquisitorx.com/beta/
26267 It is possible for the DocLoader's frame to be nil when the
26268 DocLoader is not nil, so we need nil checks.
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.
26278 2006-01-30 Eric Seidel <eseidel@apple.com>
26280 Add #import "KWQFontMetrics.h" to fix no-svg build.
26282 * kwq/KWQPainter.mm:
26284 2006-01-30 Darin Adler <darin@apple.com>
26288 - cleanup of Int/Float-Size/Point/Rect classes
26290 I did this as part of a redo of QMatrix, but I decided I should
26291 land this part separately.
26293 Eliminated the concept of a null rect or point, which used to be
26294 indicated by negative width and height.
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.
26302 Other API improvements to the point, size, and rect classes. For example,
26303 functions named with verbs now always modify the object itself.
26305 * rendering/render_theme_mac.mm: (RenderThemeMac::paintButton): Fixed
26306 a bug where it said x() where it should say y().
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:
26336 * kwq/KWQWidget.mm:
26337 * kwq/KWQWindowWidget.mm:
26338 * loader/CachedImage.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:
26383 2006-01-29 Maciej Stachowiak <mjs@apple.com>
26387 - Remove QSortedList and QPtrList sorting support
26388 http://bugs.webkit.org/show_bug.cgi?id=6929
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
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=
26425 2006-01-29 Darin Adler <darin@apple.com>
26427 Reviewed by Maciej.
26429 - killed more KWQ, KWinModule and QVariant
26431 * ForwardingHeaders/kwinmodule.h: Removed.
26432 * ForwardingHeaders/qvariant.h: Removed.
26434 * kwq/KWQKWinModule.h: Removed.
26435 * kwq/KWQKWinModule.mm: Removed.
26436 * kwq/KWQVariant.cpp: Removed.
26437 * kwq/KWQVariant.h: Removed.
26439 * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for removal.
26440 * WebCore.xcodeproj/project.pbxproj: Ditto.
26442 * khtml/ecma/kjs_binding.h:
26443 * khtml/ecma/kjs_binding.cpp: Remove QVariant stuff.
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):
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.
26461 * kwq/KWQObject.h: Removed a bunch of unneeded includes and forward declarations.
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.
26486 2006-01-29 Eric Seidel <eseidel@apple.com>
26490 Added back #include <qvaluelist.h> to fix WIN32 build.
26492 * rendering/render_style.h:
26494 2006-01-29 Darin Adler <darin@apple.com>
26496 Reviewed by Hyatt (drag image fix) and Maciej (the rest).
26498 - fixed just-introduced crash dragging images
26500 I don't know how to make a layout test for this.
26502 * kwq/KWQClipboard.mm: (WebCore::KWQClipboard::dragImage): Fixed crash on
26503 dragging by initializing m_dragImage to 0.
26505 - http://bugs.webkit.org/show_bug.cgi?id=6923
26506 remove more of KWQ, including the screen functions from QDesktopWidget
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.
26517 * ForwardingHeaders/kparts/event.h: Removed.
26518 * ForwardingHeaders/qapplication.h: Removed.
26519 * ForwardingHeaders/qstyle.h: Removed.
26521 * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for above changes.
26522 * WebCore.xcodeproj/project.pbxproj: Ditto.
26524 * platform/Screen.h: Added. Replaces the desktop widget stuff in KWQApplication.mm.
26525 * platform/mac/Screen.mm: Added.
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
26531 * kwq/KWQKCursor.h: Removed setAutoHideCursor.
26532 * kwq/KWQKCursor.mm: Ditto.
26534 * kwq/KWQWidget.h: Removed style() and setStyle() functions.
26535 * kwq/KWQWidget.mm: Ditto.
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.
26545 * khtml/khtml_events.h:
26546 * khtml/khtml_events.cpp: Removed much of the code here.
26547 This can be cut down even more.
26549 * khtml/misc/khtmllayout.h: Removed unused stuff and updated for KWQ changes.
26551 * kwq/KWQCString.cpp:
26553 * kwq/KWQPainter.mm:
26554 * kwq/KWQRegExp.cpp:
26555 * kwq/KWQRenderTreeDebug.cpp:
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:
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.
26587 2006-01-29 Eric Seidel <eseidel@apple.com>
26591 Fix build for Win32.
26593 * WebCore.vcproj/WebCore/WebCore.vcproj:
26595 2006-01-29 David Hyatt <hyatt@apple.com>
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.
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):
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:
26641 2006-01-29 Darin Adler <darin@apple.com>
26645 - fix http://bugs.webkit.org/show_bug.cgi?id=6914
26646 REGRESSION: fast/block/basic/014.html crashes Safari
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.
26654 - fix http://bugs.webkit.org/show_bug.cgi?id=6919
26655 REGRESSION: Background images don't paint when they are finished loading
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.
26663 - fixed something else that was causing some layout test crashes
26665 * kwq/KWQRenderTreeDebug.cpp: (externalRepresentation): Rearrange so we won't
26666 ever dereference a null pointer here.
26668 2006-01-29 Maciej Stachowiak <mjs@apple.com>
26672 - replace QValueVector and QPtrVector use with Vector, and remove them.
26673 http://bugs.webkit.org/show_bug.cgi?id=6909
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:
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):
26729 2006-01-29 Mitz Pettel <opendarwin.org@mitzpettel.com>
26731 Test: fast/table/border-collapsing/rtl-border-collapsing.html
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
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:
26751 2006-01-29 Darin Adler <darin@apple.com>
26753 Reviewed by Maciej.
26755 - fix http://bugs.webkit.org/show_bug.cgi?id=6550
26756 REGRESSION: window.open('myurl', '_self') fails to load myurl in current window
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.
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!
26769 2006-01-29 Darin Adler <darin@apple.com>
26771 Suggested by Alexey.
26773 - fixed something Alexey noticed in the new exception names
26775 Test: fast/dom/Range/range-exceptions.html
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.
26780 2006-01-29 David Harrison <harrison@apple.com>
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
26789 * selection/move-by-line-002.html
26790 * deleting/delete-listitem-002.html
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()
26796 * khtml/xml/dom_position.cpp:
26797 (DOM::Position::inRenderedContent):
26798 - fix check wrt BRs because text box is not required
26800 * rendering/bidi.cpp:
26801 (khtml::RenderBlock::constructLine):
26802 - make sure that br by itself in a list item gets a text-style box
26804 (khtml::RenderBlock::findNextLineBreak):
26805 - make sure that br by itself in a list item gets a box at all
26807 2006-01-29 Eric Seidel <eseidel@apple.com>
26809 Reviewed by hyatt & darin.
26811 There are a few small, but intertwined fixes in this patch:
26813 Remaining fixes for SVGTetris:
26814 http://bugs.webkit.org/show_bug.cgi?id=6889
26816 Testing blocked by: http://bugs.webkit.org/show_bug.cgi?id=6905
26818 Fix for CDF support:
26819 http://bugs.webkit.org/show_bug.cgi?id=6025
26821 Updated test: svg/custom/simpleCDF.xml
26823 Fix for filter updating:
26824 http://bugs.webkit.org/show_bug.cgi?id=6849
26826 Testing blocked by: http://bugs.webkit.org/show_bug.cgi?id=6904
26828 Also, as a side effect of 6849, fixed double-apply of filters, improving:
26829 http://bugs.webkit.org/show_bug.cgi?id=6713
26831 Results updated for most tests, pixel results improved for filter tests.
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.
26867 2006-01-29 Eric Seidel <eseidel@apple.com>
26871 First set of fixes for SVG Tetris:
26872 http://bugs.webkit.org/show_bug.cgi?id=6889
26875 * svg/custom/viewport-update.svg
26876 Key press test not yet possible:
26877 http://bugs.webkit.org/show_bug.cgi?id=6906
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
26884 2006-01-29 Eric Seidel <eseidel@apple.com>
26888 Fix SVG layout tests crash due to Vector change.
26890 * kcanvas/device/KRenderingDevice.cpp:
26891 (KRenderingDevice::currentContext): check isEmpty, return 0
26893 2006-01-28 Eric Seidel <eseidel@apple.com>
26897 Remove bogus IntRect operator.
26899 * platform/FloatRect.h:
26901 2006-01-28 David Hyatt <hyatt@apple.com>
26903 Cleanup of RenderImage. Eliminate unneeded members and methods.
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):
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:
26978 2006-01-28 Darin Adler <darin@apple.com>
26982 - fix http://bugs.webkit.org/show_bug.cgi?id=6711
26983 crash if an event is dispatched to a listener that uses handleEvent
26985 Test: fast/events/dispatch-to-handle-event.html
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.
26991 2006-01-28 Maciej Stachowiak <mjs@apple.com>
26995 - remove QPtrStack, replace with Vector or traverseNextNode as appropriate
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.
27016 2006-01-28 Maciej Stachowiak <mjs@apple.com>
27018 - added missing forwarding header to fix build.
27020 * ForwardingHeaders/kxmlcore/Vector.h: Added.
27022 2006-01-28 Darin Adler <darin@apple.com>
27024 * khtml/ecma/kjs_binding.cpp: (KJS::setDOMException): Removed extra parameter
27027 2006-01-28 Maciej Stachowiak <mjs@apple.com>
27031 - converted KWQKURL to use Vector
27032 http://bugs.webkit.org/show_bug.cgi?id=6900
27034 Use Vector in place of Array, and in place of the custom stack
27035 buffers with overflow.
27039 (KURL::decode_string):
27041 (KURL::encode_string):
27042 (findHostnamesInMailToURL):
27045 2006-01-28 Darin Adler <darin@apple.com>
27047 Reviewed by Maciej.
27049 - http://bugs.webkit.org/show_bug.cgi?id=6895
27050 include exception names in JavaScript form of DOM exception
27052 * khtml/ecma/kjs_binding.cpp: (KJS::setDOMException): Include the name of the
27053 exception in the error message.
27055 2006-01-28 Mitz Pettel <opendarwin.org@mitzpettel.com>
27057 Test: fast/table/add-before-anonymous-child.html
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()
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.
27070 2006-01-28 David Hyatt <hyatt@apple.com>
27072 Eliminate the mask() method on Image. It's unused.
27074 * platform/Image.h:
27075 * platform/mac/Image.mm:
27077 2006-01-28 David Hyatt <hyatt@apple.com>
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.
27087 * khtml/html/html_objectimpl.cpp:
27088 (WebCore::HTMLObjectElementImpl::isImageType):
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=):
27102 2006-01-28 Alexander Kellett <lypanov@kde.org>
27104 Reviewed by eseidel.
27106 SourceAlpha does not display until window is redrawn (resized)
27107 http://bugs.webkit.org/show_bug.cgi?id=6375
27109 Test: svg/custom/filter-source-alpha.svg
27111 * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
27112 (KCanvasFilterQuartz::inputImage):
27114 2006-01-28 David Hyatt <hyatt@apple.com>
27116 Fix CachedImage.h/.cpp up. Lots of cleanup. Eliminated
27117 unused code and cleaned up method and member names.
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):
27165 2006-01-27 Maciej Stachowiak <mjs@apple.com>
27169 - GC after destroying the very last frame to avoid node leak false positives
27170 http://bugs.webkit.org/show_bug.cgi?id=6884
27172 * ForwardingHeaders/JSLock.h: added
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.
27179 2006-01-27 Maciej Stachowiak <mjs@apple.com>
27183 - remove nearly all the substance of ObjectContents and put it on Frame
27184 http://bugs.webkit.org/show_bug.cgi?id=6885
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
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
27200 (Frame::init): Don't pass parent() to FramePrivate, we can't possibly have one
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
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.
27235 2006-01-27 Darin Adler <darin@apple.com>
27239 - fix http://bugs.webkit.org/show_bug.cgi?id=6075
27240 REGRESSION: event.relatedTarget not working, breaks menus at www.ati.com
27242 Test: fast/events/related-target.html
27244 * khtml/xml/NodeImpl.h:
27245 * khtml/xml/NodeImpl.cpp: (WebCore::NodeImpl::dispatchMouseEvent): Added a
27246 relatedTarget parameter to a couple overloads.
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.
27257 2006-01-27 David Hyatt <hyatt@apple.com>
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.
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:]):
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):
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:
27350 * kwq/KWQCursor.mm:
27351 (WebCore::createCustomCursor):
27352 (WebCore::QCursor::QCursor):
27353 * kwq/KWQKPartsEvent.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):
27370 * loader/Cache.cpp:
27371 (khtml::Cache::init):
27372 (khtml::Cache::clear):
27373 (khtml::Cache::requestImage):
27374 (khtml::Cache::getStatistics):
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):
27403 * page/FrameView.cpp:
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):
27478 2006-01-27 Darin Adler <darin@apple.com>
27480 Reviewed by Maciej.
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
27485 Revised test: fast/forms/radio-button-no-change-event.html
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).
27490 2006-01-26 Eric Seidel <eseidel@apple.com>
27494 Leak fixes in SVG code.
27495 http://bugs.webkit.org/show_bug.cgi?id=6588
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
27508 2006-01-26 Maciej Stachowiak <mjs@apple.com>
27512 - various leaks on "fast" LayoutTests
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
27518 It turns out these all had the same cause.
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:
27529 2006-01-26 Beth Dakin <bdakin@apple.com>
27533 Fix for <rdar://problem/4256504> khtml::RenderBlock::skipWhitespace
27534 crashes upon interaction with radio buttons.
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.
27540 * rendering/RenderContainer.cpp:
27541 (WebCore::RenderContainer::removeChildNode): Call
27542 dirtyLinesFromChangedChild() if oldChild is positioned and has
27544 (WebCore::RenderContainer::insertChildNode): Only check the the
27545 child is not floating; it can be positioned.
27547 2006-01-26 Mitz Pettel <opendarwin.org@mitzpettel.com>
27549 Test: fast/dom/HTMLImageElement/image-without-renderer-width.html
27551 Reviewed and landed by Anders.
27553 - fix http://bugs.webkit.org/show_bug.cgi?id=6841
27554 REGRESSION: WebKit (Thursday, January 26, 2006) crash in HTMLImageElementImpl::width()
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.
27561 2006-01-26 Adele Peterson <adele@apple.com>
27563 Reviewed by Hyatt and Vicki.
27565 Fix for broken layout tests.
27567 * khtml/html/HTMLInputElementImpl.cpp: (WebCore::HTMLInputElementImpl::focus):
27569 2006-01-26 Anders Carlsson <andersca@mac.com>
27573 - http://bugs.webkit.org/show_bug.cgi?id=6845
27574 Autogenerate more classes
27576 This makes DocumentType and DOMImplementation autogenerated.
27578 * JSCore.cpp: Added.
27580 * WebCore.xcodeproj/project.pbxproj:
27583 * bindings/scripts/CodeGeneratorJS.pm:
27584 Add attributes for controlling how null values should be converted
27585 to and from DOMString objects.
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.
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.
27599 (KJS::toDocumentType):
27601 Use JSDocumentType.
27603 (KJS::getDOMDOMImplementation):
27604 Use JSDOMImplementation.
27606 * khtml/ecma/kjs_dom.h:
27607 Remove DOMDOMImplementation and DOMDocumentType
27609 * khtml/xml/DOMImplementation.idl: Added.
27610 * khtml/xml/DocumentType.idl: Added.
27612 2006-01-26 Alexander Kellett <lypanov@kde.org>
27614 Reviewed by eseidel. Landed by eseidel.
27616 <text> elements with a scale on a parent <g> breaks nodeAtPoint
27617 Fix http://bugs.webkit.org/show_bug.cgi?id=6843
27619 Test: svg/custom/text-hit-test.svg
27621 * kcanvas/RenderSVGText.cpp:
27622 (RenderSVGText::nodeAtPoint):
27624 2006-01-26 Maciej Stachowiak <mjs@apple.com>
27628 - fixed a couple hundred node leaks on the traversal layout tests
27629 http://bugs.webkit.org/show_bug.cgi?id=6828
27631 There were three basic problems here, any one of which was enough
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.
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.
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.
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
27673 2006-01-26 Maciej Stachowiak <mjs@apple.com>
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
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.
27685 2006-01-26 Adele Peterson <adele@apple.com>
27689 - fix for <rdar://problem/4422624> REGRESSION: crash loading webmail.mac.com
27692 fast/forms/input-no-renderer.html
27694 * khtml/html/HTMLInputElementImpl.cpp:
27695 (WebCore::HTMLInputElementImpl::focus): Nil check for renderer.
27697 2006-01-26 David Harrison <harrison@apple.com>
27699 Reviewed by Timothy.
27701 - fix http://bugs.webkit.org/show_bug.cgi?id=6835
27702 REGRESSION: WebKit crashes when loading a script on Wikipedia
27705 editing/deleting/delete-listitem-001.html
27707 * rendering/render_list.cpp:
27708 (RenderListItem::setStyle):
27709 (RenderListItem::resetMarkerValue):
27710 (RenderListItem::getAbsoluteRepaintRect):
27711 (RenderListMarker::paint):
27713 2006-01-26 Mitz Pettel <opendarwin.org@mitzpettel.com>
27715 Reviewed by Darin, landed by ap.
27717 - fix http://bugs.webkit.org/show_bug.cgi?id=6388
27718 REGRESSION: Incomplete repaint when dragging the map on Google maps
27720 * manual-tests/bugzilla-6388.html: Added.
27721 * rendering/render_layer.cpp:
27722 (WebCore::RenderLayer::computeRepaintRects): Cache the object's absolute position
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:
27728 2006-01-26 Eric Seidel <eseidel@apple.com>
27730 Fixes xcode project to better notice when generated files change.
27731 Also fixes failing test cases on build slaves.
27733 * WebCore.xcodeproj/project.pbxproj:
27735 2006-01-26 Mitz Pettel <opendarwin.org@mitzpettel.com>
27737 Reviewed by Darin, committed by ap.
27739 - fix http://bugs.webkit.org/show_bug.cgi?id=6278
27740 REGRESSION: Incomplete repaint when table cell width changes during layout
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.
27747 2006-01-26 Eric Seidel <eseidel@apple.com>
27751 SVG shows up blank in WebKit+SVG
27752 http://bugs.webkit.org/show_bug.cgi?id=6620
27754 Test: svg/custom/viewport-no-width-height.svg
27756 * css/svg.css: default to width/height 100% for <svg>
27758 2006-01-26 Anders Carlsson <andersca@mac.com>
27762 http://bugs.webkit.org/show_bug.cgi?id=6805
27763 Support constants in IDL files
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.
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.
27775 * khtml/ecma/kjs_events.cpp:
27776 * khtml/ecma/kjs_events.h:
27777 Remove MutationEventConstructor and DOMMutationEvent,
27778 those are autogenerated now.
27780 * bindings/js/JSEvents.cpp:
27781 Include JSMutationEvent.cpp
27783 * khtml/ecma/kjs_window.cpp:
27784 (KJS::Window::getValueProperty):
27785 * khtml/ecma/kjs_window.h:
27787 Add MutationEvent property.
27789 * khtml/xml/MutationEvent.idl: Added.
27791 2006-01-25 Alexander Kellett <lypanov@kde.org>
27793 Reviewed by eseidel. Landed by eseidel
27795 Percentage values for width, height are not rendered correctly.
27796 http://bugs.webkit.org/show_bug.cgi?id=5331
27799 * svg/custom/percentage-rect.svg
27800 * svg/custom/percentage-rect2.svg
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.
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):
27817 2006-01-26 Eric Seidel <eseidel@apple.com>
27821 Disable <animateTransform> to stop layout test crashes.
27822 http://bugs.webkit.org/show_bug.cgi?id=6780
27824 * ksvg2/misc/KSVGTimeScheduler.cpp: hack out animateTransform.
27826 2006-01-26 Eric Seidel <eseidel@apple.com>
27830 Deploy RefPtr throughout more of WebCore
27831 http://bugs.webkit.org/show_bug.cgi?id=6754
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):
27890 2006-01-25 Maciej Stachowiak <mjs@apple.com>
27892 Reviewed by Dave Hyatt.
27894 - garbage collect a bit later when destroying Frame (fixes node leak false positives)
27895 http://bugs.webkit.org/show_bug.cgi?id=6818
27897 * khtml/ecma/kjs_proxy.cpp:
27898 (WebCore::KJSProxyImpl::~KJSProxyImpl): Garbage collect after destroying
27899 the script interpreter.
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()
27906 2006-01-25 Maciej Stachowiak <mjs@apple.com>
27910 - Turn on NodeImpl leak counter for debug builds
27911 http://bugs.webkit.org/show_bug.cgi?id=6808
27913 * khtml/xml/NodeImpl.cpp:
27914 (WebCore::NodeImplCounter::~NodeImplCounter): Uncomment node
27915 counter now tit won't give a lot of false positives.
27917 2006-01-25 Maciej Stachowiak <mjs@apple.com>
27919 Reviewed by Dave Hyatt.
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
27924 This fixes 175 reproducible node leaks in the editing layout tests.
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.
27931 2006-01-25 Adele Peterson <adele@apple.com>
27933 Reviewed by Maciej.
27935 http://bugs.webkit.org/show_bug.cgi?id=6816
27936 Crash in dispatchMouseEvent - Missing nil check
27938 No test added because I was not able to reproduce the crash reliably.
27940 * page/FrameView.cpp: (FrameView::dispatchMouseEvent):
27942 2006-01-25 Justin Garcia <justin.garcia@apple.com>
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
27951 Notify the SelectionController of node removals,
27952 and blow away the selection when end points are removed.
27955 * editing/selection/remove-node-1.html
27956 * editing/selection/remove-node-2.html
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):
27978 2006-01-25 Adele Peterson <adele@apple.com>
27982 This change lets us display an aqua appearance for the new text fields.
27984 Updated results for:
27985 * fast/forms/input-appearance-focus.html
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.
28001 2006-01-25 David Hyatt <hyatt@apple.com>
28003 Rename QBrush to Brush and move it to platform/. Remove unused QPoint/Size/RectF forwarding
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:
28015 * kwq/KWQPainter.h:
28016 * kwq/KWQPainter.mm:
28017 (QPainter::setBrush):
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):
28046 2006-01-25 Anders Carlsson <andersca@mac.com>
28048 Reviewed by Timothy Hatcher.
28050 http://bugs.webkit.org/show_bug.cgi?id=6807
28051 generate-bindings.pl should not use find command
28053 * bindings/scripts/generate-bindings.pl:
28054 Use opendir and readdir instead of find.
28056 2006-01-25 David Hyatt <hyatt@apple.com
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
28062 * WebCore.vcproj/WebCore/WebCore.vcproj:
28063 * WebCore.vcproj/WebCore/build-generated-files.sh:
28064 * bindings/scripts/generate-bindings.pl:
28066 2006-01-25 David Hyatt <hyatt@apple.com>
28068 Rename QPen to Pen and move it to the platform/ directory.
28070 * ForwardingHeaders/qpen.h: Removed.
28071 * WebCore.xcodeproj/project.pbxproj:
28072 * kwq/KWQNamespace.h:
28074 * kwq/KWQPainter.h:
28075 * kwq/KWQPainter.mm:
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.
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):
28112 2006-01-25 Timothy Hatcher <timothy@apple.com>
28114 Move off of -[NSFont widthOfString:] since it is now deprecated.
28115 Use the NSStringDrawing -[NSString sizeWithAttributes:] API.
28117 * bridge/mac/MacFrame.mm:
28118 (MacFrame::attributedString):
28119 * kwq/KWQTextArea.mm:
28120 (-[KWQTextAreaTextView sizeWithColumns:rows:]):
28122 2006-01-24 Tim Omernick <timo@apple.com>
28124 Reviewed by Dave Harrison.
28126 <rdar://problem/4339024>
28127 <http://bugs.webkit.org/show_bug.cgi?id=6785> "Fix for possible leak of applet, object, or embed
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
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().
28152 2006-01-24 Anders Carlsson <andersca@mac.com>
28156 - http://bugs.webkit.org/show_bug.cgi?id=5975
28157 WebCore needs to use KDOM-like DOM binding autogeneration
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
28165 * WebCore.xcodeproj/project.pbxproj:
28166 Call generate-bindings.pl
28168 * bindings/js/JSEvents.cpp: Added.
28169 New file which #includes all generated files in the event module
28170 (Just JSWheelEvent.cpp for now)
28172 * khtml/xml/WheelEvent.idl: Added.
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.
28181 * khtml/ecma/kjs_events.cpp:
28182 Remove DOMWheelEvent class.
28184 (KJS::getDOMEvent):
28185 Use JSWheelEvent here.
28187 * khtml/ecma/kjs_events.h:
28188 Remove DOMWheelEvent class.
28190 2006-01-25 David Harrison <harrison@apple.com>
28192 Reviewed by Justin.
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
28208 ...also added showTree() static functions because switch to gcc 4.0 makes calling instance methods unreliable
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
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):
28279 (khtml::makeRange):
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):
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):
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):
28328 2006-01-25 Timothy Hatcher <timothy@apple.com>
28330 Build fix, -[NSFont defaultLineHeightForFont] is deprecated.
28331 We need to use -[NSLayoutManager defaultLineHeightForFont:] instead.
28333 * kwq/KWQLineEdit.mm:
28334 (QLineEdit::sizeForCharacterWidth):
28335 (QLineEdit::baselinePosition):
28337 2006-01-24 Darin Adler <darin@apple.com>
28341 - fix http://bugs.webkit.org/show_bug.cgi?id=6731
28342 REGRESSION: change event fires at load time for checked items
28344 Test: fast/forms/radio-button-no-change-event.html
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).
28350 2006-01-24 Adele Peterson <adele@apple.com>
28354 This change will allow the new text field elements to get focus, and to respond to the focus and blur events.
28356 Added: fast/forms/input-appearance-focus.html
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.
28381 2006-01-24 Darin Adler <darin@apple.com>
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)
28388 - fix http://bugs.webkit.org/show_bug.cgi?id=6784
28389 REGRESSION: 25 layout tests failing (basic DOM operations)
28391 Test: fast/dom/replace-first-child.html
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.
28400 2006-01-24 Maciej Stachowiak <mjs@apple.com>
28402 Reviewed by Dave Hyatt.
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
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.
28413 2006-01-24 Darin Adler <darin@apple.com>
28415 Reviewed by John Sullivan.
28417 - http://bugs.webkit.org/show_bug.cgi?id=6750
28418 replace QDateTime with a simpler platform abstraction
28420 * ForwardingHeaders/qdatetime.h: Removed.
28421 * kwq/KWQDateTime.cpp: Removed.
28422 * kwq/KWQDateTime.h: Removed.
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.
28429 * WebCore.vcproj/WebCore/WebCore.vcproj: Added new files, removed old.
28430 * WebCore.xcodeproj/project.pbxproj: Ditto.
28432 * css/css_base.h: Removed include of <qdatetime.h>.
28433 * css/cssstyleselector.cpp: Ditto.
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().
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.
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.
28453 * khtml/xml/dom2_eventsimpl.cpp: (WebCore::EventImpl::EventImpl): Use currentTime()
28454 instead of local function called currentTimeStamp().
28456 * khtml/xml/xml_tokenizer.h: Removed declaration of class QTime.
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.
28465 * page/Frame.cpp: (Frame::clear): Removed unused m_parsetime.
28466 * page/FramePrivate.h: Ditto.
28468 2006-01-24 David Hyatt <hyatt@apple.com>
28470 Fix for bug 6781, convert QColor to Color (and QRgb to RGBA32). r=maciej.
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):
28503 * css/cssparser.cpp:
28504 (CSSParser::parseColor):
28505 (CSSParser::parseColorFromValue):
28507 * css/cssstyleselector.cpp:
28508 (WebCore::CSSStyleSelector::canShareStyleWithElement):
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:
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:
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):
28589 (QBrush::QBrush::QBrush):
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:
28603 * kwq/KWQPainter.h:
28604 * kwq/KWQPainter.mm:
28605 (QPainter::setPen):
28606 (QPainter::setBrush):
28607 (QPainter::drawText):
28608 (QPainter::drawHighlightForText):
28609 (QPainter::selectedTextBackgroundColor):
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):
28628 * kwq/KWQRenderTreeDebug.cpp:
28630 * kwq/KWQTextEdit.mm:
28631 (QTextEdit::setPalette):
28632 * loader/CachedImage.cpp:
28633 (WebCore::CachedImage::tiled_pixmap):
28634 * loader/CachedImage.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:
28734 2006-01-24 Darin Adler <darin@apple.com>
28736 Reviewed by John and Anders.
28738 - fix http://bugs.webkit.org/show_bug.cgi?id=6732
28739 REGRESSION: Repro crash at Google Maps
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.
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.
28764 * khtml/ecma/JSXMLHttpRequest.h: Just formatting changes.
28766 2006-01-24 Darin Adler <darin@apple.com>
28768 Reviewed by Justin.
28770 - fix http://bugs.webkit.org/show_bug.cgi?id=6753
28771 REGRESSION (r12282-12292): Crash loading TinyMCE test app
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
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.
28791 2006-01-24 Darin Adler <darin@apple.com>
28793 Reviewed by John Sullivan.
28795 - fix http://bugs.webkit.org/show_bug.cgi?id=6696
28796 REGRESSION: JavaScript window.opener set incorrectly
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".
28802 2006-01-24 Maciej Stachowiak <mjs@apple.com>
28806 * ksvg2/scripts/make_names.pl: Update script to generate code that
28807 works with the new HashMap.
28809 2006-01-23 Darin Adler <darin@apple.com>
28813 - fixed a storage leak found by running run-webkit-tests fast --leak
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.
28820 2006-01-23 Maciej Stachowiak <mjs@apple.com>
28822 Rubber stamped by Eric.
28824 - Made some functions return const AtomicString& instead of
28825 AtomicString because they could.
28827 Result of Darin's and Eric's comments on the last patch.
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:
28836 2006-01-23 Maciej Stachowiak <mjs@apple.com>
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
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:
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):
28899 * khtml/xml/dom_stringimpl.cpp:
28901 * khtml/xml/dom_stringimpl.h:
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:
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:
28920 2006-01-23 Mitz Pettel <opendarwin.org@mitzpettel.com>
28924 - fix http://bugs.webkit.org/show_bug.cgi?id=6733
28925 REGRESSION: html input doesn't honor change to value
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.
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.
28934 2006-01-23 Darin Adler <darin@apple.com>
28936 Reviewed by Maciej.
28938 - fix http://bugs.webkit.org/show_bug.cgi?id=6385
28939 REGRESSION: Unnamed frames return a generated name as window.frameElement.name
28941 Test: fast/frames/frame-element-name.html
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.
28948 2006-01-23 Maciej Stachowiak <mjs@apple.com>
28950 Rubber stamped by Tim Hatcher.
28952 - renamed insert() operation on HashSet, HashCountedSet and HashTable to add()
28953 for consistency with HashMap
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):
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):
28991 2006-01-23 Justin Garcia <justin.garcia@apple.com>
28993 Reviewed by thatcher
28995 Turned on -O2 for B&I build.
28997 * WebCore.xcodeproj/project.pbxproj:
28999 2006-01-23 Darin Adler <darin@apple.com>
29001 Reviewed by John Sullivan.
29003 - fix http://bugs.webkit.org/show_bug.cgi?id=6617
29004 REGRESSION: Crash in cloneChildNodes when clicking element
29006 Test: fast/dom/clone-node-form-elements-with-attr.html
29008 Changed cloneNode and some other functions to return PassRefPtr.
29009 Also made m_render private and changed its name to m_renderer.
29011 * bindings/objc/DOM.mm: (-[DOMNode cloneNode:]): Add call to get() needed
29012 now that cloneNode returns a PassRefPtr.
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.
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.
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.
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.
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.
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.
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.
29178 - removed unused code
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.
29185 - fixed storage leak
29187 * bridge/mac/MacFrame.mm: (MacFrame::~MacFrame): Delete window widget.
29189 2006-01-23 Anders Carlsson <andersca@mac.com>
29191 Forgot to add this as part of
29192 http://bugs.webkit.org/show_bug.cgi?id=3869
29194 * manual-tests/resources/webkit-background.png: Added.
29196 2006-01-22 Darin Adler <darin@apple.com>
29200 * rendering/RenderTable.cpp: (WebCore::RenderTable::addChild): Added
29201 missing code to set wrapInAnonymousSection false in the case where
29204 2006-01-22 Maciej Stachowiak <mjs@apple.com>
29208 - Set up Page class and invert Frame / WebCoreFrameBridge ownership
29209 http://bugs.webkit.org/show_bug.cgi?id=6577
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
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
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
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
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
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
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
29289 (Frame::slotEndLifeSupport): ditto
29290 (Frame::setPolicyBaseURL): Update for the fact that ChildFrame::m_frame is now
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.
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
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.
29325 2006-01-22 Darin Adler <darin@apple.com>
29327 * Info.plist: Updated Apple copyright date. Need to update others
29330 * WebCore-svg.exp: Removed unused empty file.
29332 2006-01-22 Eric Seidel <eseidel@apple.com>
29336 Make <animateColor> work again (broke during DOM merger).
29337 http://bugs.webkit.org/show_bug.cgi?id=5964
29339 No layout test possible.
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:
29384 (Frame::pauseTimeouts): pause svg animation
29385 (Frame::resumeTimeouts): resume svg animation
29386 * rendering/render_canvas.h:
29388 2006-01-22 Darin Adler <darin@apple.com>
29390 - fix deployment builds
29392 * rendering/RenderTable.cpp: (WebCore::RenderTable::addChild): Init bool.
29394 2006-01-22 Darin Adler <darin@apple.com>
29396 Reviewed by Maciej.
29398 - fix http://bugs.webkit.org/show_bug.cgi?id=5731
29399 Form element as display table-cell hangs Safari (will eventually crash)
29401 Test: fast/table/form-with-table-style.html
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.
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
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.
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.
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.
29441 2006-01-22 Darin Adler <darin@apple.com>
29443 Reviewed by Maciej.
29445 - fix http://bugs.webkit.org/show_bug.cgi?id=3518
29446 REGRESSION (312-412): mojibake left behind when scrolling a clipped <select>
29448 * kwq/KWQListBox.mm: (QListBox::QListBox): Call setCopiesOnScroll:NO.
29449 * kwq/KWQTextArea.mm: (-[KWQTextArea initWithFrame:]): Ditto.
29451 2006-01-22 David Kilzer <ddkilzer@kilzer.net>
29453 Reviewed by Maciej.
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.
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.
29466 * css/UserAgentStyleSheets.cpp: Touched this file to make the rebuild
29467 of html4.css work (shouldn't have to do this).
29469 2006-01-22 Darin Adler <darin@apple.com>
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.
29475 2006-01-22 Eric Seidel <eseidel@apple.com>
29479 SVG needs to support "evt" instead of "event" in event handlers.
29480 http://bugs.webkit.org/show_bug.cgi?id=5874
29482 Test: svg/custom/evt-onload.svg
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
29511 2006-01-22 Darin Adler <darin@apple.com>
29513 Reviewed by Maciej.
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)
29519 Test: fast/css/position-negative-top-margin.html
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.
29526 2006-01-22 Alexey Proskuryakov <ap@nypop.com>
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)
29534 Also replaced tabs with spaces in the changed files.
29537 * fast/table/append-cells.html
29538 * fast/table/append-cells2.html
29539 * fast/table/remove-td-display-none.html
29541 * rendering/RenderTable.cpp:
29542 (WebCore::RenderTable::recalcSections): Shrink columns and columnPos to the
29543 actual number of columns.
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.
29550 * rendering/RenderTableSection.h: Added numColumns() and a comment about cCol/cRow.
29552 2006-01-22 Darin Adler <darin@apple.com>
29554 Reviewed by Anders.
29556 - http://bugs.webkit.org/show_bug.cgi?id=6705
29557 use PassRefPtr in more of the basic DOM operations
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.
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
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.
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.
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.
29623 * WebCore+SVG/kdom.h: Renamed enum from ExceptionCode to ExceptionCodes
29624 to avoid conflict with a typedef ExceptionCode I added.
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.
29632 * khtml/ecma/kjs_dom.h: Changed getDOMNode to take PassRefPtr.
29633 * khtml/ecma/kjs_dom.cpp: (KJS::getDOMNode): Changed to take PassRefPtr.
29635 * khtml/html/HTMLElementImpl.cpp: Added dom2_events.h include, now needed.
29636 Re-sorted includes.
29637 * ksvg2/svg/SVGElementImpl.cpp: Ditto.
29639 * khtml/html/html_documentimpl.cpp: (WebCore::HTMLDocumentImpl::documentElement):
29640 Changed access to now-private data member _first to equivalent inline function
29642 * khtml/xml/DocumentImpl.cpp: (WebCore::DocumentImpl::recalcStyle): Ditto.
29643 * khtml/xml/dom_elementimpl.cpp: (WebCore::ElementImpl::recalcStyle): Ditto.
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.
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
29663 * khtml/xml/xml_tokenizer.cpp: (WebCore::XMLTokenizer::startElementNs):
29664 Removed unneeded isHTMLElement() calls from before the "qualified name" change.
29666 2006-01-22 Eric Seidel <eseidel@apple.com>
29668 Rubber-stamped by anders.
29670 Remove WebCore-no-SVG target and wrap files in #if SVG_SUPPORT
29671 http://bugs.webkit.org/show_bug.cgi?id=6633
29673 2006-01-22 Alexey Proskuryakov <ap@nypop.com>
29675 Reviewed by Maciej.
29677 - http://bugs.webkit.org/show_bug.cgi?id=6642
29678 Split XMLHttpRequest class into JS binding and implementation
29680 * WebCore.xcodeproj/project.pbxproj: Adjusted for moved and renamed files.
29681 New group "xml" to match directory structure.
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.
29697 (Frame::stopLoading): XMLHttpRequest is now in WebCore, not KJS.
29699 2006-01-22 Alexander Kellett <lypanov@kde.org>
29701 Reviewed by eseidel. Landed by eseidel.
29703 Add support for custom fill/strokes on text.
29704 http://bugs.webkit.org/show_bug.cgi?id=6448
29706 40+ layout tests already cover this.
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:
29755 2006-01-21 Mitz Pettel <opendarwin.org@mitzpettel.com>
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
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.
29768 2006-01-21 Anders Carlsson <andersca@mac.com>
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)
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.
29781 * khtml/ecma/kjs_html.cpp:
29782 (KJS::HTMLElement::imageGetter):
29785 (KJS::ImageConstructorImp::construct):
29786 Take a QPixmap instead of an Image.
29788 (KJS::KJS::Context2DFunction::callAsFunction):
29789 Remove usage of Image and use HTMLImageElementImpl instead.
29791 * khtml/ecma/kjs_html.h:
29792 Remove Image class.
29794 (KJS::HTMLElement::):
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.
29803 (WebCore::HTMLImageElementImpl::complete):
29804 New function, returns true if an image has finished loading.
29806 * khtml/html/html_imageimpl.h:
29809 * manual-tests/drag-image.html: Added.
29811 2006-01-21 Anders Carlsson <andersca@mac.com>
29815 - fixes http://bugs.webkit.org/show_bug.cgi?id=6691
29816 TinyMCE: strikethrough unimplemented
29818 * khtml/editing/jsediting.cpp:
29819 Add support for the "Strikethrough" command.
29821 2006-01-21 Mitz Pettel <opendarwin.org@mitzpettel.com>
29823 Test: fast/dynamic/hovered-detach.html
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)
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.
29842 2006-01-20 David Hyatt <hyatt@apple.com>
29844 Fix for bug 6666, pseudo-element rules incorrectly displayed
29849 Added fast/inspector/matchedrules.html as test case.
29851 * css/cssstyleselector.cpp:
29852 (WebCore::CSSStyleSelector::matchRulesForList):
29854 2006-01-20 Timothy Hatcher <timothy@apple.com>
29858 Removes code that is no longer needed with the new Web Inspector.
29860 * bridge/mac/WebCoreFrameBridge.h: removes the WebCoreDOMTreeCopier protocol.
29861 * bridge/mac/WebCoreFrameBridge.mm: removes copyDOMNode:copier:
29863 2006-01-21 Anders Carlsson <andersca@mac.com>
29865 Reviewed by David Hyatt.
29867 Rename Frame::xmlDocImpl => Frame::document and
29868 Frame::replaceDocImpl => Frame::setDocument
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:]):
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):
29964 (Frame::setDocument):
29965 (Frame::setFocusNodeIfNeeded):
29966 (Frame::isPointInsideSelection):
29967 (Frame::computeAndSetTypingStyle):
29968 (Frame::applyStyle):
29969 (Frame::applyParagraphStyle):
29970 (Frame::selectionComputedStyle):
29971 (Frame::selectFrameElementInParentIfFullySelected):
29973 (Frame::scrollOverflow):
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):
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):
30009 2006-01-20 Chris Petersen <cpetersen@apple.com>
30011 Reviewed by eseidel.
30015 * khtml/xml/DocumentImpl.cpp:
30017 2006-01-20 Eric Seidel <eseidel@apple.com>
30021 Unbreak build (partial commit of animation patch)
30023 * khtml/xml/DocumentImpl.cpp:
30024 (WebCore::DocumentImpl::implicitClose):
30025 * khtml/xml/DocumentImpl.h:
30027 2006-01-20 Eric Seidel <eseidel@apple.com>
30031 Missed the kcanvas directory in my previous commit.
30032 http://bugs.webkit.org/show_bug.cgi?id=6683
30034 * kcanvas/KCanvasContainer.h:
30035 * kcanvas/RenderForeignObject.h:
30036 * kcanvas/RenderSVGText.h:
30038 2006-01-20 Mitz Pettel <opendarwin.org@mitzpettel.com>
30040 Test: fast/overflow/image-selection-highlight.html
30042 Reviewed by Darin, committed by Adele.
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
30047 * rendering/render_replaced.cpp:
30048 (WebCore::RenderReplaced::selectionRect): Subtract the containing block's scroll offset.
30050 2006-01-19 Eric Seidel <eseidel@apple.com>
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
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:
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:
30118 2006-01-19 Eric Seidel <eseidel@apple.com>
30122 <embed> and <object> tags show up blank when going back/forward.
30123 http://bugs.webkit.org/show_bug.cgi?id=6679
30125 No test currently possible.
30128 (Frame::canCachePage):
30130 2006-01-19 Eric Seidel <eseidel@apple.com>
30134 Split html_miscimpl.* into separate files and move html_elementimpl
30135 http://bugs.webkit.org/show_bug.cgi?id=6670
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:
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:
30235 2006-01-19 Anders Carlsson <andersca@mac.com>
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.
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.
30248 2006-01-19 Adele Peterson <adele@apple.com>
30250 Reviewed by Hyatt and Darin.
30252 http://bugs.webkit.org/show_bug.cgi?id=6665
30253 Implement NSView-less version of <input type="text">
30255 Initial implementation of new and improved text fields.
30256 This will only be turned on if an input element has khtml-appearance: textfield.
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.
30300 2006-01-18 Darin Adler <darin@apple.com>
30304 - removed all use of QMap
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.
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.
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.
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::".
30363 * bindings/objc/DOMInternal.mm: (DOMStringImpl::operator NSString *): Moved from DOMString
30366 - changed the mark from a SelectionController to a Selection
30367 (maybe it can be a Position instead?)
30369 * page/Frame.h: Changed mark() and setMark() to use a Selection.
30370 * page/FramePrivate.h: Changed mark to a Selection.
30372 * bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge setMarkDOMRange:]):
30373 Updated for change from SelectionController to Selection.
30375 - removed extraneous includes
30377 * kwq/KWQKHTMLSettings.h: Removed include of "KWQMap.h".
30378 * kwq/KWQKIOGlobal.h: Ditto.
30380 * khtml/editing/htmlediting.h: Removed extraneous includes and namespace prefixes.
30382 * khtml/html/html_canvasimpl.h: Removed extraneous includes and moved into the
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.
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.
30400 * loader/loader.cpp: (WebCore::Loader::servePendingRequests): Removed code to add the
30401 cache control string, since that was hardcoded to empty string anyway.
30403 2006-01-19 Eric Seidel <eseidel@apple.com>
30405 Reviewed by darin & anders.
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
30412 Test: svg/custom/text-image-opacity.svg
30414 * kcanvas/RenderSVGImage.cpp:
30415 (RenderSVGImage::paint):
30416 * kcanvas/RenderSVGText.cpp:
30417 (RenderSVGText::paint):
30419 2006-01-19 Eric Seidel <eseidel@apple.com>
30423 Remove CFDictionary usage from KWQObject.*
30424 http://bugs.webkit.org/show_bug.cgi?id=6468
30426 * kwq/KWQObject.cpp:
30427 (KWQObjectTimer::KWQObjectTimer):
30428 (QObject::restartTimer):
30429 (QObject::timerIntervals):
30430 (KWQObjectTimer::deleteTimer):
30431 (QObject::killTimer):
30432 (QObject::killTimers):
30433 (sendDeferredTimerEvent):
30435 2006-01-18 David Hyatt <hyatt@apple.com
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).
30442 Also #ifdef out all the Dashboard code in the engine for non-Apple
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:
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):
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):
30513 (Frame::didOpenURL):
30514 (Frame::browserExtension):
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):
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:
30559 2006-01-18 Darin Adler <darin@apple.com>
30563 - change KWQList to use qsort instead of CFArraySort
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.
30570 2006-01-18 Darin Adler <darin@apple.com>
30574 - changed the three signal/slot related files from ObjC++ to C++ files
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.
30584 2006-01-18 David Hyatt <hyatt@apple.com>
30586 Make Win32 build again. Update the scripts and deal
30587 with all the recent file moves.
30591 * WebCore.vcproj/WebCore/WebCore.vcproj:
30592 * WebCore.vcproj/WebCore/build-generated-files.sh:
30593 * rendering/render_container.cpp:
30594 * rendering/render_object.cpp:
30596 2006-01-18 Mitz Pettel <opendarwin.org@mitzpettel.com>
30598 Test: fast/overflow/overflow-rtl-inline-scrollbar.html
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
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.
30609 * khtml/rendering/render_flow.cpp:
30610 (RenderFlow::lowestPosition): Don't descend into inline flows.
30611 (RenderFlow::rightmostPosition): Ditto.
30612 (RenderFlow::leftmostPosition): Ditto.
30614 2006-01-18 Anders Carlsson <andersca@mac.com>
30618 * khtml/ecma/kjs_navigator.cpp:
30619 * page/FrameView.cpp:
30620 Remove kstandarddirs.h includes.
30622 2006-01-18 Darin Adler <darin@apple.com>
30626 - fix http://bugs.webkit.org/show_bug.cgi?id=6646
30627 compile CSS sources in instead of reading them from disk
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.
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.
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.
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.
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.
30650 * page/Frame.cpp: Removed includes of qfile.h and kstandarddirs.h.
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.
30659 2006-01-17 Alexander Kellett <lypanov@kde.org>
30661 Reviewed by Maciej.
30663 - Remove the now-unused KRenderingPaintServerImage[Quartz].
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:
30676 2006-01-17 Darin Adler <darin@apple.com>
30678 Reviewed by John Sullivan.
30680 - fix http://bugs.webkit.org/show_bug.cgi?id=6377
30681 <rdar://problem/4400315> All XML crashes in TOT with JavaScript disabled (6377)
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.
30690 2006-01-17 Justin Garcia <justin.garcia@apple.com>
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
30700 * editing/selection/after-line-wrap.html
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.
30709 2006-01-17 Justin Garcia <justin.garcia@apple.com>
30713 Deployment builds now use -O2
30715 * WebCore.xcodeproj/project.pbxproj:
30716 * khtml/html/htmltokenizer.cpp: Turned off inlining to fix
30719 2006-01-17 David Hyatt <hyatt@apple.com>
30721 Move khtml/rendering to WebCore/rendering.
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.
30853 2006-01-17 David Hyatt <hyatt@apple.com>
30855 Land support for a style method on DOMAttr from JS that will
30856 allow the Web Inspector to include presentational attributes
30861 * khtml/ecma/kjs_dom.cpp:
30862 (KJS::DOMAttr::getValueProperty):
30863 * khtml/ecma/kjs_dom.h:
30866 2006-01-17 Beth Dakin <bdakin@apple.com>
30868 Reviewed by Hyatt and Darin
30870 Fix for <rdar://problem/4405836> REGRESSION: crash at webmail.aol.com
30871 when deleting mail in khtml::RenderTableCell::collapsedBottomBorder() const
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.
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.
30908 2006-01-17 Duncan Wilcox <duncan@mclink.it>
30910 Reviewed by Darin, landed by ap.
30912 - fix http://bugs.webkit.org/show_bug.cgi?id=6609
30913 Use Selection instead of SelectionController where possible
30915 This patch replaces the use of SelectionController with Selection in the edit commands.
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.
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):
30979 (Frame::appliedEditing):
30980 (Frame::unappliedEditing):
30981 (Frame::reappliedEditing):
30984 2006-01-17 Mitz Pettel <opendarwin.org@mitzpettel.com>
30986 Test: fast/dom/generic-form-element-assert.html
30988 Reviewed and reworked by Darin.
30990 - fix http://bugs.webkit.org/show_bug.cgi?id=5926
30991 Assertion failure in HTMLGenericFormElementImpl::removedFromTree
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.
30999 2006-01-17 Mark Rowe <opendarwin.org@bdash.net.nz>
31001 Reviewed by eseidel. Landed by eseidel.
31003 Fix second part of WebCore-no-SVG fails to build.
31004 http://bugs.webkit.org/show_bug.cgi?id=6607
31006 * WebCore.xcodeproj/project.pbxproj:
31007 Mark three headers as private rather than project in the WebCore-no-SVG target.
31009 2006-01-17 Mitz Pettel <opendarwin.org@mitzpettel.com>
31013 * kwq/KWQVectorImpl.cpp:
31014 (KWQVectorImpl::append): Assign the new item to index m_count, not m_size.
31016 2006-01-17 Mark Rowe <opendarwin.org@bdash.net.nz>
31018 Reviewed by eseidel. Landed by eseidel.
31020 WebCore-no-SVG fails to build.
31021 http://bugs.webkit.org/show_bug.cgi?id=6607
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.
31027 2006-01-16 David Hyatt <hyatt@apple.com>
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.
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:
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:
31118 2006-01-16 David Hyatt <hyatt@apple.com>
31120 Move the Objective-C dom bindings from kwq to bindings/objc.
31122 Reviewed by eseidel
31124 * WebCore.xcodeproj/project.pbxproj:
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.
31173 2006-01-16 Mitz Pettel <opendarwin.org@mitzpettel.com>
31175 Reviewed by Hyatt, landed by ap.
31177 - fix http://bugs.webkit.org/show_bug.cgi?id=6473
31178 REGRESSION: Serious painting problems on new iLife and iWorks pages
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.
31191 2006-01-16 Mark Rowe <opendarwin.org@bdash.net.nz>
31193 Reviewed by Darin, landed by ap.
31195 Fix typo in CSSPrimitiveValueImpl::setStringValue.
31197 * khtml/css/css_valueimpl.cpp:
31198 (DOM::CSSPrimitiveValueImpl::setStringValue): Change >> to > and fix formatting.
31200 2006-01-16 Alexey Proskuryakov <ap@nypop.com>
31202 Reviewed by Justin.
31204 - fix http://bugs.webkit.org/show_bug.cgi?id=5401
31205 [WebCoreBridge firstRectForDOMRange:] works incorrectly for the first character after a line wrap
31207 Test: editing/input/wrapped-line-char-rect.html
31209 * bridge/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge firstRectForDOMRange:]):
31210 Use DOWNSTREAM affinity for the range start
31212 2006-01-16 Justin Garcia <justin.garcia@apple.com>
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)
31221 Don't paint the selection tint on replaced elements
31222 if the selections starts at the end or ends at the start.
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:
31231 2006-01-16 Tim Omernick <timo@apple.com>
31233 Reviewed by John Sullivan.
31235 WebCore part of <rdar://problem/4211707> NPAPI ref count behavior differs with Mozilla
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!
31247 2006-01-16 Darin Adler <darin@apple.com>
31249 - actually removed QPtrDict itself
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.
31257 2006-01-16 Darin Adler <darin@apple.com>
31259 Reviewed by John Sullivan.
31261 - removed all uses of QPtrDict, most uses of QMap
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.
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&.
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.
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.
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.
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.
31384 * khtml/xml/dom_xmlimpl.cpp: Changed to use RefPtr for strings.
31385 * khtml/xml/dom_xmlimpl.h: Ditto.
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.
31391 * kwq/KWQNamespace.h: Removed QColor, QCursor, and redundant declaration of QRgb
31392 (now in qcolor.h). Also converted tabs to spaces.
31394 * kwq/KWQPainter.h: Added newly-needed include.
31396 * kwq/KWQPtrVector.h: Added append function.
31397 * kwq/KWQVectorImpl.cpp: (KWQVectorImpl::append): Added.
31398 * kwq/KWQVectorImpl.h: Added append.
31400 * kwq/KWQRenderTreeDebug.cpp: Updated to no longer use transparentColor constant.
31402 * kwq/KWQWMatrix.cpp: Changed name to QMatrix to allow forward declarations.
31403 * kwq/KWQWMatrix.h: Ditto.
31405 * loader/Cache.cpp: (khtml::Cache::clear): Use deleteAllValues for clearer code.
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.
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.
31433 2006-01-16 Darin Adler <darin@apple.com>
31435 * WebCore.xcodeproj/project.pbxproj: Move config.h in project file to match
31436 where it is in the source tree.
31438 2006-01-15 Timothy Hatcher <timothy@apple.com>
31442 Support for the new DOM Inspector.
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
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
31465 2006-01-15 Darin Adler <darin@apple.com>
31469 - changed WebCore namespace change to work on Win32 as well as Mac OS X
31471 * WebCorePrefix.h: Removed things needed cross-platform.
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.
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.
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.
31487 * ksvg2/svg/SVGStyledElementImpl.cpp: (SVGStyledElementImpl::parseMappedAttribute):
31488 Use property ID function by its new name.
31490 * ksvg2/ksvg.h: Renamed ExceptionCode to SVGExceptionCode.
31492 * khtml/ecma/XSLTProcessor.cpp: Moved "config.h" header up above the ifdef so that
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.
31503 * ksvg2/svg/SVGFELightElementImpl.h: Removed include of "config.h". That's supposed
31504 to only be included by code files, not headers.
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.
31511 2006-01-15 Eric Seidel <eseidel@apple.com>
31513 Rubber-stamped by darin.
31515 Updated files w/ missing copyrights from Oliver.
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:
31536 2006-01-15 Duncan Wilcox <duncan@mclink.it>
31538 Reviewed and tweaked a bit by Darin.
31540 Fix for <http://bugs.webkit.org/show_bug.cgi?id=6523>
31541 "Extract data from SelectionController"
31543 This patch refactors the data portions of SelectionController into its
31544 own class, "Selection".
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
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
31555 No test cases added because this is a refactoring.
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:
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):
31686 * <a few other files, including editing ones>: Added includes since Selection.h and
31687 SelectionController.h now include fewer things.
31689 2006-01-15 Mitz Pettel <opendarwin.org@mitzpettel.com>
31691 Test: fast/text/whitespace/pre-wrap-overflow-selection.html
31695 - fix http://bugs.webkit.org/show_bug.cgi?id=5619
31696 CSS2: pre-wrap has overflow/selection problems
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.
31704 2006-01-15 Darin Adler <darin@apple.com>
31706 Reviewed by Anders.
31708 - fix regression in duplicate ID layout test
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.
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".
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.
31746 - Merge khtml, DOM, and KDOM into one big namespace, WebCore.
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.
31754 * khtml/xml/DocumentTypeImpl.cpp: Converted tabs to spaces.
31755 * khtml/xml/dom2_eventsimpl.cpp: Ditto.
31757 2006-01-15 Alexander Kellett <lypanov@kde.org>
31759 Reviewed and landed by Anders.
31761 http://bugs.webkit.org/show_bug.cgi?id=6553
31762 Remove KCanvasCommonArgs and pass around RenderPath objects instead.
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:
31789 2006-01-15 Darin Adler <darin@apple.com>
31793 - fix http://bugs.webkit.org/show_bug.cgi?id=6528
31794 remove all use of QDict from WebCore
31796 I ran performance tests and the change results in a slight improvement.
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.
31805 * khtml/editing/jsediting.h: Removed include of qdict.h.
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.
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
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
31825 * ksvg2/svg/SVGDocumentImpl.cpp: Removed include of q3dict.h.
31827 * WebCore.vcproj/WebCore/WebCore.vcproj: Removed obsolete QDict sources.
31828 * WebCore.xcodeproj/project.pbxproj: Ditto.
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.
31836 * WebCore+SVG/SVGNamesWrapper.cpp: Touched this file just so I could build again.
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.
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.
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.
31869 * loader/CachedObject.h: Removed include of qdict.h.
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.
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.
31883 2006-01-15 Alexander Kellett <lypanov@kde.org>
31885 Reviewed by eseidel. Landed by eseidel.
31887 <mask> inside <defs> crashes Safari.
31888 http://bugs.webkit.org/show_bug.cgi?id=6548
31890 Test: svg/custom/mask-inside-defs.svg
31892 * ksvg2/svg/SVGMaskElementImpl.cpp:
31893 (KSVG::SVGMaskElementImpl::drawMaskerContent):
31895 2006-01-15 Eric Seidel <eseidel@apple.com>
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
31904 Covered by several existing tests.
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:
31929 2006-01-14 David Hyatt <hyatt@apple.com>
31931 Move arena.cpp/.h out of khtml/misc and into platform/Arena.cpp/h. Also removed another unused
31932 header, khtmldata.h.
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.
31942 2006-01-14 David Hyatt <hyatt@apple.com>
31944 Rename TokenizerString to SegmentedString and place it in the platform directory.
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):
31979 2006-01-14 Maciej Stachowiak <mjs@apple.com>
31983 - added bridging infrastructure for Page class
31985 The Page class itself is coming very soon.
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.
31997 2006-01-14 David Hyatt <hyatt@apple.com>
31999 Win32 finds more khtml namespace issues with the movement
32000 of Shared that gcc missed.
32002 * WebCore.vcproj/WebCore/WebCore.vcproj:
32003 * khtml/xml/dom2_rangeimpl.cpp:
32004 (DOM::RangeImpl::text):
32005 * khtml/xml/dom_position.cpp:
32007 2006-01-14 David Hyatt <hyatt@apple.com>
32009 Move shared.h from khtml/misc into the platform directory and move it into the WebCore namespace.
32011 Reviewed by eseidel
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:
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.
32120 2006-01-14 Eric Seidel <eseidel@apple.com>
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
32130 * svg/custom/image-with-transform-clip-filter.svg
32131 * svg/custom/foreign-object-skew.svg
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
32181 2006-01-14 Eric Seidel <eseidel@apple.com>
32183 Fix build break. (oops!)
32185 * khtml/xml/xml_tokenizer.cpp:
32186 (khtml::XMLTokenizer::XMLTokenizer):
32188 2006-01-14 Eric Seidel <eseidel@apple.com>
32192 Initialize m_isXHTMLDocument(false) properly.
32193 No tests possible, random failure only.
32195 * khtml/xml/xml_tokenizer.cpp:
32196 (khtml::XMLTokenizer::XMLTokenizer):
32198 2006-01-15 Alexander Kellett <lypanov@kde.org>
32200 Reviewed by eseidel. Landed by eseidel.
32202 Add support for svg css property writing-mode.
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:
32214 2006-01-14 Alexander Kellett <lypanov@kde.org>
32216 Reviewed by eseidel. Landed by eseidel.
32218 Refactor out cases of KCanvasRenderingStyle used as an instance to
32219 store the current style. Temporarily unify the data passing via
32222 No tests needed, no functional change.
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:
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
32261 (KCanvasRenderingStyle::fillPainter): Merged fill logic in from
32263 * ksvg2/misc/KCanvasRenderingStyle.h:
32265 2006-01-14 David Hyatt <hyatt@apple.com>
32267 Move loader_client.h to CachedObjectClient.h.
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.
32285 2006-01-14 Anders Carlsson <andersca@mac.com>
32287 Reviewed by Eric and Hyatt.
32289 - http://bugs.webkit.org/show_bug.cgi?id=6544
32290 Remove unused headers.
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.
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:
32309 * page/FrameView.cpp:
32310 (KHTMLView::KHTMLView):
32311 Remove header inclusions
32313 2006-01-14 David Hyatt <hyatt@apple.com>
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.
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:
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.
32431 * page/FramePrivate.h:
32432 * page/FrameView.cpp:
32434 2006-01-14 Eric Seidel <eseidel@apple.com>
32438 break classes in dom_nodeimpl.* into separate files (one per class)
32439 http://bugs.webkit.org/show_bug.cgi?id=6543
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:
32519 * kwq/DOMUtility.mm:
32520 * kwq/KWQClipboard.h:
32521 * page/FrameView.cpp:
32523 2006-01-14 David Hyatt <hyatt@apple.com>
32525 Convert QMemArray to Array. QByteArray becomes ByteArray.
32526 KWQArrayImpl becomes ArrayImpl.
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):
32582 (QBuffer::QBuffer):
32584 * kwq/KWQCString.cpp:
32585 (QCString::QCString):
32586 (QCString::resize):
32587 (QCString::append):
32588 * kwq/KWQCString.h:
32590 (findHostnamesInMailToURL):
32593 * kwq/KWQLoader.mm:
32594 (KWQServeSynchronousRequest):
32595 * kwq/KWQMemArray.h: Removed.
32597 * kwq/KWQPixmap.mm:
32598 (QPixmap::QPixmap):
32599 (QPixmap::receivedData):
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:
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):
32635 2006-01-14 David Hyatt <hyatt@apple.com>
32637 Convert QRect/QRectF -> IntRect/FloatRect. Same drill as point
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:
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:
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):
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:
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):
32956 * kwq/KWQPainter.h:
32957 * kwq/KWQPainter.mm:
32959 (QPainter::drawPixmap):
32960 (QPainter::fillRect):
32961 (QPainter::addClip):
32962 (QPainter::addRoundedRectClip):
32964 * kwq/KWQPixmap.mm:
32965 (QPixmap::setAnimationRect):
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):
32975 * kwq/KWQRenderTreeDebug.cpp:
32979 (externalRepresentation):
32980 * kwq/KWQScrollView.h:
32981 * kwq/KWQScrollView.mm:
32982 (QScrollView::updateContents):
32983 * kwq/KWQWMatrix.cpp:
32984 (QWMatrix::mapRect):
32985 * kwq/KWQWMatrix.h:
32987 * kwq/KWQWidget.mm:
32990 (QWidget::frameGeometry):
32991 (QWidget::setFrameGeometry):
32993 * kwq/KWQWindowWidget.h:
32994 * kwq/KWQWindowWidget.mm:
32995 (KWQWindowWidget::frameGeometry):
32996 (KWQWindowWidget::setFrameGeometry):
32998 (Frame::gotoAnchor):
32999 (Frame::paintCaret):
33000 (Frame::paintDragCaret):
33001 (Frame::selectionRect):
33002 (Frame::revealSelection):
33004 (Frame::adjustPageHeight):
33005 (Frame::centerSelectionInVisibleArea):
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):
33071 2006-01-13 David Hyatt <hyatt@apple.com>
33073 Convert QPointF to FloatPoint and move it to the platform
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:
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:
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.
33114 (QRectF::contains):
33118 (QRectF::topRight):
33119 (QRectF::bottomRight):
33120 (QRectF::bottomLeft):
33121 * platform/FloatPoint.cpp: Added.
33122 (WebCore::FloatPoint::FloatPoint):
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):
33134 2006-01-13 David Hyatt <hyatt@apple.com>
33136 Convert QPoint and QPointArray to IntPoint and IntPointArray.
33137 Factor out the Objective-C-specific logic into a .mm file
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:
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):
33197 (QMouseEvent::pos):
33198 (QWheelEvent::QWheelEvent):
33199 (QWheelEvent::pos):
33200 (QWheelEvent::globalPos):
33202 (positionForEvent):
33203 (globalPositionForEvent):
33204 * kwq/KWQPainter.h:
33205 * kwq/KWQPainter.mm:
33206 (QPainter::drawConvexPolygon):
33207 (QPainter::drawPixmap):
33208 * kwq/KWQPixmap.mm:
33210 * kwq/KWQPoint.mm: Removed.
33211 * kwq/KWQPointArray.cpp: Removed.
33212 * kwq/KWQPointArray.h: Removed.
33214 * kwq/KWQPointF.mm:
33217 (QRect::moveTopLeft):
33223 (QRect::bottomRight):
33224 (QRect::bottomLeft):
33225 * kwq/KWQRegion.cpp:
33226 (QRegion::QRegion):
33227 (QRegion::contains):
33229 * kwq/KWQScrollView.h:
33230 * kwq/KWQScrollView.mm:
33231 (QScrollView::contentsToViewport):
33233 * kwq/KWQWidget.mm:
33236 (QWidget::mapFromGlobal):
33237 * kwq/KWQWindowWidget.h:
33238 * kwq/KWQWindowWidget.mm:
33239 (KWQWindowWidget::mapFromGlobal):
33240 (KWQWindowWidget::viewportToGlobal):
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):
33271 2006-01-13 David Hyatt <hyatt@apple.com>
33273 Convert QSizeF to FloatSize and move it to the platform
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:
33284 * kcanvas/KCanvasTreeDebug.h:
33289 * kwq/KWQSizeF.h: Removed.
33290 * kwq/KWQSizeF.mm: Removed.
33291 * platform/FloatSize.cpp: Added.
33292 (FloatSize::FloatSize):
33293 (FloatSize::isValid):
33294 (FloatSize::expandedTo):
33298 * platform/FloatSize.h: Added.
33299 * platform/mac/FloatSize.mm: Added.
33300 (FloatSize::FloatSize):
33301 (FloatSize::operator NSSize):
33302 (FloatSize::operator CGSize):
33304 2006-01-13 David Hyatt <hyatt@apple.com>
33306 Fix build bustage from QSize -> IntSize change.
33313 2006-01-13 David Hyatt <hyatt@apple.com>
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.
33320 Win32 can just compile IntSize.cpp and doesn't need any
33321 platform-specific extension here.
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):
33407 * kwq/KWQPainter.h:
33408 * kwq/KWQPainter.mm:
33409 (QPainter::addRoundedRectClip):
33411 * kwq/KWQPixmap.mm:
33412 (QPixmap::QPixmap):
33419 * kwq/KWQSize.h: Removed.
33420 * kwq/KWQSize.mm: Removed.
33425 * kwq/KWQSlider.mm:
33426 (QSlider::sizeHint):
33427 * kwq/KWQStyle.cpp:
33428 (QStyle::sizeFromContents):
33430 * kwq/KWQTextEdit.h:
33431 * kwq/KWQTextEdit.mm:
33432 (QTextEdit::sizeWithColumnsAndRows):
33434 * kwq/KWQWidget.mm:
33435 (QWidget::sizeHint):
33438 * kwq/KWQWindowWidget.h:
33439 * kwq/KWQWindowWidget.mm:
33440 (KWQWindowWidget::sizeHint):
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):
33456 2006-01-13 Maks Orlovich <maksim@kde.org>
33458 Reviewed, redone a bit, and landed by Darin (help from Eric too).
33460 - fix http://bugs.webkit.org/show_bug.cgi?id=4586
33461 rowIndex calculation doesn't consider head to come before body.
33463 Test: fast/table/rowindex.html
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.
33471 2006-01-13 Mark Rowe <opendarwin.org@bdash.net.nz>
33473 Reviewed, tweaked, and landed by Darin.
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
33478 Test: fast/css-generated-content/no-openclose-quote.html
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).
33484 2006-01-13 Mitz Pettel <opendarwin.org@mitzpettel.com>
33486 Reviewed and landed by Darin.
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
33491 Test: fast/text/basic/015.html
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.
33502 2006-01-12 Maciej Stachowiak <mjs@apple.com>
33504 Rubber stamped by Eric.
33506 - rename WebCoreBridge to WebCoreFrameBridge
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]):
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):
33556 * kwq/KWQKJavaAppletWidget.mm:
33557 * kwq/KWQLineEdit.mm:
33558 * kwq/KWQListBox.mm:
33559 (-[KWQTableView keyDown:]):
33560 (-[KWQTableView keyUp:]):
33561 * kwq/KWQLoader.mm:
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:
33592 2006-01-13 Darin Adler <darin@apple.com>
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.
33597 2006-01-13 Eric Seidel <eseidel@apple.com>
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.
33605 * kcanvas/RenderSVGImage.cpp:
33606 (RenderSVGImage::paint): removed cg calls
33608 2006-01-13 Eric Seidel <eseidel@apple.com>
33612 Remove CG dependencies from kcanvas/device/quartz
33613 http://bugs.webkit.org/show_bug.cgi?id=6521
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
33645 2006-01-13 Darin Adler <darin@apple.com>
33649 - fix http://bugs.webkit.org/show_bug.cgi?id=6508
33650 retire APPLE_CHANGES
33652 * WebCore.vcproj/WebCore/WebCore.vcproj: Don't set APPLE_CHANGES or
33653 HAVE_CONFIG_H any more.
33655 * WebCore.xcodeproj/project.pbxproj: Don't set APPLE_CHANGES or
33656 KHTML_NO_CPLUSPLUS_DOM any more.
33658 * kcanvas/KCanvasFilters.h:
33659 Use __APPLE__ instead of APPLE_CHANGES.
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.
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.
33675 * ksvg2/svg/SVGDocumentImpl.h:
33676 Remove some unneeded APPLE_CHANGES code.
33678 * khtml/rendering/render_flexbox.cpp: (khtml::RenderFlexibleBox::layoutVerticalBox):
33679 Remove a misleading mention of APPLE_CHANGES in a comment.
33681 Also changed tabs to spaces in files I am committing.
33683 2006-01-12 David Hyatt <hyatt@apple.com>
33685 Get the misc directory compiling on Win32.
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:
33695 2006-01-12 David Hyatt <hyatt@apple.com>
33697 Make the ecma directory compile on Win32.
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):
33720 * khtml/ecma/kjs_html.h:
33721 * khtml/ecma/kjs_window.cpp:
33724 2006-01-12 Maciej Stachowiak <mjs@apple.com>
33726 Reviewed by Dave Hyatt.
33728 - removed leftover files from form split, fix remaining include of the header.
33730 * khtml/html/html_formimpl.cpp: Removed.
33731 * khtml/html/html_formimpl.h: Removed.
33734 2006-01-12 David Hyatt <hyatt@apple.com>
33736 Make the editing directory compile on Win32.
33738 * WebCore.vcproj/WebCore/WebCore.vcproj:
33739 * khtml/editing/jsediting.cpp:
33741 2006-01-12 David Hyatt <hyatt@apple.com>
33743 Get the HTML, XML, and Rendering directories compiling on
33744 Win32. Add the bash script for generated files as well.
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:
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:
33768 2006-01-12 Anders Carlsson <andersca@mac.com>
33772 - fix http://bugs.webkit.org/show_bug.cgi?id=5153
33773 deleteRule and insertRule do not work
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.
33779 * khtml/css/css_stylesheetimpl.cpp:
33780 (CSSStyleSheetImpl::insertRule):
33781 (CSSStyleSheetImpl::deleteRule):
33782 Call styleSheetChanged()
33784 (CSSStyleSheetImpl::styleSheetChanged):
33785 Call DocumentImpl::updateStyleSelector()
33787 * khtml/css/css_stylesheetimpl.h:
33788 (DOM::StyleSheetImpl::setDisabled):
33789 Call styleSheetChanged();
33791 (DOM::StyleSheetImpl::styleSheetChanged):
33794 (DOM::CSSStyleSheetImpl::removeRule):
33795 New IE extension function, simply calls deleteRule.
33797 * khtml/css/cssstyleselector.cpp:
33798 (khtml::CSSStyleSelector::CSSStyleSelector):
33799 Ignore disabled style sheets.
33801 * khtml/ecma/kjs_css.cpp:
33802 (KJS::DOMCSSStyleSheetProtoFunc::callAsFunction):
33803 * khtml/ecma/kjs_css.h:
33804 (KJS::DOMCSSStyleSheet::):
33807 2006-01-12 Mitz Pettel <opendarwin.org@mitzpettel.com>
33809 Reviewed and landed by Darin.
33811 Test: fast/css/rtl-ordering.html
33813 - fix http://bugs.webkit.org/show_bug.cgi?id=6334
33814 REGRESSION: <input type="button"> text is reversed on "visual Hebrew" pages
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.
33826 2006-01-12 Mitz Pettel <opendarwin.org@mitzpettel.com>
33828 Reviewed and landed by Darin.
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
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.
33839 2006-01-12 Justin Haygood <justin@xiondigital.net>
33841 Reviewed, tweaked, and landed by Darin.
33843 - fix http://bugs.webkit.org/show_bug.cgi?id=6497
33844 Use #include, not #import, in KWQ C++ files
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:
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.
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.
33880 2006-01-12 Eric Seidel <eseidel@apple.com>
33882 Reviewed by anders & mjs.
33884 Split dom_docimpl.* out into separate files (one per class):
33885 http://bugs.webkit.org/show_bug.cgi?id=6502
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:
34015 * kwq/DOMEvents.mm:
34017 * kwq/DOMInternal.mm:
34019 * kwq/KWQAccObject.mm:
34020 * kwq/KWQAccObjectCache.mm:
34021 * kwq/KWQKJavaAppletWidget.mm:
34022 * kwq/KWQPageState.mm:
34023 * kwq/KWQRenderTreeDebug.cpp:
34027 2006-01-12 Maciej Stachowiak <mjs@apple.com>
34031 - fixed build breakage
34033 * ksvg2/misc/SVGImageLoader.cpp: Add dom_docimpl.h include
34035 2006-01-12 Maciej Stachowiak <mjs@apple.com>
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
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:
34084 2006-01-12 Anders Carlsson <andersca@mac.com>
34088 * khtml/ecma/kjs_window.cpp:
34091 2006-01-12 Anders Carlsson <andersca@mac.com>
34095 http://bugs.webkit.org/show_bug.cgi?id=6501
34096 - Merge KParts::BrowserInterface with KParts::BrowserExtension.
34098 * ForwardingHeaders/kparts/browserinterface.h: Removed.
34099 * bridge/mac/KWQKPartsBrowserInterface.mm: Removed.
34100 * kwq/KWQKPartsBrowserInterface.h: Removed.
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:
34114 (Frame::slotRedirect):
34115 * page/FrameView.cpp:
34116 Add getHistoryLength and goBackOrForward to BrowserExtension and
34119 2006-01-12 Eric Seidel <eseidel@apple.com>
34121 Build fix, files missing from previous <image> commit:
34122 http://bugs.webkit.org/show_bug.cgi?id=5965
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.
34136 2006-01-12 Anders Carlsson <andersca@mac.com>
34138 Reviewed by Maciej.
34140 http://bugs.webkit.org/show_bug.cgi?id=6496
34141 - Merge KParts::Part with KParts::ReadOnly part and rename it to
34144 * ForwardingHeaders/kparts/part.h: Removed.
34145 * kwq/KWQKPartsPart.h: Removed.
34146 * kwq/KWQKPartsPart.mm: Removed.
34147 * kwq/KWQObject.cpp:
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):
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):
34188 (Frame::stopLoading):
34189 (Frame::stopAnimations):
34190 (Frame::checkEmitLoadEvent):
34191 (Frame::processObjectRequest):
34192 (Frame::childFrame):
34193 (Frame::findFrame):
34194 (Frame::setZoomFactor):
34196 (Frame::customEvent):
34197 (Frame::slotPartRemoved):
34198 (Frame::connectChild):
34199 (Frame::disconnectChild):
34200 (Frame::setPolicyBaseURL):
34204 * page/FramePrivate.h:
34206 2006-01-12 Alexander Kellett <lypanov@kde.org>
34208 Reviewed by eseidel. Landed by eseidel.
34210 Refactor HTMLImageLoader to make subclassing possible. Implement
34211 RenderSVGText-style RenderImage subclass. Use this to reimplement
34212 SVGImageElementImpl.
34214 As a side effect, this should fix:
34215 http://bugs.webkit.org/show_bug.cgi?id=5965
34217 Already covered by several existing tests.
34218 Re-enabled disabled image tests.
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:
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:
34244 2006-01-11 David Hyatt <hyatt@apple.com>
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
34252 * WebCore.vcproj/WebCore/WebCore.vcproj:
34254 * khtml/xml/dom_stringimpl.cpp:
34255 (DOM::DOMStringImpl::toCoordsArray):
34256 * khtml/xml/xml_tokenizer.cpp:
34257 (khtml::XMLTokenizer::error):
34259 2006-01-11 Justin Garcia <justin.garcia@apple.com>
34261 Replaced two asserts that I accidently removed in
34262 the build bustage fix.
34265 (Frame::revealSelection):
34266 (Frame::centerSelectionInVisibleArea):
34268 2006-01-11 Justin Garcia <justin.garcia@apple.com>
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
34280 * bridge/mac/WebCoreBridge.mm:
34281 (-[WebCoreBridge deselectText]):
34282 * khtml/editing/jsediting.cpp:
34283 * khtml/xml/dom_docimpl.cpp:
34284 (DocumentImpl::clearSelectionIfNeeded):
34286 2006-01-11 Justin Garcia <justin.garcia@apple.com>
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
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.
34301 Test results changed (change looks funny but is correct):
34302 * editing/inserting/editing-empty-divs.html
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
34312 Move more editing functions out of NodeImpl
34313 Improve the selection of VP candidates to fix 6476
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):
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):
34369 (DOM::Position::upstream):
34370 (DOM::Position::downstream):
34371 * khtml/xml/dom_position.h:
34372 * kwq/KWQAccObject.mm:
34373 (-[KWQAccObject doAXUIElementForTextMarker:]):
34375 (Frame::selectContentsOfNode):
34377 2006-01-11 Maciej Stachowiak <mjs@apple.com>
34381 - remove some selection-related methods on Frame that are just simple wrappers
34382 of Selection methods.
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):
34395 (Frame::selection):
34396 (Frame::currentForm):
34397 (Frame::revealSelection):
34398 (Frame::centerSelectionInVisibleArea):
34400 * page/FrameView.cpp:
34401 (KHTMLView::clear):
34403 2006-01-11 Maciej Stachowiak <mjs@apple.com>
34407 - reduce the number of files that rebuild when you touch Frame.h
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:
34432 (Frame::markedTextUnderlines):
34434 (MarkedTextUnderline::MarkedTextUnderline):
34436 2006-01-11 Anders Carlsson <andersca@mac.com>
34440 * ForwardingHeaders/ksvg2/KSVGView.h:
34441 Rename KHTMLView to FrameView and include FrameView.h
34443 2006-01-11 Maciej Stachowiak <mjs@apple.com>
34445 Reviewed by Anders.
34447 - renamed KHTMLPartPrivate to FramePrivate and KHTMLView to FrameView
34448 http://bugs.webkit.org/show_bug.cgi?id=6490
34450 (also corresponding header renames, remove headers where not
34451 needed, and a few substantive changes to allow more header removal)
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()
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:
34512 * kwq/KWQKJavaAppletWidget.mm:
34513 * kwq/KWQPageState.mm:
34514 * kwq/KWQRenderTreeDebug.cpp:
34515 * kwq/KWQSignalStubs.mm:
34516 * kwq/KWQWidget.mm:
34519 (Frame::submitForm):
34520 (Frame::isComplete):
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.
34531 2006-01-10 Maciej Stachowiak <mjs@apple.com>
34535 - moved files related to the Frame class and the forthcoming Page class
34538 - moved files related to the MacFrame class and other bridging-related classes
34539 to WebCore/bridge/mac
34541 * ForwardingHeaders/ksvg2/KSVGPart.h:
34542 * ForwardingHeaders/ksvg2/KSVGView.h:
34543 * WebCore.xcodeproj/project.pbxproj:
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.
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.
34576 2006-01-10 David Hyatt <hyatt@apple.com>
34578 #if Win32 the KWQMemArray overloads, since they're working around
34579 a Windows compiler bug.
34581 * kwq/KWQMemArray.h:
34583 2006-01-10 David Hyatt <hyatt@apple.com>
34585 Fix the broken ifdef in KWQString.h
34589 2006-01-10 hyatt@apple.com
34591 Fix for bugzilla bug 6458, get rendering dir of WebCore
34592 compiling on Windows.
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:
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):
34682 * kwq/KWQFontFamily.h:
34683 * kwq/KWQKPartsPart.h:
34685 * kwq/KWQLogging.h:
34686 * kwq/KWQMapImpl.h:
34687 * kwq/KWQMemArray.h:
34688 (QMemArray::operator[]):
34689 * kwq/KWQPainter.h:
34691 * kwq/KWQPixmap.mm:
34692 * kwq/KWQPtrDictImpl.h:
34695 * kwq/KWQTextCodec.h:
34698 (QTimer::isActive):
34699 * kwq/KWQValueListImpl.h:
34700 * kwq/KWQVariant.h:
34701 * kwq/KWQWMatrix.h:
34704 2006-01-10 Eric Seidel <eseidel@apple.com>
34706 No review needed, build (linking deployment) fix only.
34708 * kwq/MacFrame.h: remove bogus KHTMLView *view() const delcaration
34710 2006-01-10 Eric Seidel <eseidel@apple.com>
34712 Roll out local changes committed by accident w/ Mitz's patch.
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):
34730 (QObject::killTimer):
34732 (QObject::killTimers):
34733 (sendDeferredTimerEvent):
34735 2006-01-10 Mitz Pettel <opendarwin.org@mitzpettel.com>
34737 No tests possible, no functionality changes.
34739 Reviewed by darin. Committed by eseidel.
34741 - fix http://bugs.webkit.org/show_bug.cgi?id=6410
34742 Performance regression in text relayout due to bad BidiContext
34745 * khtml/rendering/bidi.cpp:
34746 (khtml::operator==): Return true if BidiContexts match and both
34747 don't have a parent.
34749 2006-01-10 Eric Seidel <eseidel@apple.com>
34751 Removed broken links in project file, no review need.
34753 * WebCore.xcodeproj/project.pbxproj:
34755 2006-01-09 Maciej Stachowiak <mjs@apple.com>
34759 - move C++-only methods down from Frame to MacFrame
34761 * WebCore.xcodeproj/project.pbxproj:
34764 (Frame::setSettings):
34765 (Frame::provisionalLoadStarted):
34766 (Frame::userGestureHint):
34768 (Frame::selectionRect):
34769 (Frame::isFrameSet):
34771 (Frame::didNotOpenURL):
34772 (Frame::selectionStart):
34774 (Frame::currentForm):
34775 (Frame::setEncoding):
34777 (Frame::revealSelection):
34778 (Frame::scrollOverflow):
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):
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):
34821 (Frame::markedTextUsesUnderlines):
34822 (Frame::markedTextUnderlines):
34823 (Frame::prepareForUserAction):
34825 (Frame::mousePressNode):
34827 (Frame::instances):
34828 (Frame::MarkedTextUnderline::MarkedTextUnderline):
34829 * kwq/MacFrame.cpp: Removed.
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
34838 2006-01-10 Eric Seidel <eseidel@apple.com>
34840 Rubber-stamped by mjs.
34842 Split html_formimpl.{cpp,h} into multiple files (one per class)
34843 http://bugs.webkit.org/show_bug.cgi?id=6461
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
34898 2006-01-09 Alexey Proskuryakov <ap@nypop.com>
34902 - fix http://bugs.webkit.org/show_bug.cgi?id=6446
34903 Allow surrogate pairs in numeric entities
34905 Test case: fast/parser/entity-surrogate-pairs.html
34907 * khtml/html/htmltokenizer.cpp:
34908 (khtml::HTMLTokenizer::parseEntity): Don't check if we got a surrogate.
34910 2006-01-09 Eric Seidel <eseidel@apple.com>
34914 Further code removal (and build fix!)
34919 (Frame::restoreURL):
34920 (Frame::didOpenURL):
34922 (Frame::baseTarget):
34924 (Frame::khtmlMouseDoubleClickEvent):
34925 (Frame::khtmlDrawContentsEvent):
34926 * kwq/KWQLoader.mm:
34929 (KWQSlot::KWQSlot):
34932 2006-01-09 Eric Seidel <eseidel@apple.com>
34936 Remove unused code from Frame.
34940 (Frame::receivedFirstData):
34941 (Frame::checkCompleted):
34942 (Frame::completeURL):
34943 (Frame::khtmlMousePressEvent):
34944 (Frame::handleMouseMoveEventSelection):
34945 (Frame::khtmlMouseReleaseEvent):
34947 * khtml/khtmlpart_p.h:
34948 * khtml/khtmlview.cpp:
34949 (KHTMLView::viewportWheelEvent):
34950 (KHTMLView::focusOutEvent):
34952 2006-01-09 Eric Seidel <eseidel@apple.com>
34956 Remove khtml-specific forwarding headers.
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:
35080 2006-01-10 Anders Carlsson <andersca@mac.com>
35082 Reviewed by Maciej.
35084 - renamed ChildFrame::m_frame to m_renderer and
35085 ChildFrame::m_part to m_frame which makes more sense.
35087 This also fixes some bugs which were introduced in Maciej's
35091 (Frame::stopLoading):
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):
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):
35111 (Frame::frameDetached):
35112 (MacFrame::createPart):
35113 (MacFrame::nextKeyViewInFrameHierarchy):
35114 (MacFrame::setPolicyBaseURL):
35116 2006-01-09 Maciej Stachowiak <mjs@apple.com>
35120 http://bugs.webkit.org/show_bug.cgi?id=6450
35121 - renamed KHTMLPart to Frame (and KWQKHTMLPart to MacFrame for now)
35123 * ForwardingHeaders/ksvg2/KSVGPart.h:
35124 * WebCore.xcodeproj/project.pbxproj:
35125 * khtml/Frame.cpp: Added.
35126 (khtml::PartStyleSheetLoader::PartStyleSheetLoader):
35127 (khtml::PartStyleSheetLoader::setStyleSheet):
35131 (Frame::restoreURL):
35132 (Frame::didOpenURL):
35133 (Frame::didExplicitOpen):
35134 (Frame::stopLoading):
35136 (Frame::browserExtension):
35138 (Frame::setJScriptEnabled):
35139 (Frame::jScriptEnabled):
35140 (Frame::setMetaRefreshEnabled):
35141 (Frame::metaRefreshEnabled):
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):
35157 (Frame::xmlDocImpl):
35158 (Frame::replaceDocImpl):
35159 (Frame::receivedFirstData):
35160 (Frame::slotFinished):
35161 (Frame::childBegin):
35165 (Frame::endIfNotLoading):
35167 (Frame::stopAnimations):
35168 (Frame::gotoAnchor):
35169 (Frame::slotFinishedParsing):
35170 (Frame::slotLoaderRequestStarted):
35171 (Frame::slotLoaderRequestDone):
35172 (Frame::checkCompleted):
35173 (Frame::checkEmitLoadEvent):
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):
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):
35201 (Frame::setSelection):
35202 (Frame::setDragCaret):
35203 (Frame::clearSelection):
35204 (Frame::invalidateSelection):
35205 (Frame::setCaretVisible):
35206 (Frame::clearCaretRectIfNeeded):
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):
35238 (Frame::lastModified):
35239 (Frame::reparseConfiguration):
35240 (Frame::frameNames):
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):
35276 (Frame::setOpener):
35277 (Frame::openedByJS):
35278 (Frame::setOpenedByJS):
35279 (Frame::preloadStyleSheet):
35280 (Frame::preloadScript):
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):
35294 (Frame::computeAndSetTypingStyle):
35295 (Frame::applyStyle):
35296 (Frame::applyParagraphStyle):
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):
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):
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:
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):
35619 (-[DOMNode KJS::Bindings::]):
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):
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:
35683 (KWQServeSynchronousRequest):
35684 (KWQCheckIfReloading):
35685 (KWQCheckCacheObjectStatus):
35686 (KWQCacheObjectExpiresTime):
35687 * kwq/KWQObject.cpp:
35688 (QObject::inherits):
35689 (QObject::isFrame):
35691 * kwq/KWQPageState.mm:
35692 (-[KWQPageState dealloc]):
35693 (-[KWQPageState finalize]):
35694 * kwq/KWQRegExp.cpp:
35695 (QRegExp::KWQRegExpPrivate::compile):
35696 * kwq/KWQRenderTreeDebug.cpp:
35699 * kwq/KWQSlider.mm:
35700 (-[KWQSlider becomeFirstResponder]):
35701 (-[KWQSlider resignFirstResponder]):
35702 (-[KWQSlider nextKeyView]):
35703 (-[KWQSlider previousKeyView]):
35704 (-[KWQSlider canBecomeKeyView]):
35705 (QSlider::focusPolicy):
35707 (KWQSlot::KWQSlot):
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]):
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):
35751 * kwq/MacFrame.mm: Added.
35752 (Frame::completed):
35755 (Frame::setStatusBarText):
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):
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):
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):
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):
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:]):
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]):
36140 2006-01-09 Darin Adler <darin@apple.com>
36142 * Makefile.am: Removed.
36144 2006-01-09 John Sullivan <sullivan@apple.com>
36146 * khtml/misc/decoder.cpp:
36147 removed #include of recently-removed kcharsets.h to fix build
36149 2006-01-08 Alexander Kellett <lypanov@kde.org>
36151 Reviewed by eseidel. Committed by eseidel.
36153 First set of refactors to fix
36154 http://bugs.webkit.org/show_bug.cgi?id=5748.
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.
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:
36170 (KRenderingFillPainter::Private::Private):
36171 * kcanvas/device/KRenderingFillPainter.h: refactor out paintserver and
36173 * kcanvas/device/KRenderingStrokePainter.cpp: refactor out paintserver
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
36196 2006-01-09 Alexey Proskuryakov <ap@nypop.com>
36198 Fix broken build (CachedObject.cpp was still including kcharsets.h).
36199 Proposed and reviewed by Eric Seidel.
36201 2006-01-09 Eric Seidel <eseidel@apple.com>
36205 Remove more unused code from kwq.
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.
36261 * kwq/KWQWidget.mm:
36263 2006-01-09 Eric Seidel <eseidel@apple.com>
36267 Removing more unused parts of KWQ.
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:
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:
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:
36309 2006-01-09 Eric Seidel <eseidel@apple.com>
36311 Rubber stamped by mjs.
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
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
36384 2006-01-09 Alexey Proskuryakov <ap@nypop.com>
36386 Reviewed by Maciej.
36388 - fix http://bugs.webkit.org/show_bug.cgi?id=6402
36389 Implement frameElement.width and frameElement.height
36391 Test case: fast/frames/frameElement-widthheight.html
36393 * khtml/ecma/kjs_html.cpp:
36394 (KJS::HTMLElement::frameGetter):
36395 * khtml/ecma/kjs_html.h:
36396 Add FrameWidth, FrameHeight
36398 * khtml/html/html_baseimpl.cpp:
36399 (HTMLFrameElementImpl::frameWidth):
36400 (HTMLFrameElementImpl::frameHeight):
36401 * khtml/html/html_baseimpl.h:
36402 Add frameWidth, frameHeight
36404 2006-01-09 Mitz Pettel <opendarwin.org@mitzpettel.com>
36406 Reviewed by Maciej, landed by ap.
36408 Test: fast/replaced/inline-box-wrapper-handover.html
36410 - fix http://bugs.webkit.org/show_bug.cgi?id=6276
36411 Image thumbnails are misplaced on forum.2ostrov.ru
36413 * khtml/rendering/render_line.cpp:
36414 (khtml::InlineBox::deleteLine): Don't reset the inline box wrapper when
36415 deleting an extracted box.
36417 2006-01-08 Eric Seidel <eseidel@apple.com>
36419 Reviewed by ggaren.
36421 Remove all mention of NSView from khtml.
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.
36433 2006-01-08 Eric Seidel <eseidel@apple.com>
36435 Rubber stamped by ggaren.
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
36475 2006-01-08 Eric Seidel <eseidel@apple.com>
36477 Reviewed by mjs & xenon.
36479 Renamed a few in kwq/ from .mm to .cpp
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.
36489 2006-01-08 Eric Seidel <eseidel@apple.com>
36493 Renamed several files in kwq/ from .mm to .cpp
36494 Removed a few pieces of unused KWQ code.
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.
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.
36572 2006-01-07 Maciej Stachowiak <mjs@apple.com>
36576 - added basic SVG text support using CSS-based rendering
36577 http://bugs.webkit.org/show_bug.cgi?id=4883
36579 Affects many test results in LayoutTests/svg.
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
36588 (RenderSVGText::paint): Apply appropriate CTM transform and then just let
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.
36603 2006-01-07 Eric Seidel <eseidel@apple.com>
36607 Removed old, unneeded code.
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
36622 2006-01-07 Maciej Stachowiak <mjs@apple.com>
36626 - fixed WebCore build
36627 http://bugs.webkit.org/show_bug.cgi?id=6404
36629 * khtml/rendering/render_canvasimage.h: Remove unneeded extern declarations.
36631 2006-01-07 Anders Carlsson <andersca@mac.com>
36633 Reviewed by Maciej.
36635 - Fix http://bugs.webkit.org/show_bug.cgi?id=6373
36636 REGRESSION: JavaScript hang when comparing large array to null
36638 * khtml/ecma/kjs_html.cpp:
36639 Remove toPrimitive.
36641 * khtml/ecma/kjs_html.h:
36642 (KJS::HTMLAllCollection::isEqualToNull):
36643 Implement isEqualToNull and have it return true.
36645 2006-01-06 Eric Seidel <eseidel@apple.com>
36649 <rdar://problem/4386652> Crash: SVG filter crash at w3schools.com
36651 * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
36652 (KCanvasFEDiffuseLightingQuartz::getCIFilter): nil check
36653 (KCanvasFESpecularLightingQuartz::getCIFilter): nil check
36655 2006-01-06 Geoffrey Garen <ggaren@apple.com>
36657 Patch by Mitz, reviwed by Darin, layout tested and landed by me.
36659 - Fixed http://bugs.webkit.org/show_bug.cgi?id=6382
36660 REGRESSION: Repro crash when clicking link with target="_blank"
36662 * kwq/KWQKHTMLPart.mm:
36663 (KWQKHTMLPart::setName):
36664 * manual-tests/empty-link-target.html: Added.
36666 2006-01-06 Alexey Proskuryakov <ap@nypop.com>
36670 - fix http://bugs.webkit.org/show_bug.cgi?id=5291
36671 FORM multipart/form-data with GET method issue
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
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.
36685 2006-01-06 Alexey Proskuryakov <ap@nypop.com>
36689 - fix http://bugs.webkit.org/show_bug.cgi?id=5792
36690 Crasher on rendering-shapes from SVG 1.0 testsuite
36692 Test case: fast/parser/entity-ignorable-whitespace.xhtml
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
36699 2006-01-06 Anders Carlsson <andersca@mac.com>
36703 - fix http://bugs.webkit.org/show_bug.cgi?id=5142
36704 parseXMLDocumentFragment can't parse fragments correctly
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):
36716 (khtml::parseXMLDocumentFragment):
36717 Change back into using xmlParseBalancedChunkMemory.
36719 2006-01-06 Alexander Kellett <lypanov@kde.org>
36721 Reviewed by eseidel. Landed by eseidel.
36723 Basic support for <mask> tag.
36724 http://bugs.webkit.org/show_bug.cgi?id=5969
36725 Still missing attribute support for: maskUnits, maskContentUnits.
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.
36731 This also tickles a (known) gradient update issue:
36732 http://bugs.webkit.org/show_bug.cgi?id=6052
36734 Test: svg/custom/grayscale-gradient-mask.svg
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.
36798 2006-01-04 Maciej Stachowiak <mjs@apple.com>
36802 - move frame management and finding code from WebKit to WebCore
36803 http://bugs.webkit.org/show_bug.cgi?id=6368
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
36828 2006-01-04 Anders Carlsson <andersca@mac.com>
36832 Based on a patch by Eric.
36834 - fix http://bugs.webkit.org/show_bug.cgi?id=6180
36835 "text" output in fragment produced by XSLTProccessor is wrong (has xhtml garbage)
36837 * khtml/xsl/xslt_processorimpl.cpp:
36838 (DOM::xsltParamArrayFromParameterMap):
36839 (DOM::freeXsltParamArray):
36840 Use fastMalloc/fastFree.
36842 (DOM::createFragmentFromSource):
36843 If the output is "text", just create a text node and add
36844 it to the fragment.
36846 2006-01-04 Geoffrey Garen <ggaren@apple.com>
36850 - Fixed http://bugs.webkit.org/show_bug.cgi?id=6311
36851 document.plugins doesn't exist
36853 * khtml/ecma/kjs_html.cpp: Added 'plugins' as synonym for 'embeds'
36855 2006-01-04 Geoffrey Garen <ggaren@apple.com>
36859 - Fixed <rdar://problem/4214080> document.embeds: embeds[0].Play()
36860 undefined at languageguide.org prevents audio playing on mouseover
36862 - Layout test: fast/dom/object-embed-plugin-scripting.html
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.
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.
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().
36883 (DOM::HTMLEmbedElementImpl::rendererIsNeeded): Assert that an <object>
36884 parent has a renderer because we're going to use it later.
36886 (DOM::HTMLObjectElementImpl::rendererIsNeeded): Changed to match style
36887 of HTMLEmbedElementImpl counterpart.
36889 2006-01-04 Mitz Pettel <opendarwin.org@mitzpettel.com>
36891 Reviewed by Darin, landed by ap.
36893 - fix http://bugs.webkit.org/show_bug.cgi?id=6301
36894 REGRESSION: Border repaint glitch
36896 * khtml/rendering/render_object.cpp:
36897 (RenderObject::repaintAfterLayoutIfNeeded): Repaint parts of the
36899 * manual-tests/border-repaint-glitch.html: Added.
36901 2005-12-30 Kimmo Kinnunen <kimmo.kinnunen@nokia.com>
36903 Reviewed by eseidel. Landed by eseidel.
36905 Changed use of QRect to QRectF in the points where SVG can have
36907 http://bugs.webkit.org/show_bug.cgi?id=4462
36910 * svg/custom/fractional-rects.svg: copy of rounded-rects.svg with
36911 fractional coordinates.
36913 * WebCore.xcodeproj/project.pbxproj:
36914 * kwq/KWQWMatrix.h:
36915 * kwq/KWQWMatrix.mm:
36916 (QWMatrix::mapRect): mapRect for QRectF
36918 * kwq/KWQRectF.mm: Added. QRectF impl
36920 * kwq/KWQSizeF.mm: Added.QSizeF impl
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
37004 2006-01-03 Maciej Stachowiak <mjs@apple.com>
37008 - moved frame traversal code across from bridge, also dropped the children
37011 * kwq/WebCoreBridge.h:
37012 * kwq/WebCoreBridge.mm:
37013 (-[WebCoreBridge firstChild]): Moved from WebBridge. Use new _firstChild
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
37023 (-[WebCoreBridge removeChild:]): Moved from WebBridge, maintain count and first/last
37026 2006-01-03 Justin Garcia <justin.garcia@apple.com>
37028 Reviewed by harrison
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)
37034 toString was defined as a method on the JS Selection object,
37035 but it didn't return anything.
37038 * editing/selection/toString.html
37040 * khtml/ecma/kjs_window.cpp:
37041 (KJS::SelectionFunc::callAsFunction):
37043 2006-01-03 Geoffrey Garen <ggaren@apple.com>
37047 - Fixed: http://bugs.webkit.org/show_bug.cgi?id=6318
37048 REGRESSION: Repro crash in JS called from Flash on bdash.net.nz
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.
37055 * kwq/KWQKHTMLPart.mm:
37056 (KWQKHTMLPart::setView): Clear the Netscape PlugIn windowScriptObject
37059 2006-01-03 Anders Carlsson <andersca@mac.com>
37063 - fix http://bugs.webkit.org/show_bug.cgi?id=6358
37064 JS objects missing "prototype" properties
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.
37077 2006-01-03 Eric Seidel <eseidel@apple.com>
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.
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
37097 2006-01-03 Justin Garcia <justin.garcia@apple.com>
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
37104 Reviewed by harrison
37106 Changed the Selection object's anchor/focus properties to match
37107 Mozilla's Selection object API, added getRangeAt and outlined the
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.
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
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):
37157 2006-01-03 Anders Carlsson <andersca@mac.com>
37159 Reviewed by Maciej.
37161 - fix http://bugs.webkit.org/show_bug.cgi?id=5378
37162 createDocument fails with DOM Exception 5 when passed empty qname
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".
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.
37174 2006-01-03 Eric Seidel <eseidel@apple.com>
37178 No functionality changes, no tests possible.
37180 khtml/editing should use RefPtr instead of manual ref/deref
37181 http://bugs.webkit.org/show_bug.cgi?id=6109
37183 Results in a slight performance gain < 1% on the PLT.
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):
37353 (-[DOMHTMLDocument _createDocumentFragmentWithMarkupString:baseURLString:]):
37354 (-[DOMHTMLDocument _createDocumentFragmentWithText:]):
37355 * kwq/WebCoreBridge.mm:
37356 (-[WebCoreBridge documentFragmentWithMarkupString:baseURLString:]):
37357 (-[WebCoreBridge documentFragmentWithText:]):
37358 (-[WebCoreBridge documentFragmentWithNodesAsParagraphs:]):
37360 2006-01-03 Anders Carlsson <andersca@mac.com>
37364 - fix http://bugs.webkit.org/show_bug.cgi?id=5177
37365 Javascript cloneNode(deep) does not clone form elements correctly
37367 * khtml/html/html_elementimpl.cpp:
37368 (HTMLElementImpl::cloneNode):
37369 Call copyNonAttributeProperties on the new node.
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.
37376 * khtml/xml/dom_docimpl.cpp:
37377 (DocumentImpl::importNode):
37378 Call copyNonAttributeProperties on the new node.
37380 * khtml/xml/dom_elementimpl.cpp:
37381 (ElementImpl::cloneNode):
37382 Call copyNonAttributeProperties on the new node.
37384 * khtml/xml/dom_elementimpl.h:
37385 (DOM::ElementImpl::copyNonAttributeProperties):
37386 Add function declaration.
37388 2006-01-02 Maciej Stachowiak <mjs@apple.com>
37390 Rubber stamped by Eric.
37392 - remove the no longer used QIntDict
37394 * kwq/KWQIntDict.h: Removed.
37396 2006-01-03 Alexey Proskuryakov <ap@nypop.com>
37400 - fix http://bugs.webkit.org/show_bug.cgi?id=5609
37401 XSLT document() doesn't handle relative paths
37403 Test case: fast/xsl/xslt-relative-path.xml
37405 * khtml/xsl/xslt_processorimpl.cpp:
37406 (DOM::docLoaderFunc): Renamed from stylesheetLoadFunc. Use base URL when constructing URLs.
37407 (DOM::XSLTProcessorImpl::transformToString):
37409 2006-01-02 Vicki Murley <vicki@apple.com>
37411 Reviewed by Maciej.
37413 - fix for <rdar://problem/4389622> *Pan EU2* iframe swallows events for overlapping elements (part 2)
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.
37422 * khtml/khtmlview.cpp:
37423 (KHTMLView::viewportMouseMoveEvent):
37425 2005-12-30 Darin Adler <darin@apple.com>
37427 Reviewed by Maciej.
37429 - http://bugs.webkit.org/show_bug.cgi?id=4557
37430 rename unusual strcmp and strcasecmp for DOMString family
37432 Added new functions named equal and equalIgnoringCase.
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
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*.
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.
37457 * khtml/html/html_listimpl.cpp:
37458 (DOM::HTMLOListElementImpl::parseMappedAttribute):
37459 (DOM::HTMLLIElementImpl::parseMappedAttribute):
37460 Use the "==" operator instead of strcmp.
37462 * khtml/css/cssstyleselector.cpp: (khtml::CSSStyleSelector::checkOneSelector):
37463 Use equalIgnoringCase instead of equalsIgnoreCase.
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.
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).
37476 * khtml/khtml_part.cpp:
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.
37511 2005-12-30 Mitz Pettel <opendarwin.org@mitzpettel.com>
37513 Reviewed by Darin, landed by ap.
37515 Test: fast/text/justified-text-rect.html
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
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:
37535 2005-12-30 Alexey Proskuryakov <ap@nypop.com>
37537 - Fix http://bugs.webkit.org/show_bug.cgi?id=6289
37538 REGRESSION: firstCharacterForRange(0, 0) returns a 0x0 rect
37540 * khtml/editing/visible_text.cpp:
37541 (khtml::TextIterator::rangeFromLocationAndLength):
37542 Only special-case (0, 0) ranges for empty documents.
37544 2005-12-30 Geoffrey Garen <ggaren@apple.com>
37546 Added test case for <rdar://problem/4268278> Submitting a form in onUnload event
37547 handler causes crash in -[WebDataSource(WebPrivate) _commitIfReady:]
37549 * manual-tests/onunload-form-submit-crash.html: Added.
37551 2005-12-30 Anders Carlsson <andersca@mac.com>
37555 - Fix http://bugs.webkit.org/show_bug.cgi?id=6297
37556 XMLSerializer should use createMarkup.
37558 * khtml/ecma/xmlserializer.cpp:
37559 (KJS::XMLSerializerProtoFunc::callAsFunction):
37560 Use createMarkup instead of NodeImpl::toString.
37562 * khtml/editing/markup.cpp:
37563 (khtml::startMarkup):
37564 escape attribute values and ignore document fragment nodes.
37566 2005-12-30 Eric Seidel <eseidel@apple.com>
37570 No functional changes, thus no layout test.
37572 Just removes debug NSLog() calls from ksvg2/kcanvas.
37573 http://bugs.webkit.org/show_bug.cgi?id=6299
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):
37598 2005-12-29 Graham Dennis <Graham.Dennis@gmail.com>
37602 - fix http://bugs.webkit.org/show_bug.cgi?id=3579
37603 In-place style-switching is leaving junk behind, messing up styles
37605 * khtml/rendering/render_block.h: (khtml::RenderBlock::initMaxMarginValues):
37606 Set all margin values in all cases.
37608 2005-12-29 Eric Seidel <eseidel@apple.com>
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
37615 * khtml/xml/xml_tokenizer.cpp:
37616 (khtml::externalSubsetHandler): check for exact xhtml types
37618 2005-12-29 Eric Seidel <eseidel@apple.com>
37622 Close leak in CollectionInfo due to HashMap migration
37623 http://bugs.webkit.org/show_bug.cgi?id=6295
37625 * khtml/html/html_miscimpl.cpp:
37626 (DOM::HTMLCollectionImpl::CollectionInfo::~CollectionInfo):
37627 * khtml/html/html_miscimpl.h:
37629 2005-12-29 Maciej Stachowiak <mjs@apple.com>
37633 - finished frame traversal cleanup
37634 http://bugs.webkit.org/show_bug.cgi?id=6293
37636 * kwq/WebCoreBridge.h: Removed childFrames method from WebCoreBridge protocol
37637 since it is not actually used.
37639 2005-12-29 Eric Seidel <eseidel@apple.com>
37643 Leaks in XSLTProcessorImpl due to early exit in failure case
37644 http://bugs.webkit.org/show_bug.cgi?id=6101
37646 * khtml/xsl/xslt_processorimpl.cpp:
37647 (DOM::xmlDocPtrFromNode): add "shouldDelete" argument
37648 (DOM::XSLTProcessorImpl::transformToString): delete new'd xmlDoc
37650 2005-12-29 Eric Seidel <eseidel@apple.com>
37652 File accidentally omitted from previous commit.
37654 Remove QDict from khtml/html
37655 http://bugs.webkit.org/show_bug.cgi?id=6230
37657 * khtml/ecma/kjs_html.cpp:
37658 (KJS::KJS::HTMLCollection::getNamedItems):
37660 2005-12-29 Eric Seidel <eseidel@apple.com>
37664 Remove QDict from khtml/html
37665 http://bugs.webkit.org/show_bug.cgi?id=6230
37666 Uses HashMap instead.
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:
37679 2005-12-29 Eric Seidel <eseidel@apple.com>
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.
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:
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:
37732 (DOM::equalCaseInsensitive):
37733 (DOM::DOMStringImpl::find):
37734 (DOM::DOMStringImpl::endsWith):
37735 * khtml/xml/dom_stringimpl.h:
37736 (DOM::DOMStringImpl::startsWith):
37738 2005-12-29 Rob Buis <rwlbuis@xs4all.nl>
37740 Reviewed by eseidel. Landed by eseidel.
37742 WebCore+SVG has some problems with rounded rectangles
37743 http://bugs.webkit.org/show_bug.cgi?id=6157
37745 Test: svg/custom/rounded-rects.svg
37747 * ksvg2/svg/SVGRectElementImpl.cpp:
37748 (SVGRectElementImpl::toPathData): fixed round rect calculations
37750 2005-12-29 Mark Rowe <opendarwin.org@bdash.net.nz>
37752 Reviewed by eseidel, ggaren, darin.
37754 - http://bugs.webkit.org/show_bug.cgi?id=4301
37755 Support HTML entities on pages parsed as XHTML
37757 Added layout tests:
37758 * fast/parser/entities-in-xhtml.xhtml
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
37770 2005-12-29 Mitz Pettel <opendarwin.org@mitzpettel.com>
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
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
37784 2005-12-28 Geoffrey Garen <ggaren@apple.com>
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
37792 http://bugs.webkit.org/show_bug.cgi?id=5518
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.
37799 No layout test because this bug is difficult to reproduce.
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.
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.
37817 (KWQKHTMLPart::cleanupPluginRootObjects): Removed extra space.
37819 2005-12-28 Anders Carlsson <andersca@mac.com>
37821 Reviewed by Maciej.
37823 - Fix http://bugs.webkit.org/show_bug.cgi?id=6268
37824 Add undetectable document.all
37826 * khtml/ecma/kjs_html.cpp:
37827 (KJS::HTMLDocument::getValueProperty):
37828 If "all" has been set to a new value, return the new value.
37830 (KJS::KJS::HTMLDocument::putValueProperty):
37831 Allow "all" to be set to a new value.
37833 (KJS::HTMLAllCollection::toPrimitive):
37834 Return jsNull() if the preferred type is NullType.
37836 (KJS::getAllHTMLCollection):
37837 * khtml/ecma/kjs_html.h:
37838 (KJS::HTMLAllCollection::HTMLAllCollection):
37839 Add HTMLAllCollection, a subclass of HTMLCollection which should
37842 (KJS::HTMLAllCollection::toBoolean):
37845 2005-12-28 Mitz Pettel <opendarwin.org@mitzpettel.com>
37847 Reviewed by Eric, landed by ap.
37849 Test: fast/block/basic/text-indent-rtl.html
37851 - fix http://bugs.webkit.org/show_bug.cgi?id=6214
37852 text-indent in RTL block does the opposite
37854 * khtml/rendering/render_block.cpp:
37855 (khtml::RenderBlock::rightRelOffset): Subtract the indent instead of adding it.
37857 2005-12-28 Mitz Pettel <opendarwin.org@mitzpettel.com>
37859 Reviewed by Darin, landed by ap.
37861 Test: fast/dom/HTMLScriptElement/script-load-events.html
37863 - fix http://bugs.webkit.org/show_bug.cgi?id=5812
37864 Generate load events for <script> elements
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):
37886 2005-12-28 Alexey Proskuryakov <ap@nypop.com>
37888 Reviewed by Maciej.
37890 - fix http://bugs.webkit.org/show_bug.cgi?id=6246
37891 TextIterator::rangeFromLocationAndLength() returns nil range for an
37894 Test: editing/input/range-for-empty-document.html
37896 * khtml/editing/visible_text.cpp:
37897 (khtml::TextIterator::rangeFromLocationAndLength):
37898 Handle the case of an empty document and (0, 0) requested range.
37900 2005-12-28 Anders Carlsson <andersca@mac.com>
37902 Reviewed and landed by Geoff.
37904 - fix http://bugs.webkit.org/show_bug.cgi?id=6269
37905 ToT memory corruption
37907 * khtml/rendering/render_text.cpp:
37908 (khtml::RenderText::setText):
37911 2005-12-27 Mitz Pettel <opendarwin.org@mitzpettel.com>
37913 Reviewed by Hyatt, landed by Darin.
37915 - fix http://bugs.webkit.org/show_bug.cgi?id=5699
37916 REGRESSION: incomplete repaint
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.
37923 2005-12-27 Sam Weinig <sam.weinig@gmail.com>
37925 Reviewed by Maciej, landed by Darin.
37927 - fixed <http://bugs.webkit.org/show_bug.cgi?id=4101>
37928 CSS Fibonacci spiral using 4 images doesn't render correctly
37930 Added layout tests:
37931 * fast/replaced/absolute-image-sizing.html
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.
37938 2005-12-27 Darin Adler <darin@apple.com>
37940 Reviewed by Geoff and Eric.
37942 - http://bugs.webkit.org/show_bug.cgi?id=6198
37943 use RefPtr a few places in RenderText and related classes
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.
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.
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.
37975 2005-12-27 Darin Adler <darin@apple.com>
37977 Fix suggested by Mitz.
37979 - fix http://bugs.webkit.org/show_bug.cgi?id=6240
37980 REGRESSION: scrollbars in overflows don't work
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.
37987 2005-12-27 Maks Orlovich <maksim@kde.org>
37989 Reviewed and landed by Maciej.
37991 - fixed 4405: <button> not listed in form collections.
37992 http://bugs.webkit.org/show_bug.cgi?id=4405
37994 Test: fast/forms/button-in-forms-collection.html
37996 * khtml/html/html_formimpl.h:
37997 (DOM::HTMLButtonElementImpl::isEnumeratable): override to return true
37999 2005-12-25 Maciej Stachowiak <mjs@apple.com>
38003 - Remove WebFrame's parent frame pointer, instead rely on WebCore's parent concept
38004 http://bugs.webkit.org/show_bug.cgi?id=6241
38006 * kwq/WebCoreBridge.h:
38007 * kwq/WebCoreBridge.mm:
38008 (-[WebCoreBridge parent]): New method, relies on the KHTMLPart's
38011 2005-12-24 Mitz Pettel <opendarwin.org@mitzpettel.com>
38013 Reviewed by eseidel.
38015 Test: fast/forms/domstring-replace-crash.html
38017 - fix http://bugs.webkit.org/show_bug.cgi?id=6236
38018 REGRESSION: Crash in DOMString::replace() in ToT (12/24/05)
38020 * khtml/dom/dom_string.h:
38021 (DOMString::replace): Added check for null m_impl.
38023 2005-12-24 Maciej Stachowiak <mjs@apple.com>
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
38031 * khtml/ecma/kjs_html.cpp:
38032 (KJS::HTMLElement::accessors):
38033 (KJS::HTMLElement::getValueProperty):
38034 (KJS::HTMLElement::putValueProperty):
38035 * khtml/ecma/kjs_html.h:
38037 2005-12-24 Geoffrey Garen <ggaren@apple.com>
38041 http://bugs.webkit.org/show_bug.cgi?id=6231
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.
38050 * khtml/ecma/kjs_window.cpp:
38051 (KJS::parseWindowFeatures): One of the "past the end" tests was >
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.
38061 2005-12-24 Mitz Pettel <opendarwin.org@mitzpettel.com>
38063 Reviewed by Maciej.
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)
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.
38078 2005-12-22 Geoffrey Garen <ggaren@apple.com>
38080 Reviewed by vicki (yay!), eric.
38082 - Fixed: <rdar://problem/4377597> parsing of window.open features strings needs to be more forgiving
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.
38087 This patch is long. Luckily, it's also complicated.
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.
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."
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.
38123 2005-12-23 Eric Seidel <eseidel@apple.com>
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
38135 No tests needed, no functionality changes.
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):
38274 (QLineEdit::setAutoSaveName):
38275 (QLineEdit::setPlaceholderString):
38276 * kwq/KWQPainter.mm:
38277 (QPainter::compositeOperatorFromString):
38279 * kwq/KWQSignal.mm:
38285 * kwq/KWQString.mm:
38286 * kwq/KWQTextEdit.h:
38287 * kwq/KWQTextEdit.mm:
38288 (QTextEdit::setText):
38290 (QTextEdit::textWithHardLineBreaks):
38291 * ksvg2/scripts/cssmakeprops: removed kglobal.h
38292 * ksvg2/scripts/cssmakevalues: removed kglobal.h
38294 2005-12-23 Alexey Proskuryakov <ap@nypop.com>
38296 Reviewed by Eric Seidel.
38298 - fix http://bugs.webkit.org/show_bug.cgi?id=5924
38299 Zero-length responses to XMLHTTPRequest mishandled
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.
38305 2005-12-23 Alexey Proskuryakov <ap@nypop.com>
38307 Reviewed by Eric Seidel.
38309 - fix http://bugs.webkit.org/show_bug.cgi?id=3565
38310 Posting data via XML HTTP Request doesnt work
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:
38321 2005-12-22 Alexey Proskuryakov <ap@nypop.com>
38323 Reviewed by Darin Adler.
38325 - fix http://bugs.webkit.org/show_bug.cgi?id=6118
38326 Investigate not using the frameset charset as a default for frames
38328 * khtml/khtml_part.cpp (KHTMLPart::write):
38329 Do not use the parent frame encoding as a default for sub-frames (revert
38332 2005-12-22 Maciej Stachowiak <mjs@apple.com>
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
38340 See LayoutTests for updated test case.
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:
38355 2005-12-21 Maciej Stachowiak <mjs@apple.com>
38359 - update for new HashTranslator stuff
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):
38376 2005-12-22 Adele Peterson <adele@apple.com>
38380 Cleaned up a previous checkin by defining global const defaultForm.
38382 * khtml/xml/dom_docimpl.cpp:
38383 (DocumentImpl::radioButtonChecked):
38384 (DocumentImpl::checkedRadioButtonForGroup):
38385 (DocumentImpl::removeRadioButtonGroup):
38387 2005-12-22 Adele Peterson <adele@apple.com>
38389 Reviewed by Tim Hatcher.
38391 Fixed <rdar://problem/4387433> Seed: Radio buttons behave incorrectly in Gmail settings
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.
38405 2005-12-22 Anders Carlsson <andersca@mac.com>
38409 - fix http://bugs.webkit.org/show_bug.cgi?id=6196
38410 Would like to be able to define prototypes in headers
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.
38425 2005-12-22 Darin Adler <darin@apple.com>
38429 - fix http://bugs.webkit.org/show_bug.cgi?id=6198
38430 use RefPtr a few places in RenderText and related classes
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.
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.
38445 * khtml/rendering/render_block.cpp: (khtml::RenderBlock::updateFirstLetter):
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,
38458 (khtml::RenderTextFragment::originalString): Use PassRefPtr.
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.
38464 * khtml/html/html_inlineimpl.cpp: Add a newly-needed include, sort them.
38465 * kwq/KWQRenderTreeDebug.cpp: Add a newly-needed include.
38467 2005-12-22 Darin Adler <darin@apple.com>
38471 - fix http://bugs.webkit.org/show_bug.cgi?id=6193
38472 remove some unused KWQ code
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.
38482 * khtml/html/html_canvasimpl.cpp: Removed include of kstringhandler.h.
38483 * khtml/html/html_imageimpl.cpp: Ditto.
38485 * khtml/khtmlpart_p.h: Removed something that was in an "APPLE_CANGES" ifdef.
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.
38493 * WebCore.xcodeproj/project.pbxproj: Removed files.
38495 2005-12-22 Darin Adler <darin@apple.com>
38499 - fix http://bugs.webkit.org/show_bug.cgi?id=6192
38500 add support for non-standard ⊅ entity (implemented in other browsers)
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
38508 2005-12-22 Darin Adler <darin@apple.com>
38512 - fix http://bugs.webkit.org/show_bug.cgi?id=6167
38513 RenderStyle default constructor should initialize its members for speed
38515 * khtml/rendering/DataRef.h: (khtml::DataRef::operator=): Eliminate an extra
38516 branch by doing ref before deref instead of == check.
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.
38526 2005-12-21 Darin Adler <darin@apple.com>
38528 Reviewed by Justin.
38530 - fix http://bugs.webkit.org/show_bug.cgi?id=6142
38531 intermittent failures in some paste tests
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
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.
38579 2005-12-21 Darin Adler <darin@apple.com>
38583 - fix http://bugs.webkit.org/show_bug.cgi?id=6177
38584 move event code from JavaScript binding into DOM implementation
38586 * khtml/ecma/kjs_events.cpp:
38587 (KJS::DOMMouseEvent::getValueProperty): Change everything to just call through instead of doing
38589 (KJS::DOMWheelEvent::getValueProperty): Ditto.
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.
38607 2005-12-21 Timothy Hatcher <timothy@apple.com>
38609 * WebCore.xcodeproj/project.pbxproj:
38610 Set tab width to 8, indent width to 4 and uses tabs to false per file.
38612 2005-12-21 John Sullivan <sullivan@apple.com>
38614 Reviewed by Tim Omernick and Darin Adler.
38616 - fixed HiDPI problem with forms auto-fill menu width
38618 No test cases added; this code is used for "chrome" only.
38621 (-[DOMHTMLInputElement _rectOnScreen]):
38622 convert entire rect to window coordinates, not just origin
38624 2005-12-21 David Harrison <harrison@apple.com>
38626 Reviewed by Justin.
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.
38635 Test cases coming soon.
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):
38675 2005-12-20 Adele Peterson <adele@apple.com>
38679 Fixed http://bugs.webkit.org/show_bug.cgi?id=5911
38680 REGRESSION: Page scroll position jumps when clicking on word in editable div
38682 I moved the scrolling code out of setFocusNode, and consolidated some of the focus code to scroll when necessary.
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.
38705 2005-12-20 Alexey Proskuryakov <ap@nypop.com>
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
38712 Added layout tests:
38713 * editing/input/firstrectforcharacterrange-styled
38714 * editing/input/firstrectforcharacterrange-plain
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.
38724 2005-12-20 Adele Peterson <adele@apple.com>
38728 Fix for <rdar://problem/4387630> REGRESSION: <select> element's onClick event doesn't fire @ bugweb.apple.com
38730 * kwq/KWQKHTMLPart.mm:
38731 (KWQKHTMLPart::passSubframeEventToSubframe): only pass mouse down for khtmlviews.
38733 2005-12-20 Justin Garcia <justin.garcia@apple.com>
38735 Reviewed by eric, thatcher
38737 <rdar://problem/4172984> KWQExceptions needs to use @try/@catch instead of relying on NSException.h internals
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.
38745 * WebCore.xcodeproj/project.pbxproj:
38747 * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
38748 (KCanvasFEBlendQuartz::getCIFilter):
38749 (KCanvasFEColorMatrixQuartz::getCIFilter):
38750 (KCanvasFECompositeQuartz::getCIFilter):
38751 (getPointLightVectors):
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):
38787 2005-12-20 David Harrison <harrison@apple.com>
38789 <rdar://problem/4294417> Cannot un-italicize some text after triple clicking it
38791 Reviewed by Justin.
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.
38797 2005-12-20 Justin Garcia <justin.garcia@apple.com>
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
38805 Some callers call setAttribute on a floating element. So, using
38806 a RefPtr for the element inside addAttribute can destroy
38809 * khtml/xml/dom_elementimpl.cpp:
38810 (NamedAttrMapImpl::addAttribute):
38812 2005-12-20 Maciej Stachowiak <mjs@apple.com>
38816 - fixed leak in createAttributeMap
38817 http://bugs.webkit.org/show_bug.cgi?id=6162
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.
38823 2005-12-20 Maciej Stachowiak <mjs@apple.com>
38827 - change an assignment to a contructor declaration to build with PassRefPtr
38830 * ksvg2/svg/SVGTransformableImpl.cpp:
38831 (SVGTransformableImpl::parseTransformAttribute):
38833 2005-12-20 Geoffrey Garen <ggaren@apple.com>
38837 Fixed <rdar://problem/4310363> JavaScript window.open: Height is 1
38838 pixel short, and related bugs.
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.
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
38854 (2) None of our sizing accounted for scaled resolutions.
38856 The fix is to ask the WebView to scale all coordintes for us.
38858 (3) Our code assumed that all window accoutrements were on by default.
38859 Safari works that way, but other WebKit clients might not.
38861 The fix is always to explicitly set an on/off state.
38863 (a) To facilitate scaling, I added a new bridge method, webView, to
38864 access the webView.
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
38872 * manual-tests/window-open-features.html: Added.
38873 * manual-tests/resources/200x200.png: Added.
38874 * manual-tests/resources/popup200x200.html: Added.
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)
38890 2005-12-20 Eric Seidel <eseidel@apple.com>
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.
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
38911 2005-12-20 Eric Seidel <eseidel@apple.com>
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.
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):
38932 2005-12-20 Eric Seidel <eseidel@apple.com>
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.
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):
38971 2005-12-19 Darin Adler <darin@apple.com>
38973 Reviewed by Maciej.
38975 - fix http://bugs.webkit.org/show_bug.cgi?id=6143
38976 DOM::ElementImpl should use a RefPtr for the attribute map
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.
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.
38998 * khtml/xml/dom_nodeimpl.cpp: (DOM::NodeImpl::addChild): Use a RefPtr to ref/deref
38999 the child so that it doesn't leak.
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().
39010 2005-12-19 Darin Adler <darin@apple.com>
39012 Reviewed by Geoff Garen and Eric Seidel.
39014 - fix http://bugs.webkit.org/show_bug.cgi?id=4923
39015 stop using <ostream> in WebCore, eliminating the <cmath> troubles it causes
39017 * ForwardingHeaders/kxmlcore/AlwaysInline.h: Added.
39018 * WebCorePrefix.h: Removed the use of <ostream>.
39020 * kwq/KWQDef.h: Removed now-unused Q_INT64, Q_INT16, Q_UINT16, qRound, and _KWQ_IOSTREAM_.
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.
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.
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.
39043 * kwq/KWQCString.h:
39044 * kwq/KWQCString.mm:
39045 * kwq/KWQDateTime.h:
39046 * kwq/KWQDateTime.mm:
39048 * kwq/KWQMemArray.h:
39050 * kwq/KWQPointArray.h:
39051 * kwq/KWQPtrList.h:
39052 * kwq/KWQPtrStack.h:
39053 * kwq/KWQPtrVector.h:
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>.
39062 2005-12-19 Darin Adler <darin@apple.com>
39064 Reviewed by Geoff Garen and John Sullivan.
39066 - fix http://bugs.webkit.org/show_bug.cgi?id=4312
39067 XMLHttpRequest headers that have two CRLF sequences lead to Obj-C exception
39069 I found this by code inspection after examining a security report about
39070 vulnerabilities in other browsers' XMLHttpRequest implementations.
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.
39076 2005-12-19 Mitz Pettel <opendarwin.org@mitzpettel.com>
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
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.
39089 2005-12-19 Alexey Proskuryakov <ap@nypop.com>
39091 Reviewed by Darin, committed by Adele.
39093 - fix http://bugs.webkit.org/show_bug.cgi?id=5744
39094 XMLHttpRequest does not apply page encoding after assigning via innerHtml
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:
39107 == Rolled over to ChangeLog-2005-12-19 ==