1 2006-06-24 Mitz Pettel <opendarwin.org@mitzpettel.com>
3 Reviewed by Darin, landed by ap.
5 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9316
6 REGRESSION: text field width shrinks on first keystroke
8 Test: fast/forms/floating-textfield-relayout.html
11 (WebCore::FrameView::layoutRoot): Added. During subtree relayout, returns
12 the subtree root. Otherwise returns 0.
13 (WebCore::FrameView::layoutPending): Made const.
15 * rendering/RenderBox.cpp:
16 (WebCore::RenderBox::calcWidth): Added early return if this is the root
17 of a subtree being laid out.
19 2006-06-24 Mitz Pettel <opendarwin.org@mitzpettel.com>
23 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9531
24 Pages that need only a horizontal scroll bar get a vertical one as well
26 The change affects many existing tests.
29 (WebCore::FrameView::layout): Mark the body renderer as needing layout if
30 the view's height has changed and the body stretches to the view's height.
31 * rendering/RenderBox.cpp:
32 (WebCore::RenderBox::calcHeight):
33 * rendering/RenderBox.h:
34 (WebCore::RenderBox::stretchesToViewHeight): Added. Moved the logic for when
35 the HTML block needs to stretch to the view's height from calcHeight() here.
37 2006-06-24 Alexey Proskuryakov <ap@nypop.com>
41 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7461
42 Always encode the path part of an URI as UTF-8
44 Test: http/tests/uri/utf8-path.html
47 (encodeRelativeString): Always set pathEncoding to UTF-8.
49 2006-06-24 Graham Dennis <Graham.Dennis@gmail.com>
51 Reviewed by Darin, landed by ap.
53 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9467
54 TreeWalker/NodeIterator do not restrict the traversal
56 Test: traversal/stay-within-root.html
59 (WebCore::Node::traversePreviousNode):
61 Add a stayWithin argument to traversePreviousNode just like the other
63 * dom/NodeIterator.cpp:
64 (WebCore::NodeIterator::findNextNode):
65 (WebCore::NodeIterator::findPreviousNode):
66 Ensure that when moving forward or backward that the root node is not
69 (WebCore::TreeWalker::previousNode):
70 (WebCore::TreeWalker::nextNode):
72 (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
74 2006-06-24 Jonas Witt <jonas.witt@gmail.com>
76 Reviewed by ggaren, landed by ap.
78 - http://bugzilla.opendarwin.org/show_bug.cgi?id=9181
79 Complete DOMUIEvent Obj-C API to reflect UIEvent
81 * WebCore.exp: add new classes DOMKeyboardEvent and DOMWheelEvent to the exported
82 symbols list of WebCore.framework
84 Updated DOMUIEvent to include all DOM Level 2 properties
85 Added DOMKeyboardEvent (DOM Level 3)
86 Added two non-W3C accessors (keyCode, charCode) of DOMKeyboardEvent to a separate file (DOMEventsNonstandard)
87 Added DOMWheelEvent (non-W3C) in separate file (DOMEventsNonstandard)
88 Added this file (DOMEventsNonstandard) to the build process
90 * WebCore.xcodeproj/project.pbxproj:
91 * bindings/objc/DOM.h:
92 * bindings/objc/DOMEvents.h:
93 * bindings/objc/DOMEvents.mm:
94 (+[DOMEvent _eventWith:]):
95 (-[DOMUIEvent _UIEvent]):
97 (-[DOMUIEvent detail]):
98 (-[DOMUIEvent initUIEvent:::::]):
99 (-[DOMKeyboardEvent _keyboardEvent]):
100 (-[DOMKeyboardEvent keyIdentifier]):
101 (-[DOMKeyboardEvent keyLocation]):
102 (-[DOMKeyboardEvent ctrlKey]):
103 (-[DOMKeyboardEvent shiftKey]):
104 (-[DOMKeyboardEvent altKey]):
105 (-[DOMKeyboardEvent metaKey]):
106 (-[DOMKeyboardEvent getModifierState:]):
107 (-[DOMMouseEvent button]):
108 * bindings/objc/DOMEventsNonstandard.mm: Added.
109 (-[DOMWheelEvent _wheelEvent]):
110 (-[DOMWheelEvent screenX]):
111 (-[DOMWheelEvent screenY]):
112 (-[DOMWheelEvent clientX]):
113 (-[DOMWheelEvent clientY]):
114 (-[DOMWheelEvent ctrlKey]):
115 (-[DOMWheelEvent shiftKey]):
116 (-[DOMWheelEvent altKey]):
117 (-[DOMWheelEvent metaKey]):
118 (-[DOMWheelEvent isHorizontal]):
119 (-[DOMWheelEvent wheelDelta]):
120 (-[DOMKeyboardEvent _keyboardEvent]):
121 (-[DOMKeyboardEvent keyCode]):
122 (-[DOMKeyboardEvent charCode]):
123 * bindings/objc/DOMPrivate.h:
125 2006-06-24 Mitz Pettel <opendarwin.org@mitzpettel.com>
127 Reviewed and landed by ap.
129 - http://bugzilla.opendarwin.org/show_bug.cgi?id=9563
130 Remove unused layoutSuppressed field and inLayout() method
132 No test added because there is no change in functionality.
134 * page/FrameView.cpp:
135 (WebCore::FrameViewPrivate::reset):
136 (WebCore::FrameView::layout):
138 * rendering/RenderView.cpp:
139 (WebCore::RenderView::layout):
141 2006-06-24 Alexey Proskuryakov <ap@nypop.com>
145 - http://bugzilla.opendarwin.org/show_bug.cgi?id=8177
146 Javascript search incredibly slow
148 No change in functionality, thus no test.
150 Use info sharing for named collections, too. Moved shared HTMLCollection infos from HTMLDocument
151 to Document. Renamed collection types to use the preferred WebKit style. Replaced direct
152 HTMLCollection creation with using accessors from Document in a few places.
154 * bindings/objc/DOMHTML.mm:
155 (-[DOMHTMLElement children]):
156 (-[DOMHTMLDocument images]):
157 (-[DOMHTMLDocument applets]):
158 (-[DOMHTMLDocument links]):
159 (-[DOMHTMLDocument forms]):
160 (-[DOMHTMLDocument anchors]):
161 (-[DOMHTMLMapElement areas]):
162 (-[DOMHTMLTableSectionElement rows]):
163 (-[DOMHTMLTableElement rows]):
164 (-[DOMHTMLTableElement tBodies]):
165 (-[DOMHTMLTableRowElement cells]):
167 (WebCore::Document::images):
168 (WebCore::Document::applets):
169 (WebCore::Document::embeds):
170 (WebCore::Document::objects):
171 (WebCore::Document::scripts):
172 (WebCore::Document::links):
173 (WebCore::Document::forms):
174 (WebCore::Document::anchors):
175 (WebCore::Document::all):
176 (WebCore::Document::windowNamedItems):
177 (WebCore::Document::documentNamedItems):
178 (WebCore::Document::nameCollectionInfo):
180 (WebCore::Document::collectionInfo):
181 * html/HTMLCollection.cpp:
182 (WebCore::HTMLCollection::HTMLCollection):
183 (WebCore::HTMLCollection::traverseNextItem):
184 (WebCore::HTMLCollection::checkForNameMatch):
185 (WebCore::HTMLCollection::updateNameCache):
186 * html/HTMLCollection.h:
187 (WebCore::HTMLCollection::):
188 * html/HTMLDocument.h:
189 * html/HTMLElement.cpp:
190 (WebCore::HTMLElement::children):
191 * html/HTMLMapElement.cpp:
192 (WebCore::HTMLMapElement::areas):
193 * html/HTMLNameCollection.h:
194 * html/HTMLNameCollection.cpp:
195 (WebCore::HTMLNameCollection::HTMLNameCollection):
196 (WebCore::HTMLNameCollection::traverseNextItem):
197 * html/HTMLFormCollection.cpp:
198 * html/HTMLOptionsCollection.cpp:
199 (WebCore::HTMLOptionsCollection::HTMLOptionsCollection):
200 * html/HTMLSelectElement.h:
201 (WebCore::HTMLSelectElement::collectionInfo):
202 * html/HTMLTableElement.cpp:
203 (WebCore::HTMLTableElement::rows):
204 (WebCore::HTMLTableElement::tBodies):
205 * html/HTMLTableRowElement.cpp:
206 (WebCore::HTMLTableRowElement::cells):
207 * html/HTMLTableSectionElement.cpp:
208 (WebCore::HTMLTableSectionElement::rows):
209 * kwq/WebCoreAXObject.mm:
210 (-[WebCoreAXObject accessibilityAttributeValue:]):
212 (WebCore::Frame::gotoAnchor):
214 2006-06-24 Alexey Proskuryakov <ap@nypop.com>
218 - http://bugzilla.opendarwin.org/show_bug.cgi?id=9418
219 WebKit will not build when Space exists in path
221 * WebCore.xcodeproj/project.pbxproj: Enclose search paths in quotes; create symlinks to
222 avoid passing paths with spaces to make.
224 2006-06-23 Tim Omernick <timo@apple.com>
226 Reviewed by Tim Hatcher.
228 <rdar://problem/4560947> Leopard REGRESSION: Dragging to TileGame Widget is broken
230 * page/FrameView.cpp:
231 (WebCore::FrameView::updateDragAndDrop):
232 Use the passed mouse event, instead of the "current" event. There is no such thing as
233 a "drag event". Asking for the current event during a drag returns a weird system-
234 internal event with an invalid mouse location.
236 2006-06-23 Timothy Hatcher <timothy@apple.com>
240 Manual test added: cursor.html
242 Bug 9560: should support new CSS3 cursor types to get more resizing directions
243 http://bugzilla.opendarwin.org/show_bug.cgi?id=9560
245 Adds support for ew-resize, ns-resize, nesw-resize, nwse-resize,
246 col-resize and row-resize CSS3 cursor values.
248 Also converted some of the cursor images to grayscale tiffs,
249 some were RGB but had no color data.
251 * Resources/eastResizeCursor.tiff:
252 * Resources/eastWestResizeCursor.tiff: Added.
253 * Resources/helpCursor.tiff:
254 * Resources/moveCursor.tiff:
255 * Resources/northEastResizeCursor.tiff:
256 * Resources/northEastSouthWestResizeCursor.tiff: Added.
257 * Resources/northResizeCursor.tiff:
258 * Resources/northSouthResizeCursor.tiff: Added.
259 * Resources/northWestResizeCursor.tiff:
260 * Resources/northWestSouthEastResizeCursor.tiff: Added.
261 * Resources/southEastResizeCursor.tiff:
262 * Resources/southResizeCursor.tiff:
263 * Resources/southWestResizeCursor.tiff:
264 * Resources/textAreaResizeCorner.tiff:
265 * Resources/waitCursor.tiff:
266 * Resources/westResizeCursor.tiff:
267 * WebCore.xcodeproj/project.pbxproj:
268 * css/CSSComputedStyleDeclaration.cpp:
269 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
270 * css/CSSValueKeywords.in:
272 (WebCore::CSSParser::parseValue):
273 * manual-tests/cursor.html: Added.
274 * page/FrameView.cpp:
275 (WebCore::selectCursor):
277 * platform/mac/CursorMac.mm:
278 (WebCore::northSouthResizeCursor):
279 (WebCore::eastWestResizeCursor):
280 (WebCore::northEastSouthWestResizeCursor):
281 (WebCore::northWestSouthEastResizeCursor):
282 (WebCore::columnResizeCursor):
283 (WebCore::rowResizeCursor):
284 * platform/win/CursorWin.cpp:
285 (WebCore::northSouthResizeCursor):
286 (WebCore::eastWestResizeCursor):
287 (WebCore::northEastSouthWestResizeCursor):
288 (WebCore::northWestSouthEastResizeCursor):
289 (WebCore::columnResizeCursor):
290 (WebCore::rowResizeCursor):
291 * rendering/render_style.h: cursor needs 5 bits now
293 2006-06-23 John Sullivan <sullivan@apple.com>
295 Reviewed by Tim Omernick
297 - fixed <rdar://problem/4597685> stale rects for document markers can be left behind in certain cases
301 (WebCore::Document::setRenderedRectForMarker):
302 changed parameter from IntRect to const IntRect& at Darin's request
303 (WebCore::Document::invalidateRenderedRectsForMarkersInRect):
304 new method, tests whether the rendered rect for each marker intersects the
305 passed rect. If so, sets the rendered rect back to the placeholder rect that
306 means that the rect for this marker isn't known.
309 (WebCore::Frame::paint):
310 call invalidateRenderedRectsForMarkersInRect on the rect we're about to paint.
311 This ensures that old stale rects won't be preserved if the associated marker
312 has moved such that it is out of the painted area.
314 2006-06-23 Justin Garcia <justin.garcia@apple.com>
318 <rdar://problem/4527702>
319 REGRESSION: Quote bars go away on first paragraph when I delete reply text
321 * editing/DeleteSelectionCommand.cpp:
322 (WebCore::DeleteSelectionCommand::mergeParagraphs):
323 Add a rule for when to merge into empty blocks.
325 === WebCore-521.13 ===
327 2006-06-23 Patrick Beard <beard@apple.com>
329 Reviewed by Tim Hatcher.
331 <rdar://problem/4223619> Safari crashed in -[NSFont __isSystemFont]
332 CFRetain and CFRelease NSFont's when FontPlatformData has a reference.
333 We only do this when GC is enabled for performance reasons.
336 * platform/mac/FontPlatformData.h:
337 (WebCore::FontPlatformData::FontPlatformData):
338 (WebCore::FontPlatformData::~FontPlatformData):
340 2006-06-23 Justin Garcia <justin.garcia@apple.com>
344 <http://bugzilla.opendarwin.org/show_bug.cgi?id=8074>
345 Caret before/after block tables is too small
346 <rdar://problem/4598331>
347 right arrow out of a table shows cursor in a weird place
349 * rendering/RenderBox.cpp:
350 (WebCore::RenderBox::caretRect): Don't propagate to children,
351 VisiblePositions inside containers don't refer to children.
352 Don't use the font height for tables.
354 2006-06-23 Brady Eidson <beidson@apple.com>
358 Added 64-bit String::number() functions
360 * platform/PlatformString.h:
361 * platform/String.cpp:
362 (WebCore::String::number):
364 2006-06-22 Mitz Pettel <opendarwin.org@mitzpettel.com>
368 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9497
369 REGRESSION: Incomplete repainting when scrolling thumbnails on Flickr
371 Test: fast/repaint/clipped-relative.html
373 * page/FrameView.cpp:
374 (WebCore::FrameView::layout):
375 * rendering/RenderBlock.cpp:
376 (WebCore::RenderBlock::removePositionedObjects): Removed call to computeRepaintRects().
377 Previously, it was needed to update the cached rects before RenderBox::setStyle()
378 called updateLayerPositions().
379 * rendering/RenderBox.cpp:
380 (WebCore::RenderBox::setStyle): Changed to call updateLayerPositions() for a newly-
381 created layer only if it does not need layout. Otherwise, updateLayerPositions() will
382 be called after layout. This saves a repaint in some cases.
383 * rendering/RenderLayer.cpp:
384 (WebCore::RenderLayer::checkForRepaintOnResize): Renamed computeRepaintRects() to
385 this and deleted the code that cached the absolute position and repaint rects.
386 (WebCore::RenderLayer::updateLayerPositions): Added code to cache the absolute
387 position and repaint rects right after updating the layer's position.
388 * rendering/RenderLayer.h:
390 2006-06-22 Beth Dakin <bdakin@apple.com>
394 Fix for <rdar://problem/4599015> REGRESSION: Hand on clock widget
397 This regression was caused by <rdar://problem/4567520> HIDPI: pixel
398 cracks in weather widget at 1.83 scaling
400 * html/CanvasRenderingContext2D.cpp:
401 (WebCore::CanvasRenderingContext2D::drawImage): Do the contains
402 check before rounding to integral device pixels.
404 2006-06-22 Anders Carlsson <acarlsson@apple.com>
408 <rdar://problem/4529334> REGRESSION: Can't configure RadarInMotion widget for U.S. locations on Leopard (Javascript errors)
411 (WebCore::Document::completeURL):
412 Check if both the URL and base URL are empty instead of using URL() which returns "about:blank" if the URL is empty.
414 2006-06-22 Anders Carlsson <acarlsson@apple.com>
418 <rdar://problem/4499675> Package Tracker widget always crashes in WebCore::Frame::jScriptEnabled() const + 0
420 * html/HTMLParser.cpp:
421 (WebCore::HTMLParser::noscriptCreateErrorCheck):
422 (WebCore::HTMLParser::canvasCreateErrorCheck):
423 (WebCore::HTMLParser::isInline):
424 Add null-checks for document->frame() since it can be 0 for documents created using createHTMLDocument.
426 2006-06-22 Anders Carlsson <acarlsson@apple.com>
430 <rdar://problem/4524840> Entities contained in DOCTYPE referenced DTD in XSLT source document are unknown
432 * dom/xml_tokenizer.cpp:
433 (WebCore::shouldAllowExternalLoad):
434 Use correct path for the catalog.
436 (WebCore::errorFunc):
437 Add error function to keep parser errors from going to the console.
439 (WebCore::XMLTokenizer::write):
442 (WebCore::XMLTokenizer::end):
443 Pass DocLoader to xmlDocPtrForString.
445 (WebCore::xmlDocPtrForString):
446 * dom/xml_tokenizer.h:
447 Add DocLoader argument to xmlDocPtrForString so external DTDs and entities can be loaded.
449 * xml/XSLTProcessor.cpp:
450 (WebCore::xmlDocPtrFromNode):
451 Pass DocLoader to xmlDocPtrForString
453 2006-06-21 David Hyatt <hyatt@apple.com>
455 Back out -webkit-overlay and just rename it back to overlay.
459 * css/CSSComputedStyleDeclaration.cpp:
460 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
461 * css/CSSValueKeywords.in:
463 (WebCore::CSSParser::parseValue):
464 * css/cssstyleselector.cpp:
465 (WebCore::CSSStyleSelector::applyProperty):
467 2006-06-21 Justin Garcia <justin.garcia@apple.com>
471 * editing/DeleteSelectionCommand.cpp:
472 (WebCore::DeleteSelectionCommand::initializePositionData): Fix a bug in the code
473 to stop merges across table cells.
474 (WebCore::DeleteSelectionCommand::mergeParagraphs): Move the code to stop merges
475 across table cells to initializePositionData so that its changes to
476 m_mergeBlocksAfterDelete can take effect on the endingPosition.
477 * editing/InsertParagraphSeparatorCommand.cpp:
478 (WebCore::InsertParagraphSeparatorCommand::doApply): Turn into an InsertLineBreak
479 instead of splitting/cloning a table cell.
481 2006-06-21 Beth Dakin <bdakin@apple.com>
485 Fix for <rdar://problem/3914965> Misspelled text underline doesn't
486 look right at non-standard scale factors
488 * platform/mac/GraphicsContextMac.mm:
489 (WebCore::GraphicsContext::drawLineForMisspelling): We need to call
490 into our previously-created SPI for pattern-drawing so that the
491 phase is right at all scale factors.
493 2006-06-21 David Hyatt <hyatt@apple.com>
495 Fix for 7362, implement the CSS3 overflow-x and overflow-y properties.
499 * WebCore.xcodeproj/project.pbxproj:
500 * css/CSSComputedStyleDeclaration.cpp:
502 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
503 * css/CSSPropertyNames.in:
505 (WebCore::CSSParser::parseValue):
506 * css/cssstyleselector.cpp:
507 (WebCore::CSSStyleSelector::adjustRenderStyle):
508 (WebCore::CSSStyleSelector::applyProperty):
509 * page/FrameView.cpp:
510 (WebCore::FrameView::applyOverflowToViewport):
511 (WebCore::FrameView::layout):
512 * rendering/RenderBlock.cpp:
513 (WebCore::RenderBlock::layoutBlock):
514 (WebCore::RenderBlock::determineHorizontalPosition):
515 (WebCore::RenderBlock::layoutBlockChildren):
516 (WebCore::RenderBlock::rightOffset):
517 (WebCore::RenderBlock::rightmostPosition):
518 (WebCore::RenderBlock::calcMinMaxWidth):
519 * rendering/RenderBox.cpp:
520 (WebCore::RenderBox::setStyle):
521 (WebCore::RenderBox::contentWidth):
522 (WebCore::RenderBox::contentHeight):
523 (WebCore::RenderBox::sizesToIntrinsicWidth):
524 (WebCore::RenderBox::calcHeight):
525 (WebCore::RenderBox::calcPercentageHeight):
526 * rendering/RenderFlexibleBox.cpp:
527 (WebCore::RenderFlexibleBox::layoutBlock):
528 * rendering/RenderLayer.cpp:
529 (WebCore::RenderLayer::scrollToOffset):
530 (WebCore::RenderLayer::shouldAutoscroll):
531 (WebCore::RenderLayer::updateScrollInfoAfterLayout):
532 (WebCore::RenderLayer::styleChanged):
533 * rendering/RenderLayer.h:
534 * rendering/RenderObject.cpp:
535 (WebCore::RenderObject::clientWidth):
536 (WebCore::RenderObject::clientHeight):
537 * rendering/RenderObject.h:
538 (WebCore::RenderObject::hasAutoVerticalScrollbar):
539 (WebCore::RenderObject::hasAutoHorizontalScrollbar):
540 (WebCore::RenderObject::scrollsOverflow):
541 (WebCore::RenderObject::scrollsOverflowX):
542 (WebCore::RenderObject::scrollsOverflowY):
543 (WebCore::RenderObject::includeVerticalScrollbarSize):
544 (WebCore::RenderObject::includeHorizontalScrollbarSize):
545 * rendering/RenderTextArea.cpp:
546 (WebCore::RenderTextArea::setStyle):
547 * rendering/RenderTextField.cpp:
548 (WebCore::RenderTextField::createDivStyle):
549 (WebCore::RenderTextField::calcHeight):
550 (WebCore::RenderTextField::calcMinMaxWidth):
551 * rendering/bidi.cpp:
552 (WebCore::RenderBlock::layoutInlineChildren):
553 * rendering/render_style.cpp:
554 (WebCore::RenderStyle::diff):
555 * rendering/render_style.h:
557 (WebCore::RenderStyle::NonInheritedFlags::operator==):
558 (WebCore::RenderStyle::setBitDefaults):
559 (WebCore::RenderStyle::overflowX):
560 (WebCore::RenderStyle::overflowY):
561 (WebCore::RenderStyle::setOverflowX):
562 (WebCore::RenderStyle::setOverflowY):
563 (WebCore::RenderStyle::initialOverflowX):
564 (WebCore::RenderStyle::initialOverflowY):
566 2006-06-21 Justin Garcia <justin.garcia@apple.com>
570 <rdar://problem/4590366>
571 REGRESSION: Selection incorrectly paints gaps on TOT
574 (WebCore::Document::updateSelection): Use the leftmost candidate for the end of the
575 selection and the rightmost candidate for the start of the selection.
577 (WebCore::Position::upstream): Cross line wraps so that we can use upstream/downstream
578 to get to candidates before/after linewraps.
579 (WebCore::Position::downstream):
580 (WebCore::Position::inRenderedContent):
581 * editing/DeleteSelectionCommand.cpp:
582 (WebCore::DeleteSelectionCommand::handleGeneralDelete):
583 (WebCore::DeleteSelectionCommand::mergeParagraphs):
584 * editing/InsertParagraphSeparatorCommand.cpp:
585 (WebCore::InsertParagraphSeparatorCommand::doApply):
586 Ensure that the leftmost candidate is used. We should sample the style from that one.
587 When the block to insert is after a br, a br should be inserted even in strict mode.
588 * editing/InsertTextCommand.cpp:
589 (WebCore::InsertTextCommand::input):
590 Insert at the leftmost candidate, get rid of a use of trailingWhitespacePosition.
591 Don't apply a style if its unnecessary.
592 * editing/ReplaceSelectionCommand.cpp:
593 (WebCore::ReplaceSelectionCommand::doApply): "pos" can be invalidated, don't use it.
594 * editing/VisiblePosition.cpp:
595 Renamed initDeepPosition and made it return the canonical position.
596 (WebCore::VisiblePosition::init):
597 (WebCore::VisiblePosition::canonicalPosition):
598 * editing/VisiblePosition.h:
599 (WebCore::VisiblePosition::characterBefore): Added.
600 * editing/visible_units.cpp:
601 (WebCore::startOfParagraph):
602 * rendering/InlineTextBox.cpp:
603 (WebCore::InlineTextBox::selectionState): When a selection ends at a line wrap, it shouldn't extend
606 2006-06-21 David Hyatt <hyatt@apple.com>
608 Reviewed and committed by Beth.
610 Fix for <rdar://problem/4595337> Resizing a containing block
611 strictly vertically does not cause contained height:100% element to
614 * rendering/RenderBlock.cpp:
615 (WebCore::RenderBlock::layoutBlockChildren): Also layout if the
616 child's min or max height is a percent.
618 2006-06-21 Anders Carlsson <acarlsson@apple.com>
622 http://bugzilla.opendarwin.org/show_bug.cgi?id=6058
623 XMLTokenizer runs all <script> tags at once instead of as they're encountered
625 * dom/xml_tokenizer.cpp:
626 (WebCore::XMLTokenizer::XMLTokenizer):
627 Initialize new members.
629 (WebCore::XMLTokenizer::endElementNs):
630 If we've encountered a script tag, execute the script here. If the script
631 tag refers to an external resource, pause the parser while loading it.
633 (WebCore::XMLTokenizer::end):
634 Move code from finish() to here
636 (WebCore::XMLTokenizer::finish):
637 Only call end() if the parser isn't paused.
639 (WebCore::XMLTokenizer::notifyFinished):
640 Evaluate the script here and resume the parser.
642 (WebCore::XMLTokenizer::resumeParsing):
643 If finish() was called, call end() after writing all data.
645 2006-06-21 Steve Falkenburg <sfalken@apple.com>
649 * platform/win/TemporaryLinkStubs.cpp:
650 (FrameWin::shouldInterruptJavaScript):
652 2006-06-21 Anders Carlsson <acarlsson@apple.com>
654 Move FrameWin::shouldInterruptJavaScript to TemporaryLinkStubs.cpp
656 * bridge/win/FrameWin.cpp:
657 * platform/win/TemporaryLinkStubs.cpp:
658 (FrameWin::shouldInterruptJavaScript):
660 2006-06-21 Ben Goodger <bengoodger@gmail.com>
664 Fix for: http://bugzilla.opendarwin.org/show_bug.cgi?id=9523
665 More Win32 build bustage.
667 * WebCore.vcproj/WebCore/WebCore.vcproj:
668 * bridge/win/FrameWin.cpp:
669 (WebCore::FrameWin::shouldInterruptJavaScript):
670 * bridge/win/FrameWin.h:
672 2006-06-20 Adele Peterson <adele@apple.com>
676 Fix for: http://bugzilla.opendarwin.org/show_bug.cgi?id=8948
677 Switch to use new text field implementation for <textarea>
680 * html/HTMLTextAreaElement.cpp:
681 (WebCore::HTMLTextAreaElement::selectionStart):
682 (WebCore::HTMLTextAreaElement::selectionEnd):
683 (WebCore::HTMLTextAreaElement::setSelectionStart):
684 (WebCore::HTMLTextAreaElement::setSelectionEnd):
685 (WebCore::HTMLTextAreaElement::select):
686 (WebCore::HTMLTextAreaElement::setSelectionRange):
687 (WebCore::HTMLTextAreaElement::createRenderer):
688 (WebCore::HTMLTextAreaElement::appendFormData):
689 (WebCore::HTMLTextAreaElement::isKeyboardFocusable):
690 (WebCore::HTMLTextAreaElement::isMouseFocusable):
691 (WebCore::HTMLTextAreaElement::focus):
692 (WebCore::HTMLTextAreaElement::defaultEventHandler):
693 (WebCore::HTMLTextAreaElement::updateValue):
694 (WebCore::HTMLTextAreaElement::setValue):
696 2006-06-20 Brady Eidson <beidson@apple.com>
700 Fixed capitalization mistake that I made, someone else fixed, then I accidentally made it go back to the old way
702 * icon/SQLStatement.cpp:
704 2006-06-20 Brady Eidson <beidson@apple.com>
708 More changes/additions setting the stage for the major IconDatabase hookup.
710 * WebCore.xcodeproj/project.pbxproj: Added SQLTransaction.cpp
712 * bridge/mac/WebCoreIconDatabaseBridge.h: Added call-throughs and translations to pass WebKit DB to WebCore DB
713 * bridge/mac/WebCoreIconDatabaseBridge.mm:
714 (+[WebCoreIconDatabaseBridge sharedBridgeInstance]):
715 (-[WebCoreIconDatabaseBridge setPrivateBrowsingEnabled:]):
716 (-[WebCoreIconDatabaseBridge iconForURL:withSize:]):
717 (-[WebCoreIconDatabaseBridge iconURLForURL:]):
718 (-[WebCoreIconDatabaseBridge defaultIconWithSize:]):
719 (-[WebCoreIconDatabaseBridge retainIconForURL:]):
720 (-[WebCoreIconDatabaseBridge releaseIconForURL:]):
721 (-[WebCoreIconDatabaseBridge _setIconData:forIconURL:]):
722 (-[WebCoreIconDatabaseBridge _setHaveNoIconForIconURL:]):
723 (-[WebCoreIconDatabaseBridge _setIconURL:forURL:]):
724 (-[WebCoreIconDatabaseBridge _hasIconForIconURL:]):
726 * bridge/mac/WebCorePageBridge.mm: Added WebCore's IconDatabase logging channel to the user-prefs check
727 (initializeLoggingChannelsIfNecessary):
729 * icon/IconDatabase.cpp: Added stubs and basic SQL usage to create the sqlite DB and respond to WebKit calls
730 (WebCore::IconDatabase::IconDatabase):
731 (WebCore::IconDatabase::open):
732 (WebCore::IconDatabase::close):
733 (WebCore::IconDatabase::isValidDatabase):
734 (WebCore::IconDatabase::recreateDatabase):
735 (WebCore::IconDatabase::setPrivateBrowsingEnabled):
736 (WebCore::IconDatabase::iconForURL):
737 (WebCore::IconDatabase::iconURLForURL):
738 (WebCore::IconDatabase::defaultIcon):
739 (WebCore::IconDatabase::retainIconForURL):
740 (WebCore::IconDatabase::releaseIconForURL):
741 (WebCore::IconDatabase::setIconForIconURL):
742 (WebCore::IconDatabase::setHaveNoIconForIconURL):
743 (WebCore::IconDatabase::setIconURLForPageURL):
744 (WebCore::IconDatabase::hasIconForIconURL):
746 * icon/IconDatabase.h: WebIcon will be an internal class used in IconDatabase but is not complete yet
747 (WebCore::WebIcon::getExpiration):
748 (WebCore::WebIcon::getTouch):
750 * icon/SQLDatabase.cpp: Added more SQLite convenience methods
751 (SQLDatabase::setFullsync):
752 (SQLDatabase::setBusyTimeout):
753 (SQLDatabase::setBusyHandler):
754 * icon/SQLDatabase.h:
755 * icon/SQLStatement.cpp:
756 (WebCore::SQLStatement::returnsAtLeastOneResult):
758 * icon/SQLTransaction.cpp: Added basic commit/rollback support with this simple class
759 (SQLTransaction::SQLTransaction):
760 (SQLTransaction::~SQLTransaction):
761 (SQLTransaction::begin):
762 (SQLTransaction::commit):
763 (SQLTransaction::rollback):
765 2006-06-20 Adele Peterson <adele@apple.com>
770 http://bugzilla.opendarwin.org/show_bug.cgi?id=8724
771 REGRESSION: onSelect handler doesn't work for text fields
773 http://bugzilla.opendarwin.org/show_bug.cgi?id=7676
774 REGRESSION: Selection methods on new text fields don't work if text field is hidden
776 http://bugzilla.opendarwin.org/show_bug.cgi?id=8867
777 REGRESSION: selectionStart/End return 0 for input element once it no longer has focus
779 Implemented onSelect for new text fields and textareas. Also fixed selection restore
780 behavior to better match other browsers and Safari 2.0 behavior.
783 * fast/forms/input-selection-restore.html
784 * fast/forms/input-selection-hidden.html
785 * fast/forms/onselect-textarea.html
786 * fast/forms/onselect-textfield.html
788 * html/HTMLInputElement.h: (WebCore::HTMLInputElement::cacheSelection): Added.
789 * html/HTMLInputElement.cpp:
790 (WebCore::HTMLInputElement::init): Initializes cached selection.
791 (WebCore::HTMLInputElement::selectionStart): If this element doesn't have focus, return the cached selection value.
792 (WebCore::HTMLInputElement::selectionEnd): ditto.
793 (WebCore::HTMLInputElement::setValue): Restore a caret at the starting point of the old selection. Matches Safari 2.0 behavior.
795 * html/HTMLTextAreaElement.h: (WebCore::HTMLTextAreaElement::cacheSelection): Added.
796 * html/HTMLTextAreaElement.cpp:
797 (WebCore::HTMLTextAreaElement::HTMLTextAreaElement): Initializes cached selection.
798 (WebCore::HTMLTextAreaElement::selectionStart): If this element doesn't have focus, return the cached selection value.
799 (WebCore::HTMLTextAreaElement::selectionEnd): ditto.
800 (WebCore::HTMLTextAreaElement::focus): If this is the first focus, set a caret at the end of the text. Otherwise,
801 restore the cached selection. This matches other browsers' behavior.
802 (WebCore::HTMLTextAreaElement::setValue): Restore a caret at the starting point of the old selection. Matches Safari 2.0 behavior.
804 * page/Frame.h: Added notifyRendererOfSelectionChange method.
806 (WebCore::Frame::notifyRendererOfSelectionChange): Added. Calls selectionChanged for text fields and textareas. Forwards a userTriggered
807 argument so selectionChanged knows whether or not to fire onSelect.
808 (WebCore::Frame::setSelection): Calls notifyRendererOfSelectionChange(false). This gets called for all selection changes, so the renderer
809 can always update its cached selection values.
810 (WebCore::Frame::handleMouseReleaseEvent): Calls notifyRendererOfSelectionChange(true) so onSelect will get fired when the user is done
811 making a selection with the mouse.
812 * bridge/mac/WebCoreFrameBridge.mm:
813 (-[WebCoreFrameBridge alterCurrentSelection:direction:granularity:]): Calls notifyRendererOfSelectionChange(true) so onSelect gets
814 fired when the user makes a selection with the keyboard.
815 (-[WebCoreFrameBridge alterCurrentSelection:verticalDistance:]): ditto.
817 * rendering/RenderTextField.h: Add userTriggered parameter to selectionChanged.
818 * rendering/RenderTextField.cpp:
819 (WebCore::RenderTextField::setSelectionRange): For visibility:hidden, cache the selection and
820 return early since we won't be able to actually set the selection.
821 (WebCore::RenderTextField::selectionChanged): Caches the selection.
822 If the selection is a range, and its triggered by user action, then fire the onSelect event.
824 2006-06-21 Anders Carlsson <acarlsson@apple.com>
826 * bridge/win/FrameWin.cpp:
827 (WebCore::shouldInterruptJavaScript):
828 * bridge/win/FrameWin.h:
829 Try fixing the Windows build.
831 2006-06-20 Adele Peterson <adele@apple.com>
835 Renamed RenderSelect to DeprecatedRenderSelect to prepare for new popup menu and list menu implementations.
837 * WebCore.xcodeproj/project.pbxproj:
838 * html/HTMLOptionElement.h:
839 * html/HTMLSelectElement.cpp:
840 (WebCore::HTMLSelectElement::recalcStyle):
841 (WebCore::HTMLSelectElement::createRenderer):
842 (WebCore::HTMLSelectElement::setRecalcListItems):
843 (WebCore::HTMLSelectElement::reset):
844 (WebCore::HTMLSelectElement::notifyOptionSelected):
845 * html/HTMLSelectElement.h:
846 * rendering/DeprecatedRenderSelect.cpp: Added.
847 (WebCore::DeprecatedRenderSelect::DeprecatedRenderSelect):
848 (WebCore::DeprecatedRenderSelect::setWidgetWritingDirection):
849 (WebCore::DeprecatedRenderSelect::setStyle):
850 (WebCore::DeprecatedRenderSelect::updateFromElement):
851 (WebCore::DeprecatedRenderSelect::baselinePosition):
852 (WebCore::DeprecatedRenderSelect::calcMinMaxWidth):
853 (WebCore::DeprecatedRenderSelect::layout):
854 (WebCore::DeprecatedRenderSelect::valueChanged):
855 (WebCore::DeprecatedRenderSelect::selectionChanged):
856 (WebCore::DeprecatedRenderSelect::setOptionsChanged):
857 (WebCore::DeprecatedRenderSelect::createListBox):
858 (WebCore::DeprecatedRenderSelect::updateSelection):
859 * rendering/DeprecatedRenderSelect.h: Added.
860 (WebCore::DeprecatedRenderSelect::renderName):
861 * rendering/RenderSelect.cpp: Removed.
862 * rendering/RenderSelect.h: Removed.
864 2006-06-20 Anders Carlsson <acarlsson@apple.com>
868 http://bugzilla.opendarwin.org/show_bug.cgi?id=9509
869 Would like a way to pause/resume XML parsing
871 * dom/xml_tokenizer.cpp:
872 (WebCore::PendingCallbacks::PendingCallbacks):
873 (WebCore::PendingCallbacks::appendStartElementNSCallback):
874 (WebCore::PendingCallbacks::appendEndElementNSCallback):
875 (WebCore::PendingCallbacks::appendCharactersCallback):
876 (WebCore::PendingCallbacks::appendProcessingInstructionCallback):
877 (WebCore::PendingCallbacks::appendCDATABlockCallback):
878 (WebCore::PendingCallbacks::appendCommentCallback):
879 (WebCore::PendingCallbacks::appendInternalSubsetCallback):
880 (WebCore::PendingCallbacks::appendErrorCallback):
881 (WebCore::PendingCallbacks::callAndRemoveFirstCallback):
882 (WebCore::PendingCallbacks::isEmpty):
883 (WebCore::PendingCallbacks::PendingCallback::~PendingCallback):
884 (WebCore::PendingCallbacks::PendingStartElementNSCallback::~PendingStartElementNSCallback):
885 (WebCore::PendingCallbacks::PendingStartElementNSCallback::call):
886 (WebCore::PendingCallbacks::PendingEndElementNSCallback::call):
887 (WebCore::PendingCallbacks::PendingCharactersCallback::~PendingCharactersCallback):
888 (WebCore::PendingCallbacks::PendingCharactersCallback::call):
889 (WebCore::PendingCallbacks::PendingProcessingInstructionCallback::~PendingProcessingInstructionCallback):
890 (WebCore::PendingCallbacks::PendingProcessingInstructionCallback::call):
891 (WebCore::PendingCallbacks::PendingCDATABlockCallback::~PendingCDATABlockCallback):
892 (WebCore::PendingCallbacks::PendingCDATABlockCallback::call):
893 (WebCore::PendingCallbacks::PendingCommentCallback::~PendingCommentCallback):
894 (WebCore::PendingCallbacks::PendingCommentCallback::call):
895 (WebCore::PendingCallbacks::PendingInternalSubsetCallback::~PendingInternalSubsetCallback):
896 (WebCore::PendingCallbacks::PendingInternalSubsetCallback::call):
897 (WebCore::PendingCallbacks::):
898 New classes which manage a list of pending SAX callbacks that have not yet
899 been sent to the tokenizer.
901 (WebCore::XMLTokenizer::XMLTokenizer):
902 Initialize new member variables.
904 (WebCore::XMLTokenizer::~XMLTokenizer):
905 Delete PendingCallbacks object.
907 (WebCore::XMLTokenizer::write):
908 If the parser is paused, queue the data to be written.
910 (WebCore::XMLTokenizer::startElementNs):
911 (WebCore::XMLTokenizer::endElementNs):
912 (WebCore::XMLTokenizer::characters):
913 (WebCore::XMLTokenizer::error):
914 (WebCore::XMLTokenizer::processingInstruction):
915 (WebCore::XMLTokenizer::cdataBlock):
916 (WebCore::XMLTokenizer::comment):
917 (WebCore::XMLTokenizer::internalSubset):
918 If the parser has been paused, queue the callbacks instead.
920 (WebCore::XMLTokenizer::handleError):
921 New function, called by both ::error and :PendingCallbacks::callAndRemoveFirstCallback
923 (WebCore::XMLTokenizer::finish):
924 (WebCore::XMLTokenizer::pauseParsing):
925 Set m_parserPaused to true.
927 (WebCore::XMLTokenizer::resumeParsing):
928 Call the pending callbacks and then parse the pending source.
930 2006-06-20 David Hyatt <hyatt@apple.com>
932 Don't send the custom highlighter callback when painting is disabled.
936 * WebCore.xcodeproj/project.pbxproj:
937 * rendering/InlineTextBox.cpp:
938 (WebCore::InlineTextBox::paint):
940 2006-06-20 Anders Carlsson <acarlsson@apple.com>
944 <rdar://problem/4592244> REGRESSION (417.9.3 - 420+): (some?) plain text files have all lines concatenated into one line
946 * loader/TextDocument.cpp:
947 (WebCore::TextTokenizer::checkBuffer):
948 (WebCore::TextTokenizer::TextTokenizer):
949 (WebCore::TextTokenizer::write):
950 (WebCore::TextTokenizer::finish):
951 Add a text buffer which is used for translation of CR and CRLF to plain LF,
952 like the HTML tokenizer does.
954 2006-06-20 Maciej Stachowiak <mjs@apple.com>
958 - fix crasher on one of the layout tests caused by my recent checkin
960 * kcanvas/RenderSVGText.cpp:
961 (WebCore::RenderSVGText::paint):
963 2006-06-19 Alexey Proskuryakov <ap@nypop.com>
967 - http://bugzilla.opendarwin.org/show_bug.cgi?id=5499
968 Page reload does not send any cache control headers
970 Test: http/tests/misc/refresh-headers.php
972 * bindings/js/kjs_window.cpp:
973 (KJS::LocationFunc::callAsFunction): Call scheduleRefresh() for Location::Reload.
975 * page/Frame.h: Add scheduleRefresh(). Don't derive from TransferJob or implement its methods - that was
976 used only for storing response HTTP headers, which was an overkill.
978 * page/FramePrivate.h: Replace TransferJob with a HashMap for storing response headers.
981 (WebCore::Frame::didOpenURL): Don't needlessly change d->m_cachePolicy. Don't create a TransferJob.
982 (WebCore::Frame::stopLoading): Directly access the metadata map, instead of going through a TransferJob.
983 (WebCore::Frame::receivedFirstData): Ditto.
984 (WebCore::Frame::addMetaData): Ditto.
985 (WebCore::Frame::scheduleRefresh): A new function that schedules a refresh, similarly to what
986 scheduleRedirection() does.
987 (WebCore::Frame::changeLocation): Set request.reload attribute based on the current cache policy.
989 2006-06-19 Ben Goodger <bengoodger@gmail.com>
993 http://bugzilla.opendarwin.org/show_bug.cgi?id=9501
994 Windows build fails with link error CharsetTable not defined
996 * platform/make-charset-table.pl:
997 (process_iana_charsets): Move test for equality to alias "None" until after
998 normalization steps to ensure escape characters in the input data don't
999 interfere with processing. Convert nearby tabs to 4 spaces in this function.
1001 2006-06-18 Maciej Stachowiak <mjs@apple.com>
1005 - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=9488
1006 "Animated GIFs do not respect transforms in SVG"
1008 http://bugzilla.opendarwin.org/show_bug.cgi?id=6946
1009 "SVG shows invalidation issues in WebKit"
1011 http://www.treebuilder.de/default.asp?file=441875.xml
1012 "Invalidation issues with "SVG 3d" demo"
1014 http://code.google.com/webstats/2005-12/pages.html
1015 "SVG text doesn't repaint correctly"
1017 * kcanvas/KCanvasContainer.cpp:
1018 (WebCore::KCanvasContainer::computeAbsoluteRepaintRect): Override base class, and apply
1019 appropriate transforms, so damage rects in transformed SVG content get propagated up properly.
1020 (WebCore::KCanvasContainer::getAbsoluteRepaintRect): note a FIXME; this method
1022 * kcanvas/KCanvasContainer.h: Prototype new method.
1024 * css/svg.css: Don't apply overflow:hidden to foreignObject, since that makes it a RenderLayer
1026 * kcanvas/RenderForeignObject.cpp:
1027 (WebCore::RenderForeignObject::paint): Transform the damage rect before passing it down to HTML content,
1028 so everything paints that is supposed to. Also handle opacity here since we won't get layers.
1029 (WebCore::RenderForeignObject::computeAbsoluteRepaintRect): Override base class, and apply
1030 appropriate transforms, so damage rects in HTML embedded in SVG get propagated up properly.
1031 (WebCore::RenderForeignObject::requiresLayer): Never use a RenderLayer.
1032 (WebCore::RenderForeignObject::layout): Make sure to dirty our previous bounds when layout
1033 changes, as by transform.
1034 * kcanvas/RenderForeignObject.h:
1036 * kcanvas/RenderSVGImage.cpp:
1037 (WebCore::RenderSVGImage::paint): Transform the damage rect when painting. Also handle opacity
1038 here since we won't get layers.
1039 (WebCore::RenderForeignObject::computeAbsoluteRepaintRect): Override base class, and apply
1040 appropriate transforms, so damage rects in SVG images get propagated up properly.
1041 (WebCore::RenderSVGImage::translationForAttributes): New helper method, factored out of below.
1042 (WebCore::RenderSVGImage::translateForAttributes): Use above.
1043 (WebCore::RenderSVGImage::requiresLayer): Never use a RenderLayer.
1044 (WebCore::RenderSVGImage::layout): Make sure to properly dirty the old bounds, accounting
1046 (WebCore::RenderSVGImage::relativeBBox): Correct bbox computation.
1047 * kcanvas/RenderSVGImage.h:
1049 * kcanvas/RenderSVGText.cpp:
1050 (WebCore::RenderSVGText::paint): Transform incoming damage rect. Handle opacity here since we
1052 (WebCore::RenderSVGText::computeAbsoluteRepaintRect): Apply transforms.
1053 (WebCore::RenderSVGText::requiresLayer): Never use a RenderLayer.
1054 (WebCore::RenderSVGText::layout): Make sure to dirty the old bounds.
1056 * platform/cg/GraphicsContextCG.cpp:
1057 (WebCore::GraphicsContext::roundToDevicePixels): Instead of transforming rect to device space
1058 and back to user space, do this for the origin and lower right corner of the rect. Otherwise the
1059 rect will get inflated if user space is rotated or skewed.
1061 * kcanvas/RenderPath.cpp:
1062 (WebCore::RenderPath::layout): Make sure to dirty the old bounds.
1063 (WebCore::RenderPath::paint): Hhandle opacity here.
1067 * kcanvas/RenderSVGImage.cpp:
1068 (WebCore::RenderSVGImage::nodeAtPoint): Fix hit testing. Wasn't applying the x/y
1069 attribute transform.
1071 2006-06-19 Sam Weinig <sam.weinig@gmail.com>
1075 - fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=9500
1076 Split dom2_eventsimpl.* into separate files (one class per file).
1078 * WebCore.xcodeproj/project.pbxproj:
1079 * bindings/js/kjs_binding.cpp:
1080 * bindings/js/kjs_dom.cpp:
1081 * bindings/js/kjs_events.cpp:
1082 * bindings/js/kjs_html.cpp:
1083 * bindings/js/kjs_window.cpp:
1084 * bindings/objc/DOM.mm:
1085 * bindings/objc/DOMEvents.mm:
1086 * bindings/objc/DOMInternal.mm:
1087 * bindings/scripts/CodeGeneratorJS.pm:
1088 * bridge/mac/FrameMac.mm:
1089 * dom/BeforeTextInsertedEvent.h:
1090 * dom/BeforeUnloadEvent.cpp: Added.
1091 * dom/BeforeUnloadEvent.h: Added.
1092 (WebCore::BeforeUnloadEvent::result):
1093 * dom/CharacterData.cpp:
1094 * dom/Clipboard.h: Added.
1095 (WebCore::Clipboard::~Clipboard):
1096 * dom/ClipboardEvent.cpp: Added.
1097 (WebCore::ClipboardEvent::ClipboardEvent):
1098 * dom/ClipboardEvent.h: Added.
1099 (WebCore::ClipboardEvent::clipboard):
1100 * dom/ContainerNode.cpp:
1102 * dom/Event.cpp: Added.
1103 (WebCore::Event::Event):
1104 (WebCore::Event::initEvent):
1105 * dom/Event.h: Added.
1108 (WebCore::Event::type):
1109 (WebCore::Event::target):
1110 (WebCore::Event::currentTarget):
1111 (WebCore::Event::setCurrentTarget):
1112 (WebCore::Event::eventPhase):
1113 (WebCore::Event::setEventPhase):
1114 (WebCore::Event::bubbles):
1115 (WebCore::Event::cancelable):
1116 (WebCore::Event::timeStamp):
1117 (WebCore::Event::stopPropagation):
1118 (WebCore::Event::propagationStopped):
1119 (WebCore::Event::defaultPrevented):
1120 (WebCore::Event::setDefaultHandled):
1121 (WebCore::Event::defaultHandled):
1122 (WebCore::Event::preventDefault):
1123 (WebCore::Event::setDefaultPrevented):
1124 (WebCore::Event::setCancelBubble):
1125 (WebCore::Event::getCancelBubble):
1126 (WebCore::Event::dispatched):
1127 * dom/EventTargetNode.cpp:
1128 * dom/KeyboardEvent.cpp: Added.
1129 (WebCore::KeyboardEvent::KeyboardEvent):
1130 (WebCore::KeyboardEvent::initKeyboardEvent):
1131 * dom/KeyboardEvent.h: Added.
1132 (WebCore::KeyboardEvent::):
1133 (WebCore::KeyboardEvent::keyIdentifier):
1134 (WebCore::KeyboardEvent::keyLocation):
1135 (WebCore::KeyboardEvent::altGraphKey):
1136 (WebCore::KeyboardEvent::keyEvent):
1137 * dom/MouseEvent.cpp: Added.
1138 (WebCore::MouseEvent::MouseEvent):
1139 (WebCore::MouseEvent::initMouseEvent):
1140 (WebCore::MouseEvent::isDragEvent):
1141 (WebCore::MouseEvent::toElement):
1142 (WebCore::MouseEvent::fromElement):
1143 * dom/MouseEvent.h: Added.
1144 (WebCore::MouseEvent::button):
1145 (WebCore::MouseEvent::relatedTarget):
1146 (WebCore::MouseEvent::clipboard):
1147 * dom/MouseRelatedEvent.cpp: Added.
1148 (WebCore::MouseRelatedEvent::MouseRelatedEvent):
1149 * dom/MouseRelatedEvent.h: Added.
1150 (WebCore::MouseRelatedEvent::screenX):
1151 (WebCore::MouseRelatedEvent::screenY):
1152 (WebCore::MouseRelatedEvent::clientX):
1153 (WebCore::MouseRelatedEvent::clientY):
1154 (WebCore::MouseRelatedEvent::layerX):
1155 (WebCore::MouseRelatedEvent::layerY):
1156 (WebCore::MouseRelatedEvent::offsetX):
1157 (WebCore::MouseRelatedEvent::offsetY):
1158 (WebCore::MouseRelatedEvent::isSimulated):
1159 * dom/MutationEvent.cpp: Added.
1160 (WebCore::MutationEvent::MutationEvent):
1161 (WebCore::MutationEvent::initMutationEvent):
1162 * dom/MutationEvent.h: Added.
1163 (WebCore::MutationEvent::):
1164 (WebCore::MutationEvent::relatedNode):
1165 (WebCore::MutationEvent::prevValue):
1166 (WebCore::MutationEvent::newValue):
1167 (WebCore::MutationEvent::attrName):
1168 (WebCore::MutationEvent::attrChange):
1169 * dom/RegisteredEventListener.cpp: Added.
1170 (WebCore::RegisteredEventListener::RegisteredEventListener):
1171 (WebCore::operator==):
1172 * dom/RegisteredEventListener.h: Added.
1173 (WebCore::RegisteredEventListener::eventType):
1174 (WebCore::RegisteredEventListener::listener):
1175 (WebCore::RegisteredEventListener::useCapture):
1176 (WebCore::RegisteredEventListener::removed):
1177 (WebCore::RegisteredEventListener::setRemoved):
1178 (WebCore::operator!=):
1179 * dom/UIEvent.cpp: Added.
1180 (WebCore::UIEvent::UIEvent):
1181 (WebCore::UIEvent::initUIEvent):
1182 * dom/UIEvent.h: Added.
1183 (WebCore::UIEvent::view):
1184 (WebCore::UIEvent::detail):
1185 * dom/UIEventWithKeyState.h: Added.
1186 (WebCore::UIEventWithKeyState::UIEventWithKeyState):
1187 (WebCore::UIEventWithKeyState::ctrlKey):
1188 (WebCore::UIEventWithKeyState::shiftKey):
1189 (WebCore::UIEventWithKeyState::altKey):
1190 (WebCore::UIEventWithKeyState::metaKey):
1191 * dom/WheelEvent.cpp: Added.
1192 (WebCore::WheelEvent::WheelEvent):
1193 * dom/WheelEvent.h: Added.
1194 (WebCore::WheelEvent::isHorizontal):
1195 (WebCore::WheelEvent::wheelDelta):
1196 * dom/dom2_eventsimpl.cpp: Removed.
1197 * dom/dom2_eventsimpl.h: Removed.
1198 * editing/EditCommand.cpp:
1199 * editing/SelectionController.cpp:
1200 * html/HTMLAnchorElement.cpp:
1201 * html/HTMLButtonElement.cpp:
1202 * html/HTMLDocument.cpp:
1203 * html/HTMLElement.cpp:
1204 * html/HTMLFrameSetElement.cpp:
1205 * html/HTMLInputElement.cpp:
1206 * html/HTMLSelectElement.cpp:
1207 * html/HTMLTextAreaElement.cpp:
1208 * ksvg2/events/SVGZoomEvent.h:
1209 * ksvg2/svg/SVGAElement.cpp:
1211 * page/FrameView.cpp:
1212 * platform/PlatformKeyboardEvent.h:
1213 * platform/PlatformMouseEvent.h:
1214 (WebCore::PlatformMouseEvent::PlatformMouseEvent):
1215 * platform/PlatformWheelEvent.h:
1216 * platform/mac/ClipboardMac.h:
1217 * rendering/RenderFrameSet.cpp:
1218 * rendering/RenderLayer.cpp:
1219 * rendering/RenderObject.cpp:
1220 * rendering/RenderTextField.cpp:
1221 * xml/xmlhttprequest.cpp:
1223 2006-06-19 Darin Adler <darin@apple.com>
1227 - removed a few empty/unused files Brady found by tracking down the nm error message
1229 * editing/VisibleRange.cpp: Removed.
1230 * editing/VisibleRange.h: Removed.
1231 * kcanvas/KCanvasImage.cpp: Removed.
1233 * WebCore.vcproj/WebCore/WebCore.vcproj: Removed VisibleRange.cpp/h.
1234 * WebCore.xcodeproj/project.pbxproj: Removed VisibleRange.cpp/h and KCanvasImage.cpp.
1235 * WebCoreSources.bkl: Removed VisibleRange.cpp.
1237 2006-06-19 Alexey Proskuryakov <ap@nypop.com>
1241 - http://bugzilla.opendarwin.org/show_bug.cgi?id=9492
1242 Fix or remove window.debug.
1244 It was only available in newly created windows, and became undefined after changing the URL
1245 or reloading. Let's try removing it; hopefully, no-one will notice.
1247 * bindings/js/kjs_proxy.cpp:
1248 (WebCore::KJSProxy::initScriptIfNeeded): Don't add window.debug.
1250 2006-06-19 Alexey Proskuryakov <ap@nypop.com>
1254 - http://bugzilla.opendarwin.org/show_bug.cgi?id=8972
1255 REGRESSION: invalid UTF-8 sequences are not displayed
1257 Test: LayoutTests/fast/encoding/invalid-UTF-8.html
1259 * dom/xml_tokenizer.cpp:
1260 (WebCore::getXHTMLEntity): Properly null-terminate the result. This didn't matter
1261 before, because the garbage at the end was guaranteed to be invalid UTF-8, and was
1262 omitted in appendOmittingUnwanted();
1264 * platform/StreamingTextDecoder.cpp:
1265 (WebCore::StreamingTextDecoder::appendOmittingBOM): Only omit BOM characters.
1266 Renamed back from appendOmittingUnwanted();
1268 (WebCore::StreamingTextDecoder::convertUsingICU):
1269 * platform/StreamingTextDecoder.h:
1270 Update for the above function renaming.
1272 2006-06-18 David Kilzer <ddkilzer@kilzer.net>
1276 http://bugzilla.opendarwin.org/show_bug.cgi?id=9498
1277 Remove dead code left in JSHTMLDocument::getOwnPropertySlot() from r14298 (Bug 7838)
1279 * bindings/js/kjs_html.cpp:
1280 (KJS::JSHTMLDocument::getOwnPropertySlot): Remove dead code.
1282 2006-06-18 David Kilzer <ddkilzer@kilzer.net>
1286 * manual-tests/redraw-page-cache-visited-links.html: Changed to use DOM mouse event.
1288 2006-06-18 David Kilzer <ddkilzer@kilzer.net>
1292 - Update a manual test for http://bugzilla.opendarwin.org/show_bug.cgi?id=9150
1293 DumpRenderTree should be able to keep URL history during runs
1295 * manual-tests/redraw-page-cache-visited-links.html: Added note about window.history hack.
1296 Fixed coordinates for mouse events. Added call to keepWebHistory().
1297 * manual-tests/resources/redraw-page-cache-visited-links-2.html: Added note about
1298 window.history hack.
1300 2006-06-17 Anders Carlsson <acarlsson@apple.com>
1304 * bindings/js/kjs_binding.cpp:
1305 (KJS::ScriptInterpreter::ScriptInterpreter):
1306 Set the default script timeout.
1308 (KJS::ScriptInterpreter::shouldInterruptScript):
1309 New function which asks the frame if the script should be interrupted.
1311 * bindings/js/kjs_binding.h:
1313 * bindings/js/kjs_events.cpp:
1314 (KJS::JSAbstractEventListener::handleEvent):
1315 * bindings/js/kjs_proxy.cpp:
1316 (WebCore::KJSProxy::evaluate):
1317 Add calls to startTimeoutCheck/stopTimeoutCheck
1319 * bindings/js/kjs_window.cpp:
1320 (KJS::WindowFunc::callAsFunction):
1321 Add calls to pauseTimeoutCheck/unpauseTimeoutCheck
1323 (KJS::ScheduledAction::execute):
1324 Add calls to startTimeoutCheck/stopTimeoutCheck
1326 * bridge/mac/FrameMac.h:
1327 * bridge/mac/FrameMac.mm:
1328 (WebCore::FrameMac::shouldInterruptJavaScript):
1329 New function which asks the bridge if the script should be interrupted.
1331 * bridge/mac/WebCoreFrameBridge.h:
1333 Add function declarations.
1335 2006-06-17 Alexey Proskuryakov <ap@nypop.com>
1339 - http://bugzilla.opendarwin.org/show_bug.cgi?id=8131
1340 Some properties and methods of window and document objects cannot be converted to a string
1342 Most of the properties were already fixed, this just adds adds a prototype to window.debug.
1344 Test: fast/dom/everything-to-string.html
1346 * bindings/js/kjs_proxy.cpp:
1347 (WebCore::TestFunctionImp::TestFunctionImp):
1348 (WebCore::KJSProxy::initScriptIfNeeded):
1350 2006-06-17 David Kilzer <ddkilzer@kilzer.net>
1354 - Fix capitalization issue for case-sensitive filesystems.
1356 * icon/SQLStatement.cpp: Change assertions.h to Assertions.h.
1358 2006-06-17 Mitz Pettel <opendarwin.org@mitzpettel.com>
1362 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7395
1363 Table not properly re-flowed when floated div removed from layout
1365 Test: fast/block/float/table-relayout.html
1367 * rendering/RenderBlock.cpp:
1368 (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout): Added marking
1369 of children that use lineWidth.
1370 * rendering/RenderBlock.h: Added a FIXME.
1372 2006-06-17 Rob Buis <buis@kde.org>
1376 Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=6282:
1377 Adding new Option with new Option(text, value, defaultSelected, selected) fails to update selectedIndex
1379 Update selectedIndex when a new option is added using javascript.
1381 * bindings/js/kjs_html.cpp:
1382 (KJS::JSHTMLSelectCollection::put):
1383 * html/HTMLSelectElement.cpp:
1384 (WebCore::HTMLSelectElement::setSelectedIndex):
1385 (WebCore::HTMLSelectElement::setOption):
1386 (WebCore::HTMLSelectElement::setLength):
1387 * html/HTMLSelectElement.h:
1389 2006-06-17 Mitz Pettel <opendarwin.org@mitzpettel.com>
1393 - test for http://bugzilla.opendarwin.org/show_bug.cgi?id=9466
1394 Assertion failure when dragging an image from the document into Safari's address bar
1396 * manual-tests/reset-initiatedDrag.html: Added.
1398 2006-06-16 David Kilzer <ddkilzer@kilzer.net>
1402 http://bugzilla.opendarwin.org/show_bug.cgi?id=9463
1403 REGRESSION (r14879): Assertion failure in CSSParser::sinkFloatingSelector()
1404 (m_floatingSelectors.contains(selector)) in some CSS tests
1406 * css/CSSGrammar.y: Create CSSSelector for FUNCTION using CSSParser::createFloatingSelector()
1407 instead of the bare constructor.
1409 2006-06-16 David Harrison <harrison@apple.com>
1411 Reviewed by Hatcher.
1413 <rdar://problem/4565312> Mail has a weird drawing artifact with dotted red lines running across the window
1415 Problem was that revision lost a check to not draw the markers
1416 when paintingDisabled(). This led the markers to be drawn when
1417 the window deactivated, at which time the view happens to be flipped.
1419 It is similar but not the same as the Mail ToDo highlighting
1420 issue, which is due to the custom highlight method
1421 drawing when the focusView is nil. Mail team knows this
1422 and has tested the fix.
1424 * platform/mac/GraphicsContextMac.mm:
1425 (WebCore::GraphicsContext::drawLineForMisspelling):
1426 Early return if paintingDisabled().
1428 2006-06-16 Adele Peterson <adele@apple.com>
1432 Adjust padding of inner div so text lines up with text fields.
1433 Adjust height of textarea so it only leaves room for the horizontal
1434 scrollbar if overflow is set to scroll, or if overflow is set to
1435 auto and there's no word wrap.
1437 These changes will be tested by current layout tests when the
1438 new textarea implementation takes effect.
1440 * rendering/RenderTextField.cpp:
1441 (WebCore::RenderTextField::createDivStyle):
1442 (WebCore::RenderTextField::calcHeight):
1444 2006-06-16 John Sullivan <sullivan@apple.com>
1448 - fixed <rdar://problem/4590062> crash in marker code with particular set of steps on daringfireball.net
1451 (WebCore::Document::addMarker):
1452 Store [it - markers.begin()] in a local variable before modifying markers, since modifying markers can
1453 change value of [it - markers.begin()].
1455 2006-06-16 Adele Peterson <adele@apple.com>
1459 Added code to draw Cocoa-like border for textareas instead of just using CSS.
1462 * css/html4.css: Sets a 1px solid border.
1463 * platform/mac/WebCoreSystemInterface.h:
1464 * platform/mac/WebCoreSystemInterface.mm:
1465 * rendering/RenderThemeMac.h: Formatting changes.
1466 * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::paintTextArea):
1467 Uses new wkDrawBezeledTextArea to draw border.
1469 2006-06-16 Mitz Pettel <opendarwin.org@mitzpettel.com>
1473 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9432
1474 REGRESSION: crash in capitalization code due to empty-string generated content
1476 Test: fast/text/capitalize-empty-generated-string.html
1478 * rendering/RenderText.cpp:
1479 (WebCore::RenderText::setText): Skip empty-string text renderers when
1480 looking for the previous character.
1482 2006-06-15 Justin Garcia <justin.garcia@apple.com>
1486 <http://bugzilla.opendarwin.org/show_bug.cgi?id=8637>
1487 REGRESSION (11-16-05): Selection gaps left behind after delete
1489 * editing/SelectionController.cpp:
1490 (WebCore::SelectionController::nodeWillBeRemoved): Invalidate the selection so that
1491 selection gaps are invalidated.
1493 2006-06-15 Timothy Hatcher <timothy@apple.com>
1495 Reviewed by Geoff and Darin.
1497 Prefer the DWARF debugging symbols format for use in Xcode 2.3.
1499 * WebCore.xcodeproj/project.pbxproj:
1501 2006-06-15 Justin Garcia <justin.garcia@apple.com>
1503 Reviewed by harrison
1505 * editing/CompositeEditCommand.cpp:
1506 (WebCore::hasARenderedDescendant):
1507 (WebCore::CompositeEditCommand::prune): Ascend using the DOM
1508 (WebCore::CompositeEditCommand::moveParagraphs): Placeholder insertion
1509 during deletion is fixed, removing the fall back.
1511 2006-06-15 Nicholas Shanks <contact@nickshanks.com>
1513 Reviewed by Hyatt, landed by Joost de Valk.
1515 Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=3233
1517 Add support for the :lang pseudo-class.
1520 * css/CSSSelector.cpp:
1521 (WebCore::CSSSelector::operator == ):
1522 * css/CSSSelector.h:
1523 (WebCore::CSSSelector::CSSSelector):
1524 * css/cssparser.cpp:
1525 (WebCore::CSSParser::lex):
1526 * css/cssstyleselector.cpp:
1527 (WebCore::CSSStyleSelector::checkOneSelector):
1528 * css/tokenizer.flex:
1530 2006-06-15 Justin Garcia <justin.garcia@apple.com>
1532 Reviewed by harrison
1534 <http://bugzilla.opendarwin.org/show_bug.cgi?id=9456>
1535 REGRESSION (417.9.2-420+): Cmd-G doesn't work in Safari after double-click and Cmd-E
1538 (WebCore::Frame::findString): When comparing the found range with
1539 what's currently selected a) build a selection with the found
1540 range to remove collapsed whitespace and b) compare ranges
1541 instead of selection objects to ignore the way that the
1542 current selection was made (to ignore the base and extent).
1544 2006-06-15 David Kilzer <ddkilzer@kilzer.net>
1548 http://bugzilla.opendarwin.org/show_bug.cgi?id=9382
1549 IDL files missing copyright/license headers
1551 Add Apple BSD license and copyright to IDL files.
1553 * ksvg2/bindings/idl/svg/GetSVGDocument.idl:
1554 * ksvg2/bindings/idl/svg/SVGAElement.idl:
1555 * ksvg2/bindings/idl/svg/SVGAnimateColorElement.idl:
1556 * ksvg2/bindings/idl/svg/SVGAnimateElement.idl:
1557 * ksvg2/bindings/idl/svg/SVGAnimateTransformElement.idl:
1558 * ksvg2/bindings/idl/svg/SVGAnimatedAngle.idl:
1559 * ksvg2/bindings/idl/svg/SVGAnimatedBoolean.idl:
1560 * ksvg2/bindings/idl/svg/SVGAnimatedEnumeration.idl:
1561 * ksvg2/bindings/idl/svg/SVGAnimatedInteger.idl:
1562 * ksvg2/bindings/idl/svg/SVGAnimatedLengthList.idl:
1563 * ksvg2/bindings/idl/svg/SVGAnimatedNumber.idl:
1564 * ksvg2/bindings/idl/svg/SVGAnimatedNumberList.idl:
1565 * ksvg2/bindings/idl/svg/SVGAnimatedPathData.idl:
1566 * ksvg2/bindings/idl/svg/SVGAnimatedPoints.idl:
1567 * ksvg2/bindings/idl/svg/SVGAnimatedPreserveAspectRatio.idl:
1568 * ksvg2/bindings/idl/svg/SVGAnimatedRect.idl:
1569 * ksvg2/bindings/idl/svg/SVGAnimatedString.idl:
1570 * ksvg2/bindings/idl/svg/SVGAnimatedTransformList.idl:
1571 * ksvg2/bindings/idl/svg/SVGAnimationElement.idl:
1572 * ksvg2/bindings/idl/svg/SVGCircleElement.idl:
1573 * ksvg2/bindings/idl/svg/SVGClipPathElement.idl:
1574 * ksvg2/bindings/idl/svg/SVGComponentTransferFunctionElement.idl:
1575 * ksvg2/bindings/idl/svg/SVGCursorElement.idl:
1576 * ksvg2/bindings/idl/svg/SVGDOMImplementation.idl:
1577 * ksvg2/bindings/idl/svg/SVGDefsElement.idl:
1578 * ksvg2/bindings/idl/svg/SVGDescElement.idl:
1579 * ksvg2/bindings/idl/svg/SVGElementInstance.idl:
1580 * ksvg2/bindings/idl/svg/SVGElementInstanceList.idl:
1581 * ksvg2/bindings/idl/svg/SVGEllipseElement.idl:
1582 * ksvg2/bindings/idl/svg/SVGEvent.idl:
1583 * ksvg2/bindings/idl/svg/SVGException.idl:
1584 * ksvg2/bindings/idl/svg/SVGExternalResourcesRequired.idl:
1585 * ksvg2/bindings/idl/svg/SVGFEBlendElement.idl:
1586 * ksvg2/bindings/idl/svg/SVGFEColorMatrixElement.idl:
1587 * ksvg2/bindings/idl/svg/SVGFEComponentTransferElement.idl:
1588 * ksvg2/bindings/idl/svg/SVGFECompositeElement.idl:
1589 * ksvg2/bindings/idl/svg/SVGFEFloodElement.idl:
1590 * ksvg2/bindings/idl/svg/SVGFEFuncAElement.idl:
1591 * ksvg2/bindings/idl/svg/SVGFEFuncBElement.idl:
1592 * ksvg2/bindings/idl/svg/SVGFEFuncGElement.idl:
1593 * ksvg2/bindings/idl/svg/SVGFEFuncRElement.idl:
1594 * ksvg2/bindings/idl/svg/SVGFEGaussianBlurElement.idl:
1595 * ksvg2/bindings/idl/svg/SVGFEImageElement.idl:
1596 * ksvg2/bindings/idl/svg/SVGFEMergeElement.idl:
1597 * ksvg2/bindings/idl/svg/SVGFEMergeNodeElement.idl:
1598 * ksvg2/bindings/idl/svg/SVGFEOffsetElement.idl:
1599 * ksvg2/bindings/idl/svg/SVGFETileElement.idl:
1600 * ksvg2/bindings/idl/svg/SVGFETurbulenceElement.idl:
1601 * ksvg2/bindings/idl/svg/SVGFilterElement.idl:
1602 * ksvg2/bindings/idl/svg/SVGFilterPrimitiveStandardAttributes.idl:
1603 * ksvg2/bindings/idl/svg/SVGFitToViewBox.idl:
1604 * ksvg2/bindings/idl/svg/SVGGElement.idl:
1605 * ksvg2/bindings/idl/svg/SVGGradientElement.idl:
1606 * ksvg2/bindings/idl/svg/SVGICCColor.idl:
1607 * ksvg2/bindings/idl/svg/SVGImageElement.idl:
1608 * ksvg2/bindings/idl/svg/SVGLangSpace.idl:
1609 * ksvg2/bindings/idl/svg/SVGLengthList.idl:
1610 * ksvg2/bindings/idl/svg/SVGLineElement.idl:
1611 * ksvg2/bindings/idl/svg/SVGLinearGradientElement.idl:
1612 * ksvg2/bindings/idl/svg/SVGLocatable.idl:
1613 * ksvg2/bindings/idl/svg/SVGMarkerElement.idl:
1614 * ksvg2/bindings/idl/svg/SVGNumberList.idl:
1615 * ksvg2/bindings/idl/svg/SVGPaint.idl:
1616 * ksvg2/bindings/idl/svg/SVGPathElement.idl:
1617 * ksvg2/bindings/idl/svg/SVGPathSeg.idl:
1618 * ksvg2/bindings/idl/svg/SVGPathSegArc.idl:
1619 * ksvg2/bindings/idl/svg/SVGPathSegClosePath.idl:
1620 * ksvg2/bindings/idl/svg/SVGPathSegCurvetoCubic.idl:
1621 * ksvg2/bindings/idl/svg/SVGPathSegCurvetoCubicSmooth.idl:
1622 * ksvg2/bindings/idl/svg/SVGPathSegCurvetoQuadratic.idl:
1623 * ksvg2/bindings/idl/svg/SVGPathSegCurvetoQuadraticSmooth.idl:
1624 * ksvg2/bindings/idl/svg/SVGPathSegLineto.idl:
1625 * ksvg2/bindings/idl/svg/SVGPathSegLinetoHorizontal.idl:
1626 * ksvg2/bindings/idl/svg/SVGPathSegLinetoVertical.idl:
1627 * ksvg2/bindings/idl/svg/SVGPathSegList.idl:
1628 * ksvg2/bindings/idl/svg/SVGPathSegMoveto.idl:
1629 * ksvg2/bindings/idl/svg/SVGPatternElement.idl:
1630 * ksvg2/bindings/idl/svg/SVGPointList.idl:
1631 * ksvg2/bindings/idl/svg/SVGPolygonElement.idl:
1632 * ksvg2/bindings/idl/svg/SVGPolylineElement.idl:
1633 * ksvg2/bindings/idl/svg/SVGPreserveAspectRatio.idl:
1634 * ksvg2/bindings/idl/svg/SVGRadialGradientElement.idl:
1635 * ksvg2/bindings/idl/svg/SVGRectElement.idl:
1636 * ksvg2/bindings/idl/svg/SVGRenderingIntent.idl:
1637 * ksvg2/bindings/idl/svg/SVGScriptElement.idl:
1638 * ksvg2/bindings/idl/svg/SVGSetElement.idl:
1639 * ksvg2/bindings/idl/svg/SVGStopElement.idl:
1640 * ksvg2/bindings/idl/svg/SVGStringList.idl:
1641 * ksvg2/bindings/idl/svg/SVGStylable.idl:
1642 * ksvg2/bindings/idl/svg/SVGStyleElement.idl:
1643 * ksvg2/bindings/idl/svg/SVGSwitchElement.idl:
1644 * ksvg2/bindings/idl/svg/SVGSymbolElement.idl:
1645 * ksvg2/bindings/idl/svg/SVGTSpanElement.idl:
1646 * ksvg2/bindings/idl/svg/SVGTests.idl:
1647 * ksvg2/bindings/idl/svg/SVGTextContentElement.idl:
1648 * ksvg2/bindings/idl/svg/SVGTextElement.idl:
1649 * ksvg2/bindings/idl/svg/SVGTextPositioningElement.idl:
1650 * ksvg2/bindings/idl/svg/SVGTitleElement.idl:
1651 * ksvg2/bindings/idl/svg/SVGTransformList.idl:
1652 * ksvg2/bindings/idl/svg/SVGTransformable.idl:
1653 * ksvg2/bindings/idl/svg/SVGURIReference.idl:
1654 * ksvg2/bindings/idl/svg/SVGUnitTypes.idl:
1655 * ksvg2/bindings/idl/svg/SVGUseElement.idl:
1656 * ksvg2/bindings/idl/svg/SVGViewElement.idl:
1657 * ksvg2/bindings/idl/svg/SVGZoomAndPan.idl:
1658 * ksvg2/bindings/idl/svg/SVGZoomEvent.idl:
1659 * ksvg2/svg/SVGAnimatedLength.idl:
1661 2006-06-14 Justin Garcia <justin.garcia@apple.com>
1665 <rdar://problem/4439248>
1666 REGRESSION(412-417): [RTL] Serious problem with RTL signatures in Mail.app in 10.4.4 (7766)
1668 * editing/markup.cpp:
1669 (WebCore::renderedText): Use plainText so that we'll pull rendered text but in DOM order.
1671 2006-06-14 Levi Weintraub <lweintraub@apple.com>
1675 <http://bugzilla.opendarwin.org/show_bug.cgi?id=7580>
1676 TinyMCE: Implement execCommand(formatBlock, ...)
1678 * WebCore.xcodeproj/project.pbxproj: Added FormatBlock.{h,cpp} to the project.
1679 * WebCore.vcproj/WebCore/WebCore.vcproj: Ditto.
1680 * bridge/mac/WebCoreFrameBridge.h: Added WebUndoActions
1681 * editing/CompositeEditCommand.cpp:
1682 (WebCore::CompositeEditCommand::moveParagraph): Added a preserveStyle bool.
1683 (WebCore::CompositeEditCommand::moveParagraphs): Ditto. downstream() the start
1684 or else we'll move collapsed whitespace and uncollapse it.
1685 * editing/CompositeEditCommand.h:
1686 * editing/DeleteSelectionCommand.cpp:
1687 (WebCore::DeleteSelectionCommand::initializePositionData):
1688 (WebCore::DeleteSelectionCommand::handleSpecialCaseBRDelete): Don't update m_endingPosition
1689 because that's removeNode's responsibility.
1690 (WebCore::updatePositionForNodeRemoval): Added.
1691 (WebCore::DeleteSelectionCommand::removeNode): Turned removeFullySelectedNode into a virtual
1692 overload of removeNode so that we can update positions as we remove nodes.
1693 (WebCore::updatePositionForTextRemoval): Added.
1694 (WebCore::DeleteSelectionCommand::deleteTextFromNode):
1695 (WebCore::DeleteSelectionCommand::handleGeneralDelete):
1696 (WebCore::DeleteSelectionCommand::fixupWhitespace): Got rid of m_trailingWhitespaceValid
1697 since m_trailingWhitespace is always valid (we update it as we remove nodes).
1698 (WebCore::DeleteSelectionCommand::mergeParagraphs):
1699 (WebCore::DeleteSelectionCommand::doApply): Leading and trailing spaces should
1700 be fixed if they have collapsed before merging paragraphs.
1701 * editing/DeleteSelectionCommand.h:
1702 * editing/EditAction.h:
1704 * editing/FormatBlockCommand.cpp: Added.
1705 (WebCore::FormatBlockCommand::FormatBlockCommand):
1706 (WebCore::FormatBlockCommand::modifyRange): Similar to InsertListCommand::modifyRange().
1707 (WebCore::FormatBlockCommand::doApply):
1708 * editing/FormatBlockCommand.h: Added.
1709 (WebCore::FormatBlockCommand::editingAction):
1710 * editing/InsertListCommand.h:
1711 (WebCore::InsertListCommand::editingAction):
1712 * editing/JSEditor.cpp:
1713 * editing/MergeIdenticalElementsCommand.cpp:
1714 (WebCore::MergeIdenticalElementsCommand::doApply):
1715 * editing/htmlediting.cpp:
1716 (WebCore::validBlockTag):
1717 (WebCore::createElement):
1718 * editing/htmlediting.h:
1720 2006-06-14 Maciej Stachowiak <mjs@apple.com>
1724 - fixed <rdar://problem/4586051> 10.4.7 regression: 'Saved and recent' button on mapquest.com does not work
1726 * dom/EventTargetNode.cpp:
1727 (WebCore::EventTargetNode::dispatchWindowEvent):
1729 2006-06-14 David Hyatt <hyatt@apple.com>
1731 Rename RenderSlider to DeprecatedSlider, so that I can start work on
1732 the new NSView-less slider.
1736 * WebCore.vcproj/WebCore/WebCore.vcproj:
1737 * WebCore.xcodeproj/project.pbxproj:
1738 * html/HTMLInputElement.cpp:
1739 (WebCore::HTMLInputElement::createRenderer):
1740 * rendering/DeprecatedSlider.cpp: Added.
1741 (WebCore::DeprecatedSlider::DeprecatedSlider):
1742 (WebCore::DeprecatedSlider::calcMinMaxWidth):
1743 (WebCore::DeprecatedSlider::updateFromElement):
1744 (WebCore::DeprecatedSlider::valueChanged):
1745 * rendering/DeprecatedSlider.h: Added.
1746 (WebCore::DeprecatedSlider::renderName):
1747 * rendering/RenderSlider.cpp: Removed.
1748 * rendering/RenderSlider.h: Removed.
1750 2006-06-13 Geoffrey Garen <ggaren@apple.com>
1754 - Fixed <rdar://problem/4562192> Creating a new DOMHTMLDocument
1755 appears challenging.
1757 - Added createHTMLDocument to Objc bindings, fixed up implementation
1758 to comply with the DOM 2 Candidate Recommendation in which is was defined.
1759 (It never made the final spec.) Also removed use of deprecatedString,
1760 to avoid unnecessary killing of puppies.
1762 * WebCore.xcodeproj/project.pbxproj:
1763 * bindings/objc/DOM.mm:
1764 (-[DOMImplementation createHTMLDocument:]):
1765 * bindings/objc/DOMPrivate.h:
1766 * dom/DOMImplementation.cpp:
1767 (WebCore::DOMImplementation::createDocument):
1768 (WebCore::DOMImplementation::createHTMLDocument):
1770 2006-06-13 Alice Liu <alice.liu@apple.com>
1774 fixed <rdar://problem/4457902> HTMLSelectElement.remove() can't handle an option obj being passed to it, results in hang on http://www.ibc-solar.de/www_ibc/fst_solarmonitoring.jsp
1776 * bindings/js/kjs_html.cpp:
1777 (KJS::HTMLElementFunction::callAsFunction):
1778 support this by converting the argument to an options object
1779 before passing to remove()
1781 2006-06-13 Darin Adler <darin@apple.com>
1785 - fix <rdar://problem/4585333> Changing location for weather on yahoo.com home page redirects to another page
1787 This patch fixes a bug where the event listener cache does not distinguish
1788 HTML and non-HTML listeners. Incorrect behavior where stopPropagation also
1789 prevented default masked a case of this bug on the yahoo.com home page until
1790 we fixed bug 5180 on 2005-10-03.
1792 Test: fast/events/event-listener-html-non-html-confusion.html
1794 * bindings/js/kjs_window.h: Add additional listener maps for HTML event listeners.
1796 * bindings/js/kjs_window.cpp:
1797 (KJS::Window::~Window): Go through the additional maps when clearing the window object
1798 pointer in event listeners.
1799 (KJS::Window::getJSEventListener): Look in the HTML or non-HTML map depending on the
1801 (KJS::Window::getJSUnprotectedEventListener): Ditto.
1803 * bindings/js/kjs_events.cpp:
1804 (KJS::JSUnprotectedEventListener::JSUnprotectedEventListener): Add to either the HTML
1805 or non-HTML map depending on the argument passed.
1806 (KJS::JSUnprotectedEventListener::~JSUnprotectedEventListener): Remove from either the
1807 HTML or non-HTML map depending on whether the HTML flag is set.
1808 (KJS::JSEventListener::JSEventListener): More of the same.
1809 (KJS::JSEventListener::~JSEventListener): Ditto.
1810 (KJS::JSLazyEventListener::parseCode): Same thing here. In a lazy event listener there
1811 is not a listener at construction time, thus the code here to put the listener into a
1812 map needs the HTML vs. non-HTML logic.
1814 2006-06-13 Maciej Stachowiak <mjs@apple.com>
1818 <rdar://problem/4583892> 10.4.7 regression: Hang occurs when attempting to load search results at mapquest.com
1820 * dom/EventTargetNode.cpp:
1821 (WebCore::EventTargetNode::dispatchGenericEvent): Don't allow
1822 "load" events to propagate up to the window. We need this quirk to
1823 avoid site hangs, because they depend on an old Mozilla bug.
1825 2006-06-13 Antti Koivisto <koivisto@iki.fi>
1829 http://bugzilla.opendarwin.org/show_bug.cgi?id=9314
1830 Relative positioned block size doesnt update root layer size
1832 - take relative positioning into account in leftmost/rightmost/lowestPosition()
1833 - ignore zero width/height boxes in leftmost/rightmost/lowestPosition()
1834 - split relativePositionOffset() to x and y functions
1836 * rendering/RenderBox.cpp:
1837 (WebCore::RenderBox::absolutePosition):
1838 (WebCore::RenderBox::relativePositionOffsetX):
1839 (WebCore::RenderBox::relativePositionOffsetY):
1840 (WebCore::RenderBox::lowestPosition):
1841 (WebCore::RenderBox::rightmostPosition):
1842 (WebCore::RenderBox::leftmostPosition):
1843 * rendering/RenderBox.h:
1844 * rendering/RenderFlow.cpp:
1845 (WebCore::RenderFlow::lowestPosition):
1846 (WebCore::RenderFlow::rightmostPosition):
1847 (WebCore::RenderFlow::leftmostPosition):
1848 * rendering/RenderLayer.cpp:
1849 (WebCore::RenderLayer::updateLayerPosition):
1850 * rendering/RenderObject.cpp:
1851 (WebCore::RenderObject::offsetLeft):
1852 (WebCore::RenderObject::offsetTop):
1854 2006-06-13 Anders Carlsson <acarlsson@apple.com>
1856 Reviewed by Dave Hyatt.
1858 http://bugzilla.opendarwin.org/show_bug.cgi?id=9427
1859 xml-stylesheet processing instructions outside of the prolog should have no effect.
1861 * dom/ProcessingInstruction.cpp:
1862 (WebCore::ProcessingInstruction::checkStyleSheet):
1863 Remove todo comment.
1865 * dom/xml_tokenizer.cpp:
1866 (WebCore::XMLTokenizer::processingInstruction):
1867 Only check for style sheet if the root element hasn't yet been encountered.
1869 2006-06-13 Anders Carlsson <acarlsson@apple.com>
1873 http://bugzilla.opendarwin.org/show_bug.cgi?id=9406
1874 REGRESSION: fix for bug 9390 broke two layout tests
1876 * loader/PluginDocument.cpp:
1877 (WebCore::PluginTokenizer::writeRawData):
1878 Call finished() after setting up the document structure so we'll emit onload events.
1880 2006-06-12 Geoffrey Garen <ggaren@apple.com>
1882 build fix -- forgot to svn add this file
1884 * ForwardingHeaders/kjs/SavedBuiltins.h: Added.
1886 2006-06-12 Brady Eidson <beidson@apple.com>
1890 Fixed a bug in append(char) and append(UChar) where our intended copy-on-write semantics was ignored!
1892 * platform/String.cpp:
1893 (WebCore::String::append):
1895 2006-06-12 Geoffrey Garen <ggaren@apple.com>
1897 Reviewed by TimO, Maciej.
1899 - WebCore part of merging InterpreterImp into Interpreter. No test
1900 because there's no behavior change.
1902 A substantive change here is that ScriptInterpreter::mark must now chain to
1903 Interpreter::mark, since Interpreter needs to mark the things that
1904 InterpreterImp used to mark.
1906 * WebCore.xcodeproj/project.pbxproj:
1907 * bindings/js/kjs_binding.cpp:
1908 * bindings/js/kjs_window.cpp:
1910 * bridge/mac/WebCoreFrameBridge.mm:
1911 * bridge/mac/WebCoreScriptDebugger.mm:
1912 (-[WebCoreScriptCallFrame evaluateWebScript:]):
1913 * kwq/KWQPageState.mm:
1915 2006-06-12 Brady Eidson <beidson@apple.com>
1919 Changed String::ascii() to return a Vector<char> instead of const char*
1920 This allows us to use it "regularly" as the returned vector will destruct
1921 and not leak memory like the previous approach.
1922 We can now do a String.ascii().data() to get a char* buffer instead of
1923 String.deprecatedString().ascii(). It doesn't improve the style much but
1924 dumping the memory-leak issue is a plus.
1926 * icon/IconDatabase.cpp:
1927 (WebCore::IconDatabase::open):
1928 (WebCore::IconDatabase::clearDatabase):
1929 * icon/SQLDatabase.cpp:
1930 (SQLDatabase::open):
1931 * icon/SQLStatement.cpp:
1932 (WebCore::SQLStatement::prepare):
1933 (WebCore::SQLStatement::step):
1934 (WebCore::SQLStatement::returnTextResults):
1935 (WebCore::SQLStatement::returnTextResults16):
1936 (WebCore::SQLStatement::returnIntResults):
1937 (WebCore::SQLStatement::returnInt64Results):
1938 (WebCore::SQLStatement::returnDoubleResults):
1939 In addition to the changes to the string classes, changed my database code over to the new
1942 * platform/PlatformString.h:
1943 * platform/String.cpp:
1944 (WebCore::String::ascii):
1945 * platform/StringImpl.cpp:
1946 (WebCore::StringImpl::ascii):
1947 * platform/StringImpl.h:
1949 2006-06-12 Dave Hyatt <hyatt@apple.com>
1951 Add the notion of a selection foreground color to the engine for
1952 Win32. Rename existing selectionColor methods to be
1953 selectionBackgroundColor instead.
1955 Change the 60% alpha blend rule for transparent selection to
1956 instead be a range from 60-80%, with less transparency being
1957 used as needed to ensure the transformed color more closely
1958 approximates the original operating system color when blended
1959 with a white background.
1963 * platform/Color.cpp:
1965 (WebCore::Color::blendWithWhite):
1967 * rendering/InlineTextBox.cpp:
1968 (WebCore::InlineTextBox::paint):
1969 (WebCore::InlineTextBox::paintSelection):
1970 * rendering/RenderBlock.cpp:
1971 (WebCore::RenderBlock::fillHorizontalSelectionGap):
1972 (WebCore::RenderBlock::fillVerticalSelectionGap):
1973 (WebCore::RenderBlock::fillLeftSelectionGap):
1974 (WebCore::RenderBlock::fillRightSelectionGap):
1975 * rendering/RenderHTMLCanvas.cpp:
1976 (WebCore::RenderHTMLCanvas::paint):
1977 * rendering/RenderImage.cpp:
1978 (WebCore::RenderImage::paint):
1979 * rendering/RenderListMarker.cpp:
1980 (WebCore::RenderListMarker::paint):
1981 * rendering/RenderObject.cpp:
1982 (WebCore::RenderObject::selectionBackgroundColor):
1983 (WebCore::RenderObject::selectionForegroundColor):
1984 * rendering/RenderObject.h:
1985 * rendering/RenderTheme.cpp:
1986 (WebCore::RenderTheme::activeSelectionBackgroundColor):
1987 (WebCore::RenderTheme::inactiveSelectionBackgroundColor):
1988 (WebCore::RenderTheme::platformActiveSelectionBackgroundColor):
1989 (WebCore::RenderTheme::platformInactiveSelectionBackgroundColor):
1990 (WebCore::RenderTheme::platformActiveSelectionForegroundColor):
1991 (WebCore::RenderTheme::platformInactiveSelectionForegroundColor):
1992 * rendering/RenderTheme.h:
1993 * rendering/RenderThemeMac.h:
1994 * rendering/RenderThemeMac.mm:
1995 (WebCore::RenderThemeMac::platformActiveSelectionBackgroundColor):
1996 (WebCore::RenderThemeMac::platformInactiveSelectionBackgroundColor):
1997 * rendering/RenderThemeWin.cpp:
1998 (WebCore::RenderThemeWin::platformActiveSelectionBackgroundColor):
1999 (WebCore::RenderThemeWin::platformInactiveSelectionBackgroundColor):
2000 (WebCore::RenderThemeWin::platformActiveSelectionForegroundColor):
2001 (WebCore::RenderThemeWin::platformInactiveSelectionForegroundColor):
2002 * rendering/RenderThemeWin.h:
2003 * rendering/RenderWidget.cpp:
2004 (WebCore::RenderWidget::paint):
2006 2006-06-12 John Sullivan <sullivan@apple.com>
2008 Reviewed by Darin Adler.
2011 (WebCore::Frame::markAllMatchesForText):
2012 Do a "fake" paint here so that the rectangles for the text matches will have been
2013 computed by the time this method returns.
2015 2006-06-12 Brady Eidson <beidson@apple.com>
2017 Reviewed by Levi and Tim Omernick.
2019 -Added a skeleton sqlite3 icon database file to IconDatabase
2020 -Added functionality to validate and recreate this icon.db file
2021 -Fixed some buggys in SQLDatabase.cpp
2023 * icon/IconDatabase.cpp:
2024 (WebCore::IconDatabase::open):
2025 (WebCore::IconDatabase::isValidDatabase):
2026 (WebCore::IconDatabase::clearDatabase):
2027 (WebCore::IconDatabase::recreateDatabase):
2028 * icon/IconDatabase.h:
2030 * icon/SQLStatement.cpp:
2031 (WebCore::SQLStatement::columnCount):
2032 (WebCore::SQLStatement::getColumnName):
2033 (WebCore::SQLStatement::getColumnName16):
2034 (WebCore::SQLStatement::getColumnText):
2035 (WebCore::SQLStatement::getColumnText16):
2036 (WebCore::SQLStatement::getColumnDouble):
2037 (WebCore::SQLStatement::getColumnInt):
2038 (WebCore::SQLStatement::getColumnInt64):
2039 (WebCore::SQLStatement::getColumnBlob):
2040 -Added checks to make sure we had a valid working sqlite3_statement as the sqlite3_*
2041 function calls weren't as error-tolerant as documentation advertised
2042 (maybe differences between the 3.3 docs I looked at and the 3.1.3 version installed on OSX)
2044 2006-06-12 Brady Eidson <beidson@apple.com>
2048 -Added SQLite helper wrappers to ease use of SQLite in the IconDatabase.
2049 -Changed the base IconDatabase over to this new framework.
2051 * WebCore.xcodeproj/project.pbxproj:
2052 * bridge/mac/WebCoreIconDatabaseBridge.mm:
2053 (-[WebCoreIconDatabaseBridge closeSharedDatabase]):
2054 -By popular request, removed an annoying log message I'd accidentally left in
2056 * icon/IconDatabase.cpp:
2057 (WebCore::IconDatabase::IconDatabase):
2058 (WebCore::IconDatabase::open):
2059 (WebCore::IconDatabase::close):
2060 (WebCore::IconDatabase::~IconDatabase):
2061 * icon/IconDatabase.h:
2062 (WebCore::IconDatabase::isOpen):
2063 -Changed over IconDatabase from direct sqlite3_* calls to the new SQLDatabase calls
2065 * icon/SQLDatabase.cpp: Added.
2066 (SQLDatabase::SQLDatabase):
2067 (SQLDatabase::open):
2068 (SQLDatabase::close):
2069 (SQLDatabase::executeCommand):
2070 (SQLDatabase::tableExists):
2071 * icon/SQLDatabase.h: Added.
2072 (WebCore::SQLDatabase::isOpen):
2073 (WebCore::SQLDatabase::getPath):
2074 (WebCore::SQLDatabase::lastError):
2075 (WebCore::SQLDatabase::lastErrorMsg):
2076 (WebCore::SQLStatement::isPrepared):
2077 (WebCore::SQLStatement::lastError):
2078 (WebCore::SQLStatement::lastErrorMsg):
2079 * icon/SQLStatement.cpp: Added.
2080 (WebCore::SQLStatement::SQLStatement):
2081 (WebCore::SQLStatement::~SQLStatement):
2082 (WebCore::SQLStatement::prepare):
2083 (WebCore::SQLStatement::step):
2084 (WebCore::SQLStatement::finalize):
2085 (WebCore::SQLStatement::reset):
2086 (WebCore::SQLStatement::executeCommand):
2087 (WebCore::SQLStatement::bindBlob):
2088 (WebCore::SQLStatement::bindText):
2089 (WebCore::SQLStatement::columnCount):
2090 (WebCore::SQLStatement::getColumnName):
2091 (WebCore::SQLStatement::getColumnName16):
2092 (WebCore::SQLStatement::getColumnText):
2093 (WebCore::SQLStatement::getColumnText16):
2094 (WebCore::SQLStatement::getColumnDouble):
2095 (WebCore::SQLStatement::getColumnInt):
2096 (WebCore::SQLStatement::getColumnInt64):
2097 (WebCore::SQLStatement::getColumnBlob):
2098 (WebCore::SQLStatement::returnTextResults):
2099 (WebCore::SQLStatement::returnTextResults16):
2100 (WebCore::SQLStatement::returnIntResults):
2101 (WebCore::SQLStatement::returnInt64Results):
2102 (WebCore::SQLStatement::returnDoubleResults):
2103 -Initial checking of SQLDatabase framework
2105 * platform/PlatformString.h:
2106 * platform/String.cpp:
2107 (WebCore::String::String):
2108 -Added an explicit UChar* constructor to our string class as much of sqlite3's UTF16 handling is based on
2109 null-terminated UTF16 which we didn't yet support.
2111 2006-06-11 David Kilzer <ddkilzer@kilzer.net>
2115 http://bugzilla.opendarwin.org/show_bug.cgi?id=9408
2116 Clean build fails with "make: *** No rule to make target `SVGElementFactory.cpp', needed by `all'. Stop"
2118 * DerivedSources.make: Fix clean builds.
2120 2006-06-11 Darin Adler <darin@apple.com>
2122 - another try at fixing Windows
2124 * loader/CachedResource.h:
2125 * platform/cairo/GraphicsContextCairo.cpp:
2126 * platform/image-decoders/ImageDecoder.h:
2127 (WebCore::ImageDecoder::setData):
2128 * platform/image-decoders/gif/GIFImageDecoder.cpp:
2129 (WebCore::GIFImageDecoderPrivate::decode):
2130 (WebCore::GIFImageDecoder::setData):
2131 * platform/image-decoders/gif/GIFImageDecoder.h:
2132 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
2133 (WebCore::JPEGImageReader::decode):
2134 (WebCore::JPEGImageDecoder::setData):
2135 * platform/image-decoders/jpeg/JPEGImageDecoder.h:
2136 * platform/image-decoders/png/PNGImageDecoder.cpp:
2137 (WebCore::PNGImageReader::decode):
2138 (WebCore::PNGImageDecoder::setData):
2139 * platform/image-decoders/png/PNGImageDecoder.h:
2140 s/DeprecatedByteArray/Vector<char>/
2142 2006-06-11 Darin Adler <darin@apple.com>
2144 - try to fix Windows build
2146 * platform/cairo/ImageCairo.cpp: (WebCore::Image::loadResource):
2147 Use Vector<char> instead of DeprecatedByteArray.
2149 * platform/win/TemporaryLinkStubs.cpp: (KWQServeSynchronousRequest):
2150 Don't try to return 0 from a function that returns a Vector<char>.
2152 2006-06-11 Sam Weinig <sam.weinig@gmail.com>
2154 Reviewed by Hyatt, tweaked quite a bit and landed by Darin.
2156 - Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8039
2157 Remove use of DeprecatedArray in favor of new Vector class
2159 This removes most of the uses of DeprecatedArray and
2160 DeprecatedByteArray, with the exception of DeprecatedCString.
2162 No test cases added because there is no change in
2165 * loader/CachedCSSStyleSheet.cpp:
2166 (WebCore::CachedCSSStyleSheet::data):
2167 * loader/CachedCSSStyleSheet.h:
2168 * loader/CachedImage.cpp:
2169 (WebCore::CachedImage::bufferData):
2170 (WebCore::CachedImage::data):
2171 (WebCore::CachedImage::checkNotify):
2172 (WebCore::CachedImage::shouldStopAnimation):
2173 * loader/CachedImage.h:
2174 * loader/CachedObject.cpp:
2175 (WebCore::CachedObject::bufferData):
2176 (WebCore::CachedObject::setExpireDate):
2177 * loader/CachedObject.h:
2178 (WebCore::CachedObject::setCharset):
2179 * loader/CachedScript.cpp:
2180 (WebCore::CachedScript::data):
2181 * loader/CachedScript.h:
2182 * loader/CachedXBLDocument.cpp:
2183 (WebCore::CachedXBLDocument::data):
2184 (WebCore::CachedXBLDocument::checkNotify):
2185 * loader/CachedXBLDocument.h:
2186 * loader/CachedXSLStyleSheet.cpp:
2187 (WebCore::CachedXSLStyleSheet::data):
2188 * loader/CachedXSLStyleSheet.h:
2189 * loader/Request.cpp:
2190 (WebCore::Request::Request):
2191 (WebCore::Request::~Request):
2193 (WebCore::Request::buffer):
2194 (WebCore::Request::cachedObject):
2195 (WebCore::Request::docLoader):
2196 (WebCore::Request::isIncremental):
2197 (WebCore::Request::setIsIncremental):
2198 (WebCore::Request::isMultipart):
2199 (WebCore::Request::setIsMultipart):
2200 * loader/loader.cpp:
2201 (WebCore::crossDomain):
2202 (WebCore::Loader::Loader):
2203 (WebCore::Loader::load):
2204 (WebCore::Loader::servePendingRequests):
2205 (WebCore::Loader::receivedAllData):
2206 (WebCore::Loader::receivedResponse):
2207 (WebCore::Loader::receivedData):
2208 (WebCore::Loader::numRequests):
2209 (WebCore::Loader::cancelRequests):
2210 (WebCore::Loader::removeBackgroundDecodingRequest):
2211 (WebCore::Loader::jobForRequest):
2212 * platform/Image.cpp:
2213 (WebCore::Image::setData):
2215 (WebCore::Image::dataBuffer):
2217 * css/cssstyleselector.cpp:
2218 (WebCore::CSSStyleSelector::init):
2219 (WebCore::CSSStyleSelector::matchRules):
2220 (WebCore::CSSStyleSelector::matchRulesForList):
2221 (WebCore::CSSStyleSelector::sortMatchedRules):
2222 (WebCore::CSSStyleSelector::initForStyleResolve):
2223 (WebCore::CSSStyleSelector::createStyleForElement):
2224 (WebCore::CSSStyleSelector::createPseudoStyleForElement):
2225 * css/cssstyleselector.h:
2226 (WebCore::CSSStyleSelector::addMatchedRule):
2227 (WebCore::CSSStyleSelector::addMatchedDeclaration):
2228 * dom/xml_tokenizer.cpp:
2229 (WebCore::OffsetBuffer::OffsetBuffer):
2230 (WebCore::openFunc):
2231 * html/HTMLOptionElement.cpp:
2232 (WebCore::HTMLOptionElement::index):
2233 * html/HTMLSelectElement.cpp:
2234 (WebCore::HTMLSelectElement::selectedIndex):
2235 (WebCore::HTMLSelectElement::setSelectedIndex):
2236 (WebCore::HTMLSelectElement::length):
2237 (WebCore::HTMLSelectElement::remove):
2238 (WebCore::HTMLSelectElement::value):
2239 (WebCore::HTMLSelectElement::setValue):
2240 (WebCore::HTMLSelectElement::state):
2241 (WebCore::HTMLSelectElement::restoreState):
2242 (WebCore::HTMLSelectElement::appendFormData):
2243 (WebCore::HTMLSelectElement::optionToListIndex):
2244 (WebCore::HTMLSelectElement::listToOptionIndex):
2245 (WebCore::HTMLSelectElement::recalcListItems):
2246 (WebCore::HTMLSelectElement::reset):
2247 (WebCore::HTMLSelectElement::notifyOptionSelected):
2248 * html/HTMLSelectElement.h:
2249 (WebCore::HTMLSelectElement::listItems):
2252 (KWQServeSynchronousRequest):
2253 * kwq/KWQTextStream.cpp:
2254 (QTextStream::operator<<):
2255 * kwq/KWQTextStream.h:
2256 * loader/FormData.cpp:
2257 (WebCore::FormData::flatten):
2258 (WebCore::FormData::flattenToString):
2259 * loader/FormData.h:
2260 (WebCore::FormDataElement::FormDataElement):
2261 * platform/DeprecatedString.cpp:
2262 * platform/DeprecatedString.h:
2263 * platform/IntPointArray.cpp: Removed.
2264 * platform/IntPointArray.h: Removed.
2265 * platform/TextEncoding.cpp:
2266 (WebCore::TextEncoding::toUnicode):
2267 * platform/TextEncoding.h:
2268 * platform/cairo/pixman/src/pixregion.c:
2269 * platform/cg/PathCG.cpp:
2270 (WebCore::Path::Path):
2271 * rendering/RenderObject.cpp:
2272 (WebCore::RenderObject::drawBorder):
2273 * rendering/RenderTable.h:
2274 (WebCore::RenderTable::colToEffCol):
2275 (WebCore::RenderTable::effColToCol):
2276 * rendering/RenderTableSection.cpp:
2277 (WebCore::RenderTableSection::ensureRows):
2278 (WebCore::RenderTableSection::addCell):
2279 (WebCore::RenderTableSection::setCellWidths):
2280 * rendering/RenderTableSection.h:
2281 * rendering/bidi.cpp:
2282 (WebCore::addMidpoint):
2283 (WebCore::RenderBlock::layoutInlineChildren):
2284 * rendering/render_form.cpp:
2285 (WebCore::RenderSelect::updateFromElement):
2286 (WebCore::RenderSelect::layout):
2287 (WebCore::RenderSelect::valueChanged):
2288 (WebCore::RenderSelect::selectionChanged):
2289 (WebCore::RenderSelect::updateSelection):
2290 * rendering/table_layout.cpp:
2291 (WebCore::FixedTableLayout::layout):
2292 * rendering/table_layout.h:
2293 * xml/XSLTProcessor.cpp:
2294 (WebCore::docLoaderFunc):
2295 * xml/xmlhttprequest.cpp:
2296 (WebCore::XMLHttpRequest::send):
2297 (WebCore::XMLHttpRequest::processSyncLoadResults):
2298 * xml/xmlhttprequest.h:
2300 2006-06-11 David Kilzer <ddkilzer@kilzer.net>
2304 http://bugzilla.opendarwin.org/show_bug.cgi?id=9394
2307 * DerivedSources.make: Removed tabs. Create empty SVGElementFactory.cpp on no-svg build.
2308 * ksvg2/bindings/js/JSSVGElementWrapperFactory.cpp: Added #if SVG_SUPPORT/#endif.
2309 * ksvg2/bindings/js/JSSVGElementWrapperFactory.h: Ditto.
2310 * ksvg2/bindings/idl/svg/SVGAElement.idl: Add "Conditional=SVG" to all interfaces.
2311 * ksvg2/bindings/idl/svg/SVGAnimateColorElement.idl: Ditto.
2312 * ksvg2/bindings/idl/svg/SVGAnimateElement.idl: Ditto.
2313 * ksvg2/bindings/idl/svg/SVGAnimateTransformElement.idl: Ditto.
2314 * ksvg2/bindings/idl/svg/SVGAnimatedAngle.idl: Ditto.
2315 * ksvg2/bindings/idl/svg/SVGAnimatedBoolean.idl: Ditto.
2316 * ksvg2/bindings/idl/svg/SVGAnimatedEnumeration.idl: Ditto.
2317 * ksvg2/bindings/idl/svg/SVGAnimatedInteger.idl: Ditto.
2318 * ksvg2/bindings/idl/svg/SVGAnimatedLengthList.idl: Ditto.
2319 * ksvg2/bindings/idl/svg/SVGAnimatedNumber.idl: Ditto.
2320 * ksvg2/bindings/idl/svg/SVGAnimatedNumberList.idl: Ditto.
2321 * ksvg2/bindings/idl/svg/SVGAnimatedPathData.idl: Ditto.
2322 * ksvg2/bindings/idl/svg/SVGAnimatedPoints.idl: Ditto.
2323 * ksvg2/bindings/idl/svg/SVGAnimatedPreserveAspectRatio.idl: Ditto.
2324 * ksvg2/bindings/idl/svg/SVGAnimatedRect.idl: Ditto.
2325 * ksvg2/bindings/idl/svg/SVGAnimatedString.idl: Ditto.
2326 * ksvg2/bindings/idl/svg/SVGAnimatedTransformList.idl: Ditto.
2327 * ksvg2/bindings/idl/svg/SVGAnimationElement.idl: Ditto.
2328 * ksvg2/bindings/idl/svg/SVGCircleElement.idl: Ditto.
2329 * ksvg2/bindings/idl/svg/SVGClipPathElement.idl: Ditto.
2330 * ksvg2/bindings/idl/svg/SVGComponentTransferFunctionElement.idl: Ditto.
2331 * ksvg2/bindings/idl/svg/SVGCursorElement.idl: Ditto.
2332 * ksvg2/bindings/idl/svg/SVGDOMImplementation.idl: Ditto.
2333 * ksvg2/bindings/idl/svg/SVGDefsElement.idl: Ditto.
2334 * ksvg2/bindings/idl/svg/SVGDescElement.idl: Ditto.
2335 * ksvg2/bindings/idl/svg/SVGElementInstance.idl: Ditto.
2336 * ksvg2/bindings/idl/svg/SVGElementInstanceList.idl: Ditto.
2337 * ksvg2/bindings/idl/svg/SVGEllipseElement.idl: Ditto.
2338 * ksvg2/bindings/idl/svg/SVGEvent.idl: Ditto.
2339 * ksvg2/bindings/idl/svg/SVGException.idl: Ditto.
2340 * ksvg2/bindings/idl/svg/SVGExternalResourcesRequired.idl: Ditto.
2341 * ksvg2/bindings/idl/svg/SVGFEBlendElement.idl: Ditto.
2342 * ksvg2/bindings/idl/svg/SVGFEColorMatrixElement.idl: Ditto.
2343 * ksvg2/bindings/idl/svg/SVGFEComponentTransferElement.idl: Ditto.
2344 * ksvg2/bindings/idl/svg/SVGFECompositeElement.idl: Ditto.
2345 * ksvg2/bindings/idl/svg/SVGFEFloodElement.idl: Ditto.
2346 * ksvg2/bindings/idl/svg/SVGFEFuncAElement.idl: Ditto.
2347 * ksvg2/bindings/idl/svg/SVGFEFuncBElement.idl: Ditto.
2348 * ksvg2/bindings/idl/svg/SVGFEFuncGElement.idl: Ditto.
2349 * ksvg2/bindings/idl/svg/SVGFEFuncRElement.idl: Ditto.
2350 * ksvg2/bindings/idl/svg/SVGFEGaussianBlurElement.idl: Ditto.
2351 * ksvg2/bindings/idl/svg/SVGFEImageElement.idl: Ditto.
2352 * ksvg2/bindings/idl/svg/SVGFEMergeElement.idl: Ditto.
2353 * ksvg2/bindings/idl/svg/SVGFEMergeNodeElement.idl: Ditto.
2354 * ksvg2/bindings/idl/svg/SVGFEOffsetElement.idl: Ditto.
2355 * ksvg2/bindings/idl/svg/SVGFETileElement.idl: Ditto.
2356 * ksvg2/bindings/idl/svg/SVGFETurbulenceElement.idl: Ditto.
2357 * ksvg2/bindings/idl/svg/SVGFilterElement.idl: Ditto.
2358 * ksvg2/bindings/idl/svg/SVGFilterPrimitiveStandardAttributes.idl: Ditto.
2359 * ksvg2/bindings/idl/svg/SVGFitToViewBox.idl: Ditto.
2360 * ksvg2/bindings/idl/svg/SVGGElement.idl: Ditto.
2361 * ksvg2/bindings/idl/svg/SVGGradientElement.idl: Ditto.
2362 * ksvg2/bindings/idl/svg/SVGICCColor.idl: Ditto.
2363 * ksvg2/bindings/idl/svg/SVGImageElement.idl: Ditto.
2364 * ksvg2/bindings/idl/svg/SVGLangSpace.idl: Ditto.
2365 * ksvg2/bindings/idl/svg/SVGLengthList.idl: Ditto.
2366 * ksvg2/bindings/idl/svg/SVGLineElement.idl: Ditto.
2367 * ksvg2/bindings/idl/svg/SVGLinearGradientElement.idl: Ditto.
2368 * ksvg2/bindings/idl/svg/SVGLocatable.idl: Ditto.
2369 * ksvg2/bindings/idl/svg/SVGMarkerElement.idl: Ditto.
2370 * ksvg2/bindings/idl/svg/SVGNumberList.idl: Ditto.
2371 * ksvg2/bindings/idl/svg/SVGPaint.idl: Ditto.
2372 * ksvg2/bindings/idl/svg/SVGPathElement.idl: Ditto.
2373 * ksvg2/bindings/idl/svg/SVGPathSeg.idl: Ditto.
2374 * ksvg2/bindings/idl/svg/SVGPathSegArc.idl: Ditto.
2375 * ksvg2/bindings/idl/svg/SVGPathSegClosePath.idl: Ditto.
2376 * ksvg2/bindings/idl/svg/SVGPathSegCurvetoCubic.idl: Ditto.
2377 * ksvg2/bindings/idl/svg/SVGPathSegCurvetoCubicSmooth.idl: Ditto.
2378 * ksvg2/bindings/idl/svg/SVGPathSegCurvetoQuadratic.idl: Ditto.
2379 * ksvg2/bindings/idl/svg/SVGPathSegCurvetoQuadraticSmooth.idl: Ditto.
2380 * ksvg2/bindings/idl/svg/SVGPathSegLineto.idl: Ditto.
2381 * ksvg2/bindings/idl/svg/SVGPathSegLinetoHorizontal.idl: Ditto.
2382 * ksvg2/bindings/idl/svg/SVGPathSegLinetoVertical.idl: Ditto.
2383 * ksvg2/bindings/idl/svg/SVGPathSegList.idl: Ditto.
2384 * ksvg2/bindings/idl/svg/SVGPathSegMoveto.idl: Ditto.
2385 * ksvg2/bindings/idl/svg/SVGPatternElement.idl: Ditto.
2386 * ksvg2/bindings/idl/svg/SVGPointList.idl: Ditto.
2387 * ksvg2/bindings/idl/svg/SVGPolygonElement.idl: Ditto.
2388 * ksvg2/bindings/idl/svg/SVGPolylineElement.idl: Ditto.
2389 * ksvg2/bindings/idl/svg/SVGPreserveAspectRatio.idl: Ditto.
2390 * ksvg2/bindings/idl/svg/SVGRadialGradientElement.idl: Ditto.
2391 * ksvg2/bindings/idl/svg/SVGRectElement.idl: Ditto.
2392 * ksvg2/bindings/idl/svg/SVGRenderingIntent.idl: Ditto.
2393 * ksvg2/bindings/idl/svg/SVGScriptElement.idl: Ditto.
2394 * ksvg2/bindings/idl/svg/SVGSetElement.idl: Ditto.
2395 * ksvg2/bindings/idl/svg/SVGStopElement.idl: Ditto.
2396 * ksvg2/bindings/idl/svg/SVGStringList.idl: Ditto.
2397 * ksvg2/bindings/idl/svg/SVGStylable.idl: Ditto.
2398 * ksvg2/bindings/idl/svg/SVGStyleElement.idl: Ditto.
2399 * ksvg2/bindings/idl/svg/SVGSwitchElement.idl: Ditto.
2400 * ksvg2/bindings/idl/svg/SVGSymbolElement.idl: Ditto.
2401 * ksvg2/bindings/idl/svg/SVGTSpanElement.idl: Ditto.
2402 * ksvg2/bindings/idl/svg/SVGTests.idl: Ditto.
2403 * ksvg2/bindings/idl/svg/SVGTextContentElement.idl: Ditto.
2404 * ksvg2/bindings/idl/svg/SVGTextElement.idl: Ditto.
2405 * ksvg2/bindings/idl/svg/SVGTextPositioningElement.idl: Ditto.
2406 * ksvg2/bindings/idl/svg/SVGTitleElement.idl: Ditto.
2407 * ksvg2/bindings/idl/svg/SVGTransformList.idl: Ditto.
2408 * ksvg2/bindings/idl/svg/SVGTransformable.idl: Ditto.
2409 * ksvg2/bindings/idl/svg/SVGURIReference.idl: Ditto.
2410 * ksvg2/bindings/idl/svg/SVGUnitTypes.idl: Ditto.
2411 * ksvg2/bindings/idl/svg/SVGUseElement.idl: Ditto.
2412 * ksvg2/bindings/idl/svg/SVGViewElement.idl: Ditto.
2413 * ksvg2/bindings/idl/svg/SVGZoomAndPan.idl: Ditto.
2414 * ksvg2/bindings/idl/svg/SVGZoomEvent.idl: Ditto.
2415 * ksvg2/svg/SVGAngle.idl: Ditto.
2416 * ksvg2/svg/SVGAnimatedLength.idl: Ditto.
2417 * ksvg2/svg/SVGColor.idl: Ditto.
2418 * ksvg2/svg/SVGDocument.idl: Ditto.
2419 * ksvg2/svg/SVGElement.idl: Ditto.
2420 * ksvg2/svg/SVGEvent.idl: Ditto.
2421 * ksvg2/svg/SVGLength.idl: Ditto.
2422 * ksvg2/svg/SVGMatrix.idl: Ditto.
2423 * ksvg2/svg/SVGNumber.idl: Ditto.
2424 * ksvg2/svg/SVGPoint.idl: Ditto.
2425 * ksvg2/svg/SVGRect.idl: Ditto.
2426 * ksvg2/svg/SVGSVGElement.idl: Ditto.
2427 * ksvg2/svg/SVGTransform.idl: Ditto.
2429 2006-06-11 Anders Carlsson <acarlsson@apple.com>
2433 http://bugzilla.opendarwin.org/show_bug.cgi?id=9390
2434 Move full-frame plugins to WebCore
2436 * WebCore.vcproj/WebCore/WebCore.vcproj:
2437 * WebCore.xcodeproj/project.pbxproj:
2440 * bridge/mac/FrameMac.h:
2441 * bridge/mac/FrameMac.mm:
2442 (WebCore::FrameMac::redirectDataToPlugin):
2445 * bridge/mac/WebCoreFrameBridge.h:
2446 * bridge/mac/WebCoreFrameBridge.mm:
2447 Add redirectDataToPlugin which is used to redirect incoming data
2450 * bridge/mac/WebCoreViewFactory.h:
2451 Add pluginSupportsMIMEType which returns whether any plugins support a given MIME type.
2453 * dom/DOMImplementation.cpp:
2454 * dom/DOMImplementation.h:
2455 Get rid of createTextDocument and just create a text document explicitly when needed.
2458 (WebCore::Document::isPluginDocument):
2459 * loader/PluginDocument.cpp: Added.
2460 (WebCore::PluginTokenizer::PluginTokenizer):
2461 (WebCore::PluginTokenizer::wantsRawData):
2462 (WebCore::PluginTokenizer::write):
2463 (WebCore::PluginTokenizer::createDocumentStructure):
2464 (WebCore::PluginTokenizer::writeRawData):
2465 (WebCore::PluginTokenizer::stopParsing):
2466 (WebCore::PluginTokenizer::finish):
2467 (WebCore::PluginTokenizer::isWaitingForScripts):
2468 (WebCore::PluginDocument::PluginDocument):
2469 (WebCore::PluginDocument::createTokenizer):
2470 * loader/PluginDocument.h: Added.
2471 (WebCore::PluginDocument::isPluginDocument):
2475 (WebCore::Frame::begin):
2476 Possibly create a plugin document.
2479 (WebCore::Frame::redirectDataToPlugin):
2482 * platform/PlugInInfoStore.h:
2483 * platform/mac/PlugInInfoStoreMac.mm:
2484 (WebCore::PlugInInfoStore::supportsMIMEType):
2485 Ask WebCoreViewFactory if the MIME type is supported.
2487 2006-06-10 Mitz Pettel <opendarwin.org@mitzpettel.com>
2491 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9334
2492 Incomplete repaint when changing block from non-positioned to positioned
2494 Test: fast/repaint/static-to-positioned.html
2496 * rendering/RenderObject.cpp:
2497 (WebCore::RenderObject::setStyle): If changing from static to positioned, repaint
2500 2006-06-10 Mitz Pettel <opendarwin.org@mitzpettel.com>
2504 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9193
2505 REGRESSION: setting an opacity on an element with an outline causes the outline to disappear completely
2507 Test: fast/layers/opacity-outline.html
2509 - fix repainting of layer children's outlines that extend beyond the layer
2511 Test: fast/repaint/layer-child-outline.html
2513 * rendering/RenderLayer.cpp:
2514 (WebCore::RenderLayer::intersectsDamageRect): Account for outlines.
2515 (WebCore::RenderLayer::absoluteBoundingBox): Ditto.
2516 * rendering/RenderObject.cpp:
2517 (WebCore::RenderObject::maximalOutlineSize): Changed to return the view's maximal
2518 outline size rather than 0 for PaintPhaseChildOutlines.
2520 2006-06-10 Steve Falkenburg <sfalken@apple.com>
2524 * platform/cairo/GraphicsContextCairo.cpp:
2525 * platform/win/TemporaryLinkStubs.cpp:
2526 (GraphicsContext::scale):
2528 2006-06-10 Geoffrey Garen <ggaren@apple.com>
2530 - http://bugzilla.opendarwin.org/show_bug.cgi?id=8515
2531 Linux porting compile bug
2533 Fix by Mike Emmel, Reviewed by Darin.
2535 * Projects/gdk/webcore-gdk.bkl:
2536 * WebCoreSources.bkl:
2537 * css/maketokenizer:
2538 * html/HTMLCanvasElement.cpp:
2539 * html/HTMLImageElement.h:
2540 * icon/IconDatabase.cpp:
2541 * make-generated-sources.sh:
2543 * page/FramePrivate.h:
2544 * platform/Cursor.h:
2545 * platform/FontData.h:
2546 (WebCore::FontData::getGlyphIndex):
2547 * platform/GlyphBuffer.h:
2548 (WebCore::GlyphBuffer::glyphAt):
2549 (WebCore::GlyphBuffer::advanceAt):
2550 (WebCore::GlyphBuffer::add):
2551 * platform/GraphicsContext.h:
2552 * platform/PlatformKeyboardEvent.h:
2553 * platform/PlatformMouseEvent.h:
2554 * platform/PlatformWheelEvent.h:
2555 * platform/ScrollView.h:
2556 * platform/TransferJob.h:
2557 (WebCore::TransferJob::getInternal):
2558 * platform/TransferJobInternal.h:
2559 (WebCore::TransferJobInternal::TransferJobInternal):
2560 * platform/Widget.h:
2561 * platform/cairo/GraphicsContextCairo.cpp:
2562 (WebCore::GraphicsContext::GraphicsContext):
2563 (WebCore::GraphicsContext::roundToDevicePixels):
2565 * xpath/impl/XPathValue.cpp:
2567 2006-06-09 John Sullivan <sullivan@apple.com>
2569 Reviewed by Tim Omernick and Dave Hyatt.
2571 WebCore support for computing but not highlighting rects for text matches.
2574 added setRenderedRectForMarker() and renderedRectsForMarkers(), and redefined
2575 MarkerMap to be a hashtable of node -> (pair of vectors), one vector of markers
2576 and one vector of rects
2579 (placeholderRectForMarker()):
2580 new function, returns a recognizable degenerate rect used until a real rect has been set
2581 (WebCore::Document::addMarker):
2582 Reworked for new MarkerMap data structure; now adds parallel placeholder rect
2584 (WebCore::Document::copyMarkers):
2585 Reworked for new MarkerMap data structure
2586 (WebCore::Document::removeMarkers):
2587 Reworked for new MarkerMap data structure; now removed corresponding rect along
2589 (WebCore::Document::markersForNode):
2590 Reworked for new MarkerMap data structure
2591 (WebCore::Document::renderedRectsForMarkers):
2592 New method, returns an array of all non-placeholder rects for the given marker type
2593 (WebCore::Document::repaintMarkers):
2594 Reworked for new MarkerMap data structure
2595 (WebCore::Document::setRenderedRectForMarker):
2596 New method, sets the rendered rect for a given marker
2597 (WebCore::Document::shiftMarkers):
2598 Reworked for new MarkerMap data structure; resets rendered rects to placeholders.
2600 * rendering/InlineTextBox.cpp:
2601 (WebCore::InlineTextBox::paint):
2602 removed markedTextMatchesAreHighlighted guard; we always want to call paintTextMatchMarker
2603 now, but sometimes we will end up only computing the rect, not actually highlighting it.
2604 (Maybe some names should be improved here?)
2605 (WebCore::InlineTextBox::paintTextMatchMarker):
2606 Reorganized to move all the code that actually draws into a block that's guarded by
2607 markedTextMatchesAreHighlighted. The rest of the code computes where the highlight will
2608 go, and now we always use that computation in order to call setRenderedRectForMarker.
2610 * bridge/mac/WebCoreFrameBridge.h:
2611 * bridge/mac/WebCoreFrameBridge.mm:
2612 (-[WebCoreFrameBridge rectsForTextMatches]):
2613 New method, returns an array of NSValues representing NSRects. Gets them
2614 from Document::renderedRectsForMarkers
2616 2006-06-10 Anders Carlsson <acarlsson@apple.com>
2620 * bindings/js/kjs_html.cpp:
2621 (KJS::JSHTMLElement::put):
2622 Call WebCore::JSHTMLElement::put so that autogenerated setters will work
2625 2006-06-09 Geoffrey Garen <ggaren@apple.com>
2627 - Build fix after last JSC check-in (oops!)
2629 * bridge/mac/WebCoreScriptDebugger.mm:
2630 (-[WebCoreScriptCallFrame scopeChain]):
2631 (-[WebCoreScriptCallFrame functionName]):
2632 (-[WebCoreScriptCallFrame evaluateWebScript:]):
2634 2006-06-09 David Hyatt <hyatt@apple.com>
2636 Rename m_isFocused on the frame to m_isActive, since it isn't really
2637 about focus but is instead about whether or not the top-level window is
2640 Pull code that was incorrectly factored into Mac-only code out of FrameMac
2641 and back up into Frame.
2643 Reviewed by andersca
2645 * bridge/mac/FrameMac.h:
2646 * bridge/mac/FrameMac.mm:
2648 (WebCore::Frame::setFocusNodeIfNeeded):
2649 (WebCore::Frame::isActive):
2650 (WebCore::Frame::setIsActive):
2651 * page/FramePrivate.h:
2652 (WebCore::FramePrivate::FramePrivate):
2654 2006-06-09 David Hyatt <hyatt@apple.com>
2656 Rework selection coloring. Rename displaysWithFocusAttributes
2657 to isActive. Move the white-blending code onto the Color API to make
2658 it more convenient to mutate colors for selection blending. Eliminate all
2659 the selection state from the GraphicsContext and move it to the RenderTheme.
2660 Implement both Win32 and Mac theme selection colors.
2664 * bridge/mac/FrameMac.h:
2665 * bridge/mac/FrameMac.mm:
2666 (WebCore::FrameMac::setIsActive):
2667 * bridge/mac/WebCoreFrameBridge.h:
2668 * bridge/mac/WebCoreFrameBridge.mm:
2669 (-[WebCoreFrameBridge drawRect:]):
2670 (-[WebCoreFrameBridge setIsActive:]):
2671 (-[WebCoreFrameBridge selectionColor]):
2672 * css/cssstyleselector.cpp:
2673 (WebCore::CSSStyleSelector::checkOneSelector):
2675 (WebCore::Frame::isActive):
2676 (WebCore::Frame::setIsActive):
2678 * platform/Color.cpp:
2680 (WebCore::Color::blendWithWhite):
2682 (WebCore::Color::hasAlpha):
2683 * platform/GraphicsContext.cpp:
2684 (WebCore::GraphicsContextPrivate::GraphicsContextPrivate):
2685 * platform/GraphicsContext.h:
2686 * platform/mac/GraphicsContextMac.mm:
2687 * platform/win/TemporaryLinkStubs.cpp:
2688 (GraphicsContext::endTransparencyLayer):
2689 * rendering/InlineTextBox.cpp:
2690 (WebCore::InlineTextBox::paintSelection):
2691 * rendering/RenderBlock.cpp:
2692 (WebCore::RenderBlock::fillHorizontalSelectionGap):
2693 (WebCore::RenderBlock::fillVerticalSelectionGap):
2694 (WebCore::RenderBlock::fillLeftSelectionGap):
2695 (WebCore::RenderBlock::fillRightSelectionGap):
2696 * rendering/RenderHTMLCanvas.cpp:
2697 (WebCore::RenderHTMLCanvas::paint):
2698 * rendering/RenderImage.cpp:
2699 (WebCore::RenderImage::paint):
2700 * rendering/RenderListMarker.cpp:
2701 (WebCore::RenderListMarker::paint):
2702 * rendering/RenderListMarker.h:
2703 * rendering/RenderObject.cpp:
2704 (WebCore::RenderObject::selectionColor):
2705 * rendering/RenderObject.h:
2706 * rendering/RenderReplaced.cpp:
2707 * rendering/RenderReplaced.h:
2708 * rendering/RenderTheme.cpp:
2709 (WebCore::RenderTheme::activeSelectionColor):
2710 (WebCore::RenderTheme::inactiveSelectionColor):
2711 (WebCore::RenderTheme::platformActiveSelectionColor):
2712 (WebCore::RenderTheme::platformInactiveSelectionColor):
2713 * rendering/RenderTheme.h:
2714 * rendering/RenderThemeMac.h:
2715 * rendering/RenderThemeMac.mm:
2716 (WebCore::RenderThemeMac::platformActiveSelectionColor):
2717 (WebCore::RenderThemeMac::platformInactiveSelectionColor):
2718 * rendering/RenderThemeWin.cpp:
2719 (WebCore::RenderThemeWin::platformActiveSelectionColor):
2720 (WebCore::RenderThemeWin::platformInactiveSelectionColor):
2721 * rendering/RenderThemeWin.h:
2722 * rendering/RenderWidget.cpp:
2723 (WebCore::RenderWidget::paint):
2725 2006-06-09 Justin Garcia <justin.garcia@apple.com>
2729 <rdar://problem/4549980>
2730 REGRESSION: "Find Again" can get stuck when searching for string with a trailing space
2732 * bridge/mac/FrameMac.h: Moved findString to Frame.
2733 * bridge/mac/FrameMac.mm: Ditto.
2734 * bridge/mac/WebCoreFrameBridge.mm:
2735 (-[WebCoreFrameBridge searchFor:direction:caseSensitive:wrap:]):
2736 Convert the NSString to a String.
2737 * editing/JSEditor.cpp: Added execCommand(FindString, ...)
2738 * editing/Selection.cpp: Added a constructor for Ranges
2739 (WebCore::Selection::Selection):
2740 * editing/Selection.h:
2742 (WebCore::Frame::findString): Moved from FrameMac. Compare a selection created
2743 using the found range with the current selection in case the current selection is
2744 the found range minus some collapsed whitespace on the edges.
2747 2006-06-09 Steve Falkenburg <sfalken@apple.com>
2751 * WebCore.vcproj/WebCore/WebCore.vcproj:
2752 * css/MediaQueryEvaluator.cpp:
2753 * platform/win/TemporaryLinkStubs.cpp:
2754 (GraphicsContext::addRoundedRectClip):
2755 (GraphicsContext::addInnerRoundedRectClip):
2756 (WebCore::screenDepthPerComponent):
2757 (WebCore::screenIsMonochrome):
2759 2006-06-09 Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>
2761 Reviewed by Hyatt. Tweaked by Maciej. Tweaks reviewed by Beth.
2764 CSS3 Media Queries implementation.
2765 <http://bugzilla.opendarwin.org/show_bug.cgi?id=4127>
2767 * WebCore.xcodeproj/project.pbxproj:
2768 * bindings/js/kjs_css.cpp:
2769 (KJS::DOMMediaList::put):
2770 (KJS::KJS::DOMMediaListProtoFunc::callAsFunction):
2771 * bindings/objc/DOMCSS.mm:
2772 (-[DOMMediaList setMediaText:]):
2773 (-[DOMMediaList deleteMedium:]):
2774 (-[DOMMediaList appendMedium:]):
2776 * css/MediaFeatureNames.cpp: Added.
2777 (WebCore::MediaFeatureNames::init):
2778 * css/MediaFeatureNames.h: Added.
2779 * css/MediaList.cpp:
2780 (WebCore::MediaList::MediaList):
2781 (WebCore::MediaList::~MediaList):
2782 (WebCore::parseMediaDescriptor):
2783 (WebCore::MediaList::deleteMedium):
2784 (WebCore::MediaList::mediaText):
2785 (WebCore::MediaList::setMediaText):
2786 (WebCore::MediaList::item):
2787 (WebCore::MediaList::appendMedium):
2788 (WebCore::MediaList::appendMediaQuery):
2790 (WebCore::MediaList::MediaList):
2791 (WebCore::MediaList::length):
2792 (WebCore::MediaList::mediaQueries):
2793 * css/MediaQuery.cpp: Added.
2794 (WebCore::MediaQuery::MediaQuery):
2795 (WebCore::MediaQuery::~MediaQuery):
2796 (WebCore::MediaQuery::operator==):
2797 (WebCore::MediaQuery::cssText):
2798 * css/MediaQuery.h: Added.
2799 (WebCore::MediaQuery::):
2800 (WebCore::MediaQuery::restrictor):
2801 (WebCore::MediaQuery::expressions):
2802 (WebCore::MediaQuery::mediaType):
2803 (WebCore::MediaQuery::append):
2804 * css/MediaQueryEvaluator.cpp: Added.
2806 (WebCore::MediaQueryEvaluator):
2807 (WebCore::MediaQueryEvaluator::~MediaQueryEvaluator):
2808 (WebCore::MediaQueryEvaluator::mediaTypeMatch):
2809 (WebCore::applyRestrictor):
2810 (WebCore::MediaQueryEvaluator::eval):
2811 (WebCore::parseAspectRatio):
2812 (WebCore::cmpvalue):
2813 (WebCore::numberValue):
2814 (WebCore::colorMediaFeatureEval):
2815 (WebCore::monochromeMediaFeatureEval):
2816 (WebCore::device_aspect_ratioMediaFeatureEval):
2817 (WebCore::gridMediaFeatureEval):
2818 (WebCore::device_heightMediaFeatureEval):
2819 (WebCore::device_widthMediaFeatureEval):
2820 (WebCore::heightMediaFeatureEval):
2821 (WebCore::widthMediaFeatureEval):
2822 (WebCore::min_colorMediaFeatureEval):
2823 (WebCore::max_colorMediaFeatureEval):
2824 (WebCore::min_monochromeMediaFeatureEval):
2825 (WebCore::max_monochromeMediaFeatureEval):
2826 (WebCore::min_device_aspect_ratioMediaFeatureEval):
2827 (WebCore::max_device_aspect_ratioMediaFeatureEval):
2828 (WebCore::min_heightMediaFeatureEval):
2829 (WebCore::max_heightMediaFeatureEval):
2830 (WebCore::min_widthMediaFeatureEval):
2831 (WebCore::max_widthMediaFeatureEval):
2832 (WebCore::min_device_heightMediaFeatureEval):
2833 (WebCore::max_device_heightMediaFeatureEval):
2834 (WebCore::min_device_widthMediaFeatureEval):
2835 (WebCore::max_device_widthMediaFeatureEval):
2836 (WebCore::createFunctionMap):
2837 * css/MediaQueryEvaluator.h: Added.
2838 * css/MediaQueryExp.cpp: Added.
2839 (WebCore::MediaQueryExp::MediaQueryExp):
2840 (WebCore::MediaQueryExp::~MediaQueryExp):
2841 * css/MediaQueryExp.h: Added.
2842 (WebCore::MediaQueryExp::mediaFeature):
2843 (WebCore::MediaQueryExp::value):
2844 (WebCore::MediaQueryExp::operator==):
2845 * css/StyleSheet.cpp:
2846 (WebCore::StyleSheet::setMedia):
2847 * css/cssparser.cpp:
2848 (WebCore::CSSParser::CSSParser):
2849 (WebCore::CSSParser::~CSSParser):
2850 (WebCore::CSSParser::setupParser):
2851 (WebCore::CSSParser::parseMediaQuery):
2852 (WebCore::CSSParser::createFloatingMediaQueryExp):
2853 (WebCore::CSSParser::sinkFloatingMediaQueryExp):
2854 (WebCore::CSSParser::createFloatingMediaQueryExpList):
2855 (WebCore::CSSParser::sinkFloatingMediaQueryExpList):
2856 (WebCore::CSSParser::createFloatingMediaQuery):
2857 (WebCore::CSSParser::sinkFloatingMediaQuery):
2859 * css/cssstyleselector.cpp:
2860 (WebCore::CSSStyleSelector::CSSStyleSelector):
2861 (WebCore::CSSStyleSelector::init):
2862 (WebCore::CSSStyleSelector::~CSSStyleSelector):
2863 (WebCore::CSSStyleSelector::loadDefaultStyle):
2864 (WebCore::CSSStyleSelector::matchUARules):
2865 (WebCore::CSSStyleSelector::styleForElement):
2866 (WebCore::CSSStyleSelector::pseudoStyleForElement):
2867 (WebCore::CSSStyleSelector::updateFont):
2868 (WebCore::CSSStyleSelector::cacheBorderAndBackground):
2869 (WebCore::CSSStyleSelector::styleRulesForElement):
2870 (WebCore::CSSRuleSet::addRulesFromSheet):
2871 * css/cssstyleselector.h:
2872 * css/maketokenizer:
2873 * css/tokenizer.flex:
2874 * dom/DOMImplementation.cpp:
2875 (WebCore::DOMImplementation::createCSSStyleSheet):
2876 * html/HTMLLinkElement.cpp:
2877 (WebCore::HTMLLinkElement::process):
2878 (WebCore::HTMLLinkElement::setStyleSheet):
2879 * html/HTMLStyleElement.cpp:
2880 (WebCore::HTMLStyleElement::childrenChanged):
2881 * ksvg2/svg/SVGDOMImplementation.cpp:
2882 (SVGDOMImplementation::createCSSStyleSheet):
2883 * ksvg2/svg/SVGStyleElement.cpp:
2884 (WebCore::SVGStyleElement::childrenChanged):
2886 (WebCore::Frame::Frame):
2887 * platform/Screen.h:
2888 * platform/mac/ScreenMac.mm:
2889 (WebCore::screenDepthPerComponent):
2890 (WebCore::screenIsMonochrome):
2892 2006-06-08 Levi Weintraub <lweintraub@apple.com>
2896 <http://bugzilla.opendarwin.org/show_bug.cgi?id=4468>
2897 Implement execCommand(Insert{Un}OrderedList)
2899 * WebCore.xcodeproj/project.pbxproj: Added InsertListCommand.{h,cpp} to the project.
2901 (WebCore::hasRenderedNonAnonymousDescendantsWithHeight):
2902 Added. A block with height is only a candidate if this is false. This should fix the problems
2903 getting carets into empty blocks.
2904 (WebCore::Position::inRenderedContent):
2905 * editing/AppendNodeCommand.cpp:
2906 (WebCore::AppendNodeCommand::doApply):
2907 * editing/CompositeEditCommand.cpp:
2908 (WebCore::hasARenderedDescendant):
2909 (WebCore::CompositeEditCommand::prune): A node can have DOM descendants that are rendered, yet
2910 have a renderer with no descendants. Fixed the pruning rule to avoid removing a node like this.
2911 (WebCore::CompositeEditCommand::mergeIdenticalElements): Put the two elements next to
2912 each other if they aren't already, as a convenience.
2913 (WebCore::CompositeEditCommand::moveParagraph): Added code to preserve the current selection.
2914 (WebCore::CompositeEditCommand::moveParagraphs): Ditto.
2915 * editing/CompositeEditCommand.h:
2916 * editing/DeleteSelectionCommand.cpp:
2917 (WebCore::DeleteSelectionCommand::initializeStartEnd): Expansion for special elements should
2918 continue to happen until it is no longer possible.
2919 (WebCore::DeleteSelectionCommand::handleGeneralDelete): The code to adjust the start node
2920 wouldn't always avoid removing the start block.
2921 * editing/InsertListCommand.cpp: Added.
2922 (WebCore::InsertListCommand::fixOrphanedListChild): Puts a list item that isn't inside a list
2924 (WebCore::InsertListCommand::InsertListCommand):
2925 (WebCore::InsertListCommand::modifyRange):
2926 (WebCore::InsertListCommand::doApply):
2927 * editing/InsertListCommand.h: Added.
2928 (WebCore::InsertListCommand::):
2929 * editing/InsertNodeBeforeCommand.cpp:
2930 (WebCore::InsertNodeBeforeCommand::doApply):
2931 * editing/InsertParagraphSeparatorCommand.cpp:
2932 * editing/JSEditor.cpp:
2933 * editing/TextIterator.cpp:
2934 (WebCore::TextIterator::advance): Don't handle a node if the end of the range used to create the
2935 iterator ends at the start of that node.
2936 * editing/VisiblePosition.cpp:
2937 (WebCore::VisiblePosition::next):
2938 (WebCore::VisiblePosition::previous):
2939 * editing/VisiblePosition.h:
2940 Added a parameter to next/previous that can prevent them from leaving the current editable region.
2941 * editing/htmlediting.cpp:
2942 (WebCore::highestAncestor):
2943 (WebCore::enclosingList):
2944 (WebCore::enclosingListChild):
2945 (WebCore::outermostEnclosingList):
2946 (WebCore::createListItemElement):
2947 * editing/htmlediting.h:
2949 (WebCore::Frame::selectionListState): Added.
2952 2006-06-08 David Harrison <harrison@apple.com>
2954 Reviewed by Geoff and John.
2956 <rdar://problem/4558879> -[DOMCSSPrimitiveValue setStringValue:] throws an exception (12)
2958 Problem was the primitive value was getting reset to a generic state before the parameter
2959 check that relies on that state.
2961 Test: fast/dom/setPrimitiveValue.html
2963 * css/CSSPrimitiveValue.cpp:
2964 (WebCore::CSSPrimitiveValue::setFloatValue):
2965 (WebCore::CSSPrimitiveValue::setStringValue):
2966 Move parameter checks ahead of call to cleanup().
2968 2006-06-08 Alice Liu <alice.liu@apple.com>
2972 - fixed <rdar://problem/4578115> support Range.isPointInRange
2973 - fixed <rdar://problem/4578123> support Range.comparePoint
2976 (WebCore::Range::isPointInRange):
2977 added implementation
2978 (WebCore::Range::comparePoint):
2979 added implementation
2985 2006-06-08 Darin Adler <darin@apple.com>
2989 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8616
2990 REGRESSION: TinyMCE: Crash on Undo
2992 * bridge/mac/WebCoreFrameBridge.mm:
2993 (-[WebCoreFrameBridge getInnerNonSharedNode:innerNode:URLElement:atPoint:allowShadowContent:]):
2994 Changed to call nodeInfoAtPoint directly.
2995 (-[WebCoreFrameBridge _visiblePositionForPoint:]): Changed to call nodeInfoAtPoint directly.
2996 Also added code to convert coordinates so it works for points that are in nodes in subframes.
2999 (WebCore::Frame::setMark): Added assertions to catch if we attempt to set selection
3000 endpoints in another document.
3001 (WebCore::Frame::setSelection): Ditto.
3003 2006-06-07 Justin Garcia <justin.garcia@apple.com>
3007 Fixed some comments and removed an unused variable.
3009 * editing/CompositeEditCommand.cpp:
3010 (WebCore::CompositeEditCommand::removeBlockPlaceholder):
3011 Don't remove a br if it isn't at the start of a block, since
3012 it isn't really a "block placeholder".
3013 * editing/DeleteSelectionCommand.cpp:
3014 (WebCore::DeleteSelectionCommand::initializePositionData):
3015 (WebCore::DeleteSelectionCommand::mergeParagraphs):
3016 (WebCore::DeleteSelectionCommand::doApply):
3017 * editing/InsertLineBreakCommand.cpp:
3018 (WebCore::InsertLineBreakCommand::doApply):
3019 * editing/ReplaceSelectionCommand.cpp:
3020 (WebCore::ReplaceSelectionCommand::doApply):
3021 (WebCore::ReplaceSelectionCommand::completeHTMLReplacement):
3022 * editing/htmlediting.cpp:
3024 2006-06-07 David Hyatt <hyatt@apple.com>
3026 Add support for custom highlighting. This is all ifdefed to be Mac-only.
3030 * WebCore.xcodeproj/project.pbxproj:
3031 * bridge/mac/FrameMac.h:
3032 * bridge/mac/FrameMac.mm:
3033 (WebCore::FrameMac::paintCustomHighlight):
3034 * bridge/mac/WebCoreFrameBridge.h:
3035 * platform/mac/ClipboardMac.h:
3036 * rendering/InlineTextBox.cpp:
3037 (WebCore::InlineTextBox::paint):
3038 (WebCore::InlineTextBox::paintCustomHighlight):
3039 * rendering/InlineTextBox.h:
3041 2006-06-07 Adele Peterson <adele@apple.com>
3045 Added support for cross-platform resize property.
3047 * platform/PlatformMouseEvent.h: Removed isMouseButtonDown, since we
3048 already cache this info when we handle mouse down and mouse up.
3049 * platform/mac/MouseEventMac.mm: ditto.
3050 * platform/win/TemporaryLinkStubs.cpp: ditto.
3053 (WebCore::Frame::autoscrollTimerFired): Use d->m_bMousePressed instead of isMouseButtonDown.
3054 * page/FrameView.cpp:
3055 (WebCore::FrameView::handleMouseMoveEvent): Passes event to layer resize method.
3056 (WebCore::FrameView::mousePressed): Added.
3057 * page/FrameView.h: Added mousePressed.
3059 * rendering/RenderTheme.h: Removed paintResizeControl.
3060 Since its not dependent on the theme, the layer can just paint this.
3061 * rendering/RenderTheme.cpp: ditto.
3062 * rendering/RenderLayer.cpp:
3063 (WebCore::RenderLayer::RenderLayer): Initializes m_resizeCornerImage.
3064 (WebCore::RenderLayer::~RenderLayer): Deletes m_resizeCornerImage.
3065 (WebCore::RenderLayer::resize): Uses passed in event instead of creating a new one.
3066 (WebCore::RenderLayer::paintResizeControl): Now loads and paints the resize image.
3067 * rendering/RenderLayer.h: Added m_resizeCornerImage. Important to have one per-layer for when we allow
3070 * platform/cairo/ImageCairo.cpp:
3071 (WebCore::Image::loadResource): Loads image resources.
3073 2006-06-07 David Hyatt <hyatt@apple.com>
3075 Add support for a new property for custom highlighting. This patch just
3076 adds support for the parsing of the property. It doesn't do anything yet.
3080 * css/CSSComputedStyleDeclaration.cpp:
3082 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3083 * css/CSSPropertyNames.in:
3084 * css/cssparser.cpp:
3085 (WebCore::CSSParser::parseValue):
3086 * css/cssstyleselector.cpp:
3087 (WebCore::CSSStyleSelector::applyProperty):
3088 * rendering/render_style.cpp:
3089 (WebCore::StyleCSS3InheritedData::StyleCSS3InheritedData):
3090 (WebCore::StyleCSS3InheritedData::operator==):
3091 (WebCore::RenderStyle::diff):
3092 * rendering/render_style.h:
3093 (WebCore::RenderStyle::highlight):
3094 (WebCore::RenderStyle::setHighlight):
3095 (WebCore::RenderStyle::initialHighlight):
3097 2006-06-07 Mitz Pettel <opendarwin.org@mitzpettel.com>
3099 Fix suggested by Rob Buis. Reviewed by Darin.
3101 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9341
3102 REGRESSION: Repro crash caused by style="font:bold"
3104 Test: fast/css/font-shorthand-weight-only.html
3106 * css/cssparser.cpp: (WebCore::CSSParser::parseFont): Revert part of the change
3107 made to fix bug 5564.
3109 2006-06-07 Mitz Pettel <opendarwin.org@mitzpettel.com>
3113 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9122
3114 REGRESSION: Incorrect vertical position for text fields in a "display: table" block
3116 Test: fast/table/text-field-baseline.html
3118 * rendering/RenderTableCell.cpp:
3119 (WebCore::RenderTableCell::baselinePosition): Do not descend into replaced objects, just
3122 2006-06-07 Mitz Pettel <opendarwin.org@mitzpettel.com>
3124 Reviewed by Hyatt (concept) and Darin (some coding details).
3126 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=4334
3127 REGRESSION: Flickering when css-hover should change opacity on floating elements
3129 Pixel test: fast/block/float/nopaint-after-layer-destruction.html
3131 * rendering/RenderBlock.cpp:
3132 (WebCore::RenderBlock::setPaintsFloatingObject): Added. Changes the noPaint flag
3133 in the block's FloatingObject for the given float and calls setChildNeedsLayout.
3134 * rendering/RenderBlock.h:
3135 * rendering/RenderBox.cpp:
3136 (WebCore::blockThatPaintsFloat): Added this helper function.
3137 (WebCore::RenderBox::setStyle): Added. Calls to setPaintsFloatingObject when a float
3138 gains or loses its layer.
3140 2006-06-06 Mitz Pettel <opendarwin.org@mitzpettel.com>
3144 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9121
3145 REGRESSION: [Incremental Repaint] DHTML movement test failures
3147 Test (repaint): fast/repaint/containing-block-position-change.html
3149 * manual-tests/containing-block-position-chage.html: Added.
3150 * rendering/RenderBlock.cpp:
3151 (WebCore::RenderBlock::layoutBlock): Unrelated change: fixed typo from
3152 the RenderCanvas to RenderView rename.
3153 (WebCore::RenderBlock::removePositionedObject): Added a return immediately
3154 after removing the object.
3155 (WebCore::RenderBlock::removePositionedObjects): Added.
3156 * rendering/RenderBlock.h:
3157 * rendering/RenderObject.cpp:
3158 (WebCore::RenderObject::setStyle): Added code to remove absolutely positioned
3159 descendants from the positioned objects list of their current containing block
3160 when they are going to have a new one as a result of this block's position
3162 * rendering/RenderObject.h:
3163 (WebCore::RenderObject::removePositionedObjects):
3165 2006-06-06 Justin Garcia <justin.garcia@apple.com>
3170 (WebCore::Node::firstDescendant): Added.
3172 * dom/Range.cpp: Added a constructor that takes in Positions.
3173 (WebCore::Range::Range):
3175 * editing/CompositeEditCommand.cpp:
3176 (WebCore::CompositeEditCommand::insertNodeAt):
3177 Let this function insert children into empty containers.
3178 Calls canHaveChildrenForEditing.
3179 (WebCore::CompositeEditCommand::appendNode): Assert that the parent canHaveChildrenForEditing.
3180 (WebCore::CompositeEditCommand::moveParagraph): Tell ReplaceSelectionCommand to select the
3181 replacement so that moveParagraph's callers have a valid destination after the move.
3182 * editing/CompositeEditCommand.h: Moved removeFullySelectedNode to DeleteSelectionCommand,
3183 made deleteTextFromNode virtual so that DeleteSelectionCommand can update it's endingPosition.
3184 * editing/DeleteSelectionCommand.cpp:
3185 (WebCore::DeleteSelectionCommand::DeleteSelectionCommand):
3186 Removed m_startNode, used a local variable.
3187 (WebCore::DeleteSelectionCommand::initializeStartEnd): Fixed special element expansion.
3188 (WebCore::DeleteSelectionCommand::initializePositionData): Compute the endingPosition up
3189 front and keep track of it as nodes and text are removed.
3190 (WebCore::DeleteSelectionCommand::handleSpecialCaseBRDelete): Removed use of m_startNode.
3191 (WebCore::DeleteSelectionCommand::removeFullySelectedNode): Moved from CompositeEditCommand.
3192 Update m_endingPosition as we remove nodes.
3193 (WebCore::DeleteSelectionCommand::deleteTextFromNode):
3194 Update m_endingPosition as we delete text.
3195 (WebCore::DeleteSelectionCommand::handleGeneralDelete): Retain the start block. Cleaned up.
3196 (WebCore::DeleteSelectionCommand::mergeParagraphs): Recompute m_endingPosition since moveParagraph
3197 clobbers the old one.
3198 (WebCore::DeleteSelectionCommand::doApply): Fixed the logic for placeholder insertion after
3199 deletion. Make the placeholder decision before we do special element expansion.
3200 * editing/DeleteSelectionCommand.h:
3201 * editing/InsertLineBreakCommand.cpp:
3202 (WebCore::InsertLineBreakCommand::doApply): Fixed a bug where an extra br was inserted and cleaned
3204 * editing/InsertParagraphSeparatorCommand.cpp:
3205 (WebCore::InsertParagraphSeparatorCommand::doApply): Deletion of the current selection should do
3206 a merge (added a testcase).
3207 * editing/RebalanceWhitespaceCommand.cpp:
3208 (WebCore::RebalanceWhitespaceCommand::doUnapply): Remove/insert in a way that will trigger a layout.
3209 * editing/ReplaceSelectionCommand.cpp:
3210 (WebCore::ReplaceSelectionCommand::doApply): Ditto.
3211 Merge even when the incoming fragment has interchange newlines (added a testcase).
3212 Merge when the selection being pasted into starts at the start of a block because not
3213 doing so would leave one or more hanging empty blocks.
3214 (WebCore::ReplaceSelectionCommand::completeHTMLReplacement):
3215 Rebalance whitespace using rebalanceWhitespaceAt because rebalanceWhitespace requires
3216 a selection, and a selection can't be created until whitespace has been rebalanced.
3217 * editing/htmlediting.cpp:
3218 (WebCore::canHaveChildrenForEditing): Added.
3219 * editing/htmlediting.h:
3221 2006-06-06 Beth Dakin <bdakin@apple.com>
3225 Fix for <rdar://problem/4570475> Dashboard regions do not scale for
3226 non-1.0 scale factors.
3228 No test cases added since this only affects non-1.0 resolution
3231 * platform/FloatRect.cpp:
3232 (WebCore::FloatRect::scale): Added new function that scales a
3233 rect's origin and size by a given factor.
3234 * platform/FloatRect.h:
3235 * platform/IntRect.cpp:
3236 (WebCore::IntRect::scale): Same as above.
3237 * platform/IntRect.h:
3238 * rendering/RenderObject.cpp:
3239 (WebCore::RenderObject::addDashboardRegions): After the bounds and
3240 clip rects on the Dashboard region have been calculated, get the
3241 user space scale factor, and if it is not 1.0, scale the rects.
3243 2006-06-06 John Sullivan <sullivan@apple.com>
3245 Reviewed by Darin Adler.
3247 - fixed <rdar://problem/4566087> REGRESSION (420+): Crash occurs while completing a find again query at
3248 http://www.apple.com/ (RenderObject::repaint(bool))
3250 This wasn't a new problem in the code, but the recent use of DocumentMarkers for find results brought
3254 Use a RefPtr<Node> instead of a Node* in MarkerMap, so the node will be retained
3257 (WebCore::Document::removeMarkers):
3258 Add a .get() to compensate for using RefPtr. Also, only repaint if this node actually had a marker
3260 (WebCore::Document::repaintMarkers):
3261 Add a .get() to compensate for using RefPtr.
3263 2006-06-06 Anders Carlsson <acarlsson@apple.com>
3267 http://bugzilla.opendarwin.org/show_bug.cgi?id=9325
3268 clientWidth/clientHeight on document element in strict mode should return visible frame size
3271 (WebCore::Element::clientWidth):
3272 (WebCore::Element::clientHeight):
3273 If we're the document element, and in strict mode, return the visible size of the frame.
3275 2006-06-06 Anders Carlsson <acarlsson@apple.com>
3279 * bridge/mac/WebCoreFrameBridge.h:
3280 * bridge/mac/WebCoreFrameBridge.mm:
3281 (-[WebCoreFrameBridge containsPlugins]):
3283 (WebCore::Frame::containsPlugins):
3285 Add containsPlugins function which returns whether a frame contains plugins
3288 2006-06-05 Rob Buis <buis@kde.org>
3292 http://bugzilla.opendarwin.org/show_bug.cgi?id=5564
3293 'font' shorthand parsing should be more tolerant in quirks mode
3295 When not in strict mode accept font property specifications
3296 lacking a font family part, like WinIE does.
3298 * css/cssparser.cpp:
3299 (WebCore::CSSParser::parseFont):
3301 2006-06-05 Beth Dakin <bdakin@apple.com>
3305 Fix for <rdar://problem/4567520> Pixel cracks in weather widget at
3308 To prevent pixel cracks at non-integral scaling factors, before we
3309 call into CG to draw an image, we have to convert the rect to
3310 device space, round the origin and size to integers in device
3311 space, and convert back to user space.
3313 No test cases added since this only affects non-1.0 resolution
3316 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
3317 (WebCore::JSCanvasRenderingContext2D::drawImage): drawImage() now
3319 * html/CanvasPattern.cpp:
3320 (WebCore::patternCallback): Call roundToDevicePixels()
3321 * html/CanvasRenderingContext2D.cpp:
3322 (WebCore::CanvasRenderingContext2D::drawImage): drawImage() now
3323 takes FloatRects and call roundToDevicePixels()
3324 * html/CanvasRenderingContext2D.h: drawImage() now takes
3326 * html/HTMLCanvasElement.cpp:
3327 (WebCore::HTMLCanvasElement::paint): Call roundToDevicePixels()
3328 * kcanvas/device/quartz/QuartzSupport.mm:
3329 (WebCore::debugDumpCGImageToFile): Same as above.
3330 * platform/GraphicsContext.h:
3331 * platform/cg/GraphicsContextCG.cpp:
3332 (WebCore::GraphicsContext::roundToDevicePixels): Takes care of
3333 converting between coordinate spaces and rounding.
3334 (WebCore::GraphicsContext::drawLineForText):
3335 * platform/mac/ImageMac.mm: Call roundToDevicePixels()
3336 (WebCore::Image::draw): Same as above.
3337 (WebCore::drawPattern): Same as above.
3339 2006-06-05 Geoffrey Garen <ggaren@apple.com>
3343 - http://bugzilla.opendarwin.org/show_bug.cgi?id=9310
3344 Add missing DOM prototypes and other DOM cleanup
3346 - Added the built-in object prototype to DOM objects that were missing it
3347 so that primitive operations like == work on them.
3349 - Removed dead EventConstructor class (it's autogenerated now)
3351 - Changed HTML collections to describe themselves as "[object Collection]",
3354 - Made DOMCSSRule constructor private because JSCSSRule is the class
3357 * bindings/js/JSHTMLOptionElementConstructor.cpp:
3358 (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
3359 * bindings/js/kjs_css.cpp:
3360 (KJS::DOMStyleSheet::DOMStyleSheet):
3361 (KJS::DOMStyleSheetList::DOMStyleSheetList):
3362 (KJS::DOMCSSRule::DOMCSSRule):
3363 (KJS::DOMCSSValue::DOMCSSValue):
3365 (KJS::DOMRGBColor::DOMRGBColor):
3366 (KJS::getDOMRGBColor):
3367 (KJS::DOMRect::DOMRect):
3368 * bindings/js/kjs_css.h:
3369 * bindings/js/kjs_dom.cpp:
3370 (KJS::DOMNodeList::DOMNodeList):
3371 (KJS::DOMExceptionConstructor::DOMExceptionConstructor):
3372 (KJS::DOMExceptionConstructor::getOwnPropertySlot):
3374 (KJS::DOMNamedNodesCollection::DOMNamedNodesCollection):
3375 * bindings/js/kjs_dom.h:
3376 (KJS::DOMNamedNodesCollection::classInfo):
3377 * bindings/js/kjs_events.h:
3378 * bindings/js/kjs_html.cpp:
3381 2006-06-04 Darin Adler <darin@apple.com>
3385 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9031
3386 REGRESSION: Crash when closing tabs on newegg.com
3387 - removed a no-longer-needed Win32-specific workaround (not reviewed)
3389 * bindings/js/kjs_window.cpp: Added include of <wtf/MathExtras.h>.
3390 (WebCore::floatFeature): Remove WIN32 ifdef around isnan.
3391 (WebCore::toJS): Add null checks.
3393 2006-06-04 Darin Adler <darin@apple.com>
3397 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9176
3398 REGRESSION: repro crash in WebCore::StringImpl::hash() const + 28 (StringImpl.h:67)
3400 Test: fast/loader/link-no-URL.html
3404 (WebCore::Cache::updateCacheStatus): Removed the URL parameter. Instead get the URL
3405 from the cached object itself. Callers were passing in the wrong URL. When it was a
3406 null string, it caused the crash mentioned above. But in other cases it may have
3407 caused some other minor problems as well. Added an assert to catch cases where the
3408 URL is null (should never happen).
3409 (WebCore::Cache::requestImage): Changed call site to not pass URL.
3410 (WebCore::Cache::requestStyleSheet): Ditto.
3411 (WebCore::Cache::requestScript): Ditto.
3412 (WebCore::Cache::requestXSLStyleSheet): Ditto.
3413 (WebCore::Cache::requestXBLDocument): Ditto.
3415 2006-06-04 Darin Adler <darin@apple.com>
3419 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=7291
3420 REGRESSION: delete key does not work in isIndex fields
3422 * platform/mac/WebCoreTextField.mm:
3423 (inputElement): Added. Helper function to get the Objective-C wrapper for an
3424 input element associated with a QTextEdit. Returns nil if the element is not
3425 an input element. The bug was caused by passing a non-input element to the
3427 (-[KWQTextFieldController controlTextDidBeginEditing:]): Use inputElement
3428 and don't make the delegate call at all if there is none. This happens only
3429 with isindex elements; it's not important to have auto-fill work with those.
3430 (-[KWQTextFieldController controlTextDidEndEditing:]): Ditto.
3431 (-[KWQTextFieldController controlTextDidChange:]): Ditto.
3432 (-[KWQTextFieldController control:textShouldEndEditing:]): Ditto.
3433 (-[KWQTextFieldController control:textView:doCommandBySelector:]): Ditto.
3434 (-[KWQTextFieldController textView:shouldHandleEvent:]): Ditto.
3436 2006-06-04 Darin Adler <darin@apple.com>
3440 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8995
3441 memory leak in XPath code -- seen in layout tests
3442 - fixed malloc error on exit due to SVGDOMImplementation destructor
3443 - attempted to fix the no-XPATH_SUPPORT build by adding an #if
3444 - changed around includes and header-file formatting in XPath code
3446 * bindings/scripts/CodeGeneratorJS.pm: Include PlatformString.h when
3447 generating the bindings for XPathNSResolver.
3449 * dom/DOMImplementation.h: Added a virtual destructor for the benefit of
3450 SVGDOMImplementation.
3451 * dom/DOMImplementation.cpp: (WebCore::DOMImplementation::~DOMImplementation): Added.
3453 * ksvg2/svg/SVGDOMImplementation.h: Reformatted a bit, removed unneeded declarations.
3454 * ksvg2/svg/SVGDOMImplementation.cpp:
3455 (SVGDOMImplementation::~SVGDOMImplementation): Remove commented-out code.
3456 (SVGDOMImplementation::createDocument): Remove a reference to KDOMView.
3458 * xpath/XPathExpression.cpp:
3459 (WebCore::XPathExpression::createExpression): Called release to avoid a tiny bit of
3460 reference count churn.
3461 (WebCore::XPathExpression::evaluate): Set exception code explicitly, because the code
3462 relies on it being 0 when the function succeeds.
3464 * xpath/XPathResult.cpp:
3465 (WebCore::InvalidatingEventListener::InvalidatingEventListener): Removed
3466 unneeded target node data member.
3467 (WebCore::XPathResult::XPathResult): Updated for enum name changes and
3468 InvalidatingEventListener name change. Added an assertion.
3470 * xpath/impl/XPathFunctions.h: Removed the FunctionLibrary class. Changed the parameter
3471 for createFunction to be a String instead of char*.
3472 * xpath/impl/XPathFunctions.cpp: Got rid of local implementation of "round", and
3473 used <wtf/MathExtras.h> instead. Also removed unused Interval::asString. Marked all
3474 the Interval functions inline.
3475 (WebCore::XPath::FunSubstring::doEvaluate): Use lround() instead of (long)round().
3476 (WebCore::XPath::FunLang::doEvaluate): Removed some unneeded temporary String variables.
3477 Use equalIgnoringCase() instead of calling lower() on two strings.
3478 (WebCore::XPath::createFunctionMap): Changed how this works so that it's all local to
3479 this function. Also removed a duplicate entry for the "last" function.
3480 (WebCore::XPath::createFunction): Changed from a member function to a separate function.
3481 Also changed so that if the args are not used in the function they are deleted.
3482 This was one of the sources of the storage leaks.
3484 * xpath/impl/XPathGrammar.y: Put XPATH_SUPPORT ifdef in. Replaced <num> with values of
3485 specific types (numop, eqop). Updated for name change from AxisType to Axis. Changed
3486 tokens that were declared as <str> but weren't actually using the string to be
3487 declared with no type (PLUS, MINUS, OR, AND, DOTDOT, SLASHSLASH). Replaced use of
3488 unregisterString, unregisterPredicateVector, and unregisterExpressionVector to
3489 call delete functions instead that both unregister and delete. Change call sites for
3490 createFunction to just use the String, removing the deprecatedString().latin1() call
3491 that is no longer needed. Added a call to unregisterParseNode that was missing in the
3492 "FilterExpr DescendantOrSelf RelativeLocationPath" production.
3494 * xpath/impl/XPathParser.h: Changed Token to hold a String, Step::Axis, NumericOp::Opcode,
3495 and EqTestOp::Opcode. The token ID number tells us which to use. Rearranged to put the private
3496 part of the Parser class last. Moved a number of private things inside the cpp file.
3497 * xpath/impl/XPathParser.cpp:
3498 (WebCore::XPath::charCat): Made this a separate function, instead of a static member.
3499 (WebCore::XPath::isAxisName): Ditto. Also put the global axis map inside the function,
3500 allowing use of a map instead of a map pointer.
3501 (WebCore::XPath::isNodeTypeName): Ditto.
3502 (WebCore::XPath::Parser::isOperatorContext): Made this const.
3503 (WebCore::XPath::Parser::makeTokenAndAdvance): Got rid of the "int" version of this.
3504 By using the actual types, we can safely use overload instead.
3505 (WebCore::XPath::Parser::lexString): Use substring() instead of deprecatedString().mid().
3506 (WebCore::XPath::Parser::lexNumber): Ditto.
3507 (WebCore::XPath::Parser::lexNCName): Changed to return a bool and a String instead of a
3508 Token. This avoids the hack of using a token value of "ERROR + 1" which I found quite
3509 confusing and is also a bit more explicit.
3510 (WebCore::XPath::Parser::lexQName): Ditto.
3511 (WebCore::XPath::Parser::nextTokenInternal): Changed to adapt to the changes above and
3512 to remove some unneeded else statements.
3513 (WebCore::XPath::Parser::lex): Changed the logic that sets up yylval to use the token ID
3514 to decide what the type is. This matches what the grammar expects, and removes the need
3515 for the token object to track which part of the value is good and the need to reserve 0
3516 to have a special meaning.
3517 (WebCore::XPath::Parser::parseStatement): Added code to delete the predicates and the
3518 expressions in the predicate and expression vectors. Before, we were only deleting
3519 the vectors. This was one of the sources of the storage leaks.
3520 (WebCore::XPath::Parser::deletePredicateVector): Renamed, and changed to delete
3521 the vector. However this does not delete the predicates in the vector.
3522 (WebCore::XPath::Parser::deleteExpressionVector): Renamed, and changed to delete
3523 the vector. However this does not delete the expressions in the vector.
3524 (WebCore::XPath::Parser::deleteString): Renamed, and changed to delete the string.