1 2006-08-21 Brady Eidson <beidson@apple.com>
5 -Added timer-based, deferred deletion of database records - PageURLs and Icons handled seperately
6 In the near future, we'll also have timer-based deferred *addition* of database records
7 -Keep retain/release counts in a hash instead of a DB table
8 -Keep only one hash record for the SiteIcons
9 -Renamed some methods for clarity
11 * bridge/mac/WebCoreIconDatabaseBridge.h: Renamed method for clarity
12 * bridge/mac/WebCoreIconDatabaseBridge.mm: Ditto
13 (-[WebCoreIconDatabaseBridge _hasEntryForIconURL:]): Ditto
14 * loader/icon/IconDatabase.cpp:
15 (WebCore::IconDatabase::IconDatabase):
16 (WebCore::IconDatabase::open): Added new timer setup
17 (WebCore::IconDatabase::iconForPageURL): Only work with one hash of the SiteIcons
18 (WebCore::IconDatabase::retainIconForPageURL): Keep count in a hash
19 (WebCore::IconDatabase::releaseIconForPageURL): Keep count in a hash, use deferred deletion
20 (WebCore::IconDatabase::retainIconURL): Added
21 (WebCore::IconDatabase::releaseIconURL): Added
22 (WebCore::IconDatabase::forgetPageURL): Added
23 (WebCore::IconDatabase::isIconURLRetained): New and improved simplicity
24 (WebCore::IconDatabase::setIconDataForIconURL): Cleanup
25 (WebCore::IconDatabase::setIconURLForPageURL):
26 (WebCore::IconDatabase::pruneUnretainedIconsOnStartup): Renamed
27 (WebCore::IconDatabase::pruneIconsPendingDeletion): Added
28 (WebCore::IconDatabase::hasEntryForIconURL): Renamed for clarity
29 * loader/icon/IconDatabase.h: Added multiple stuffs
31 2006-08-21 Brady Eidson <beidson@apple.com>
33 Reviewed by Maciej's rubberstamp
35 Removed stale file references from the Xcode.proj
37 * WebCore.xcodeproj/project.pbxproj:
39 2006-08-20 Nikolas Zimmermann <zimmermann@kde.org>
41 Reviewed by Maciej. Landed by rwlbuis.
43 Fixes parts of: http://bugzilla.opendarwin.org/show_bug.cgi?id=10463
44 WebKit should have Qt platform support
46 Removing HelperQt.h usage by creating appropriate operators
47 constructor in some of the platform classes, as suggested by Darin.
50 * platform/DeprecatedString.h:
52 * platform/PlatformString.h:
53 * platform/qt/ComboBoxQt.cpp:
54 (WebCore::PlatformComboBox::appendItem):
55 (WebCore::PlatformComboBox::appendGroupLabel):
56 (WebCore::PlatformComboBox::setFont):
57 * platform/qt/LineEditQt.cpp:
58 (WebCore::PlatformLineEdit::setFont):
59 (WebCore::PlatformLineEdit::setText):
60 (WebCore::PlatformLineEdit::text):
61 (WebCore::PlatformLineEdit::selectedText):
62 * platform/qt/ListBoxQt.cpp:
63 (WebCore::ListBox::setFont):
64 (WebCore::ListBox::appendItem):
65 * platform/qt/PlatformKeyboardEventQt.cpp:
66 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
67 * platform/qt/ScrollViewQt.cpp:
68 * platform/qt/StringQt.cpp: Added.
69 (WebCore::String::String):
70 (WebCore::String::operator QString):
71 (WebCore::DeprecatedString::operator QString):
72 * platform/qt/TextEditQt.cpp:
73 * platform/qt/WidgetQt.cpp:
74 (WebCore::Widget::setFont):
76 2006-08-18 Steve Falkenburg <sfalken@apple.com>
78 Rubber stamped by adele.
80 Fix call to WebFormDelegate's textFieldDidBeginEditing.
82 * rendering/RenderTextControl.cpp:
83 (WebCore::RenderTextControl::subtreeHasChanged):
85 2006-08-19 Nikolas Zimmermann <zimmermann@kde.org>
87 Reviewed by Eric. Landed by rwlbuis.
89 Next chunk of the implementation for:
90 http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
92 WebKit should have Qt platform support
94 * platform/qt/KeyboardCodes.h: Added.
95 * platform/qt/PlatformKeyboardEventQt.cpp: Added.
96 (WebCore::keyIdentifierForQtKeyCode):
97 (WebCore::windowsKeyCodeForKeyEvent):
98 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
99 * platform/qt/PlatformMouseEventQt.cpp: Added.
101 (WebCore::PlatformMouseEvent::PlatformMouseEvent):
103 2006-08-19 Nikolas Zimmermann <zimmermann@kde.org>
105 Reviewed by Eric. Landed by rwlbuis.
107 Next chunk of the implementation for:
108 http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
110 WebKit should have Qt platform support
112 * platform/qt/AffineTransformQt.cpp: Added.
113 (WebCore::AffineTransform::AffineTransform):
114 (WebCore::AffineTransform::setMatrix):
115 (WebCore::AffineTransform::map):
116 (WebCore::AffineTransform::mapRect):
117 (WebCore::AffineTransform::isIdentity):
118 (WebCore::AffineTransform::m11):
119 (WebCore::AffineTransform::m12):
120 (WebCore::AffineTransform::m21):
121 (WebCore::AffineTransform::m22):
122 (WebCore::AffineTransform::dx):
123 (WebCore::AffineTransform::dy):
124 (WebCore::AffineTransform::reset):
125 (WebCore::AffineTransform::scale):
126 (WebCore::AffineTransform::rotate):
127 (WebCore::AffineTransform::translate):
128 (WebCore::AffineTransform::shear):
129 (WebCore::AffineTransform::det):
130 (WebCore::AffineTransform::invert):
131 (WebCore::AffineTransform::operator QMatrix):
132 (WebCore::AffineTransform::operator==):
133 (WebCore::AffineTransform::operator*=):
134 (WebCore::AffineTransform::operator*):
135 * platform/qt/BrowserExtensionQt.cpp: Added.
136 (WebCore::BrowserExtensionQt::BrowserExtensionQt):
137 (WebCore::BrowserExtensionQt::canRunModal):
138 (WebCore::BrowserExtensionQt::createNewWindow):
139 (WebCore::BrowserExtensionQt::canRunModalNow):
140 (WebCore::BrowserExtensionQt::runModal):
141 (WebCore::BrowserExtensionQt::goBackOrForward):
142 (WebCore::BrowserExtensionQt::historyURL):
143 (WebCore::BrowserExtensionQt::setTypedIconURL):
144 (WebCore::BrowserExtensionQt::setIconURL):
145 (WebCore::BrowserExtensionQt::getHistoryLength):
146 * platform/qt/BrowserExtensionQt.h: Added.
147 * platform/qt/CookieJarQt.cpp: Added.
148 (WebCore::setCookies):
150 (WebCore::cookiesEnabled):
151 * platform/qt/PageQt.cpp: Added.
152 (WebCore::rootWindowForFrame):
153 (WebCore::Page::windowRect):
154 (WebCore::Page::setWindowRect):
155 * platform/qt/PathQt.cpp: Added.
156 (WebCore::Path::Path):
157 (WebCore::Path::~Path):
158 (WebCore::Path::operator=):
159 (WebCore::Path::contains):
160 (WebCore::Path::translate):
161 (WebCore::Path::boundingRect):
162 (WebCore::Path::moveTo):
163 (WebCore::Path::addLineTo):
164 (WebCore::Path::addQuadCurveTo):
165 (WebCore::Path::addBezierCurveTo):
166 (WebCore::Path::addArcTo):
167 (WebCore::Path::closeSubpath):
168 (WebCore::Path::addArc):
169 (WebCore::Path::addRect):
170 (WebCore::Path::addEllipse):
171 (WebCore::Path::clear):
172 * platform/qt/ScreenQt.cpp: Added.
173 (WebCore::screenRect):
174 (WebCore::screenDepth):
175 (WebCore::usableScreenRect):
178 2006-08-19 Nikolas Zimmermann <zimmermann@kde.org>
180 Reviewed by Eric. Landed by rwlbuis.
182 First chunk of the implementation for:
183 http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
185 WebKit should have Qt platform support
187 * platform/qt/ComboBoxQt.cpp: Added.
188 (WebCore::PlatformComboBox::PlatformComboBox):
189 (WebCore::PlatformComboBox::~PlatformComboBox):
190 (WebCore::PlatformComboBox::setParentWidget):
191 (WebCore::PlatformComboBox::clear):
192 (WebCore::PlatformComboBox::appendItem):
193 (WebCore::PlatformComboBox::appendGroupLabel):
194 (WebCore::PlatformComboBox::appendSeparator):
195 (WebCore::PlatformComboBox::setCurrentItem):
196 (WebCore::PlatformComboBox::sizeHint):
197 (WebCore::PlatformComboBox::frameGeometry):
198 (WebCore::PlatformComboBox::setFrameGeometry):
199 (WebCore::PlatformComboBox::baselinePosition):
200 (WebCore::PlatformComboBox::setFont):
201 (WebCore::PlatformComboBox::focusPolicy):
202 (WebCore::PlatformComboBox::itemSelected):
203 (WebCore::PlatformComboBox::setWritingDirection):
204 (WebCore::PlatformComboBox::populate):
205 (WebCore::PlatformComboBox::populateMenu):
206 * platform/qt/LineEditQt.cpp: Added.
207 (WebCore::PlatformLineEdit::PlatformLineEdit):
208 (WebCore::PlatformLineEdit::~PlatformLineEdit):
209 (WebCore::PlatformLineEdit::setParentWidget):
210 (WebCore::PlatformLineEdit::setColors):
211 (WebCore::PlatformLineEdit::setAlignment):
212 (WebCore::PlatformLineEdit::setCursorPosition):
213 (WebCore::PlatformLineEdit::cursorPosition):
214 (WebCore::PlatformLineEdit::setEdited):
215 (WebCore::PlatformLineEdit::edited):
216 (WebCore::PlatformLineEdit::setFont):
217 (WebCore::PlatformLineEdit::setMaxLength):
218 (WebCore::PlatformLineEdit::maxLength):
219 (WebCore::PlatformLineEdit::setReadOnly):
220 (WebCore::PlatformLineEdit::isReadOnly):
221 (WebCore::PlatformLineEdit::setText):
222 (WebCore::PlatformLineEdit::text):
223 (WebCore::PlatformLineEdit::setWritingDirection):
224 (WebCore::PlatformLineEdit::selectAll):
225 (WebCore::PlatformLineEdit::hasSelectedText):
226 (WebCore::PlatformLineEdit::selectionStart):
227 (WebCore::PlatformLineEdit::selectedText):
228 (WebCore::PlatformLineEdit::setSelection):
229 (WebCore::PlatformLineEdit::sizeForCharacterWidth):
230 (WebCore::PlatformLineEdit::baselinePosition):
231 (WebCore::PlatformLineEdit::focusPolicy):
232 (WebCore::PlatformLineEdit::checksDescendantsForFocus):
233 (WebCore::PlatformLineEdit::setLiveSearch):
234 (WebCore::PlatformLineEdit::setAutoSaveName):
235 (WebCore::PlatformLineEdit::setMaxResults):
236 (WebCore::PlatformLineEdit::setPlaceholderString):
237 (WebCore::PlatformLineEdit::addSearchResult):
238 * platform/qt/ListBoxQt.cpp: Added.
239 (WebCore::ListBox::ListBox):
240 (WebCore::ListBox::~ListBox):
241 (WebCore::ListBox::setParentWidget):
242 (WebCore::ListBox::sizeForNumberOfLines):
243 (WebCore::ListBox::setSelectionMode):
244 (WebCore::ListBox::clear):
245 (WebCore::ListBox::doneAppendingItems):
246 (WebCore::ListBox::setSelected):
247 (WebCore::ListBox::isSelected):
248 (WebCore::ListBox::setEnabled):
249 (WebCore::ListBox::isEnabled):
250 (WebCore::ListBox::setWritingDirection):
251 (WebCore::ListBox::focusPolicy):
252 (WebCore::ListBox::checksDescendantsForFocus):
253 (WebCore::ListBox::clearCachedTextRenderers):
254 (WebCore::ListBox::setFont):
255 (WebCore::ListBox::appendItem):
256 * platform/qt/ScrollViewQt.cpp: Added.
257 (WebCore::ScrollView::ScrollView):
258 (WebCore::ScrollView::~ScrollView):
259 (WebCore::ScrollView::setParentWidget):
260 (WebCore::ScrollView::updateContents):
261 (WebCore::ScrollView::visibleWidth):
262 (WebCore::ScrollView::visibleHeight):
263 (WebCore::ScrollView::visibleContentRect):
264 (WebCore::ScrollView::setContentsPos):
265 (WebCore::ScrollView::resizeContents):
266 (WebCore::ScrollView::contentsX):
267 (WebCore::ScrollView::contentsY):
268 (WebCore::ScrollView::contentsWidth):
269 (WebCore::ScrollView::contentsHeight):
270 (WebCore::ScrollView::viewportToContents):
271 (WebCore::ScrollView::contentsToViewport):
272 (WebCore::ScrollView::scrollOffset):
273 (WebCore::ScrollView::scrollBy):
274 (WebCore::ScrollView::hScrollBarMode):
275 (WebCore::ScrollView::vScrollBarMode):
276 (WebCore::ScrollView::suppressScrollBars):
277 (WebCore::ScrollView::setHScrollBarMode):
278 (WebCore::ScrollView::setVScrollBarMode):
279 (WebCore::ScrollView::setScrollBarsMode):
280 (WebCore::ScrollView::setStaticBackground):
281 (WebCore::ScrollView::addChild):
282 (WebCore::ScrollView::removeChild):
283 (WebCore::ScrollView::scrollPointRecursively):
284 (WebCore::ScrollView::inWindow):
285 * platform/qt/TextEditQt.cpp: Added.
286 (WebCore::PlatformTextEdit::PlatformTextEdit):
287 (WebCore::PlatformTextEdit::~PlatformTextEdit):
288 (WebCore::PlatformTextEdit::setParentWidget):
289 (WebCore::PlatformTextEdit::setColors):
290 (WebCore::PlatformTextEdit::setAlignment):
291 (WebCore::PlatformTextEdit::setLineHeight):
292 (WebCore::PlatformTextEdit::setCursorPosition):
293 (WebCore::PlatformTextEdit::getCursorPosition):
294 (WebCore::PlatformTextEdit::setFont):
295 (WebCore::PlatformTextEdit::setReadOnly):
296 (WebCore::PlatformTextEdit::isReadOnly):
297 (WebCore::PlatformTextEdit::setDisabled):
298 (WebCore::PlatformTextEdit::isDisabled):
299 (WebCore::PlatformTextEdit::hasSelectedText):
300 (WebCore::PlatformTextEdit::setText):
301 (WebCore::PlatformTextEdit::text):
302 (WebCore::PlatformTextEdit::textWithHardLineBreaks):
303 (WebCore::PlatformTextEdit::focusPolicy):
304 (WebCore::PlatformTextEdit::setWordWrap):
305 (WebCore::PlatformTextEdit::wordWrap):
306 (WebCore::PlatformTextEdit::setScrollBarModes):
307 (WebCore::PlatformTextEdit::setWritingDirection):
308 (WebCore::PlatformTextEdit::selectionStart):
309 (WebCore::PlatformTextEdit::selectionEnd):
310 (WebCore::PlatformTextEdit::setSelectionStart):
311 (WebCore::PlatformTextEdit::setSelectionEnd):
312 (WebCore::PlatformTextEdit::selectAll):
313 (WebCore::PlatformTextEdit::setSelectionRange):
314 (WebCore::PlatformTextEdit::sizeWithColumnsAndRows):
315 (WebCore::PlatformTextEdit::checksDescendantsForFocus):
316 * platform/qt/WidgetQt.cpp: Added.
317 (WebCore::WidgetPrivate::WidgetPrivate):
318 (WebCore::WidgetPrivate::~WidgetPrivate):
319 (WebCore::Widget::Widget):
320 (WebCore::Widget::~Widget):
321 (WebCore::Widget::setClient):
322 (WebCore::Widget::client):
323 (WebCore::Widget::frameGeometry):
324 (WebCore::Widget::hasFocus):
325 (WebCore::Widget::setFocus):
326 (WebCore::Widget::clearFocus):
327 (WebCore::Widget::font):
328 (WebCore::Widget::setFont):
329 (WebCore::Widget::setCursor):
330 (WebCore::Widget::show):
331 (WebCore::Widget::hide):
332 (WebCore::Widget::setQWidget):
333 (WebCore::Widget::qwidget):
334 (WebCore::Widget::setParentWidget):
335 (WebCore::Widget::parentWidget):
336 (WebCore::Widget::setFrameGeometry):
337 (WebCore::Widget::mapFromGlobal):
338 (WebCore::Widget::scaleFactor):
339 (WebCore::Widget::lockDrawingFocus):
340 (WebCore::Widget::unlockDrawingFocus):
341 (WebCore::Widget::paint):
342 (WebCore::Widget::enableFlushDrawing):
343 (WebCore::Widget::isEnabled):
344 (WebCore::Widget::setIsSelected):
345 (WebCore::Widget::disableFlushDrawing):
346 (WebCore::Widget::setEnabled):
347 (WebCore::Widget::focusPolicy):
349 2006-08-19 Nikolas Zimmermann <zimmermann@kde.org>
351 Reviewed by Eric. Landed by rwlbuis.
353 First chunk of the implementation for:
354 http://bugzilla.opendarwin.org/show_bug.cgi?id=10467
356 WebKit should have Qt platform support
358 * platform/qt/ColorQt.cpp: Added.
359 (WebCore::Color::Color):
360 (WebCore::Color::operator QColor):
361 * platform/qt/FloatPointQt.cpp: Added.
362 (WebCore::FloatPoint::FloatPoint):
363 (WebCore::FloatPoint::operator QPointF):
364 * platform/qt/FloatRectQt.cpp: Added.
365 (WebCore::FloatRect::FloatRect):
366 (WebCore::FloatRect::operator QRectF):
367 * platform/qt/IntPointQt.cpp: Added.
368 (WebCore::IntPoint::IntPoint):
369 (WebCore::IntPoint::operator QPoint):
370 * platform/qt/IntRectQt.cpp: Added.
371 (WebCore::IntRect::IntRect):
372 (WebCore::IntRect::operator QRect):
373 * platform/qt/IntSizeQt.cpp: Added.
374 (WebCore::IntSize::IntSize):
375 (WebCore::IntSize::operator QSize):
377 2006-08-18 Nikolas Zimmermann <zimmermann@kde.org>
379 Reviewed by Eric. Landed by rwlbuis.
381 Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10470
382 The Qt platform needs a KCanvas device.
384 * kcanvas/device/qt/KCanvasClipperQt.cpp: Added.
385 (WebCore::KCanvasClipperQt::applyClip):
386 * kcanvas/device/qt/KCanvasClipperQt.h: Added.
387 (WebCore::KCanvasClipperQt::KCanvasClipperQt):
388 * kcanvas/device/qt/KCanvasPathQt.cpp: Added.
389 (WebCore::KCanvasPathQt::KCanvasPathQt):
390 (WebCore::KCanvasPathQt::~KCanvasPathQt):
391 (WebCore::KCanvasPathQt::isEmpty):
392 (WebCore::KCanvasPathQt::moveTo):
393 (WebCore::KCanvasPathQt::lineTo):
394 (WebCore::KCanvasPathQt::curveTo):
395 (WebCore::KCanvasPathQt::closeSubpath):
396 (WebCore::KCanvasPathQt::boundingBox):
397 (WebCore::KCanvasPathQt::strokeBoundingBox):
398 (WebCore::KCanvasPathQt::strokeContainsPoint):
399 (WebCore::KCanvasPathQt::containsPoint):
400 * kcanvas/device/qt/KCanvasPathQt.h: Added.
401 (WebCore::KCanvasPathQt::qtPath):
402 * kcanvas/device/qt/KRenderingDeviceQt.cpp: Added.
403 (WebCore::KRenderingDeviceContextQt::KRenderingDeviceContextQt):
404 (WebCore::KRenderingDeviceContextQt::~KRenderingDeviceContextQt):
405 (WebCore::KRenderingDeviceContextQt::concatCTM):
406 (WebCore::KRenderingDeviceContextQt::ctm):
407 (WebCore::KRenderingDeviceContextQt::mapFromVisual):
408 (WebCore::KRenderingDeviceContextQt::mapToVisual):
409 (WebCore::KRenderingDeviceContextQt::clearPath):
410 (WebCore::KRenderingDeviceContextQt::addPath):
411 (WebCore::KRenderingDeviceContextQt::createGraphicsContext):
412 (WebCore::KRenderingDeviceContextQt::painter):
413 (WebCore::KRenderingDeviceContextQt::pathBBox):
414 (WebCore::KRenderingDeviceContextQt::setFillRule):
415 (WebCore::KRenderingDeviceContextQt::fillPath):
416 (WebCore::KRenderingDeviceContextQt::strokePath):
417 (WebCore::KRenderingDeviceQt::KRenderingDeviceQt):
418 (WebCore::KRenderingDeviceQt::~KRenderingDeviceQt):
419 (WebCore::KRenderingDeviceQt::popContext):
420 (WebCore::KRenderingDeviceQt::pushContext):
421 (WebCore::KRenderingDeviceQt::qtContext):
422 (WebCore::KRenderingDeviceQt::contextForImage):
423 (WebCore::KRenderingDeviceQt::stringForPath):
424 (WebCore::KRenderingDeviceQt::createResource):
425 (WebCore::KRenderingDeviceQt::createPaintServer):
426 (WebCore::KRenderingDeviceQt::createFilterEffect):
428 2006-08-17 Nikolas Zimmermann <zimmermann@kde.org>
430 Reviewed by Eric. Landed by rwlbuis.
432 Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10466
433 WebKit should have Qt platform support.
437 (WebCore::Cursor::Cursor):
438 * platform/FloatPoint.h:
439 * platform/FloatRect.h:
440 * platform/GlyphBuffer.h:
441 (WebCore::GlyphBuffer::glyphAt):
442 (WebCore::GlyphBuffer::advanceAt):
443 (WebCore::GlyphBuffer::add):
444 * platform/GraphicsContext.h:
445 * platform/ImageSource.h:
446 * platform/IntPoint.h:
447 * platform/IntRect.h:
448 * platform/IntSize.h:
449 * platform/ListBox.h:
451 * platform/PlatformKeyboardEvent.h:
452 * platform/PlatformMouseEvent.h:
453 * platform/ResourceLoader.h:
454 * platform/ResourceLoaderClient.h:
455 * platform/ResourceLoaderInternal.h:
456 (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
457 * platform/ScrollView.h:
460 2006-08-17 Nikolas Zimmermann <zimmermann@kde.org>
462 Reviewed by Eric. Landed by rwlbuis.
464 Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10465
465 General WebKit Linux build fixes.
467 * kcanvas/KCanvasFilters.cpp:
468 (WebCore::operator<<):
469 * kcanvas/RenderSVGImage.cpp:
470 * ksvg2/css/SVGCSSStyleSelector.cpp:
471 * ksvg2/svg/SVGAnimateColorElement.cpp:
472 * ksvg2/svg/SVGMaskElement.cpp:
473 * ksvg2/svg/SVGPatternElement.cpp:
475 * rendering/RenderStyle.h:
476 (WebCore::RenderStyle::deleteBindingURIs):
479 2006-08-17 Nikolas Zimmermann <zimmermann@kde.org>
481 Reviewed by Eric. Landed by rwlbuis.
483 Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10464
484 Offer a cmake build system for Qt platform.
486 * CMakeLists.txt: Added.
488 2006-08-17 David Harrison <harrison@apple.com>
490 Reviewed by John Sullivan.
492 <rdar://problem/4671069> REGRESSION: Popup buttons in web pages aren't exposed as AXPopupButtons
494 Accessorized RenderMenuList objects.
496 * bridge/mac/WebCoreAXObject.mm:
497 (-[WebCoreAXObject mouseButtonListener]):
500 (-[WebCoreAXObject actionElement]):
501 Return the HTMLSelectElement.
503 (-[WebCoreAXObject firstChild]):
504 (-[WebCoreAXObject lastChild]):
505 (-[WebCoreAXObject previousSibling]):
506 (-[WebCoreAXObject nextSibling]):
507 (-[WebCoreAXObject parentObject]):
508 (-[WebCoreAXObject parentObjectUnignored]):
509 (-[WebCoreAXObject isAttachment]):
510 (-[WebCoreAXObject attachmentView]):
513 (-[WebCoreAXObject role]):
514 Return NSAccessibilityPopUpButtonRole.
516 (-[WebCoreAXObject subrole]):
519 (-[WebCoreAXObject roleDescription]):
520 Return NSAccessibilityPopUpButtonRole.
522 (-[WebCoreAXObject textUnderElement]):
525 (-[WebCoreAXObject value]):
526 Return the RenderMenuList::text().
528 (-[WebCoreAXObject position]):
531 (-[WebCoreAXObject accessibilityIsIgnored]):
532 - Ignore popup menu items because AppKit does.
533 - Remove redundant check for buttonTag (earlier isControl() check suffices).
535 (-[WebCoreAXObject accessibilityAttributeNames]):
536 (-[WebCoreAXObject accessibilityActionNames]):
537 (-[WebCoreAXObject accessibilityAttributeValue:]):
540 (-[WebCoreAXObject doAXTextMarkerRangeForUnorderedTextMarkers:]):
541 Removed old debugging code that is no longer needed.
544 (-[WebCoreAXObject doAXSentenceTextMarkerRangeForTextMarker:]):
545 (-[WebCoreAXObject doAXParagraphTextMarkerRangeForTextMarker:]):
546 (-[WebCoreAXObject removeAXObjectID]):
549 * html/HTMLSelectElement.cpp:
550 (WebCore::HTMLSelectElement::accessKeyAction):
551 Call click() instead of focus().
553 * rendering/RenderMenuList.cpp:
554 (WebCore::RenderMenuList::text):
555 Added for easy access to popup's current text.
557 * rendering/RenderMenuList.h:
558 (WebCore::RenderMenuList::isMenuList):
559 * rendering/RenderObject.h:
560 (WebCore::RenderObject::isMenuList):
561 Added so popups can be identified.
563 2006-08-17 David Harrison <harrison@apple.com>
567 <rdar://problem/4527201> REGRESSION: AXTextMarkerRangeForUnorderedTextMarkers returns out of order range
569 Test cases added: None. Manual AX testing is way too awkward, and automated testing
570 is not possible. See following bug...
571 <rdar://problem/4256882> Need automated testing support for accessibility APIs
573 * bridge/mac/AXObjectCacheMac.mm:
574 (WebCore::AXObjectCache::visiblePositionForTextMarker):
575 Validate the marker by comparing the node and offset to those of the resulting VisiblePosition.
577 2006-08-17 Nikolas Zimmermann <zimmermann@kde.org>
581 Fixes: http://bugzilla.opendarwin.org/show_bug.cgi?id=10447
582 AffineTransform should be multi-platform compatible
584 * platform/AffineTransform.h:
585 * platform/cg/AffineTransformCG.cpp:
586 (WebCore::AffineTransform::m11):
587 (WebCore::AffineTransform::m12):
588 (WebCore::AffineTransform::m21):
589 (WebCore::AffineTransform::m22):
590 (WebCore::AffineTransform::dx):
591 (WebCore::AffineTransform::dy):
593 2006-08-16 David Hyatt <hyatt@apple.com>
595 Fix an issue with CSS2 system fonts where they did not respect text
596 zoom. This was most visible with the new control fonts used for form
597 controls (they stopped swapping between small/mini/regular as you zoomed).
601 * css/cssstyleselector.cpp:
602 (WebCore::CSSStyleSelector::applyProperty):
604 2006-08-15 Justin Garcia <justin.garcia@apple.com>
608 First part of fix for:
609 <rdar://problem/4384589>
610 Mail hung on paste text
613 <http://bugzilla.opendarwin.org/show_bug.cgi?id=8592>
614 Extra line left after deleting whitespace:pre text
615 <rdar://problem/4128080> Paste as HTML does not yield equivalent style
616 <rdar://problem/4046469> Box styles on first element aren't copied/pasted
617 Copy/paste of arstechnica.com
619 Here's how we avoid adding redundant style information on paste: insert
620 the fragment and do a test rendering, save away style information for
621 every node in the fragment, remove all style information from the fragment,
622 remove the fragment, insert it into the appropriate place in the document,
623 then restore only those styles gathered during the test insertion that aren't
624 redundant. Restoring the styles in this way results in an ApplyStyleCommand
625 and a layout for nearly every inserted node.
626 Instead we want to insert the fragment into the document without removing the
627 style information, then mark style nodes and inline style declarations for
628 removal if they are redundant, and sweep to remove them. This means that we
629 can't rely on ReplacementFragment::wasBlock anymore, because blocks will now
630 have style spans around them. This patch removes the use of wasBlock in
631 ReplaceSelectionCommand.
633 * editing/CompositeEditCommand.cpp:
634 (WebCore::CompositeEditCommand::moveParagraphs): Added code
635 to remove the line placeholder left after a move from preserveNewline text.
636 * editing/DeleteSelectionCommand.cpp:
637 (WebCore::DeleteSelectionCommand::doApply): Don't add a placeholder if
638 we're deleting a paragraph in preserveNewline text.
639 * editing/JSEditor.cpp: Pass true to prevent nesting.
640 * editing/ReplaceSelectionCommand.cpp: Removed wasBlock and friends.
641 (WebCore::ReplacementFragment::ReplacementFragment): Ditto.
642 (WebCore::ReplacementFragment::saveRenderingInfo): Ditto.
643 (WebCore::RenderingInfo::RenderingInfo): Ditto.
644 (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand):
645 (WebCore::ReplaceSelectionCommand::shouldMergeStart): Combined the to/from
646 merging rules into one method.
647 (WebCore::ReplaceSelectionCommand::shouldMergeEnd):
648 (WebCore::ReplaceSelectionCommand::shouldMerge):
649 (WebCore::ReplaceSelectionCommand::doApply):
650 Don't do nesting prevention when pasting into an empty paragraph, this
651 fixes 4046469, the common cause of paste fidelity bugs, but needs
652 to be tweaked a little because this can lead to margin/border build-up
653 on repeated copy/pastes.
654 Don't track startPos in addition to insertionPos. It was never used.
655 Fixed a bug where a fragment starting with an interchange newline would
656 cause content to be put outside of an editable region when pasting at the
658 Adjust insertionPos before insertion (not during) and do not consult wasBlock
659 to decide whether or not to do so.
660 Changed the way we do the start merge: insert the fragment, then stich
661 paragraphs together, in the same way that we do the end merge. This
662 doesn't require wasBlock and fixes bugs.
663 Replaced some uses of insertionPos with endOfInsertedContent.
664 Fixed a bug in the expansion of the last incoming br (a "collapsed" br
665 is one where !isStartOfParagraph([br,0])).
666 Removed the special case code that did the end merge for the preserveNewline
667 case, since this patch fixes the moveParagraph bug in the preserveNewline case.
668 Removed some unused variables.
669 (WebCore::ReplaceSelectionCommand::shouldRemoveEndBR): An endBR that was
670 holding a line open should always be displaced by inserted content, unless
671 the inserted content ends with a br.
672 (WebCore::ReplaceSelectionCommand::updateNodesInserted):
673 * editing/ReplaceSelectionCommand.h:
674 (WebCore::RenderingInfo::style):
675 * editing/markup.cpp:
676 (WebCore::createMarkup): Only add mail blockquotes and list/table/pre when
677 annotate is true (when we're creating markup for the pasteboard).
679 2006-08-16 John Sullivan <sullivan@apple.com>
681 Reviewed by Brady Eidson
683 - fixed <rdar://problem/4637156> underlines appearing in white selection text
685 * rendering/InlineFlowBox.cpp:
686 (WebCore::InlineFlowBox::paintDecorations):
687 bail out if phase is PaintPhaseSelection and forceWhiteText is true
689 2006-08-16 Brady Eidson <beidson@apple.com>
693 Updated the DB version number and added a helpful comment explaining its meaning
695 * loader/icon/IconDatabase.cpp:
697 2006-08-16 Brady Eidson <beidson@apple.com>
701 Major refactoring of new iconDB:
702 -Instead of private browsing being handled by in-memory tables, it's now handled
703 by a separate in-memory database with the same table names. This allows us to
704 re-use the same SQL on either the main or private-browsing database
705 -So it follows, I broke out much of the SQL queries into seperate methods suffixed with
706 "Query" that take a database as the method's argument so the same language can run on
707 both private and main tables
708 -Now that we have two DBs, moved the retain/release count to the m_mainDB
709 -While I was at it, updated the schema to combine the Icon and IconResource table - cuts
710 down on some high-usage, low value queries which were too expensive
711 -Ditched the _url -> url convention for escaping urls for SQL. Now its url and escapedURL
712 -Pruned tons of unused methods from previous revisions
714 * bridge/mac/WebCoreIconDatabaseBridge.h: Removed isIconExpiredForPageURL as it was never used
715 * bridge/mac/WebCoreIconDatabaseBridge.mm: Ditto
716 * loader/icon/IconDatabase.cpp:
717 (WebCore::IconDatabase::IconDatabase): Updated initializer list
718 (WebCore::IconDatabase::open): Sets up both databases
719 (WebCore::IconDatabase::close): Closes both databases
720 (WebCore::IconDatabase::isEmpty): Queries both databases for at least 1 record
721 (WebCore::IconDatabase::isValidDatabase): Reflect the updated schema
722 (WebCore::IconDatabase::clearDatabaseTables): Ditto - and takes DB as a parameter
723 (WebCore::IconDatabase::createDatabaseTables): Ditto
724 (WebCore::IconDatabase::imageDataForIconURL): style cleanup, and using a query-function
725 (WebCore::IconDatabase::setPrivateBrowsingEnabled): Resets private DB instead of private tables
726 (WebCore::IconDatabase::isIconExpiredForIconURL): Uses a query-function on each DB
727 (WebCore::IconDatabase::iconURLForPageURL): Uses a query-function on each DB
728 (WebCore::IconDatabase::retainIconForPageURL): Retain count DB changes
729 (WebCore::IconDatabase::releaseIconForPageURL): Ditto
730 (WebCore::IconDatabase::isIconURLRetained): Determine if it's time to prune a released icon yet
731 (WebCore::IconDatabase::forgetIconForIconURLFromDatabase): Alot simpler
732 (WebCore::IconDatabase::setIconDataForIconURL): Style cleanup
733 (WebCore::IconDatabase::setHaveNoIconForIconURL): Ditto
734 (WebCore::IconDatabase::setIconURLForPageURL): Ditto - and using a query-function
735 (WebCore::IconDatabase::establishIconIDForIconURL): Style cleanup
736 (WebCore::IconDatabase::pruneUnreferencedIcons): DB name change
737 (WebCore::IconDatabase::pruneUnretainedIcons): Ditto
738 (WebCore::IconDatabase::hasIconForIconURL): Simpler, using a query-function
739 (WebCore::IconDatabase::~IconDatabase):
740 (WebCore::pageURLTableIsEmptyQuery): Self-explanatory SQL query
741 (WebCore::imageDataForIconURLQuery): Self-explanatory SQL query
742 (WebCore::timeStampForIconURLQuery): Self-explanatory SQL query
743 (WebCore::iconURLForPageURLQuery): Self-explanatory SQL query
744 (WebCore::forgetPageURLQuery): Self-explanatory SQL query
745 (WebCore::setIconIDForPageURLQuery): Self-explanatory SQL query
746 (WebCore::getIconIDForIconURLQuery): Self-explanatory SQL query
747 (WebCore::addIconForIconURLQuery): Self-explanatory SQL query
748 (WebCore::hasIconForIconURLQuery): Self-explanatory SQL query
749 * loader/icon/IconDatabase.h: Some new/changed methods, pruned methods, and new comments
750 (WebCore::IconDatabase::isOpen): Changed our meaning of "isOpen" to reflect the 2 databases
752 2006-08-15 Jonas Witt <jonas.witt@gmail.com>
756 - added ObjC wrappers for the KeyboardEvent and WheelEvent initializers
757 http://bugzilla.opendarwin.org/show_bug.cgi?id=9736
759 * bindings/objc/DOMEvents.mm:
760 (-[DOMKeyboardEvent initKeyboardEvent::::::::::]):
761 * bindings/objc/DOMEventsNonstandard.mm:
762 (-[DOMWheelEvent initWheelEvent:::::::::::]):
763 * bindings/objc/DOMPrivate.h:
765 - added an initializer for the WheelEvent
767 * dom/WheelEvent.cpp:
768 (WebCore::WheelEvent::initWheelEvent):
771 2006-08-15 Mark Rowe <opendarwin.org@bdash.net.nz>
775 Build fix: DWARF and -gfull are incompatible with symbol separation.
777 * WebCore.xcodeproj/project.pbxproj:
779 2006-08-15 Mark Rowe <opendarwin.org@bdash.net.nz>
783 http://bugzilla.opendarwin.org/show_bug.cgi?id=10394
784 Bug 10394: WebKit Release and Production configurations should enable dead code stripping
786 * WebCore.xcodeproj/project.pbxproj:
788 2006-08-15 Geoffrey Garen <ggaren@apple.com>
792 - This patch reworks a previous fix for <rdar://problem/3524912> repro
793 crash in KHTMLParser::parseToken, due to parser's current element being
794 destroyed (www.gnnetcom.dk), along with subsequent adjustments to fix
797 The previous solutions caused a ~2% performance regression on iBench HTML,
798 due to RefPtr churn. The optimizations here gain back that ~2% plus ~1% more,
799 for a total win of ~3% vs current TOT.
801 We can merge this fix to the branch to fix <rdar://problem/4661982>
802 (crash in KHTMLParser::popBlock).
804 The solution here is:
805 (1) Don't let the parser ref document nodes -- that causes leaks.
806 (2) Handle ref/deref manually, to avoid RefPtr churn. Specifically, when
807 moving a node between stacks or to/from 'current', rather than deref'ing
808 and then ref'ing again, simply move the node, along with its refcount, to
809 its new location, and overwrite its old location.
811 * WebCore.xcodeproj/project.pbxproj:
812 * html/HTMLParser.cpp:
813 (WebCore::HTMLStackElem::HTMLStackElem):
814 (WebCore::HTMLStackElem::derefNode):
815 (WebCore::HTMLParser::HTMLParser):
816 (WebCore::HTMLParser::setCurrent):
817 (WebCore::HTMLParser::insertNode):
818 (WebCore::HTMLParser::popNestedHeaderTag):
819 (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
820 (WebCore::HTMLParser::reopenResidualStyleTags):
821 (WebCore::HTMLParser::pushBlock):
822 (WebCore::HTMLParser::popBlock):
823 (WebCore::HTMLParser::popOneBlockCommon):
824 (WebCore::HTMLParser::popOneBlock):
825 (WebCore::HTMLParser::moveOneBlockToStack):
828 2006-08-15 Mark Rowe <opendarwin.org@bdash.net.nz>
832 http://bugzilla.opendarwin.org/show_bug.cgi?id=10384
833 Bug 10384: Switch to DWARF for Release configuration
835 * WebCore.xcodeproj/project.pbxproj:
837 2006-08-15 Mark Rowe <opendarwin.org@bdash.net.nz>
840 Tweaked and landed by Darin.
842 http://bugzilla.opendarwin.org/show_bug.cgi?id=10399
843 Bug 10399: RenderTextArea is unused
845 * WebCore.vcproj/WebCore/WebCore.vcproj:
846 * WebCore.xcodeproj/project.pbxproj:
847 * WebCoreSources.bkl:
848 Removed RenderTextArea source files.
850 * html/HTMLTextAreaElement.cpp: Removed include of RenderTextArea.h.
851 * html/HTMLTextAreaElement.h: Removed forward declaration of RenderTextArea.
853 * platform/mac/WidgetMac.mm: (WebCore::Widget::paint): Updated a comment.
855 * platform/TextBox.h: Removed.
856 * platform/mac/TextBoxMac.mm: Removed.
857 * platform/mac/WebCoreTextArea.h: Removed.
858 * platform/mac/WebCoreTextArea.mm: Removed.
859 * rendering/RenderTextArea.cpp: Removed.
860 * rendering/RenderTextArea.h: Removed.
862 2006-08-15 Brady Eidson <beidson@apple.com>
864 Reviewed by THE OTHER Maciej...
867 1) Renamed retain/release methods to add PageUrl in - we're being consistent and clear in the WebCore API
868 2) Fixed a bug where a null SiteIcon reference would be added into the pageURLToSiteIcon map causing a
869 null dereference later
871 * bridge/mac/WebCoreIconDatabaseBridge.mm:
872 (-[WebCoreIconDatabaseBridge retainIconForURL:]): Changed IconDatabase method name
873 (-[WebCoreIconDatabaseBridge releaseIconForURL:]): ditto
874 * loader/icon/IconDatabase.cpp:
875 (WebCore::IconDatabase::retainIconForPageURL): Name change
876 (WebCore::IconDatabase::releaseIconForPageURL): ditto
877 (WebCore::IconDatabase::setIconURLForPageURL): Added the null site-icon check when changing a PageURL's iconURL
878 * loader/icon/IconDatabase.h: Some renames
880 2006-08-14 Eric Seidel <eric@eseidel.com>
884 <mask>, <marker>, <pattern> inside <defs> do not work
885 http://bugzilla.opendarwin.org/show_bug.cgi?id=6548
887 * ksvg2/svg/SVGDefsElement.cpp:
888 (WebCore::SVGDefsElement::SVGDefsElement): moved to .cpp file
889 (WebCore::SVGDefsElement::isValid): moved to .cpp file
890 (WebCore::SVGDefsElement::rendererIsNeeded): Added.
891 (WebCore::SVGDefsElement::createRenderer): Added.
892 * ksvg2/svg/SVGDefsElement.h:
893 * ksvg2/svg/SVGGElement.cpp:
894 (WebCore::SVGGElement::SVGGElement): adjusted spacing
895 (WebCore::SVGGElement::parseMappedAttribute): adjusted spacing
896 (WebCore::SVGDummyElement::SVGDummyElement): adjusted spacing
898 2006-08-14 Eric Seidel <eric@eseidel.com>
900 Reviewed by darin and mjs.
902 Add better SVGLoad event support.
903 http://bugzilla.opendarwin.org/show_bug.cgi?id=6010
904 There will still need to be additional support added for <link> and <script> elements.
905 Not all of the error -> loaded -> error transition cases work yet.
907 * dom/EventTargetNode.cpp:
908 (WebCore::EventTargetNode::dispatchGenericEvent):
909 * html/HTMLImageLoader.cpp:
910 (WebCore::HTMLImageLoader::dispatchLoadEvent):
911 * html/HTMLImageLoader.h:
912 (WebCore::HTMLImageLoader::haveFiredLoadEvent):
913 (WebCore::HTMLImageLoader::setHaveFiredLoadEvent):
914 * ksvg2/misc/SVGImageLoader.cpp:
915 (WebCore::SVGImageLoader::SVGImageLoader):
916 (WebCore::SVGImageLoader::dispatchLoadEvent):
917 * ksvg2/misc/SVGImageLoader.h:
918 * ksvg2/svg/SVGAElement.cpp:
919 (WebCore::SVGAElement::parseMappedAttribute):
920 * ksvg2/svg/SVGAnimatedBoolean.h:
921 * ksvg2/svg/SVGElement.cpp:
922 (WebCore::SVGElement::SVGElement):
923 (WebCore::SVGElement::parseMappedAttribute):
924 (WebCore::SVGElement::haveLoadedRequiredResources):
925 (WebCore::SVGElement::sendSVGLoadEventIfPossible):
926 (WebCore::SVGElement::closeRenderer):
927 * ksvg2/svg/SVGElement.h:
928 (WebCore::SVGElement::rendererIsNeeded):
929 (WebCore::svg_dynamic_cast):
930 * ksvg2/svg/SVGExternalResourcesRequired.h:
931 * ksvg2/svg/SVGImageElement.cpp:
932 (SVGImageElement::SVGImageElement):
933 (SVGImageElement::haveLoadedRequiredResources):
934 * ksvg2/svg/SVGImageElement.h:
935 * ksvg2/svg/SVGSVGElement.cpp:
936 (WebCore::SVGSVGElement::parseMappedAttribute):
937 * ksvg2/svg/SVGScriptElement.cpp:
938 (WebCore::SVGScriptElement::SVGScriptElement):
939 (WebCore::SVGScriptElement::parseMappedAttribute):
940 (WebCore::SVGScriptElement::executeScript):
941 * xml/xmlhttprequest.cpp:
942 (WebCore::XMLHttpRequest::callReadyStateChangeListener): use new Event() instead of createEvent
944 2006-08-14 Anders Carlsson <acarlsson@apple.com>
948 http://bugzilla.opendarwin.org/show_bug.cgi?id=10393
949 Autogenerate NodeIterator and TreeWalker.
951 * DerivedSources.make:
952 * WebCore.xcodeproj/project.pbxproj:
955 * bindings/js/JSNodeIteratorCustom.cpp: Added.
956 (WebCore::JSNodeIterator::mark):
957 * bindings/js/JSTreeWalkerCustom.cpp: Added.
958 (WebCore::JSTreeWalker::mark):
960 * bindings/js/kjs_traversal.cpp:
961 * bindings/js/kjs_traversal.h:
962 Remove implementations of DOMNodeIterator and DOMTreeWalker.
964 * bindings/scripts/CodeGeneratorJS.pm:
965 Add "CustomMarkFunction" attribute for classes where mark() needs to be overridden.
967 * bindings/objc/DOM.mm:
968 (-[DOMNodeIterator detach]):
969 * dom/NodeIterator.cpp:
970 (WebCore::NodeIterator::detach):
971 * dom/NodeIterator.h:
972 Get rid of exception in detach, it isn't used at all and this function can't throw an exception according to the spec.
973 * dom/NodeIterator.idl: Added.
974 * dom/TreeWalker.idl: Added.
976 2006-08-14 Brady Eidson <beidson@apple.com>
980 The changes are plentiful, but small, mostly to improve performance
981 1) Add a bool flag to SiteIcon to stop it from querying the database over and over
982 2) Added a pageURL->iconURL hashmap to cache database results, as an optimization
983 3) Fix a bug in setIconURLForPageURL code where the pageURL would still point to an old icon
984 4) Added isIconURLRetained() to optimize the retain count check
985 5) Prune old, unused code
987 * loader/icon/IconDatabase.cpp:
988 (WebCore::IconDatabase::imageDataForIconID): Removed unused code
989 (WebCore::IconDatabase::imageDataForIconURL): Removed unused code
990 (WebCore::IconDatabase::imageDataForPageURL): Removed unused code
991 (WebCore::IconDatabase::isIconExpiredForIconURL): Removed LOG msg
992 (WebCore::IconDatabase::isIconExpiredForPageURL): Removed LOG msg
993 (WebCore::IconDatabase::iconURLForPageURL): Added a hashmap cache to avoid common queries
994 (WebCore::IconDatabase::releaseIconForURL): Changed to is isRetained() instead of retainCount()
995 (WebCore::IconDatabase::isIconURLRetained): Added - we don't care about the actual retain count
996 for an icon so much as whether or not it is retained
997 (WebCore::IconDatabase::setIconURLForPageURL): If the new and old iconURLs are the same, skip the
999 * loader/icon/IconDatabase.h: Added new methods/variables
1000 * loader/icon/SiteIcon.cpp:
1001 (SiteIcon::SiteIcon): Added a flag so it only queries the database for icon data once
1002 (SiteIcon::getImage): Ditto
1004 2006-08-14 David Hyatt <hyatt@apple.com>
1006 Fix for bug 10385, add more support for crappy pseudo-XML-in-HTML.
1010 Added fast/parser/bad-xml-slash.html
1012 * html/HTMLTokenizer.cpp:
1013 (WebCore::HTMLTokenizer::parseTag):
1015 2006-08-14 Darin Adler <darin@apple.com>
1017 Reviewed by John Sullivan.
1019 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10204
1020 REGRESSION: title tag parsing problem breaks Travelocity and Google Analytics pages
1022 Test: fast/parser/title-error-test.html
1024 * html/HTMLParser.cpp: (WebCore::HTMLParser::handleError): Fixed an error
1025 handling case that was skipping until a </style> tag in code that was shared
1026 between both <title> and <style>. Also rearranged the code a tiny bit.
1028 2006-08-14 Darin Adler <darin@apple.com>
1032 - fixed some storage leaks
1033 (part of http://bugzilla.opendarwin.org/show_bug.cgi?id=10259)
1035 * platform/mac/ResourceLoaderMac.mm: (WebCore::ResourceLoader::start):
1036 Rearrange code so that "delete this" is called any time the function returns
1037 false -- ownership was inconsistent before.
1039 * rendering/RenderContainer.cpp: (WebCore::RenderContainer::removeChildNode):
1040 Call deleteLineBoxWrapper even when documentBeingDestroyed() is true, because
1041 some of what it does has to be done during destruction. A little awkward since
1042 I preserved the order of operations. Perhaps we could structure this better later.
1044 2006-08-14 David Harrison <harrison@apple.com>
1046 Reviewed by John Sullivan and Geoff Garen.
1048 <rdar://problem/3854950> AX Seed: Blackboard Learning Systems - frame names need to be put in AXDescription AXAttribute
1050 Test cases added: None. Manual AX testing is way too awkward, and automated testing
1051 is not possible. See following bug...
1052 <rdar://problem/4256882> Need automated testing support for accessibility APIs
1054 * bridge/mac/WebCoreAXObject.mm:
1055 (-[WebCoreAXObject accessibilityDescription]):
1056 For a web area, return the name of the owning frame or iframe.
1058 (-[WebCoreAXObject accessibilityAttributeNames]):
1059 Advertize NSAccessibilityDescriptionAttribute.
1061 (-[WebCoreAXObject rendererForView:]):
1062 Clean up some old naming.
1064 2006-08-11 Anders Carlsson <acarlsson@apple.com>
1068 http://bugzilla.opendarwin.org/show_bug.cgi?id=10353
1069 XMLSerializer and DOMParser should have real implementations
1071 Make real implementation files for DOMParser and XMLSerializer and wrap them
1072 using our bindings generation.
1074 * DerivedSources.make:
1075 * WebCore.xcodeproj/project.pbxproj:
1076 * bindings/js/JSDOMParser.cpp: Removed.
1077 * bindings/js/JSDOMParser.h: Removed.
1078 * bindings/js/JSXMLSerializer.cpp: Removed.
1079 * bindings/js/JSXMLSerializer.h: Removed.
1080 * bindings/js/kjs_window.cpp:
1081 (KJS::Window::getValueProperty):
1082 * bindings/js/kjs_window.h:
1084 * page/DOMWindow.idl:
1085 * xml/DOMParser.cpp: Added.
1086 (WebCore::DOMParser::parseFromString):
1087 * xml/DOMParser.h: Added.
1088 * xml/DOMParser.idl: Added.
1089 * xml/XMLSerializer.cpp: Added.
1090 (WebCore::XMLSerializer::serializeToString):
1091 * xml/XMLSerializer.h: Added.
1092 * xml/XMLSerializer.idl: Added.
1094 2006-08-14 Maciej Stachowiak <mjs@apple.com>
1098 - removed WebKit-level dependencies from WebFormDataStream. Use WebCore version of system interface
1100 * WebCore.exp: export new functions
1101 * platform/mac/WebCoreSystemInterface.h: Added CFReadStream related functions
1102 * platform/mac/WebCoreSystemInterface.mm: ditto
1104 2006-08-13 Maks Orlovich <maksim@kde.org>
1106 Reviewed (and tweaked a little) by Maciej.
1108 - shrank the size of JSObject by 8 bytes and made the corresponding reduction to the cell size, resulting
1109 in a 1.2% speed improvement on JS iBench (and probably overall memory savings).
1111 The WebCore part of this is to expect only FunctionImp to have a scope, not all JSObjects.
1113 * bindings/js/kjs_events.cpp:
1114 (KJS::JSLazyEventListener::parseCode):
1116 2006-08-12 Eric Seidel <eric@eseidel.com>
1118 Reviewed by hyatt and mjs.
1120 Fix two missing null checks causing layout test crashes.
1122 * css/cssstyleselector.cpp:
1123 (WebCore::CSSStyleSelector::adjustRenderStyle): check e for null (null for pseudo styles)
1124 * kcanvas/RenderSVGContainer.cpp:
1125 (WebCore::RenderSVGContainer::requiresLayer): check parent()->element() for null
1128 2006-08-11 Eric Seidel <eric@eseidel.com>
1130 Reviewed by andersca.
1132 The outermost <svg> element needs to clip itself
1133 http://bugzilla.opendarwin.org/show_bug.cgi?id=5358
1135 * css/cssstyleselector.cpp:
1136 (WebCore::CSSStyleSelector::adjustRenderStyle): adjust for SVG overflow rules
1137 * kcanvas/RenderSVGContainer.cpp:
1138 (WebCore::RenderSVGContainer::requiresLayer): only require layers for absolute/relative positioning of outermost SVG
1139 (WebCore::RenderSVGContainer::paint):
1140 * kcanvas/device/KRenderingDevice.h:
1141 * kcanvas/device/quartz/KRenderingDeviceQuartz.h: remove dead methods
1142 * kcanvas/device/quartz/KRenderingDeviceQuartz.mm: remove dead methods
1143 (WebCore::KRenderingDeviceContextQuartz::KRenderingDeviceContextQuartz):
1144 * ksvg2/svg/SVGPaint.cpp: spacing changes
1145 (WebCore::SVGPaint::SVGPaint): spacing cleanup
1146 * ksvg2/svg/SVGSVGElement.cpp:
1147 (WebCore::SVGSVGElement::parseMappedAttribute): spacing cleanup
1148 * platform/GraphicsContext.h: Added concatCTM
1149 * platform/cg/GraphicsContextCG.cpp:
1150 (WebCore::GraphicsContext::concatCTM): Added.
1152 2006-08-11 Brady Eidson <beidson@apple.com>
1156 Renamed a method/parameter for clarity and consistency, as well as some style
1157 cleanups and removing some ridiculously verbose log messages.
1158 Also added an _isEmpty method to the database and bridge for WebKit's use.
1159 Finally, added a central way for both WebKit and WebCore to get the icon database filename
1161 * bridge/mac/WebCoreIconDatabaseBridge.h: Added _isEmpty and defaultDatabaseFilename
1162 * bridge/mac/WebCoreIconDatabaseBridge.mm: Removed an unnecessary semicolon off most of these methods
1163 (-[WebCoreIconDatabaseBridge openSharedDatabaseWithPath:]):
1164 (-[WebCoreIconDatabaseBridge closeSharedDatabase]):
1165 (-[WebCoreIconDatabaseBridge isOpen]):
1166 (-[WebCoreIconDatabaseBridge _isEmpty]): Added
1167 (-[WebCoreIconDatabaseBridge setPrivateBrowsingEnabled:]):
1168 (-[WebCoreIconDatabaseBridge privateBrowsingEnabled]):
1169 (-[WebCoreIconDatabaseBridge iconForPageURL:withSize:]):
1170 (-[WebCoreIconDatabaseBridge iconURLForPageURL:]):
1171 (-[WebCoreIconDatabaseBridge defaultIconWithSize:]):
1172 (-[WebCoreIconDatabaseBridge retainIconForURL:]):
1173 (-[WebCoreIconDatabaseBridge releaseIconForURL:]):
1174 (-[WebCoreIconDatabaseBridge _setIconData:forIconURL:]):
1175 (-[WebCoreIconDatabaseBridge _setHaveNoIconForIconURL:]):
1176 (-[WebCoreIconDatabaseBridge _setIconURL:forPageURL:]):
1177 (-[WebCoreIconDatabaseBridge _hasIconForIconURL:]):
1178 (-[WebCoreIconDatabaseBridge defaultDatabaseFilename]): Added
1180 * loader/icon/IconDatabase.cpp:
1181 (WebCore::IconDatabase::defaultDatabaseFilename): Added
1182 (WebCore::IconDatabase::open):
1183 (WebCore::IconDatabase::isEmpty): Added
1184 (WebCore::IconDatabase::retainIconForURL): Removed log message
1185 (WebCore::IconDatabase::releaseIconForURL): Removed log message
1186 * loader/icon/IconDatabase.h:
1188 2006-08-11 David Hyatt <hyatt@apple.com>
1190 Eliminate RenderImageButton.
1194 * WebCore.xcodeproj/project.pbxproj:
1195 * bridge/mac/WebCoreAXObject.mm:
1196 (-[WebCoreAXObject isImageButton]):
1197 * html/HTMLInputElement.cpp:
1198 (WebCore::HTMLInputElement::createRenderer):
1199 * rendering/RenderImage.h:
1200 (WebCore::RenderImage::isImage):
1202 2006-08-11 Adele Peterson <adele@apple.com>
1206 - Fix for <rdar://problem/4656274>
1207 REGRESSION: option elements are selected when added regardless of "selected" property
1209 Test: fast/forms/option-constructor-selected.html
1211 * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::setOption):
1212 When adding an option element, check that the option element is selected before calling setSelectedIndex.
1214 2006-08-11 David Hyatt <hyatt@apple.com>
1216 Fix for bug 10349, make sure to call setChanged when an anchor changes
1217 from not being a link to being a link (and vice versa).
1219 Test is in fast/dynamic/link-href-change.html
1223 * html/HTMLAnchorElement.cpp:
1224 (WebCore::HTMLAnchorElement::HTMLAnchorElement):
1225 (WebCore::HTMLAnchorElement::parseMappedAttribute):
1226 * html/HTMLAnchorElement.h:
1227 * html/HTMLAreaElement.cpp:
1228 (WebCore::HTMLAreaElement::parseMappedAttribute):
1230 2006-08-09 Rob Buis <buis@kde.org>
1234 Revert an over-optimization step that messed up the HashSet lookup.
1236 * dom/DOMImplementation.cpp:
1238 2006-08-12 Oliver <ojh16@student.canterbury.ac.nz>
1240 Rubber stamped by tim
1242 Removed commented out code
1244 * kcanvas/RenderSVGImage.cpp:
1245 (WebCore::RenderSVGImage::paint):
1247 2006-08-12 Oliver <ojh16@student.canterbury.ac.nz>
1251 Fixed regression in SVG image layout
1254 * kcanvas/RenderSVGImage.cpp:
1255 (WebCore::RenderSVGImage::paint):
1257 2006-08-10 Anders Carlsson <acarlsson@apple.com>
1259 Rubber-stamped by Maciej.
1263 * DerivedSources.make:
1264 * WebCore.vcproj/WebCore/WebCore.vcproj:
1265 * WebCore.xcodeproj/project.pbxproj:
1266 * xpath/XPathEvaluator.cpp: Removed.
1267 * xpath/XPathEvaluator.h: Removed.
1268 * xpath/XPathEvaluator.idl: Removed.
1269 * xpath/XPathExpression.cpp: Removed.
1270 * xpath/XPathExpression.h: Removed.
1271 * xpath/XPathExpression.idl: Removed.
1272 * xpath/XPathNSResolver.cpp: Removed.
1273 * xpath/XPathNSResolver.h: Removed.
1274 * xpath/XPathNSResolver.idl: Removed.
1275 * xpath/XPathNamespace.cpp: Removed.
1276 * xpath/XPathNamespace.h: Removed.
1277 * xpath/XPathResult.cpp: Removed.
1278 * xpath/XPathResult.h: Removed.
1279 * xpath/XPathResult.idl: Removed.
1280 * xpath/impl/XPathExpressionNode.cpp: Removed.
1281 * xpath/impl/XPathExpressionNode.h: Removed.
1282 * xpath/impl/XPathFunctions.cpp: Removed.
1283 * xpath/impl/XPathFunctions.h: Removed.
1284 * xpath/impl/XPathGrammar.y: Removed.
1285 * xpath/impl/XPathParser.cpp: Removed.
1286 * xpath/impl/XPathParser.h: Removed.
1287 * xpath/impl/XPathPath.cpp: Removed.
1288 * xpath/impl/XPathPath.h: Removed.
1289 * xpath/impl/XPathPredicate.cpp: Removed.
1290 * xpath/impl/XPathPredicate.h: Removed.
1291 * xpath/impl/XPathStep.cpp: Removed.
1292 * xpath/impl/XPathStep.h: Removed.
1293 * xpath/impl/XPathUtil.cpp: Removed.
1294 * xpath/impl/XPathUtil.h: Removed.
1295 * xpath/impl/XPathValue.cpp: Removed.
1296 * xpath/impl/XPathValue.h: Removed.
1297 * xpath/impl/XPathVariableReference.cpp: Removed.
1298 * xpath/impl/XPathVariableReference.h: Removed.
1300 2006-08-10 David Harrison <harrison@apple.com>
1302 Reviewed by John Sullivan.
1304 <rdar://problem/4600112> REGRESSION: VO no longer able to review text within an edit field on web pages
1306 Test cases added: None. Manual AX testing is way too awkward, and automated testing
1307 is not possible. See following bug...
1308 <rdar://problem/4256882> Need automated testing support for accessibility APIs
1310 * bridge/mac/WebCoreAXObject.mm:
1311 (-[WebCoreAXObject value]):
1312 Add handling for text input fields.
1314 2006-08-09 Graham Dennis <graham.dennis@gmail.com>
1318 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10247
1319 REGRESSION: Unable to build webkit without SVG/XPATH
1321 * bindings/js/kjs_binding.cpp:
1322 (KJS::setDOMException):
1323 * bindings/js/kjs_dom.cpp:
1325 * bindings/js/kjs_html.cpp:
1326 (KJS::HTMLElementFunction::callAsFunction):
1327 * bindings/js/kjs_proxy.cpp:
1328 * bindings/js/kjs_proxy.h:
1329 * bindings/objc/DOMInternal.h:
1330 * bindings/objc/DOMInternal.mm:
1331 (raiseDOMException):
1332 * bindings/objc/DOMXPath.mm:
1333 * bindings/objc/DOMXPathInternal.h:
1334 * bindings/scripts/CodeGeneratorJS.pm:
1335 * bridge/mac/WebCoreFrameBridge.mm:
1336 (+[WebCoreFrameBridge supportedNonImageMIMETypes]):
1338 * css/CSSStyleDeclaration.cpp:
1339 (WebCore::propertyID):
1340 * css/cssparser.cpp:
1341 (WebCore::CSSParser::parseValue):
1343 * css/cssstyleselector.cpp:
1344 (WebCore::CSSStyleSelector::loadDefaultStyle):
1345 (WebCore::CSSStyleSelector::applyProperty):
1346 * css/cssstyleselector.h:
1348 (WebCore::Document::Document):
1349 (WebCore::Document::~Document):
1350 (WebCore::Document::createElementNS):
1351 (WebCore::Document::implicitClose):
1352 (WebCore::Document::recalcStyleSelector):
1353 (WebCore::Document::createEvent):
1357 (WebCore::Node::createRendererIfNeeded):
1359 * dom/XMLTokenizer.cpp:
1360 (WebCore::XMLTokenizer::endElementNs):
1361 (WebCore::XMLTokenizer::insertErrorMessageBlock):
1362 * html/HTMLEmbedElement.cpp:
1363 * html/HTMLEmbedElement.h:
1364 * html/HTMLObjectElement.cpp:
1365 * html/HTMLObjectElement.h:
1366 * kcanvas/KCanvasCreator.cpp:
1367 * kcanvas/KCanvasCreator.h:
1368 * kcanvas/KCanvasFilters.cpp:
1369 * kcanvas/KCanvasFilters.h:
1370 * kcanvas/KCanvasImage.h:
1371 * kcanvas/KCanvasMatrix.cpp:
1372 * kcanvas/KCanvasMatrix.h:
1373 * kcanvas/KCanvasPath.cpp:
1374 * kcanvas/KCanvasPath.h:
1375 * kcanvas/KCanvasResourceListener.h:
1376 * kcanvas/KCanvasResources.cpp:
1377 * kcanvas/KCanvasResources.h:
1378 * kcanvas/KCanvasTreeDebug.cpp:
1379 * kcanvas/RenderForeignObject.cpp:
1380 * kcanvas/RenderForeignObject.h:
1381 * kcanvas/RenderPath.cpp:
1382 * kcanvas/RenderPath.h:
1383 * kcanvas/RenderSVGContainer.cpp:
1384 * kcanvas/RenderSVGContainer.h:
1385 * kcanvas/RenderSVGImage.cpp:
1386 * kcanvas/RenderSVGImage.h:
1387 * kcanvas/RenderSVGText.cpp:
1388 * kcanvas/RenderSVGText.h:
1389 * kcanvas/device/KRenderingDevice.cpp:
1390 * kcanvas/device/KRenderingDevice.h:
1391 * kcanvas/device/KRenderingFillPainter.cpp:
1392 * kcanvas/device/KRenderingFillPainter.h:
1393 * kcanvas/device/KRenderingPaintServer.h:
1394 * kcanvas/device/KRenderingPaintServerGradient.cpp:
1395 * kcanvas/device/KRenderingPaintServerGradient.h:
1396 * kcanvas/device/KRenderingPaintServerPattern.cpp:
1397 * kcanvas/device/KRenderingPaintServerPattern.h:
1398 * kcanvas/device/KRenderingPaintServerSolid.cpp:
1399 * kcanvas/device/KRenderingPaintServerSolid.h:
1400 * kcanvas/device/KRenderingStrokePainter.cpp:
1401 * kcanvas/device/KRenderingStrokePainter.h:
1402 * kcanvas/device/quartz/KCanvasFilterQuartz.h:
1403 * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
1404 * kcanvas/device/quartz/KCanvasItemQuartz.mm:
1405 * kcanvas/device/quartz/KCanvasMaskerQuartz.mm:
1406 * kcanvas/device/quartz/KCanvasPathQuartz.mm:
1407 * kcanvas/device/quartz/KCanvasResourcesQuartz.mm:
1408 * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
1409 * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
1410 * kcanvas/device/quartz/KRenderingPaintServerGradientQuartz.mm:
1411 * kcanvas/device/quartz/KRenderingPaintServerQuartz.mm:
1412 * kcanvas/device/quartz/QuartzSupport.h:
1413 * kcanvas/device/quartz/QuartzSupport.mm:
1414 * ksvg2/bindings/js/JSSVGElementWrapperFactory.cpp:
1415 * ksvg2/bindings/js/JSSVGElementWrapperFactory.h:
1416 * ksvg2/css/SVGCSSParser.cpp:
1417 * ksvg2/css/SVGCSSStyleSelector.cpp:
1418 * ksvg2/css/SVGRenderStyle.cpp:
1419 * ksvg2/css/SVGRenderStyle.h:
1420 * ksvg2/css/SVGRenderStyleDefs.cpp:
1421 * ksvg2/css/SVGRenderStyleDefs.h:
1422 * ksvg2/ecma/GlobalObject.cpp:
1423 * ksvg2/ecma/GlobalObject.h:
1424 * ksvg2/events/JSSVGLazyEventListener.cpp:
1425 * ksvg2/events/JSSVGLazyEventListener.h:
1426 * ksvg2/events/SVGZoomEvent.cpp:
1427 * ksvg2/events/SVGZoomEvent.h:
1429 * ksvg2/misc/KCanvasRenderingStyle.cpp:
1430 * ksvg2/misc/KCanvasRenderingStyle.h:
1431 * ksvg2/misc/KSVGTimeScheduler.cpp:
1432 * ksvg2/misc/KSVGTimeScheduler.h:
1433 * ksvg2/misc/SVGDocumentExtensions.cpp:
1434 * ksvg2/misc/SVGDocumentExtensions.h:
1435 * ksvg2/misc/SVGImageLoader.cpp:
1436 * ksvg2/misc/SVGImageLoader.h:
1437 * ksvg2/svg/DOMList.h:
1438 * ksvg2/svg/SVGAElement.cpp:
1439 * ksvg2/svg/SVGAElement.h:
1440 * ksvg2/svg/SVGAngle.cpp:
1441 * ksvg2/svg/SVGAngle.h:
1442 * ksvg2/svg/SVGAnimateColorElement.cpp:
1443 * ksvg2/svg/SVGAnimateColorElement.h:
1444 * ksvg2/svg/SVGAnimateElement.cpp:
1445 * ksvg2/svg/SVGAnimateElement.h:
1446 * ksvg2/svg/SVGAnimateTransformElement.cpp:
1447 * ksvg2/svg/SVGAnimateTransformElement.h:
1448 * ksvg2/svg/SVGAnimatedAngle.cpp:
1449 * ksvg2/svg/SVGAnimatedAngle.h:
1450 * ksvg2/svg/SVGAnimatedBoolean.cpp:
1451 * ksvg2/svg/SVGAnimatedBoolean.h:
1452 * ksvg2/svg/SVGAnimatedColor.cpp:
1453 * ksvg2/svg/SVGAnimatedColor.h:
1454 * ksvg2/svg/SVGAnimatedEnumeration.cpp:
1455 * ksvg2/svg/SVGAnimatedEnumeration.h:
1456 * ksvg2/svg/SVGAnimatedInteger.cpp:
1457 * ksvg2/svg/SVGAnimatedInteger.h:
1458 * ksvg2/svg/SVGAnimatedLength.cpp:
1459 * ksvg2/svg/SVGAnimatedLength.h:
1460 * ksvg2/svg/SVGAnimatedLengthList.cpp:
1461 * ksvg2/svg/SVGAnimatedLengthList.h:
1462 * ksvg2/svg/SVGAnimatedNumber.cpp:
1463 * ksvg2/svg/SVGAnimatedNumber.h:
1464 * ksvg2/svg/SVGAnimatedNumberList.cpp:
1465 * ksvg2/svg/SVGAnimatedNumberList.h:
1466 * ksvg2/svg/SVGAnimatedPathData.cpp:
1467 * ksvg2/svg/SVGAnimatedPathData.h:
1468 * ksvg2/svg/SVGAnimatedPoints.cpp:
1469 * ksvg2/svg/SVGAnimatedPoints.h:
1470 * ksvg2/svg/SVGAnimatedPreserveAspectRatio.cpp:
1471 * ksvg2/svg/SVGAnimatedPreserveAspectRatio.h:
1472 * ksvg2/svg/SVGAnimatedRect.cpp:
1473 * ksvg2/svg/SVGAnimatedRect.h:
1474 * ksvg2/svg/SVGAnimatedString.cpp:
1475 * ksvg2/svg/SVGAnimatedString.h:
1476 * ksvg2/svg/SVGAnimatedTemplate.h:
1477 * ksvg2/svg/SVGAnimatedTransformList.cpp:
1478 * ksvg2/svg/SVGAnimatedTransformList.h:
1479 * ksvg2/svg/SVGAnimationElement.cpp:
1480 * ksvg2/svg/SVGAnimationElement.h:
1481 * ksvg2/svg/SVGCircleElement.cpp:
1482 * ksvg2/svg/SVGCircleElement.h:
1483 * ksvg2/svg/SVGClipPathElement.cpp:
1484 * ksvg2/svg/SVGClipPathElement.h:
1485 * ksvg2/svg/SVGColor.cpp:
1486 * ksvg2/svg/SVGColor.h:
1487 * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
1488 * ksvg2/svg/SVGComponentTransferFunctionElement.h:
1489 * ksvg2/svg/SVGCursorElement.cpp:
1490 * ksvg2/svg/SVGCursorElement.h:
1491 * ksvg2/svg/SVGDOMImplementation.cpp:
1492 * ksvg2/svg/SVGDOMImplementation.h:
1493 * ksvg2/svg/SVGDefsElement.cpp:
1494 * ksvg2/svg/SVGDefsElement.h:
1495 * ksvg2/svg/SVGDescElement.cpp:
1496 * ksvg2/svg/SVGDescElement.h:
1497 * ksvg2/svg/SVGDocument.cpp:
1498 * ksvg2/svg/SVGDocument.h:
1499 * ksvg2/svg/SVGElement.cpp:
1500 * ksvg2/svg/SVGElement.h:
1501 * ksvg2/svg/SVGElementInstance.cpp:
1502 * ksvg2/svg/SVGElementInstance.h:
1503 * ksvg2/svg/SVGElementInstanceList.cpp:
1504 * ksvg2/svg/SVGElementInstanceList.h:
1505 * ksvg2/svg/SVGEllipseElement.cpp:
1506 * ksvg2/svg/SVGEllipseElement.h:
1507 * ksvg2/svg/SVGExternalResourcesRequired.cpp:
1508 * ksvg2/svg/SVGExternalResourcesRequired.h:
1509 * ksvg2/svg/SVGFEBlendElement.cpp:
1510 * ksvg2/svg/SVGFEBlendElement.h:
1511 * ksvg2/svg/SVGFEColorMatrixElement.cpp:
1512 * ksvg2/svg/SVGFEColorMatrixElement.h:
1513 * ksvg2/svg/SVGFEComponentTransferElement.cpp:
1514 * ksvg2/svg/SVGFEComponentTransferElement.h:
1515 * ksvg2/svg/SVGFECompositeElement.cpp:
1516 * ksvg2/svg/SVGFECompositeElement.h:
1517 * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
1518 * ksvg2/svg/SVGFEDiffuseLightingElement.h:
1519 * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
1520 * ksvg2/svg/SVGFEDisplacementMapElement.h:
1521 * ksvg2/svg/SVGFEDistantLightElement.cpp:
1522 * ksvg2/svg/SVGFEDistantLightElement.h:
1523 * ksvg2/svg/SVGFEFloodElement.cpp:
1524 * ksvg2/svg/SVGFEFloodElement.h:
1525 * ksvg2/svg/SVGFEFuncAElement.cpp:
1526 * ksvg2/svg/SVGFEFuncAElement.h:
1527 * ksvg2/svg/SVGFEFuncBElement.cpp:
1528 * ksvg2/svg/SVGFEFuncBElement.h:
1529 * ksvg2/svg/SVGFEFuncGElement.cpp:
1530 * ksvg2/svg/SVGFEFuncGElement.h:
1531 * ksvg2/svg/SVGFEFuncRElement.cpp:
1532 * ksvg2/svg/SVGFEFuncRElement.h:
1533 * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
1534 * ksvg2/svg/SVGFEGaussianBlurElement.h:
1535 * ksvg2/svg/SVGFEImageElement.cpp:
1536 * ksvg2/svg/SVGFEImageElement.h:
1537 * ksvg2/svg/SVGFELightElement.cpp:
1538 * ksvg2/svg/SVGFELightElement.h:
1539 * ksvg2/svg/SVGFEMergeElement.cpp:
1540 * ksvg2/svg/SVGFEMergeElement.h:
1541 * ksvg2/svg/SVGFEMergeNodeElement.cpp:
1542 * ksvg2/svg/SVGFEMergeNodeElement.h:
1543 * ksvg2/svg/SVGFEOffsetElement.cpp:
1544 * ksvg2/svg/SVGFEOffsetElement.h:
1545 * ksvg2/svg/SVGFEPointLightElement.cpp:
1546 * ksvg2/svg/SVGFEPointLightElement.h:
1547 * ksvg2/svg/SVGFESpecularLightingElement.cpp:
1548 * ksvg2/svg/SVGFESpecularLightingElement.h:
1549 * ksvg2/svg/SVGFESpotLightElement.cpp:
1550 * ksvg2/svg/SVGFESpotLightElement.h:
1551 * ksvg2/svg/SVGFETileElement.cpp:
1552 * ksvg2/svg/SVGFETileElement.h:
1553 * ksvg2/svg/SVGFETurbulenceElement.cpp:
1554 * ksvg2/svg/SVGFETurbulenceElement.h:
1555 * ksvg2/svg/SVGFilterElement.cpp:
1556 * ksvg2/svg/SVGFilterElement.h:
1557 * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp:
1558 * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h:
1559 * ksvg2/svg/SVGFitToViewBox.cpp:
1560 * ksvg2/svg/SVGFitToViewBox.h:
1561 * ksvg2/svg/SVGForeignObjectElement.cpp:
1562 * ksvg2/svg/SVGForeignObjectElement.h:
1563 * ksvg2/svg/SVGGElement.cpp:
1564 * ksvg2/svg/SVGGElement.h:
1565 * ksvg2/svg/SVGGradientElement.cpp:
1566 * ksvg2/svg/SVGGradientElement.h:
1567 * ksvg2/svg/SVGHelper.cpp:
1568 * ksvg2/svg/SVGHelper.h:
1569 * ksvg2/svg/SVGImageElement.cpp:
1570 * ksvg2/svg/SVGImageElement.h:
1571 * ksvg2/svg/SVGLangSpace.cpp:
1572 * ksvg2/svg/SVGLangSpace.h:
1573 * ksvg2/svg/SVGLength.cpp:
1574 * ksvg2/svg/SVGLength.h:
1575 * ksvg2/svg/SVGLengthList.cpp:
1576 * ksvg2/svg/SVGLengthList.h:
1577 * ksvg2/svg/SVGLineElement.cpp:
1578 * ksvg2/svg/SVGLineElement.h:
1579 * ksvg2/svg/SVGLinearGradientElement.cpp:
1580 * ksvg2/svg/SVGLinearGradientElement.h:
1581 * ksvg2/svg/SVGList.h:
1582 * ksvg2/svg/SVGLocatable.cpp:
1583 * ksvg2/svg/SVGLocatable.h:
1584 * ksvg2/svg/SVGMarkerElement.cpp:
1585 * ksvg2/svg/SVGMarkerElement.h:
1586 * ksvg2/svg/SVGMaskElement.cpp:
1587 * ksvg2/svg/SVGMaskElement.h:
1588 * ksvg2/svg/SVGMatrix.cpp:
1589 * ksvg2/svg/SVGMatrix.h:
1590 * ksvg2/svg/SVGNumber.cpp:
1591 * ksvg2/svg/SVGNumber.h:
1592 * ksvg2/svg/SVGNumberList.cpp:
1593 * ksvg2/svg/SVGNumberList.h:
1594 * ksvg2/svg/SVGPaint.cpp:
1595 * ksvg2/svg/SVGPaint.h:
1596 * ksvg2/svg/SVGPathElement.cpp:
1597 * ksvg2/svg/SVGPathElement.h:
1598 * ksvg2/svg/SVGPathSeg.cpp:
1599 * ksvg2/svg/SVGPathSeg.h:
1600 * ksvg2/svg/SVGPathSegArc.cpp:
1601 * ksvg2/svg/SVGPathSegArc.h:
1602 * ksvg2/svg/SVGPathSegClosePath.cpp:
1603 * ksvg2/svg/SVGPathSegClosePath.h:
1604 * ksvg2/svg/SVGPathSegCurvetoCubic.cpp:
1605 * ksvg2/svg/SVGPathSegCurvetoCubic.h:
1606 * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.cpp:
1607 * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.h:
1608 * ksvg2/svg/SVGPathSegCurvetoQuadratic.cpp:
1609 * ksvg2/svg/SVGPathSegCurvetoQuadratic.h:
1610 * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.cpp:
1611 * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.h:
1612 * ksvg2/svg/SVGPathSegLineto.cpp:
1613 * ksvg2/svg/SVGPathSegLineto.h:
1614 * ksvg2/svg/SVGPathSegLinetoHorizontal.cpp:
1615 * ksvg2/svg/SVGPathSegLinetoHorizontal.h:
1616 * ksvg2/svg/SVGPathSegLinetoVertical.cpp:
1617 * ksvg2/svg/SVGPathSegLinetoVertical.h:
1618 * ksvg2/svg/SVGPathSegList.cpp:
1619 * ksvg2/svg/SVGPathSegList.h:
1620 * ksvg2/svg/SVGPathSegMoveto.cpp:
1621 * ksvg2/svg/SVGPathSegMoveto.h:
1622 * ksvg2/svg/SVGPatternElement.cpp:
1623 * ksvg2/svg/SVGPatternElement.h:
1624 * ksvg2/svg/SVGPoint.cpp:
1625 * ksvg2/svg/SVGPoint.h:
1626 * ksvg2/svg/SVGPointList.cpp:
1627 * ksvg2/svg/SVGPointList.h:
1628 * ksvg2/svg/SVGPolyElement.cpp:
1629 * ksvg2/svg/SVGPolyElement.h:
1630 * ksvg2/svg/SVGPolygonElement.cpp:
1631 * ksvg2/svg/SVGPolygonElement.h:
1632 * ksvg2/svg/SVGPolylineElement.cpp:
1633 * ksvg2/svg/SVGPolylineElement.h:
1634 * ksvg2/svg/SVGPreserveAspectRatio.cpp:
1635 * ksvg2/svg/SVGPreserveAspectRatio.h:
1636 * ksvg2/svg/SVGRadialGradientElement.cpp:
1637 * ksvg2/svg/SVGRadialGradientElement.h:
1638 * ksvg2/svg/SVGRect.cpp:
1639 * ksvg2/svg/SVGRect.h:
1640 * ksvg2/svg/SVGRectElement.cpp:
1641 * ksvg2/svg/SVGRectElement.h:
1642 * ksvg2/svg/SVGSVGElement.cpp:
1643 * ksvg2/svg/SVGSVGElement.h:
1644 * ksvg2/svg/SVGScriptElement.cpp:
1645 * ksvg2/svg/SVGScriptElement.h:
1646 * ksvg2/svg/SVGSetElement.cpp:
1647 * ksvg2/svg/SVGSetElement.h:
1648 * ksvg2/svg/SVGStopElement.cpp:
1649 * ksvg2/svg/SVGStopElement.h:
1650 * ksvg2/svg/SVGStringList.cpp:
1651 * ksvg2/svg/SVGStringList.h:
1652 * ksvg2/svg/SVGStylable.cpp:
1653 * ksvg2/svg/SVGStylable.h:
1654 * ksvg2/svg/SVGStyleElement.cpp:
1655 * ksvg2/svg/SVGStyleElement.h:
1656 * ksvg2/svg/SVGStyledElement.cpp:
1657 * ksvg2/svg/SVGStyledElement.h:
1658 * ksvg2/svg/SVGStyledLocatableElement.cpp:
1659 * ksvg2/svg/SVGStyledLocatableElement.h:
1660 * ksvg2/svg/SVGStyledTransformableElement.cpp:
1661 * ksvg2/svg/SVGStyledTransformableElement.h:
1662 * ksvg2/svg/SVGSwitchElement.cpp:
1663 * ksvg2/svg/SVGSwitchElement.h:
1664 * ksvg2/svg/SVGSymbolElement.cpp:
1665 * ksvg2/svg/SVGSymbolElement.h:
1666 * ksvg2/svg/SVGTRefElement.cpp:
1667 * ksvg2/svg/SVGTRefElement.h:
1668 * ksvg2/svg/SVGTSpanElement.cpp:
1669 * ksvg2/svg/SVGTSpanElement.h:
1670 * ksvg2/svg/SVGTests.cpp:
1671 * ksvg2/svg/SVGTests.h:
1672 * ksvg2/svg/SVGTextContentElement.cpp:
1673 * ksvg2/svg/SVGTextContentElement.h:
1674 * ksvg2/svg/SVGTextElement.cpp:
1675 * ksvg2/svg/SVGTextElement.h:
1676 * ksvg2/svg/SVGTextPositioningElement.cpp:
1677 * ksvg2/svg/SVGTextPositioningElement.h:
1678 * ksvg2/svg/SVGTitleElement.cpp:
1679 * ksvg2/svg/SVGTitleElement.h:
1680 * ksvg2/svg/SVGTransform.cpp:
1681 * ksvg2/svg/SVGTransform.h:
1682 * ksvg2/svg/SVGTransformList.cpp:
1683 * ksvg2/svg/SVGTransformList.h:
1684 * ksvg2/svg/SVGTransformable.cpp:
1685 * ksvg2/svg/SVGTransformable.h:
1686 * ksvg2/svg/SVGURIReference.cpp:
1687 * ksvg2/svg/SVGURIReference.h:
1688 * ksvg2/svg/SVGUseElement.cpp:
1689 * ksvg2/svg/SVGUseElement.h:
1690 * ksvg2/svg/SVGViewElement.cpp:
1691 * ksvg2/svg/SVGViewElement.h:
1692 * ksvg2/svg/SVGZoomAndPan.cpp:
1693 * ksvg2/svg/SVGZoomAndPan.h:
1694 * ksvg2/svg/svgpathparser.cpp:
1695 * ksvg2/svg/svgpathparser.h:
1696 * page/DOMWindow.idl:
1698 (WebCore::Frame::Frame):
1699 (WebCore::Frame::begin):
1700 (WebCore::Frame::pauseTimeouts):
1701 (WebCore::Frame::resumeTimeouts):
1702 * platform/GraphicsContext.h:
1703 * platform/cg/GraphicsContextCG.cpp:
1704 * rendering/RenderLayer.cpp:
1705 (WebCore::RenderLayer::isTransparent):
1706 * rendering/RenderObject.cpp:
1707 (WebCore::RenderObject::containingBlock):
1708 * rendering/RenderObject.h:
1709 * rendering/RenderStyle.cpp:
1710 (WebCore::RenderStyle::RenderStyle):
1711 (WebCore::RenderStyle::inheritFrom):
1712 (WebCore::RenderStyle::operator==):
1713 (WebCore::RenderStyle::inheritedNotEqual):
1714 (WebCore::RenderStyle::diff):
1715 * rendering/RenderStyle.h:
1716 * rendering/RenderTreeAsText.cpp:
1718 (WebCore::externalRepresentation):
1719 * xpath/XPathEvaluator.cpp:
1720 * xpath/XPathEvaluator.h:
1721 * xpath/XPathExpression.cpp:
1722 * xpath/XPathExpression.h:
1723 * xpath/XPathNSResolver.cpp:
1724 * xpath/XPathNSResolver.h:
1725 * xpath/XPathNamespace.cpp:
1726 * xpath/XPathNamespace.h:
1727 * xpath/XPathResult.cpp:
1728 * xpath/XPathResult.h:
1729 * xpath/impl/XPathExpressionNode.cpp:
1730 * xpath/impl/XPathExpressionNode.h:
1731 * xpath/impl/XPathFunctions.cpp:
1732 * xpath/impl/XPathFunctions.h:
1733 * xpath/impl/XPathGrammar.y:
1734 * xpath/impl/XPathParser.cpp:
1735 * xpath/impl/XPathParser.h:
1736 * xpath/impl/XPathPath.cpp:
1737 * xpath/impl/XPathPath.h:
1738 * xpath/impl/XPathPredicate.cpp:
1739 * xpath/impl/XPathPredicate.h:
1740 * xpath/impl/XPathStep.cpp:
1741 * xpath/impl/XPathStep.h:
1742 * xpath/impl/XPathUtil.cpp:
1743 * xpath/impl/XPathUtil.h:
1744 * xpath/impl/XPathValue.cpp:
1745 * xpath/impl/XPathValue.h:
1746 * xpath/impl/XPathVariableReference.cpp:
1747 * xpath/impl/XPathVariableReference.h:
1749 Change all #if SVG_SUPPORT to #ifdef SVG_SUPPORT and
1750 #if XPATH_SUPPORT to #ifdef XPATH_SUPPORT
1751 (except for one #if !SVG_SUPPORT to a #ifndef SVG_SUPPORT
1752 in RenderTreeAsText.cpp)
1754 2006-08-08 Rob Buis <buis@kde.org>
1758 http://bugzilla.opendarwin.org/show_bug.cgi?id=10230
1759 SVGDOMImplementation should die (and be rolled into DOMImplementation)
1761 Delete SVGDOMImplementation and references to it. The
1762 svg specific functionality is now in DOMImplementation.
1764 * WebCore.xcodeproj/project.pbxproj:
1765 * dom/DOMImplementation.cpp:
1766 (WebCore::svgFeatureSet):
1767 (WebCore::DOMImplementation::hasFeature):
1768 (WebCore::DOMImplementation::createDocument):
1769 (WebCore::DOMImplementation::createSVGDocument):
1770 * dom/DOMImplementation.h:
1771 * ksvg2/bindings/idl/svg/SVGDOMImplementation.idl: Removed.
1772 * ksvg2/misc/KSVGTimeScheduler.cpp:
1773 * ksvg2/svg/SVGColor.cpp:
1774 * ksvg2/svg/SVGComponentTransferFunctionElement.cpp:
1775 * ksvg2/svg/SVGDocument.cpp:
1776 (WebCore::SVGDocument::SVGDocument):
1777 * ksvg2/svg/SVGDocument.h:
1778 * ksvg2/svg/SVGElement.cpp:
1779 (WebCore::SVGElement::isSupported):
1780 * ksvg2/svg/SVGFEBlendElement.cpp:
1781 * ksvg2/svg/SVGFEColorMatrixElement.cpp:
1782 * ksvg2/svg/SVGFEComponentTransferElement.cpp:
1783 * ksvg2/svg/SVGFECompositeElement.cpp:
1784 * ksvg2/svg/SVGFEDiffuseLightingElement.cpp:
1785 * ksvg2/svg/SVGFEDisplacementMapElement.cpp:
1786 * ksvg2/svg/SVGFEFloodElement.cpp:
1787 * ksvg2/svg/SVGFEGaussianBlurElement.cpp:
1788 * ksvg2/svg/SVGFELightElement.cpp:
1789 * ksvg2/svg/SVGFEMergeElement.cpp:
1790 * ksvg2/svg/SVGFEOffsetElement.cpp:
1791 * ksvg2/svg/SVGFESpecularLightingElement.cpp:
1792 * ksvg2/svg/SVGFETileElement.cpp:
1793 * ksvg2/svg/SVGFETurbulenceElement.cpp:
1794 * ksvg2/svg/SVGGradientElement.cpp:
1795 * ksvg2/svg/SVGPatternElement.cpp:
1796 * ksvg2/svg/SVGPolyElement.cpp:
1797 * ksvg2/svg/SVGStopElement.cpp:
1798 * ksvg2/svg/SVGStyledElement.cpp:
1799 * ksvg2/svg/SVGStyledTransformableElement.cpp:
1800 * ksvg2/svg/SVGTests.cpp:
1801 (WebCore::SVGTests::isValid):
1802 * ksvg2/svg/SVGTransformable.cpp:
1804 (WebCore::Frame::begin):
1806 2006-08-07 Brady Eidson <beidson@apple.com>
1808 Reviewed by Anders and John
1810 Icons can now refresh when new data is sent from WebKit, both on disk and in memory
1812 * bridge/mac/WebCoreIconDatabaseBridge.h:
1813 * bridge/mac/WebCoreIconDatabaseBridge.mm:
1814 (WebCore::IconDatabase::loadIconFromURL): Allows WebCore/Kit to kick off a load
1815 outside of any greater context
1816 (-[WebCoreIconDatabaseBridge isIconExpiredForIconURL:]):
1817 (-[WebCoreIconDatabaseBridge isIconExpiredForPageURL:]): Allows WebKit
1818 to get whether or not an icon has expired
1820 * loader/icon/IconDatabase.cpp:
1821 (WebCore::IconDatabase::recreateDatabase): Changed database schema slightly
1822 (WebCore::IconDatabase::createPrivateTables): Changed database schema slightly
1823 (WebCore::IconDatabase::iconForPageURL):
1824 (WebCore::IconDatabase::isIconExpiredForIconURL): Get if an icon has expired
1825 (WebCore::IconDatabase::isIconExpiredForPageURL): Get if an icon has expired
1826 (WebCore::IconDatabase::setIconDataForIconURL): Force a refresh of the in memory
1827 image when new icon data is loaded
1828 (WebCore::IconDatabase::setIconURLForPageURL): added a check for null iconID
1830 * loader/icon/IconDatabase.h: added/changed some methods
1831 * loader/icon/SiteIcon.cpp:
1832 (SiteIcon::getImage): simplified/removed debugging code
1833 (SiteIcon::manuallySetImageData): allow the image data to be changed when new icon
1836 2006-08-05 Darin Adler <darin@apple.com>
1838 Reviewed by Eric Seidel.
1840 - fix a storage leak
1842 * rendering/RenderView.cpp: (WebCore::RenderView::setSelection):
1843 Delete the values if we are going to exit without using the maps.
1844 Otherwise all the values leak.
1846 2006-08-05 Darin Adler <darin@apple.com>
1850 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10213
1851 REGRESSION: Crash in WebCore::RenderLayer::isTransparent involving <iframe> and <select>
1853 Test: fast/frames/iframe-option-crash.xhtml
1855 * rendering/RenderView.cpp: (WebCore::RenderView::paintBoxDecorations):
1856 Check for a nil renderer.
1858 2006-08-04 David Hyatt <hyatt@apple.com>
1860 Fix for Radar bug #4644045, regression where dragging selection no longer
1861 works for floats contained inside layers. I added an optimization to
1862 refine dirty rect checking for layers, and it incorrectly excluded floats
1863 from the paint bounds since PaintPhaseSelection was not considered when
1864 analyzing the floatRect().
1868 * rendering/RenderBlock.cpp:
1869 (WebCore::RenderBlock::paint):
1871 2006-08-04 David Hyatt <hyatt@apple.com>
1873 Fix remove() so that it is equivalent to calling removeChild on the
1874 parent. This involved moving three operations that remove did.
1876 (1) Move the accessibility object cache removal into the destroy methods,
1877 since this really should just happen when a render object is going away.
1879 (2) removeFromObjectLists shifted into removeChild, which means it will
1880 now be called more often (this is a correct change). Note that there is
1881 also now a new guard on removeFromObjectLists so that it won't do any
1882 work unless the document is not being destroyed.
1884 (3) The big one. deleteLineBoxWrapper was not getting called to clean up
1885 the line box tree. This moved right into RenderContainer's removeChildNode so
1886 that it is now done even in the lowest level RenderContainer removal primitive.
1890 * rendering/RenderContainer.cpp:
1891 (WebCore::RenderContainer::removeChildNode):
1892 (WebCore::RenderContainer::removeChild):
1893 * rendering/RenderObject.cpp:
1894 (WebCore::RenderObject::removeFromObjectLists):
1895 (WebCore::RenderObject::destroy):
1896 * rendering/RenderObject.h:
1897 (WebCore::RenderObject::remove):
1898 * rendering/RenderWidget.cpp:
1899 (WebCore::RenderWidget::destroy):
1901 2006-08-04 David Hyatt <hyatt@apple.com>
1903 Back out the fix for list marker crashes. The actual bug here is that
1904 there is a confusing mismatch between remove() and removeChild() in the
1905 render tree. remove() does a little bit of extra work that removeChild
1906 should be doing instead (so that remove() can just be a shorthand for
1909 This conservative fix does not solve the remove/removeChild mismatch
1910 but instead just changes the list marker updating code to use remove
1915 Test Case: fast/lists/dynamic-marker-crash.html
1917 * rendering/ListMarkerBox.cpp:
1918 * rendering/ListMarkerBox.h:
1919 * rendering/RenderListItem.cpp:
1920 (WebCore::RenderListItem::updateMarkerLocation):
1922 2006-08-04 Sam Weinig <sam.weinig@gmail.com>
1926 - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10192
1927 Make WebCore (and friends) compile with -Wshorten-64-to-32
1929 * Adds -Wshorten-64-to-32 flag to Xcode project.
1930 * Adds 'f' to float literals where expecting a float.
1931 * Use cosf() instead of cos() when assigning to a float.
1933 * WebCore.xcodeproj/project.pbxproj:
1934 * kcanvas/device/quartz/filters/WKDiffuseLightingFilter.m:
1935 (+[WKDiffuseLightingFilter initialize]):
1936 * kcanvas/device/quartz/filters/WKDiscreteTransferFilter.m:
1937 (-[WKDiscreteTransferFilter outputImage]):
1938 * kcanvas/device/quartz/filters/WKDisplacementMapFilter.m:
1939 (+[WKDisplacementMapFilter initialize]):
1940 * kcanvas/device/quartz/filters/WKSpecularLightingFilter.m:
1941 (+[WKSpecularLightingFilter initialize]):
1942 * kcanvas/device/quartz/filters/WKSpotLightFilter.m:
1943 (-[WKSpotLightFilter outputImage]):
1944 * kcanvas/device/quartz/filters/WKTableTransferFilter.m:
1945 (-[WKTableTransferFilter outputImage]):
1947 2006-08-03 David Hyatt <hyatt@apple.com>
1949 Fix for bug 10229, don't bother trying to clear when no floats are
1950 present. I suspect there's still a bug in the math that follows, but
1951 this fix is safer in that it just does the obvious thing (and doesn't
1952 compute any clearance if no floats are even around).
1957 * rendering/RenderBlock.cpp:
1958 (WebCore::RenderBlock::getClearDelta):
1960 2006-08-03 Justin Garcia <justin.garcia@apple.com>
1962 Reviewed by harrison
1964 <rdar://problem/4641033/4515463/4052426/4046570/4053718/4053724/4060115/4062858>
1965 Copy/Paste fidelity was bad.
1967 * editing/ApplyStyleCommand.cpp:
1968 (WebCore::ApplyStyleCommand::applyInlineStyle):
1969 * editing/markup.cpp:
1970 (WebCore::startMarkup): We were not adding non-inheritable styles
1971 to the markup for an element unless they were in the elements inline
1974 2006-08-03 Sam Weinig <sam.weinig@gmail.com>
1978 - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10176
1979 Make WebCore compile with -Wundef
1981 * Adds -Wundef flag to Xcode project
1982 * Converts #ifs to #ifdef and #ifndefs where needed.
1983 * Replaces #ifdef WIN32 with #if PLATFORM(WIN_OS) or PLATFORM(WIN)
1984 (and in one instance in config.h with #if !COMPILER(MSVC))
1985 * Added #define YYMAXDEPTH 10000 in XPathGrammar.y and CSSGrammar.y
1986 to fix a warning from within Bison.
1987 * Cleaned up style a little in surrounding code.
1989 * WebCore.xcodeproj/project.pbxproj:
1990 * bridge/mac/WebCoreAXObject.mm:
1991 (-[WebCoreAXObject doAXTextMarkerRangeForUnorderedTextMarkers:]):
1994 * css/MediaFeatureNames.cpp:
1995 * css/MediaFeatureNames.h:
1996 * css/cssparser.cpp:
1997 * dom/ContainerNode.cpp:
1998 (WebCore::ContainerNode::setActive):
2000 (WebCore::Element::attach):
2002 * dom/EventNames.cpp:
2004 * dom/NamedAttrMap.h:
2006 * dom/QualifiedName.cpp:
2007 * dom/QualifiedName.h:
2009 * dom/XMLTokenizer.cpp:
2010 (WebCore::XMLTokenizer::error):
2011 * html/HTMLTokenizer.cpp:
2012 (WebCore::HTMLTokenizer::scriptHandler):
2013 (WebCore::HTMLTokenizer::scriptExecution):
2014 (WebCore::HTMLTokenizer::parseTag):
2015 (WebCore::HTMLTokenizer::continueProcessing):
2016 (WebCore::HTMLTokenizer::write):
2017 (WebCore::HTMLTokenizer::timerFired):
2018 (WebCore::HTMLTokenizer::notifyFinished):
2019 * kcanvas/device/quartz/KCanvasFilterQuartz.h:
2020 * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
2021 * ksvg2/css/SVGRenderStyle.h:
2022 * ksvg2/css/SVGRenderStyleDefs.h:
2023 * ksvg2/scripts/make_names.pl:
2024 * loader/CachedResource.h:
2025 * loader/LoaderFunctions.h:
2028 * page/FrameTree.cpp:
2029 * page/FrameView.cpp:
2030 (WebCore::FrameView::clear):
2031 (WebCore::FrameView::layout):
2032 (WebCore::FrameView::layoutTimerFired):
2033 (WebCore::FrameView::scheduleRelayout):
2034 (WebCore::FrameView::unscheduleRelayout):
2035 * platform/AtomicString.cpp:
2036 * platform/AtomicString.h:
2037 * platform/Cursor.h:
2038 * platform/DeprecatedArray.h:
2039 * platform/DeprecatedString.cpp:
2040 (WebCore::allocateHandle):
2041 (WebCore::initializeHandleNodeBlock):
2042 (WebCore::freeHandle):
2043 * platform/FloatPoint.h:
2044 * platform/FloatRect.h:
2045 * platform/FloatSize.h:
2046 * platform/GraphicsContext.h:
2048 * platform/IntPoint.h:
2049 * platform/IntRect.h:
2050 (WebCore::IntRect::inflateX):
2051 (WebCore::IntRect::inflateY):
2052 * platform/IntSize.h:
2053 * platform/PlatformKeyboardEvent.h:
2054 * platform/PlatformMouseEvent.h:
2055 * platform/PlatformString.h:
2056 * platform/ResourceLoader.h:
2057 * platform/ResourceLoaderInternal.h:
2058 (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
2059 * platform/ScrollView.h:
2060 * platform/StaticConstructors.h:
2061 * platform/StreamingTextDecoderICU.cpp:
2062 (WebCore::StreamingTextDecoderICU::convert):
2063 * platform/StringImpl.h:
2064 * platform/Widget.h:
2065 * platform/mac/BlockExceptions.mm:
2066 * platform/mac/ColorMac.mm:
2067 (+[WebCoreControlTintObserver WebCore]):
2068 * platform/mac/FloatPointMac.mm:
2069 * platform/mac/FloatRectMac.mm:
2070 * platform/mac/FloatSizeMac.mm:
2071 * platform/mac/FontMac.mm:
2072 * platform/mac/GraphicsContextMac.mm:
2073 (WebCore::GraphicsContext::drawFocusRing):
2074 * platform/mac/IntPointMac.mm:
2075 * platform/mac/IntRectMac.mm:
2076 * platform/mac/IntSizeMac.mm:
2077 * platform/mac/WebCoreSystemInterface.h:
2078 * rendering/RenderBlock.h:
2079 * rendering/RenderTableCell.h:
2080 * rendering/bidi.cpp:
2081 (WebCore::appendRun):
2082 (WebCore::RenderBlock::layoutInlineChildren):
2083 * xml/XSLTProcessor.cpp:
2084 (WebCore::parseErrorFunc):
2085 * xpath/impl/XPathGrammar.y:
2087 2006-08-03 Adam Roben <aroben@apple.com>
2089 Reviewed by Maciej and Beth.
2091 Fix use-after-dispose heap corruption bug.
2093 * rendering/ListMarkerBox.cpp:
2094 (WebCore::ListMarkerBox::destroy): Only call removeChild if we're not
2095 destroying the document
2097 2006-08-03 Adam Roben <aroben@apple.com>
2101 - Fixed Windows build.
2103 * platform/Color.cpp:
2104 (WebCore::makeRGBAFromHSLA): Whitespace change
2105 * platform/win/TemporaryLinkStubs.cpp: Add new method stubs
2106 (PlatformScrollBar::PlatformScrollBar):
2107 (PlatformScrollBar::~PlatformScrollBar):
2108 (PlatformScrollBar::width):
2109 (PlatformScrollBar::height):
2110 (PlatformScrollBar::setEnabled):
2111 (PlatformScrollBar::paint):
2112 (PlatformScrollBar::setScrollBarValue):
2113 (PlatformScrollBar::setKnobProportion):
2114 (PlatformScrollBar::setRect):
2115 (ScrollBar::ScrollBar):
2116 (ScrollBar::scroll):
2117 (ScrollBar::setValue):
2119 2006-08-02 Justin Garcia <justin.garcia@apple.com>
2123 <http://bugzilla.opendarwin.org/show_bug.cgi?id=10225>
2124 GMail Editor: Change Hilite Color doesn't work
2126 * editing/JSEditor.cpp: Added support for execCommand("HiliteColor", ...).
2127 It's what GMail uses to implement text hiliting. It's just a synonym for BackColor.
2128 * editing/SelectionController.cpp:
2129 (WebCore::SelectionController::nodeWillBeRemoved): Moved a comment
2130 a more appropriate place.
2132 2006-08-03 Mitz Pettel <opendarwin.org@mitzpettel.com>
2134 Reviewed by Adele and Darin.
2136 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10177
2137 REGRESSION: Successfully dragging text into a disabled field
2139 Test: fast/forms/textfield-drag-into-disabled.html
2141 * rendering/RenderTextControl.cpp:
2142 (WebCore::RenderTextControl::createDivStyle): Changed to set -webkit-user-modify
2143 to read-only on the inner div if the control is disabled.
2144 (WebCore::RenderTextControl::updateFromElement): Ditto.
2146 2006-08-03 Mitz Pettel <opendarwin.org@mitzpettel.com>
2150 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10198
2151 REGRESSION: WebKit r15750 crashes while loading anthem.com
2153 Test: fast/overflow/generated-content-crash.html
2155 * rendering/RenderLayer.cpp:
2156 (WebCore::RenderLayer::updateScrollInfoAfterLayout): Added a null check for
2157 the renderer's element. Generated content does not have an element and
2158 therefore does not need to maintain overflow status.
2160 2006-08-03 Mitz Pettel <opendarwin.org@mitzpettel.com>
2164 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10202
2165 REGRESSION: Repro crash when loading an empty image document
2167 Test: fast/tokenizer/image-empty-crash.html
2169 * loader/ImageDocument.cpp:
2170 (WebCore::ImageTokenizer::stopParsing): Added null check for m_imageElement.
2171 (WebCore::ImageTokenizer::finish): Ditto.
2173 2006-08-03 Darin Adler <darin@apple.com>
2177 - clean up "flip"-related code a tiny bit
2179 * platform/Screen.h: Removed redundant parameter names.
2180 * platform/mac/ScreenMac.mm:
2181 (WebCore::flipScreenRect): Changed to call flipScreenPoint so we only have one
2182 copy of the flipping code.
2183 (WebCore::flipScreenPoint): Fixed indentation.
2185 * bridge/mac/WebCoreFrameBridge.mm: (globalPoint): Removed type casts and
2188 * platform/mac/PlatformMouseEventMac.mm: (WebCore::globalPositionForEvent):
2189 * platform/mac/WheelEventMac.mm: (WebCore::globalPositionForEvent):
2190 Removed unneeded local variable.
2192 2006-08-02 David Hyatt <hyatt@apple.com>
2194 Abstract RenderLayer scrollbar creation and destruction so that there
2195 is a clean spot in which to drop in engine scrollbar stuff.
2199 * platform/ScrollBar.h:
2200 (WebCore::ScrollBar::hasPlatformScrollBars):
2201 * rendering/RenderLayer.cpp:
2202 (WebCore::RenderLayer::createScrollbar):
2203 (WebCore::RenderLayer::destroyScrollbar):
2204 (WebCore::RenderLayer::setHasHorizontalScrollbar):
2205 (WebCore::RenderLayer::setHasVerticalScrollbar):
2206 * rendering/RenderLayer.h:
2208 2006-08-02 Mitz Pettel <opendarwin.org@mitzpettel.com>
2212 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=3438
2213 incorrect display of transparent 1x1 PNGs
2215 Test: fast/replaced/image-solid-color-with-alpha.html
2217 * platform/mac/ImageMac.mm:
2218 (WebCore::Image::checkForSolidColor): Changed to divide each color component
2219 by the alpha component. You need to do that since the bitmap context has
2220 premultiplied alpha but m_solidColor should be non-premultiplied.
2222 2006-08-02 Adam Roben <aroben@apple.com>
2226 - Remove redundant #include
2228 * loader/loader.cpp:
2230 2006-07-31 Sam Weinig <sam.weinig@gmail.com>
2234 - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=9955
2235 Colors scaled from [0, 1] range to [0, 255] incorrectly
2237 Fixes scaling issue and fixes Color to follow style guidelines.
2239 * css/cssstyleselector.cpp:
2240 (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
2241 * platform/Color.cpp:
2243 (WebCore::makeRGBAFromHSLA):
2244 (WebCore::Color::Color):
2245 (WebCore::Color::name):
2246 (WebCore::Color::setNamedColor):
2247 (WebCore::Color::light):
2248 (WebCore::Color::dark):
2251 (WebCore::Color::Color):
2252 (WebCore::Color::isValid):
2253 (WebCore::Color::red):
2254 (WebCore::Color::green):
2255 (WebCore::Color::blue):
2256 (WebCore::Color::alpha):
2257 (WebCore::Color::rgb):
2258 (WebCore::Color::setRGB):
2259 (WebCore::operator==):
2260 (WebCore::operator!=):
2261 * rendering/RenderObject.cpp:
2262 (WebCore::RenderObject::drawBorder):
2264 2006-07-31 Mitz Pettel <opendarwin.org@mitzpettel.com>
2266 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10158
2267 REGRESSION: Selection highlight is dark and opaque when solid-color images are used
2271 Pixel test: fast/backgrounds/solid-color-context-restore.html
2273 * platform/mac/ImageMac.mm:
2274 (WebCore::Image::draw): Added calls to preserve the graphics context
2275 around the painting of a solid color image.
2276 (WebCore::Image::drawTiled): Ditto.
2278 2006-07-31 Maciej Stachowiak <mjs@apple.com>
2280 Rubber-stamped by Tim Hatcher.
2282 - renamed TransferJob to ResourceLoader
2284 * Projects/gdk/webcore-gdk.bkl:
2285 * WebCore.vcproj/WebCore/WebCore.vcproj:
2286 * WebCore.xcodeproj/project.pbxproj:
2287 * WebCoreSources.bkl:
2288 * bridge/mac/FrameMac.mm:
2289 * bridge/mac/WebCoreResourceLoaderImp.h:
2290 * bridge/mac/WebCoreResourceLoaderImp.mm:
2291 (-[WebCoreResourceLoaderImp redirectedToURL:]):
2292 (-[WebCoreResourceLoaderImp addData:]):
2293 (-[WebCoreResourceLoaderImp finishJobAndHandle:]):
2294 * bridge/win/FrameWin.cpp:
2295 * dom/XMLTokenizer.cpp:
2296 (WebCore::openFunc):
2298 * loader/LoaderFunctions.h:
2299 * loader/loader.cpp:
2300 (WebCore::Loader::servePendingRequests):
2301 (WebCore::Loader::receivedAllData):
2302 (WebCore::Loader::receivedResponse):
2303 (WebCore::Loader::receivedData):
2304 (WebCore::Loader::cancelRequests):
2305 (WebCore::Loader::jobForRequest):
2307 * loader/mac/LoaderFunctionsMac.mm:
2308 (WebCore::ServeSynchronousRequest):
2309 * platform/ResourceLoader.cpp: Added.
2310 (WebCore::ResourceLoader::ResourceLoader):
2311 (WebCore::ResourceLoader::isErrorPage):
2312 (WebCore::ResourceLoader::error):
2313 (WebCore::ResourceLoader::setError):
2314 (WebCore::ResourceLoader::queryMetaData):
2315 (WebCore::ResourceLoader::addMetaData):
2316 (WebCore::ResourceLoader::kill):
2317 (WebCore::ResourceLoader::url):
2318 (WebCore::ResourceLoader::postData):
2319 (WebCore::ResourceLoader::method):
2320 (WebCore::ResourceLoader::client):
2321 * platform/ResourceLoader.h: Added.
2322 (WebCore::ResourceLoader::getInternal):
2323 * platform/ResourceLoaderClient.h: Added.
2324 (WebCore::ResourceLoaderClient::~ResourceLoaderClient):
2325 (WebCore::ResourceLoaderClient::receivedRedirect):
2326 (WebCore::ResourceLoaderClient::receivedResponse):
2327 (WebCore::ResourceLoaderClient::receivedData):
2328 (WebCore::ResourceLoaderClient::receivedAllData):
2329 * platform/ResourceLoaderInternal.h: Added.
2330 (WebCore::ResourceLoaderInternal::ResourceLoaderInternal):
2331 * platform/TransferJob.cpp: Removed.
2332 * platform/TransferJob.h: Removed.
2333 * platform/TransferJobClient.h: Removed.
2334 * platform/TransferJobInternal.h: Removed.
2335 * platform/gdk/FrameGdk.cpp:
2336 (WebCore::FrameGdk::openURL):
2337 (WebCore::FrameGdk::urlSelected):
2338 (WebCore::FrameGdk::receivedData):
2339 (WebCore::FrameGdk::receivedAllData):
2340 * platform/gdk/FrameGdk.h:
2341 * platform/gdk/ResourceLoaderCurl.cpp: Added.
2342 (WebCore::ResourceLoaderInternal::~ResourceLoaderInternal):
2343 (WebCore::ResourceLoader::~ResourceLoader):
2344 (WebCore::ResourceLoader::start):
2345 (WebCore::ResourceLoader::cancel):
2346 * platform/gdk/ResourceLoaderManager.cpp: Added.
2347 (WebCore::ResourceLoaderManager::ResourceLoaderManager):
2348 (WebCore::ResourceLoaderManager::get):
2349 (WebCore::ResourceLoaderManager::useSimpleTransfer):
2350 (WebCore::writeCallback):
2351 (WebCore::ResourceLoaderManager::downloadTimerCallback):
2352 (WebCore::ResourceLoaderManager::remove):
2353 (WebCore::ResourceLoaderManager::add):
2354 (WebCore::ResourceLoaderManager::cancel):
2355 * platform/gdk/ResourceLoaderManager.h: Added.
2356 * platform/gdk/TemporaryLinkStubs.cpp:
2357 (WebCore::ServeSynchronousRequest):
2358 (WebCore::ResourceLoader::assembleResponseHeaders):
2359 (WebCore::ResourceLoader::retrieveCharset):
2360 * platform/gdk/TransferJobCurl.cpp: Removed.
2361 * platform/gdk/TransferJobManager.cpp: Removed.
2362 * platform/gdk/TransferJobManager.h: Removed.
2363 * platform/mac/ResourceLoaderMac.mm: Added.
2364 (WebCore::ResourceLoaderInternal::~ResourceLoaderInternal):
2365 (WebCore::ResourceLoader::~ResourceLoader):
2366 (WebCore::ResourceLoader::start):
2367 (WebCore::ResourceLoader::assembleResponseHeaders):
2368 (WebCore::ResourceLoader::retrieveCharset):
2369 (WebCore::ResourceLoader::setLoader):
2370 (WebCore::ResourceLoader::receivedResponse):
2371 (WebCore::ResourceLoader::cancel):
2372 * platform/mac/TransferJobMac.mm: Removed.
2373 * platform/win/ResourceLoaderWin.cpp: Added.
2374 (WebCore::addToOutstandingJobs):
2375 (WebCore::lookupResourceLoader):
2376 (WebCore::ResourceLoaderWndProc):
2377 (WebCore::initializeOffScreenResourceLoaderWindow):
2378 (WebCore::ResourceLoaderInternal::~ResourceLoaderInternal):
2379 (WebCore::ResourceLoader::~ResourceLoader):
2380 (WebCore::ResourceLoader::start):
2381 (WebCore::ResourceLoader::fileLoadTimer):
2382 (WebCore::ResourceLoader::cancel):
2383 * platform/win/ResourceLoaderWin.h: Added.
2384 * platform/win/TemporaryLinkStubs.cpp:
2385 (WebCore::ServeSynchronousRequest):
2386 (WebCore::ResourceLoader::assembleResponseHeaders):
2387 (WebCore::ResourceLoader::retrieveCharset):
2388 * platform/win/TransferJobWin.cpp: Removed.
2389 * platform/win/TransferJobWin.h: Removed.
2390 * xml/XSLTProcessor.cpp:
2391 (WebCore::docLoaderFunc):
2392 * xml/xmlhttprequest.cpp:
2393 (WebCore::XMLHttpRequest::send):
2394 (WebCore::XMLHttpRequest::receivedAllData):
2395 (WebCore::XMLHttpRequest::receivedRedirect):
2396 (WebCore::XMLHttpRequest::receivedData):
2397 * xml/xmlhttprequest.h:
2399 2006-07-31 Darin Adler <darin@apple.com>
2403 - removed obsolete cell margin hack
2405 * rendering/RenderBox.cpp: (WebCore::RenderBox::calcVerticalMargins):
2406 Set top and bottom margins to 0 for table cells instead of -16384.
2407 No effect on layout (including layout tests).
2409 * css/CSSComputedStyleDeclaration.cpp:
2410 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2411 Added a few comments about differences between this class and the
2412 what the CSS specification says about computed style.
2414 2006-07-31 Mark Rowe <opendarwin.org@bdash.net.nz>
2418 http://bugzilla.opendarwin.org/show_bug.cgi?id=9738
2419 Bug 9738: Unqualified :hover selector ignored in strict parsing mode
2421 * css/cssstyleselector.cpp:
2422 (WebCore::CSSStyleSelector::checkSelector): Restrict the :hover and :active
2423 exclusion based on onlyHoverActive to quirks mode.
2425 2006-07-31 David Hyatt <hyatt@apple.com>
2427 Fix for bug 10179, digg.com scrolls slowly. Improve fixed positioning
2428 and fixed backgrounds so that a count of them is kept on the FrameView.
2429 This allows us to switch slow scrolling on and off as these objects come
2432 * css/cssstyleselector.cpp:
2433 (WebCore::CSSStyleSelector::adjustRenderStyle):
2434 (WebCore::CSSStyleSelector::applyProperty):
2435 * page/FrameView.cpp:
2436 (WebCore::FrameViewPrivate::reset):
2437 (WebCore::FrameView::layout):
2438 (WebCore::FrameView::useSlowRepaints):
2439 (WebCore::FrameView::setUseSlowRepaints):
2440 (WebCore::FrameView::addSlowRepaintObject):
2441 (WebCore::FrameView::removeSlowRepaintObject):
2443 * rendering/RenderBox.cpp:
2444 (WebCore::RenderBox::paintBackgroundExtended):
2445 * rendering/RenderObject.cpp:
2446 (WebCore::RenderObject::setStyle):
2447 * rendering/RenderView.cpp:
2448 (WebCore::RenderView::paintBoxDecorations):
2450 2006-07-31 David Hyatt <hyatt@apple.com>
2452 Begin disentangling of scrollbar logic in preparation for engine-implemented
2453 scrollbars. Split ScrollBar into two classes, an abstract base (still named
2454 ScrollBar) and a new PlatformScrollBar subclass. This subclass is used only
2455 by platforms that want to continue to use a platform scrollbar (rather than
2460 * WebCore.xcodeproj/project.pbxproj:
2461 * html/HTMLCanvasElement.h:
2463 * platform/PlatformScrollBar.h: Added.
2464 (WebCore::PlatformScrollBar::isWidget):
2465 * platform/ScrollBar.h:
2466 (WebCore::ScrollBarClient::~ScrollBarClient):
2467 (WebCore::ScrollBar::~ScrollBar):
2468 (WebCore::ScrollBar::orientation):
2469 (WebCore::ScrollBar::value):
2470 (WebCore::ScrollBar::client):
2471 * platform/mac/PlatformScrollBarMac.mm: Added.
2472 (-[WebCoreScrollBar initWithPlatformScrollBar:]):
2473 (-[WebCoreScrollBar detachPlatformScrollBar]):
2474 (-[WebCoreScrollBar scroll:]):
2475 (-[WebCoreScrollBar widget]):
2476 (-[WebCoreScrollBar mouseDown:]):
2477 (WebCore::PlatformScrollBar::PlatformScrollBar):
2478 (WebCore::PlatformScrollBar::~PlatformScrollBar):
2479 (WebCore::PlatformScrollBar::setScrollBarValue):
2480 (WebCore::PlatformScrollBar::setKnobProportion):
2481 (WebCore::PlatformScrollBar::scrollbarHit):
2482 (WebCore::PlatformScrollBar::width):
2483 (WebCore::PlatformScrollBar::height):
2484 (WebCore::PlatformScrollBar::setRect):
2485 (WebCore::PlatformScrollBar::setEnabled):
2486 (WebCore::PlatformScrollBar::paint):
2487 * platform/mac/ScrollBarMac.mm: Removed.
2488 * platform/mac/WebCoreTextArea.mm:
2489 * rendering/RenderBlock.cpp:
2490 (WebCore::RenderBlock::isPointInScrollbar):
2491 * rendering/RenderFormElement.cpp:
2492 * rendering/RenderLayer.cpp:
2493 (WebCore::RenderLayer::horizontalScrollbarWidget):
2494 (WebCore::RenderLayer::verticalScrollbarWidget):
2495 (WebCore::RenderLayer::valueChanged):
2496 (WebCore::RenderLayer::setHasHorizontalScrollbar):
2497 (WebCore::RenderLayer::setHasVerticalScrollbar):
2498 (WebCore::RenderLayer::positionScrollbars):
2499 * rendering/RenderLayer.h:
2500 * rendering/RenderWidget.h:
2502 2006-07-31 Adele Peterson <adele@apple.com>
2504 Reviewed by John and Anders.
2506 - Fix for <rdar://problem/4380576> onChange does not get called when field changed by return key
2508 Test: fast/forms/onchange-enter-submit.html
2510 Blur (which will fire onChange appropriately) before submitting a form when pressing Enter.
2511 This matches the sequence of events fired in WinIE.
2513 * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler):
2514 * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::defaultEventHandler):
2516 2006-07-31 Geoffrey Garen <ggaren@apple.com>
2520 Moved string debug function outside of the WebCore namespace so that it's
2521 easier to call in the debugger. I will never doubt Darin again (x100).
2523 * platform/String.cpp:
2526 2006-07-31 David Hyatt <hyatt@apple.com>
2528 Partial fix for 5453. Improve overflow so that when it changes
2529 dynamically from scroll/auto to hidden that we properly hide the
2530 scrollbars. Also refine the dirty dashboard region updating so that
2531 it only happens if the scrollbars genuinely come and go.
2533 Also eliminate the extra repaint of the entire block. This should not be
2534 necessary, since the scrollbars repaint themselves already and children
2535 will repaint already if they move.
2539 Adding test case from bug into fast/overflow/dynamic-hidden.html
2541 * rendering/RenderLayer.cpp:
2542 (WebCore::RenderLayer::setHasHorizontalScrollbar):
2543 (WebCore::RenderLayer::setHasVerticalScrollbar):
2544 (WebCore::RenderLayer::updateScrollInfoAfterLayout):
2546 2006-07-31 Graham Dennis <graham.dennis@gmail.com>
2550 <http://bugzilla.opendarwin.org/show_bug.cgi?id=9507>
2551 Empty style spans created in applyInlineStyle
2553 Improves paste fidelity because some of these empty font/style spans had a non-zero
2554 size and were messing up the layout of pasted content:
2555 <rdar://problem/4515463>
2556 REGRESSION: Blot and Mail both do a very poor job of pasting the main www.apple.com page
2558 * editing/ApplyStyleCommand.cpp:
2559 (WebCore::ApplyStyleCommand::applyInlineStyle): Use the adjusted start node instead
2560 of start.node(). Don't do any application if the endpoints are swapped. Adjust
2561 endNode if the start node is a descendant of it, so that the pre-order traversal will
2564 2006-07-31 Geoffrey Garen <ggaren@apple.com>
2568 * platform/String.cpp:
2569 (WebCore::string): Added a debugging function to create a String from a
2572 2006-07-31 Anders Carlsson <acarlsson@apple.com>
2574 * css/CSSPrimitiveValue.cpp:
2577 2006-07-31 Geoffrey Garen <ggaren@apple.com>
2579 Reinstating my last change. Everything builds now.
2581 2006-07-31 Geoffrey Garen <ggaren@apple.com>
2583 Backing out my last change because it causes a build failure in some
2584 configurations. This seems to be the cleanest way to get svn to cooperate.
2586 2006-07-31 Geoffrey Garen <ggaren@apple.com>
2590 Moved files around to make WebCore's structure clearer
2591 and easier to explain.
2593 DerivedSources/JS* -> bindings/js/DerivedSources/ (so JS* files
2594 show up when you search inside bindings/js/, but are marked, at
2595 the same time, as files that you should not edit manually)
2597 WebCore+SVG/DOMList.h -> ksvg2/svg/ (only files inside ksvg2/svg/
2602 I tested that everything still builds.
2604 2006-07-30 Darin Adler <darin@apple.com>
2606 Reviewed by Tim Hatcher.
2608 - some improvements for the benefit of the style pane of the inspector
2610 * css/CSSComputedStyleDeclaration.cpp: Removed background-position
2611 and border-spacing from the list of properties that show up in
2612 computed style, because of background-position-x, background-position-y,
2613 -webkit-border-horizontal-spacing and -webkit-border-vertical-spacing.
2614 (WebCore::valueForLength): Added handling for undefinedLength, intrinsic,
2616 (WebCore::primitiveValueFromLength): Removed code that would add a
2617 space to the string for no good reason.
2618 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added a
2619 special case for a line clamp of -1, which should come back as "none"
2620 rather than an actual "-1".
2621 (WebCore::CSSComputedStyleDeclaration::length): Return 0 if the
2622 declaration has no corresponding node or no renderer.
2623 (WebCore::CSSComputedStyleDeclaration::item): Check against length()
2624 so that the two stay consistent rather than using a constant.
2626 * css/CSSPrimitiveValue.cpp:
2627 (WebCore::isCSSTokenizerIdentifier): Added.
2628 (WebCore::isCSSTokenizerURL): Added.
2629 (WebCore::quoteString): Added.
2630 (WebCore::quoteStringIfNeeded): Changed to quote strings in many more
2631 cases -- any cases where they would not parse in the CSS parser otherwise.
2632 The main case this affects is font names with spaces in them.
2633 (WebCore::quoteURLIfNeeded): Added.
2634 (WebCore::CSSPrimitiveValue::cssText): Use quoteURLIfNeeded in the case
2635 where we're making the text form of a URI.
2637 * css/tokenizer.flex: Whitespace tweaks to line things up better.
2639 2006-07-30 Eric Seidel <eric@eseidel.com>
2643 Remove some unused SVG code.
2645 * ksvg2/ecma/Ecma.cpp: Removed.
2646 * ksvg2/ecma/Ecma.h: Removed.
2647 * ksvg2/ecma/GlobalObject.cpp: remove a couple dead functions.
2648 * ksvg2/ecma/GlobalObject.h: add a comment about this dead code.
2649 * ksvg2/ecma/SVGLookup.h: Removed.
2651 2006-07-29 Darin Adler <darin@apple.com>
2653 - Removed tabs from these source files that still had them.
2654 We don't use them; that way source files look fine in editors
2655 that have tabs set to 8 spaces or to 4 spaces.
2656 - Removed allow-tabs Subversion property from the files too.
2658 * bindings/objc/WebScriptObject.h:
2659 * bindings/objc/WebScriptObject.mm:
2660 * platform/FontData.cpp:
2662 2006-07-29 Sam Weinig <sam.weinig@gmail.com>
2666 - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10080
2667 Adopt pedantic changes from the Unity project to improve
2668 cross-compiler compatibility
2671 * Removing trailing semicolon from namespace braces.
2672 * Removing trailing comma from last enum declaration.
2673 * Updating to match style guidelines.
2674 * Adding missing newline to the end of the file.
2675 * Turning on gcc warning for missing newline at the end of a source file
2676 (GCC_WARN_ABOUT_MISSING_NEWLINE in Xcode, -Wnewline in gcc).
2677 * Alphabetical sorting of Xcode source list files.
2678 * Use abs() function from <math.h> instead of ABS() macro.
2679 * Use C-style comments instead of C++ comments in files that might
2680 be included by either C or C++ files.
2681 * Use -numeric_limits<double>::infinity() instead of -HUGE_VAL.
2683 * WebCore+SVG/DOMList.h:
2684 * WebCore.xcodeproj/project.pbxproj:
2686 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
2687 * bindings/js/JSXSLTProcessor.h:
2688 * bindings/js/kjs_domnode.h:
2690 * bindings/objc/DOMCSS.h:
2691 (-[DOMCSSValue enum]):
2692 * bindings/objc/DOMCore.h:
2693 (-[DOMImplementation createDocument:::]):
2694 * bindings/objc/DOMEvents.h:
2695 (-[DOMOverflowEvent enum]):
2696 * bindings/objc/DOMRange.h:
2697 * bindings/objc/DOMTraversal.h:
2698 * bindings/objc/DOMXPath.h:
2699 (-[DOMXPathNSResolver lookupNamespaceURI:]):
2700 * bridge/mac/WebCoreFrameBridge.h:
2701 * bridge/mac/WebCoreKeyboardAccess.h:
2704 * dom/ChildNodeList.h:
2707 (WebCore::Document::):
2708 * dom/DocumentMarker.h:
2709 (WebCore::DocumentMarker::):
2710 (WebCore::DocumentMarker::operator==):
2711 (WebCore::DocumentMarker::operator!=):
2712 * dom/EventTargetNode.h:
2713 * dom/KeyboardEvent.h:
2714 (WebCore::KeyboardEvent::):
2715 * dom/NameNodeList.h:
2716 (WebCore::NameNodeList::rootNodeChildrenChanged):
2717 * dom/QualifiedName.cpp:
2718 * editing/TypingCommand.h:
2719 (WebCore::TypingCommand::):
2720 * editing/UnlinkCommand.h:
2721 (WebCore::UnlinkCommand::editingAction):
2722 * html/FormDataList.h:
2723 (WebCore::FormDataListItem::FormDataListItem):
2724 (WebCore::FormDataList::appendData):
2725 * html/HTMLBlockquoteElement.h:
2726 * html/HTMLDivElement.h:
2727 * html/HTMLFormElement.h:
2728 * html/HTMLHRElement.h:
2729 * html/HTMLHeadingElement.h:
2730 * html/HTMLMarqueeElement.h:
2731 * html/HTMLParagraphElement.h:
2732 * html/HTMLPlugInElement.h:
2733 * html/HTMLPreElement.h:
2734 * html/HTMLTokenizer.h:
2735 (WebCore::HTMLTokenizer::State::):
2736 * icon/IconDatabase.cpp:
2737 * icon/SQLStatement.cpp:
2738 * kcanvas/KCanvasFilters.h:
2740 (WebCore::KCanvasPoint3F::KCanvasPoint3F):
2741 (WebCore::KCanvasFilter::KCanvasFilter):
2742 (WebCore::KCanvasFilter::~KCanvasFilter):
2743 (WebCore::KCanvasFilterEffect::~KCanvasFilterEffect):
2744 (WebCore::KCComponentTransferFunction::KCComponentTransferFunction):
2745 (WebCore::KCanvasFEConvolveMatrix::KCanvasFEConvolveMatrix):
2746 (WebCore::KCLightSource::KCLightSource):
2747 (WebCore::KCDistantLightSource::KCDistantLightSource):
2748 (WebCore::KCPointLightSource::KCPointLightSource):
2749 (WebCore::KCSpotLightSource::KCSpotLightSource):
2750 (WebCore::KCanvasFEDiffuseLighting::KCanvasFEDiffuseLighting):
2751 (WebCore::KCanvasFEDisplacementMap::KCanvasFEDisplacementMap):
2752 (WebCore::KCanvasFEImage::KCanvasFEImage):
2753 (WebCore::KCanvasFESpecularLighting::KCanvasFESpecularLighting):
2754 * kcanvas/RenderSVGImage.h:
2755 * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
2756 * ksvg2/css/SVGRenderStyle.h:
2757 (WebCore::SVGRenderStyle::InheritedFlags::):
2758 (WebCore::SVGRenderStyle::NonInheritedFlags::):
2759 * ksvg2/css/SVGRenderStyleDefs.h:
2761 * ksvg2/events/SVGZoomEvent.h:
2764 * ksvg2/misc/KCanvasRenderingStyle.h:
2765 * ksvg2/misc/SVGImageLoader.h:
2766 * ksvg2/scripts/make_names.pl:
2767 * ksvg2/svg/SVGAElement.h:
2768 * ksvg2/svg/SVGAngle.h:
2769 * ksvg2/svg/SVGAnimateColorElement.h:
2770 * ksvg2/svg/SVGAnimateElement.h:
2771 * ksvg2/svg/SVGAnimateTransformElement.h:
2772 * ksvg2/svg/SVGAnimatedAngle.h:
2773 * ksvg2/svg/SVGAnimatedBoolean.h:
2774 * ksvg2/svg/SVGAnimatedColor.h:
2775 * ksvg2/svg/SVGAnimatedEnumeration.h:
2776 * ksvg2/svg/SVGAnimatedInteger.h:
2777 * ksvg2/svg/SVGAnimatedLength.h:
2778 * ksvg2/svg/SVGAnimatedLengthList.h:
2779 * ksvg2/svg/SVGAnimatedNumber.h:
2780 * ksvg2/svg/SVGAnimatedNumberList.h:
2781 * ksvg2/svg/SVGAnimatedPathData.h:
2782 * ksvg2/svg/SVGAnimatedPoints.h:
2783 * ksvg2/svg/SVGAnimatedPreserveAspectRatio.h:
2784 * ksvg2/svg/SVGAnimatedRect.h:
2785 * ksvg2/svg/SVGAnimatedString.h:
2786 * ksvg2/svg/SVGAnimatedTemplate.h:
2787 * ksvg2/svg/SVGAnimatedTransformList.h:
2788 * ksvg2/svg/SVGAnimationElement.cpp:
2789 (SVGAnimationElement::calculateCurrentValueItem):
2790 (SVGAnimationElement::calculateRelativeTimePercentage):
2791 * ksvg2/svg/SVGAnimationElement.h:
2793 * ksvg2/svg/SVGCircleElement.h:
2794 * ksvg2/svg/SVGClipPathElement.h:
2795 * ksvg2/svg/SVGColor.h:
2796 * ksvg2/svg/SVGComponentTransferFunctionElement.h:
2797 * ksvg2/svg/SVGCursorElement.h:
2798 * ksvg2/svg/SVGDOMImplementation.h:
2799 * ksvg2/svg/SVGDefsElement.h:
2800 * ksvg2/svg/SVGDescElement.h:
2801 * ksvg2/svg/SVGDocument.h:
2802 * ksvg2/svg/SVGElement.h:
2803 (WebCore::SVGElement::rendererIsNeeded):
2804 (WebCore::svg_dynamic_cast):
2805 * ksvg2/svg/SVGElementInstance.h:
2806 * ksvg2/svg/SVGElementInstanceList.h:
2807 * ksvg2/svg/SVGEllipseElement.h:
2808 * ksvg2/svg/SVGExternalResourcesRequired.h:
2809 * ksvg2/svg/SVGFEBlendElement.h:
2810 * ksvg2/svg/SVGFEColorMatrixElement.h:
2811 * ksvg2/svg/SVGFEComponentTransferElement.h:
2812 * ksvg2/svg/SVGFECompositeElement.h:
2813 * ksvg2/svg/SVGFEDiffuseLightingElement.h:
2814 * ksvg2/svg/SVGFEDisplacementMapElement.h:
2815 * ksvg2/svg/SVGFEDistantLightElement.h:
2816 * ksvg2/svg/SVGFEFloodElement.h:
2817 * ksvg2/svg/SVGFEFuncAElement.h:
2818 * ksvg2/svg/SVGFEFuncBElement.h:
2819 * ksvg2/svg/SVGFEFuncGElement.h:
2820 * ksvg2/svg/SVGFEFuncRElement.h:
2821 * ksvg2/svg/SVGFEGaussianBlurElement.h:
2822 * ksvg2/svg/SVGFEImageElement.h:
2823 * ksvg2/svg/SVGFELightElement.h:
2824 * ksvg2/svg/SVGFEMergeElement.h:
2825 * ksvg2/svg/SVGFEMergeNodeElement.h:
2826 * ksvg2/svg/SVGFEOffsetElement.h:
2827 * ksvg2/svg/SVGFEPointLightElement.h:
2828 * ksvg2/svg/SVGFESpecularLightingElement.h:
2829 * ksvg2/svg/SVGFESpotLightElement.h:
2830 * ksvg2/svg/SVGFETileElement.h:
2831 * ksvg2/svg/SVGFETurbulenceElement.h:
2832 * ksvg2/svg/SVGFilterElement.h:
2833 * ksvg2/svg/SVGFilterPrimitiveStandardAttributes.h:
2834 * ksvg2/svg/SVGFitToViewBox.h:
2835 * ksvg2/svg/SVGForeignObjectElement.cpp:
2836 * ksvg2/svg/SVGForeignObjectElement.h:
2837 * ksvg2/svg/SVGGElement.h:
2838 * ksvg2/svg/SVGGradientElement.h:
2839 * ksvg2/svg/SVGHelper.h:
2841 * ksvg2/svg/SVGImageElement.h:
2842 * ksvg2/svg/SVGLangSpace.h:
2843 * ksvg2/svg/SVGLength.h:
2844 * ksvg2/svg/SVGLengthList.h:
2845 * ksvg2/svg/SVGLineElement.h:
2846 * ksvg2/svg/SVGLinearGradientElement.h:
2847 * ksvg2/svg/SVGList.h:
2848 * ksvg2/svg/SVGLocatable.h:
2849 * ksvg2/svg/SVGMarkerElement.h:
2850 * ksvg2/svg/SVGMaskElement.h:
2851 * ksvg2/svg/SVGMatrix.h:
2852 * ksvg2/svg/SVGNumber.h:
2853 * ksvg2/svg/SVGNumberList.h:
2854 * ksvg2/svg/SVGPaint.h:
2855 * ksvg2/svg/SVGPathElement.h:
2856 * ksvg2/svg/SVGPathSeg.h:
2857 * ksvg2/svg/SVGPathSegArc.h:
2858 * ksvg2/svg/SVGPathSegClosePath.h:
2859 * ksvg2/svg/SVGPathSegCurvetoCubic.h:
2860 * ksvg2/svg/SVGPathSegCurvetoCubicSmooth.h:
2861 * ksvg2/svg/SVGPathSegCurvetoQuadratic.h:
2862 * ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.h:
2863 * ksvg2/svg/SVGPathSegLineto.h:
2864 * ksvg2/svg/SVGPathSegLinetoHorizontal.h:
2865 * ksvg2/svg/SVGPathSegLinetoVertical.h:
2866 * ksvg2/svg/SVGPathSegList.h:
2867 * ksvg2/svg/SVGPathSegMoveto.h:
2868 * ksvg2/svg/SVGPatternElement.h:
2869 * ksvg2/svg/SVGPoint.h:
2870 * ksvg2/svg/SVGPointList.h:
2871 * ksvg2/svg/SVGPolyElement.h:
2872 * ksvg2/svg/SVGPolygonElement.h:
2873 * ksvg2/svg/SVGPolylineElement.h:
2874 * ksvg2/svg/SVGPreserveAspectRatio.h:
2875 * ksvg2/svg/SVGRadialGradientElement.h:
2876 * ksvg2/svg/SVGRect.h:
2877 * ksvg2/svg/SVGRectElement.h:
2878 * ksvg2/svg/SVGSVGElement.h:
2879 * ksvg2/svg/SVGScriptElement.h:
2880 * ksvg2/svg/SVGSetElement.h:
2881 * ksvg2/svg/SVGStopElement.h:
2882 * ksvg2/svg/SVGStringList.h:
2883 * ksvg2/svg/SVGStylable.h:
2884 * ksvg2/svg/SVGStyleElement.h:
2885 * ksvg2/svg/SVGStyledElement.h:
2886 (WebCore::SVGStyledElement::rendererIsNeeded):
2887 (WebCore::SVGStyledElement::canvasResource):
2888 * ksvg2/svg/SVGStyledLocatableElement.h:
2889 * ksvg2/svg/SVGStyledTransformableElement.h:
2890 * ksvg2/svg/SVGSwitchElement.h:
2891 * ksvg2/svg/SVGSymbolElement.h:
2892 * ksvg2/svg/SVGTRefElement.h:
2893 * ksvg2/svg/SVGTSpanElement.h:
2894 * ksvg2/svg/SVGTests.h:
2895 * ksvg2/svg/SVGTextContentElement.h:
2896 * ksvg2/svg/SVGTextElement.h:
2897 * ksvg2/svg/SVGTextPositioningElement.h:
2898 * ksvg2/svg/SVGTitleElement.h:
2899 * ksvg2/svg/SVGTransform.h:
2900 * ksvg2/svg/SVGTransformList.h:
2901 * ksvg2/svg/SVGTransformable.h:
2902 * ksvg2/svg/SVGURIReference.h:
2903 * ksvg2/svg/SVGUseElement.h:
2904 * ksvg2/svg/SVGViewElement.h:
2905 * ksvg2/svg/SVGZoomAndPan.h:
2906 * ksvg2/svg/svgpathparser.h:
2909 * platform/AffineTransform.h:
2910 * platform/FontCache.cpp:
2911 (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
2912 * platform/FontData.cpp:
2913 (WebCore::FontData::FontData):
2914 * platform/FontData.h:
2915 * platform/TextBox.h:
2916 (WebCore::TextBox::):
2917 * platform/Timer.cpp:
2918 (WebCore::TimerBase::heapPop):
2919 * platform/mac/FontCacheMac.mm:
2920 * platform/mac/GlyphMapMac.cpp:
2921 * platform/mac/WebFontCache.mm:
2923 * rendering/DeprecatedRenderSelect.cpp:
2924 (WebCore::DeprecatedRenderSelect::setWidgetWritingDirection):
2925 * rendering/EllipsisBox.h:
2926 * rendering/RenderBR.h:
2927 (WebCore::RenderBR::renderName):
2928 (WebCore::RenderBR::width):
2929 * rendering/RenderBlock.h:
2931 * rendering/RenderFlexibleBox.h:
2932 * rendering/RenderFlow.h:
2933 (WebCore::RenderFlow::RenderFlow):
2934 * rendering/RenderFrame.cpp:
2936 * rendering/break_lines.cpp:
2938 2006-07-29 Rob Buis <buis@kde.org>
2942 http://bugzilla.opendarwin.org/show_bug.cgi?id=10151
2943 ghostmap XHTML + SVG fails due to javascript undefined exception
2945 Make sure document.URL works when called from a non-HTML document.
2947 * bindings/js/kjs_html.cpp:
2948 (KJS::JSHTMLDocument::getValueProperty):
2949 * bindings/js/kjs_html.h:
2950 (KJS::JSHTMLDocument::):
2953 2006-07-29 Mike Emmel <mike.emmel@gmail.com>
2955 Reviewed and tweaked by Darin.
2957 - fixes for Linux build
2958 (still might not compile, since Darin tweaked but was unable to test).
2960 * WebCoreSources.bkl: Added some new sources, removed some obsolete ones.
2961 * Projects/gdk/webcore-gdk.bkl: Added RenderPopupMenuGdk.cpp
2963 * html/HTMLPlugInElement.h: Removed incorrect syntax with class name
2966 * platform/gdk/FrameGdk.h:
2967 * platform/gdk/FrameGdk.cpp: Updated parameters of constructor. Moved a couple stubs
2969 * platform/gdk/RenderPopupMenuGdk.h: Added.
2970 * platform/gdk/RenderPopupMenuGdk.cpp: Added. Just a file full of empty stubs.
2971 * platform/gdk/RenderThemeGdk.h:
2972 * platform/gdk/RenderThemeGdk.cpp: (WebCore::RenderThemeGdk::createPopupMenu): Added.
2974 * platform/gdk/TemporaryLinkStubs.cpp: Add some new stubs.
2976 2006-07-29 Mark Rowe <opendarwin.org@bdash.net.nz>
2980 http://bugzilla.opendarwin.org/show_bug.cgi?id=10022
2981 Bug 10022: REGRESSION: Crash in WebCore::XMLTokenizer::characters
2983 * dom/XMLTokenizer.cpp:
2984 (WebCore::XMLTokenizer::resumeParsing): If the write() call resulted in new callbacks being
2985 added, don't call through to end() just yet.
2987 2006-07-29 Mitz Pettel <opendarwin.org@mitzpettel.com>
2989 Reviewed by John Sullivan.
2991 - manual test for http://bugzilla.opendarwin.org/show_bug.cgi?id=9984
2992 ASSERTION FAILURE: _private->mouseDownEvent != nil
2993 (WebKit/WebView/WebHTMLView.m:4863 -[WebHTMLView(WebInternal) _delegateDragSourceActionMask])
2995 * manual-tests/subview-click-assertion.html: Added.
2997 2006-07-29 Andrew Wellington <proton@wiretapped.net>
3001 Fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=8587 / <rdar://problem/4631844>
3002 REGRESSION: {display:list-item} items outside an ol or ul element don't number correctly
3004 * rendering/RenderListItem.cpp:
3005 (WebCore::enclosingList): If no real list element is found, use parent instead.
3006 (WebCore::previousListItem): Check list elements to see if they are list items -- the
3007 old code assumed that a list would never be a list item but this is entirely possible
3008 with CSS and especially with the new rule that means any DOM element could act as a list.
3010 2006-07-29 Alexey Proskuryakov <ap@nypop.com>
3014 Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10147
3015 REGRESSION: custom attribute values set via javascript are not persistent
3017 Test: fast/dom/Element/setAttribute-case-insensitivity.html
3020 (WebCore::Element::setAttribute): Use the lowercased localName for retrieving the old value, too.
3022 2006-07-28 Timothy Hatcher <timothy@apple.com>
3026 Moving the implementation of isContentEditable to the
3027 the WebPrivate category.
3029 * bindings/objc/DOM.mm:
3030 (-[DOMNode isContentEditable]):
3032 2006-07-28 Justin Garcia <justin.garcia@apple.com>
3037 <rdar://problem/4515463>
3038 REGRESSION: Blot and Mail both do a very poor job of pasting the main www.apple.com page
3040 Migrate to isBlock and enclosingBlock.
3041 Changed RendereringInfo::isBlock and ReplacementFragment::isBlock
3042 to wasBlock so that they don't conflict with isBlock and because
3043 it's more descriptive.
3045 * editing/ReplaceSelectionCommand.cpp:
3046 (WebCore::ReplacementFragment::mergeStartNode):
3047 (WebCore::ReplacementFragment::wasBlock):
3048 (WebCore::ReplacementFragment::saveRenderingInfo):
3049 (WebCore::ReplacementFragment::renderedBlocks):
3050 (WebCore::RenderingInfo::RenderingInfo):
3051 (WebCore::ReplaceSelectionCommand::shouldMergeStart):
3052 (WebCore::ReplaceSelectionCommand::doApply):
3053 * editing/ReplaceSelectionCommand.h:
3054 (WebCore::RenderingInfo::wasBlock):
3056 2006-07-27 Justin Garcia <justin.garcia@apple.com>
3061 <rdar://problem/4242293>
3062 Poor paste fidelity of http://www.google.com/
3064 * editing/markup.cpp:
3065 (WebCore::needInterchangeNewlineAfter): Added.
3066 (WebCore::createMarkup):
3067 Only add an interchangeNewline if we're annotating for interchange. Can't test
3068 this until we expose createMarkup in non-annotate mode (I'd expose Range::toHTML).
3069 Remove the FIXME about prepending the interchangeNewline before creating the rest
3070 of the markup. Its correct to surround the interchangeNewline in ancestors of the
3072 Fixed the check to see if an interchangeNewline is needed (!inSameBlock). This would
3073 add an interchangeNewline for a selection that started before a table.
3074 Removed the workaround for the bug where markup for a table was not included when
3075 selecting the contents of a table, since this change fixes the general problem of
3076 markup for ancestors of the startNode being left out.
3077 Don't leave out ancestors of the startNode as we leave their subtrees. Execute the
3078 code to include them even if we closed ancestors in the ancestorsToClose list.
3080 2006-07-28 Timothy Hatcher <timothy@apple.com>
3084 Adding isContentEditable to DOMNode's private category.
3086 * bindings/objc/DOMPrivate.h:
3088 2006-07-28 Alexey Proskuryakov <ap@nypop.com>
3090 Rolling out http://bugzilla.opendarwin.org/show_bug.cgi?id=6010 because of failing layout tests.
3091 Add better SVGLoad event support.
3093 * dom/EventTargetNode.cpp:
3094 (WebCore::EventTargetNode::dispatchGenericEvent):
3095 * html/HTMLImageLoader.cpp:
3096 (WebCore::HTMLImageLoader::dispatchLoadEvent):
3097 * html/HTMLImageLoader.h:
3098 * ksvg2/misc/SVGImageLoader.cpp:
3099 (WebCore::SVGImageLoader::SVGImageLoader):
3100 * ksvg2/misc/SVGImageLoader.h:
3101 * ksvg2/svg/SVGAElement.cpp:
3102 (WebCore::SVGAElement::parseMappedAttribute):
3103 * ksvg2/svg/SVGAnimatedBoolean.h:
3104 * ksvg2/svg/SVGElement.cpp:
3105 (WebCore::SVGElement::SVGElement):
3106 (WebCore::SVGElement::parseMappedAttribute):
3107 * ksvg2/svg/SVGElement.h:
3108 (WebCore::SVGElement::adjustViewportClipping):
3109 (WebCore::SVGElement::closeRenderer):
3110 (WebCore::SVGElement::rendererIsNeeded):
3111 (WebCore::SVGElement::isClosed):
3112 (WebCore::svg_dynamic_cast):
3113 * ksvg2/svg/SVGExternalResourcesRequired.h:
3114 * ksvg2/svg/SVGImageElement.cpp:
3115 (SVGImageElement::SVGImageElement):
3116 * ksvg2/svg/SVGImageElement.h:
3117 * ksvg2/svg/SVGSVGElement.cpp:
3118 (WebCore::SVGSVGElement::parseMappedAttribute):
3119 * ksvg2/svg/SVGScriptElement.cpp:
3120 (SVGScriptElement::SVGScriptElement):
3121 (SVGScriptElement::parseMappedAttribute):
3122 (SVGScriptElement::executeScript):
3123 * xml/xmlhttprequest.cpp:
3124 (WebCore::XMLHttpRequest::callReadyStateChangeListener):
3126 2006-07-28 Adele Peterson <adele@apple.com>
3128 Rolling out http://bugzilla.opendarwin.org/show_bug.cgi?id=9753 because of failing layout tests.
3129 SVG with width and height 100% leaves room for scrollbar on the right.
3131 * kcanvas/RenderPath.cpp:
3132 * kcanvas/RenderPath.h:
3133 * kcanvas/RenderSVGContainer.cpp:
3134 (WebCore::RenderSVGContainer::layout):
3135 * ksvg2/svg/SVGCircleElement.cpp:
3136 * ksvg2/svg/SVGCircleElement.h:
3137 * ksvg2/svg/SVGEllipseElement.cpp:
3138 * ksvg2/svg/SVGEllipseElement.h:
3139 * ksvg2/svg/SVGLineElement.cpp:
3140 * ksvg2/svg/SVGLineElement.h:
3141 * ksvg2/svg/SVGRectElement.cpp:
3142 * ksvg2/svg/SVGRectElement.h:
3143 * ksvg2/svg/SVGStyledElement.h:
3145 2006-07-27 Eric Seidel <eric@eseidel.com>
3149 Add better SVGLoad event support.
3150 http://bugzilla.opendarwin.org/show_bug.cgi?id=6010
3151 There will still need to be additional support added for <link> and <script> elements.
3152 Not all of the error -> loaded -> error transition cases work yet.
3154 * dom/EventTargetNode.cpp:
3155 (WebCore::EventTargetNode::dispatchGenericEvent):
3156 * html/HTMLImageLoader.cpp:
3157 (WebCore::HTMLImageLoader::dispatchLoadEvent):
3158 * html/HTMLImageLoader.h:
3159 (WebCore::HTMLImageLoader::haveFiredLoadEvent):
3160 (WebCore::HTMLImageLoader::setHaveFiredLoadEvent):
3161 * ksvg2/misc/SVGImageLoader.cpp:
3162 (WebCore::SVGImageLoader::SVGImageLoader):
3163 (WebCore::SVGImageLoader::dispatchLoadEvent):
3164 * ksvg2/misc/SVGImageLoader.h:
3165 * ksvg2/svg/SVGAElement.cpp:
3166 (WebCore::SVGAElement::parseMappedAttribute):
3167 * ksvg2/svg/SVGAnimatedBoolean.h:
3168 * ksvg2/svg/SVGElement.cpp:
3169 (WebCore::SVGElement::SVGElement):
3170 (WebCore::SVGElement::parseMappedAttribute):
3171 (WebCore::SVGElement::haveLoadedRequiredResources):
3172 (WebCore::SVGElement::sendSVGLoadEventIfPossible):
3173 (WebCore::SVGElement::closeRenderer):
3174 * ksvg2/svg/SVGElement.h:
3175 (WebCore::SVGElement::rendererIsNeeded):
3176 (WebCore::svg_dynamic_cast):
3177 * ksvg2/svg/SVGExternalResourcesRequired.h:
3178 * ksvg2/svg/SVGImageElement.cpp:
3179 (SVGImageElement::SVGImageElement):
3180 (SVGImageElement::haveLoadedRequiredResources):
3181 * ksvg2/svg/SVGImageElement.h:
3182 * ksvg2/svg/SVGSVGElement.cpp:
3183 (WebCore::SVGSVGElement::parseMappedAttribute):
3184 * ksvg2/svg/SVGScriptElement.cpp:
3185 (WebCore::SVGScriptElement::SVGScriptElement):
3186 (WebCore::SVGScriptElement::parseMappedAttribute):
3187 (WebCore::SVGScriptElement::executeScript):
3188 * xml/xmlhttprequest.cpp:
3189 (WebCore::XMLHttpRequest::callReadyStateChangeListener): use new Event() instead of createEvent
3191 2006-07-27 Mitz Pettel <opendarwin.org@mitzpettel.com>
3195 - http://bugzilla.opendarwin.org/show_bug.cgi?id=10135
3196 Cleanup: remove useless parameters from RenderObject::position()
3198 No test possible (no functionality change)
3200 * rendering/RenderBox.cpp:
3201 (WebCore::RenderBox::position):
3202 * rendering/RenderBox.h:
3203 * rendering/RenderObject.h:
3204 (WebCore::RenderObject::position):
3205 * rendering/RenderTableRow.h:
3206 (WebCore::RenderTableRow::position):
3207 * rendering/RenderTableSection.h:
3208 (WebCore::RenderTableSection::position):
3209 * rendering/RenderText.cpp:
3210 (WebCore::RenderText::position):
3211 * rendering/RenderText.h:
3212 * rendering/bidi.cpp:
3213 (WebCore::RenderBlock::constructLine):
3214 (WebCore::RenderBlock::computeVerticalPositionsForLine):
3216 2006-07-27 Rob Buis <buis@kde.org>
3220 http://bugzilla.opendarwin.org/show_bug.cgi?id=9753
3221 SVG with width and height 100% leaves room for scrollbar on the right.
3223 Relayout children of svg containers, except svg shapes that do not depend on percentages.
3225 * kcanvas/RenderPath.cpp: (WebCore::RenderPath::hasPercentageValues):
3226 * kcanvas/RenderPath.h:
3227 * kcanvas/RenderSVGContainer.cpp: (WebCore::RenderSVGContainer::layout):
3228 * ksvg2/svg/SVGCircleElement.cpp: (SVGCircleElement::hasPercentageValues):
3229 * ksvg2/svg/SVGCircleElement.h:
3230 * ksvg2/svg/SVGEllipseElement.cpp: (WebCore::SVGEllipseElement::hasPercentageValues):
3231 * ksvg2/svg/SVGEllipseElement.h:
3232 * ksvg2/svg/SVGLineElement.cpp: (SVGLineElement::hasPercentageValues):
3233 * ksvg2/svg/SVGLineElement.h:
3234 * ksvg2/svg/SVGRectElement.cpp: (WebCore::SVGRectElement::hasPercentageValues):
3235 * ksvg2/svg/SVGRectElement.h:
3236 * ksvg2/svg/SVGStyledElement.h: (WebCore::SVGStyledElement::hasPercentageValues):
3238 2006-07-27 Justin Garcia <justin.garcia@apple.com>
3242 <rdar://problem/4242293>
3243 Poor paste fidelity of http://www.google.com/
3245 * editing/ApplyStyleCommand.cpp:
3246 (WebCore::ApplyStyleCommand::applyInlineStyle): Fixed crasher with nil-check.
3247 * editing/markup.cpp:
3248 (WebCore::startMarkup): Style information wasn't added to an element if it had
3249 attributes but no style attribute.
3251 2006-07-27 Alexander Kellett <lypanov@kde.org>
3255 - fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=9867
3256 REGRESSION: code that modifies form element in Firefox modifies form attribute in WebKit
3258 * bindings/scripts/CodeGeneratorJS.pm: add new attribute - HasOverridingNameGetter
3259 * html/HTMLFormElement.idl:
3261 2006-07-27 Rob Buis <buis@kde.org>
3265 http://bugzilla.opendarwin.org/show_bug.cgi?id=8992
3266 Some HTML DOM attributes have incorrect types
3268 Adjust idl and dom source code for HTMLImageElement and
3269 HTMLBaseFontElement to choose correct type for
3270 HTMLImageElement::border and HTMLBaseFontElement::size
3273 * html/HTMLBaseFontElement.cpp:
3274 (WebCore::HTMLBaseFontElement::size):
3275 (WebCore::HTMLBaseFontElement::setSize):
3276 * html/HTMLBaseFontElement.h:
3277 * html/HTMLBaseFontElement.idl:
3278 * html/HTMLImageElement.cpp:
3279 (WebCore::HTMLImageElement::border):
3280 (WebCore::HTMLImageElement::setBorder):
3281 * html/HTMLImageElement.h:
3282 * html/HTMLImageElement.idl:
3284 2006-07-27 Justin Garcia <justin.garcia@apple.com>
3288 <rdar://problem/4628409>
3289 Safari crashes in CompositeEditCommand::removeBlockPlaceholder entering text in a web page form
3291 * editing/CompositeEditCommand.cpp:
3292 (WebCore::CompositeEditCommand::removeBlockPlaceholder):
3293 A script on the page shrinks the textarea down to zero rows just
3294 before insertion. That gives the shadow div a zero height, removing
3295 [div, 0] as a candidate for a VisiblePosition. Then
3296 InsertTextCommand::input() tries to create a VisiblePosition from
3297 [div, 0] and fails. A nil check is a quick fix. Another might
3298 be to make positions where there is a caret selection candidates.
3299 Another might be to make any [div, 0] where div is a shadow div inside
3300 a form element a candidate.
3302 2006-07-27 Graham Dennis <graham.dennis@gmail.com>
3306 - fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=10094
3307 Japanese characters improperly rendering in TOT
3309 Test: fast/encoding/denormalised-voiced-japanese-chars.html
3311 * platform/Font.cpp:
3312 (WebCore::WidthIterator::advance): pass currentCharacter to normalizeVoicingMarks
3313 (WebCore::WidthIterator::normalizeVoicingMarks): turn the currentCharacter variable
3314 into an argument as WidthIterator::advance doesn't update m_currentCharacter while
3317 2006-07-27 Eric Seidel <eric@eseidel.com>
3321 Complex entities seem to fail on TOT
3322 http://bugzilla.opendarwin.org/show_bug.cgi?id=6390
3323 Use an alternative work-around to an XML Entity parsing bug.
3325 * dom/XMLTokenizer.cpp:
3326 (WebCore::XMLTokenizer::write):
3327 (WebCore::hackAroundLibXMLEntityBug): added.
3328 (WebCore::startElementNsHandler):
3329 (WebCore::endElementNsHandler):
3330 (WebCore::charactersHandler):
3331 (WebCore::processingInstructionHandler):
3332 (WebCore::cdataBlockHandler):
3333 (WebCore::commentHandler):
3334 (WebCore::getEntityHandler):
3336 2006-07-27 Rob Buis <buis@kde.org>
3340 http://bugzilla.opendarwin.org/show_bug.cgi?id=9938
3341 Fix viewBox issues in Hixie's test
3343 Do a more accurate and quicker job of parsing the viewBox
3344 attribute. Handle properly on negative width/height and
3345 invalid syntax in general.
3347 * ksvg2/svg/SVGFitToViewBox.cpp:
3348 (SVGFitToViewBox::parseViewBox):
3350 2006-07-27 Eric Seidel <eric@eseidel.com>
3354 Enables getSVGDocument() support for HTMLObjectElement and HTMLEmbedElement
3355 http://bugzilla.opendarwin.org/show_bug.cgi?id=9237
3356 This patch does not try to autogenerate anything, but enables the SVG functionality.
3357 Also fix HTMLObjectElement vspace and hspace to be numbers instead of strings to match IE & Firefox.
3359 * bindings/js/kjs_dom.cpp:
3361 * bindings/js/kjs_html.cpp:
3362 (KJS::JSHTMLElement::objectGetter):
3363 (KJS::HTMLElementFunction::callAsFunction):
3364 (KJS::JSHTMLElement::objectSetter):
3365 * bindings/js/kjs_html.h:
3366 (KJS::JSHTMLElement::):
3368 (WebCore::Document::isSVGDocument):
3369 * html/HTMLEmbedElement.cpp:
3370 (WebCore::HTMLEmbedElement::contentDocument):
3371 (WebCore::HTMLEmbedElement::getSVGDocument):
3372 * html/HTMLEmbedElement.h:
3373 * html/HTMLObjectElement.cpp:
3374 (WebCore::HTMLObjectElement::HTMLObjectElement):
3375 (WebCore::HTMLObjectElement::getInstance):
3376 (WebCore::HTMLObjectElement::parseMappedAttribute):
3377 (WebCore::HTMLObjectElement::contentDocument):
3378 (WebCore::HTMLObjectElement::rendererIsNeeded):
3379 (WebCore::HTMLObjectElement::createRenderer):
3380 (WebCore::HTMLObjectElement::setCode):
3381 (WebCore::HTMLObjectElement::setArchive):
3382 (WebCore::HTMLObjectElement::setBorder):
3383 (WebCore::HTMLObjectElement::setCodeBase):
3384 (WebCore::HTMLObjectElement::setCodeType):
3385 (WebCore::HTMLObjectElement::setData):
3386 (WebCore::HTMLObjectElement::hspace):
3387 (WebCore::HTMLObjectElement::setHspace):
3388 (WebCore::HTMLObjectElement::setStandby):
3389 (WebCore::HTMLObjectElement::setType):
3390 (WebCore::HTMLObjectElement::setUseMap):
3391 (WebCore::HTMLObjectElement::vspace):
3392 (WebCore::HTMLObjectElement::setVspace):
3393 (WebCore::HTMLObjectElement::getSVGDocument):
3394 * html/HTMLObjectElement.h:
3395 * ksvg2/svg/SVGDocument.h:
3396 (WebCore::SVGDocument::isSVGDocument):
3397 * rendering/RenderWidget.h:
3398 (WebCore::RenderWidget::frameView):
3400 2006-07-26 Alexey Proskuryakov <ap@nypop.com>
3404 Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9901
3405 XSLTProcessor cannot parse text nodes for INPUT ELEMENTS in an XSLT stylesheet
3407 Test: fast/js/xhtml-serialize.html
3409 * editing/markup.cpp:
3410 (WebCore::endMarkup): If the element has child nodes, write a closing tag even if it
3411 is not permitted in HTML, to make it valid XML.
3413 2006-07-26 Alice Liu <alice.liu@apple.com>
3415 Reviewed by John Sullivan (and Kevin and Timo).
3417 landing this patch for John et al.
3418 Fixed <rdar://problem/4651380> REGRESSION (9A232->9A234): existing web clips don't render if you restart Dashboard
3420 * page/FrameView.cpp:
3421 (WebCore::FrameView::layout):
3422 moved the call to didFirstLayout to above the check for needsLayout
3423 because we need to call didFirstLayout for every webview, not just
3424 ones we think need layout.
3426 2006-07-26 Justin Garcia <justin.garcia@apple.com>
3430 <rdar://problem/4652788>
3431 REGRESSION: Can't change size or style of any text in message body
3434 (WebCore::Node::isContentRichlyEditable): Mimic Node::isContentEditable.
3435 * html/HTMLElement.cpp:
3436 (WebCore::HTMLElement::isContentRichlyEditable): First check
3437 the frame for editability, then userModify, like what
3438 HTMLElement::isContentEditable() does.
3439 * html/HTMLElement.h:
3441 2006-07-26 Mitz Pettel <opendarwin.org@mitzpettel.com>
3445 - fix debug-only information() string for table cells
3447 * rendering/RenderObject.cpp:
3448 (WebCore::RenderObject::information):
3450 2006-07-25 David Harrison <harrison@apple.com>
3452 Reviewed by timo and Darin.
3454 <rdar://problem/4618584> "Paste and Match Style" is not working in Mail (add SPI)
3456 * WebCore.xcodeproj/project.pbxproj:
3457 * bridge/mac/WebCoreFrameBridge.h:
3458 * bridge/mac/WebCoreFrameBridge.mm:
3459 (-[WebCoreFrameBridge replaceSelectionWithNode:selectReplacement:smartReplace:matchStyle:]):
3460 Add matchStyle parameter for use by WebKit.
3462 2006-07-25 Justin Garcia <justin.garcia@apple.com>
3466 <rdar://problem/4649560>
3467 REGRESSION: Can't Select All when the body is contentEditable="true"
3469 * editing/VisiblePosition.cpp:
3470 (WebCore::VisiblePosition::canonicalPosition): Allow descent from a non-editable html
3471 element into an editable body as a convenience.
3473 2006-07-25 Justin Garcia <justin.garcia@apple.com>
3477 <rdar://problem/4468458> Incoming HTML message is editable <body contenteditable="true">
3480 (WebCore::Document::inDesignMode): Removed some spaces.
3482 (WebCore::Frame::applyEditingStyleToElement): Just add CSS properties needed for editing.
3483 (WebCore::Frame::removeEditingStyleFromElement): Made this a no-op, we'll remove
3486 2006-07-25 David Kilzer <ddkilzer@kilzer.net>
3490 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9717
3491 Replace IDL ConvertUndefinedToTrue parameter attribute with Optional attribute
3493 No test added because there is no change in functionality.
3495 * bindings/js/kjs_binding.cpp: Removed valueToBooleanTreatUndefinedAsTrue() method.
3496 * bindings/js/kjs_binding.h: Ditto.
3497 * bindings/scripts/CodeGeneratorJS.pm: Removed support for ConvertUndefinedToTrue parameter attribute.
3498 * dom/Element.h: Set default value to true for scrollIntoView() and scrollIntoViewIfNeeded() arguments.
3499 * dom/Element.idl: Replaced ConvertUndefinedToTrue attribute with Optional attribute.
3500 Fixed name of scrollIntoViewIfNeeded() argument to match implementation.
3501 * page/DOMWindow.idl: Replaced ConvertUndefinedToTrue attribute with Optional attribute.
3503 2006-07-24 Dan Waylonis <waylonis@google.com>
3505 Reviewed and tweaked a bunch by Darin.
3507 Test: plugins/bindings-test.html
3509 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9902
3510 jsNull and NSNull not properly converted between JS and ObjC
3512 * bindings/objc/WebScriptObject.mm:
3513 (+[WebScriptObject _convertValueToObjcValue:originExecutionContext:executionContext:]):
3514 Added case that converts jsNull to NSNull.
3516 2006-07-24 Darin Adler <darin@apple.com>
3518 Reviewed by Adele and Justin.
3520 - fix <rdar://problem/4613616> REGRESSION: some spaces typed in <textarea> are posted as non-breaking spaces (9630)
3521 http://bugzilla.opendarwin.org/show_bug.cgi?id=9630
3522 - also fixes http://bugzilla.opendarwin.org/show_bug.cgi?id=9939
3523 REGRESSION: Pasting text into native text area with newline at end does not preserve newline
3524 - removed some uses of DeprecatedPtrList in the markup code
3526 Test: fast/forms/textarea-type-spaces.html
3527 Test: fast/forms/textarea-paste-newline.html
3529 * bindings/objc/DOMHTML.mm: (-[DOMHTMLDocument createDocumentFragmentWithText:]):
3530 Updated call to pass a range -- in this case it is the range of the entire document,
3531 so this will not handle the whitespace properly.
3533 * bridge/mac/WebCoreFrameBridge.h: Added range context parameter to the
3534 documentFragmentWithText: method, so we can handle whitespace properly.
3535 * bridge/mac/WebCoreFrameBridge.mm:
3536 (-[WebCoreFrameBridge nodesFromList:]): Changed from DeprecatedPtrList to Vector.
3537 (-[WebCoreFrameBridge markupStringFromNode:nodes:]): Ditto.
3538 (-[WebCoreFrameBridge markupStringFromRange:nodes:]): Ditto.
3539 (-[WebCoreFrameBridge documentFragmentWithText:inContext:]): Added range context
3540 parameter -- pass it on to createFragmentFromText.
3541 (-[WebCoreFrameBridge documentFragmentWithNodesAsParagraphs:]): Changed from
3542 DeprecatedPtrList to Vector.
3543 (-[WebCoreFrameBridge replaceSelectionWithText:selectReplacement:smartReplace:]):
3544 Pass the range of the current selection as context when creating the fragment.
3546 * dom/Position.cpp: (WebCore::Position::inRenderedText): Replace range check with
3547 a call to the new containsCaretOffset function -- helps make the caret work right when
3548 it is past the end of the last line in a textarea.
3550 * editing/CompositeEditCommand.cpp:
3551 (WebCore::CompositeEditCommand::rebalanceWhitespaceAt): Don't do anything if the
3552 style does not call for collapsing whitespace.
3553 (WebCore::CompositeEditCommand::rebalanceWhitespace): Call replaceWhitespaceAt
3554 to share code, including the new logic mentioned above.
3556 * editing/InsertLineBreakCommand.cpp: (WebCore::InsertLineBreakCommand::doApply):
3557 Use a text node instead of a break element when inserting and the style is preserveNewline.
3559 * editing/JSEditor.cpp: (WebCore::execRemoveFormat): Pass the selection range
3560 to createFragmentFromText.
3562 * editing/RebalanceWhitespaceCommand.cpp: (WebCore::RebalanceWhitespaceCommand::doApply):
3563 Assert that we're in a style that collapses whitespace. It's the caller's responsibility
3564 not to call otherwise.
3566 * editing/ReplaceSelectionCommand.h: Removed unused destructor, type, isSingleTextNode,
3567 isTreeFragment, m_type, and added a context parameter to inertFragmentForTestRendering.
3568 Also changed the constructor to take a selection rather than a pointer to the root
3569 editable element, replaced removeEndBRIfNeeded with shouldRemoveEndBR and removed an
3570 unused parameter from shouldMergeEnd.
3571 * editing/ReplaceSelectionCommand.cpp:
3572 (WebCore::ReplacementFragment::ReplacementFragment): Removed code to set up m_type.
3573 Compute root editable element from passed-in selection. Used the start of the selection
3574 as a base node for style purposes for the test rendering. Removed the special case
3575 "single text node" alternative to createFragmentFromText in the plain text case, since
3576 createFragmentFromText now handles that correctly.
3577 (WebCore::ReplacementFragment::insertFragmentForTestRendering): Copy the whitespace
3578 property from the source location when creating a temporary element for test rendering.
3579 (WebCore::ReplacementFragment::shouldMergeEnd): Removed unneeded boolean
3580 parameter fragmentHadInterchangeNewlineAtEnd, which is always false.
3581 (WebCore::ReplaceSelectionCommand::doApply): Update for ReplacementFragment changes,
3582 change code to not remove end BR when it can be re-used instead, don't call the
3583 paragraph separator insertion when the position is at the start of a paragraph already,
3584 removed redundant computation of identical "next" value, removed unneeded boolean
3585 parameter to shouldMergeEnd, add case for merging when all we need to do is to delete
3586 a newline character, removed unneeded code to set insertionPos after all code that uses
3587 it, and use spaces instead of non-breaking spaces when doing smart paste if the
3588 context is one where we do not collapse white space.
3589 (WebCore::ReplaceSelectionCommand::shouldRemoveEndBR): Renamed and changed to return
3590 a boolean instead of doing the removal.
3592 * editing/markup.h: Use Vector instead of DeprecatedPtrList. Change the
3593 createFragmentFromText function to take a range for context instead of a document.
3594 * editing/markup.cpp:
3595 (WebCore::markup): Use Vector instead of DeprecatedPtrList.
3596 (WebCore::createMarkup): Ditto.
3597 (WebCore::createParagraphContentsFromString): Remove unneeded document parameter
3598 and changed a couple places to use isEmpty instead of comparing with "".
3599 (WebCore::createFragmentFromText): Given the new context parameter, if the context
3600 is one that preserves newlines, then use "\n" instead of <br> elements.
3601 (WebCore::createFragmentFromNodes): Use Vector instead of DeprecatedPtrList.
3603 * html/HTMLElement.cpp: (WebCore::HTMLElement::setInnerText): Do not use <br>
3604 elements if the context of this node is one where we preserve newlines.
3606 * rendering/InlineTextBox.h:
3607 * rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::containsCaretOffset):
3608 Added. Implements the appropriate rule for determining if a caret position is
3609 in this line or not. Returns true for both one line and the next in cases where
3610 affinity must be considered to determine which line the caret is on.
3612 * rendering/RenderText.h: Make atLineWrap no longer be a member function.
3613 * rendering/RenderText.cpp:
3614 (WebCore::atLineWrap): Remove special rule about preserveNewline and isLineBreak,
3615 which will no longer apply due to the new containsCaretOffset function logic.
3616 (WebCore::RenderText::caretRect): Use containsCaretOffset.
3617 (WebCore::RenderText::inlineBox): Ditto.
3619 * rendering/RenderTextControl.cpp:
3620 (WebCore::RenderTextControl::updateFromElement): Make a placeholder <br> element
3621 after calling setInnerText so that the last newline in the string has the effect
3622 we expect outside the HTML world (an additional line).
3623 (WebCore::RenderTextControl::setSelectionRange): Set granularity of the selection
3624 too. The layout tests caught this problem, which needs a better solution long term.
3625 (WebCore::RenderTextControl::text): Call textContent with the parameter false
3626 so it will not include newlines for <br> elements. Now the only <br> element
3627 that will ever be in the shadow DOM tree is the one to prevent collapsing, and
3628 that one should not show up in the text value.
3630 * rendering/bidi.cpp: (WebCore::RenderBlock::findNextLineBreak): Took a rule
3631 that specifically called out the pre whitespace mode and made it work for all
3632 the modes that preserve newlines. This makes sure we get a last line box for
3633 text after the last "\n" even in cases where there is no <br> afterward.
3635 * editing/DeleteSelectionCommand.cpp:
3636 (WebCore::DeleteSelectionCommand::fixupWhitespace):
3637 * editing/InsertParagraphSeparatorCommand.cpp:
3638 (WebCore::InsertParagraphSeparatorCommand::doApply):
3639 Added assertions to make sure we don't do anything when we're not collapsing
3642 * html/HTMLTextAreaElement.cpp: (WebCore::HTMLTextAreaElement::setDefaultValue):
3643 Changed to use Vector instead of DeprecatedPtrList.
3645 * editing/HTMLInterchange.cpp: Removed obsolete comment.
3647 * loader/Cache.h: Removed a stray include.
3649 2006-07-24 Adele Peterson <adele@apple.com>
3653 - Fix for <rdar://problem/4632132> Changing style of content with mixed editability fails
3655 Test: * editing/style/apple-style-editable-mix.html
3657 * dom/Node.cpp: (WebCore::Node::isContentRichlyEditable): Doesn't need to check the editable root. It now just
3658 checks the user modify property of its own renderer, since that is inherited.
3659 * editing/ApplyStyleCommand.cpp: (WebCore::ApplyStyleCommand::applyInlineStyle): If the end position is in a table,
3660 Adjust the end node to the last descendant of the table, so we don't skip over any runs.
3662 2006-07-24 Darin Adler <darin@apple.com>
3666 - implement String::createCFString
3668 * WebCore.xcodeproj/project.pbxproj: Added StringImplMac.mm and StringMac.mm.
3670 * bindings/objc/DOMInternal.mm: Moved NSString conversion functions out of here.
3672 * platform/mac/StringImplMac.mm: Added. Moved NSString conversion members here
3673 and added the CFStringRef ones.
3674 * platform/mac/StringMac.mm: Added. Ditto.
3676 2006-07-24 David Hyatt <hyatt@apple.com>
3680 (1) Make sure to mark positioned objects that depend on line position to
3681 mark themselves as needing layout when their line box placeholder gets
3684 * rendering/RenderBox.cpp:
3685 (WebCore::RenderBox::position):
3687 (2) Improve highlighting to factor the inflation into overflow so that
3688 invalidation and repainting will work properly.
3690 * rendering/RootInlineBox.cpp:
3691 (WebCore::RootInlineBox::addHighlightOverflow):
3692 * rendering/RootInlineBox.h:
3693 * rendering/bidi.cpp:
3694 (WebCore::RenderBlock::layoutInlineChildren):
3696 2006-07-24 Anders Carlsson <acarlsson@apple.com>
3700 <rdar://problem/4641824> REGRESSION: Wikipedia widget fails to complete a search after pressing return key
3702 * html/HTMLInputElement.cpp:
3703 (WebCore::HTMLInputElement::defaultEventHandler):
3704 Don't eat enter events for search fields that have no enclosing form; they need to be passed to AppKit so
3705 that onsearch can be invoked.
3707 * manual-tests/onsearch-enter.html: Added.
3709 2006-07-24 Dave MacLachlan <dmaclach@mac.com>
3711 Reviewed by Darin and Alexey.
3713 Fix for: <http://bugzilla.opendarwin.org/show_bug.cgi?id=8425>
3714 and <http://bugzilla.opendarwin.org/show_bug.cgi?id=6947>
3716 Test: svg/custom/non-opaque-filters.svg
3718 * kcanvas/device/quartz/KCanvasFilterQuartz.mm:
3719 (WebCore::KCanvasFilterQuartz::prepareFilter):
3720 We create an autorelease pool so we can control the deallocation of the
3721 CIContext that we're creating. The CIContext retains the CGContext that
3722 you pass it internally so when the CIContext is released, the
3723 CGContext is released as well.
3724 This is all fine and dandy unless you wrap the creation of the CIFilter
3725 with a pair of CGBegin/EndTransparencyLayer calls which swap the context
3726 out from underneath you. So if you start with context A,
3727 CGBeginTransparencyLayer swaps it out and gives you B. You create a CIFilter
3728 with it and add a reference to B. CGEndTransparencyLayer swaps out B and
3729 gives you back A. Autorelease pool comes and cleans up the Filter, and calls
3730 release on A, but A never got the refcount in the first place. B did. BOOM!
3731 So we create a pool, then do a retain, then release the pool so that we
3732 don't have to worry about the pool releasing it at a later time.
3733 See <rdar://problem/4647735> for reduction of CGEndTransparencyLayer case
3735 2006-07-24 Mitz Pettel <opendarwin.org@mitzpettel.com>
3739 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9669
3740 Incomplete repaint when changing an inline's border
3742 Test: fast/repaint/line-overflow.html
3744 * rendering/RenderBlock.h:
3745 * rendering/bidi.cpp:
3746 (WebCore::RenderBlock::layoutInlineChildren): Added repaintTop and repaintBottom
3747 variables to track the vertical edges of the area that changed, accounting for
3748 lines that were deleted, inserted or moved. Removed unnecessary updating of
3750 (WebCore::RenderBlock::determineStartPosition): Removed unnecessary updating of
3752 (WebCore::RenderBlock::determineEndPosition):
3753 (WebCore::RenderBlock::matchedEndLine): Added repaintTop and repaintBottom
3754 arguments, which this method updates to account for deleted lines.
3755 (WebCore::RenderBlock::checkLinesForOverflow): Removed outdated FIXME.
3757 2006-07-24 Mitz Pettel <opendarwin.org@mitzpettel.com>
3761 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10075
3762 REGRESSION: Reversed pop-up text in visually-ordered Hebrew pages
3764 Test: fast/forms/select-visual-hebrew.html
3766 * css/html4.css: Set "-webkit-rtl-ordering: logical" on select elements.
3768 2006-07-24 Alexey Proskuryakov <ap@nypop.com>
3772 Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10009
3773 REGRESSION: Schubert-IT PDF Plug-in not working for full page (works in frames)
3776 (WebCore::Frame::begin): Give PDF plugins a chance to handle frame content, before ImageDocument
3779 2006-07-24 Mitz Pettel <opendarwin.org@mitzpettel.com>
3783 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10083
3784 REGRESSION (r15584): editing/selection/select-from-textfield-outwards failing
3786 * rendering/RenderBlock.cpp:
3787 (WebCore::RenderBlock::positionForCoordinates): Added back change from the fix
3788 for bug 9312: For coordinates outside a replaced object, return the position
3789 just before (after) the element if the coordinates are above or to the left (below
3792 2006-07-23 Mark Rowe <opendarwin.org@bdash.net.nz>
3796 Bug 9686: [Drosera] Need the ability to break into Drosera on Javascript exceptions
3797 http://bugzilla.opendarwin.org/show_bug.cgi?id=9686
3799 WebCore portion of the fix.
3801 * bridge/mac/WebCoreScriptDebugger.h:
3802 (-[WebScriptDebugger exceptionRaised:sourceId:line::]): Add delegate method.
3803 * bridge/mac/WebCoreScriptDebugger.mm:
3804 (WebCoreScriptDebuggerImp::exception): Call delegate method when an exception is raised.
3806 2006-07-23 Alice Liu <alice.liu@apple.com>
3809 Actually Adele figured out how to fix the layout test failures. Landing this patch for her. Layout test failures exposed but not caused by r15584 (my patch earlier today).
3811 * editing/visible_units.cpp:
3812 (WebCore::previousLinePosition):
3813 When setting selection endpoints, don't traverse down into nodes where editing would ignore its contents. Use the parent node instead.
3814 (WebCore::nextLinePosition):
3817 2006-07-23 David Harrison <harrison@apple.com>
3821 <rdar://problem/4646759> Mail crash editing To Do - WebCore::InsertTextCommand::prepareForTextInsertion
3823 * Test: editing/deleting/delete-mixed-editable-content-001.html
3825 * editing/visible_units.cpp:
3826 (WebCore::startOfParagraph):
3827 Respect editable boundary the same way endOfParagraph does.
3829 2006-07-23 Beth Dakin <bdakin@apple.com>
3831 Reviewed by Maciej. (Patch by me, Maciej, and Harrison.)
3833 Fix for <rdar://problem/4529398> WebCore crashes when pasting rich
3834 text - WebCore::InlineBox::root()
3836 The initial rendering crash was due to a render object having a
3837 stale reference to an inline box that had already been deleted and
3838 then recreated in the exact same location in memory. (Crazy, I
3839 know.) The situation seemed pretty specific to list markers
3840 according to Hyatt according to Maciej, so that is what I patched
3841 specifically. Fixing this crash unearthed a separate editing crash
3842 where we were trying to insert a block into itself. I worked on
3843 that with Maciej and Harrison, and Harrison came up with a fix.
3845 * editing/CompositeEditCommand.cpp:
3846 (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): This is the fix for the editing crash. If paragraphStart is an atomic
3847 node, insert the new block into the parent instead.
3848 * rendering/InlineBox.cpp:
3849 (WebCore::InlineBox::isChildOfParent): This function is for
3850 posterity. It will help keep the linebox tree in check.
3851 * rendering/InlineBox.h:
3852 * rendering/InlineFlowBox.cpp:
3853 (WebCore::InlineFlowBox::addToLine): Added assert.
3854 (WebCore::InlineFlowBox::deleteLine): Added assert.
3855 * rendering/ListMarkerBox.cpp:
3856 (WebCore::ListMarkerBox::destroy): If this has a parent, call
3857 removeChild on this.
3858 (WebCore::ListMarkerBox::operator delete):
3859 * rendering/ListMarkerBox.h:
3861 2006-07-23 Alice Liu <alice.liu@apple.com>
3865 fixed <rdar://problem/4617841> REGRESSION (NativeTextField): You can move keyboard focus to a field without getting insertion point
3867 * rendering/RenderBlock.cpp:
3868 (WebCore::RenderBlock::positionForCoordinates):
3869 removed some unnecessary vertical position checks and added a fudge factor to be more forgiving for clicks near lines.
3870 * rendering/RenderTextControl.cpp:
3871 (WebCore::RenderTextControl::nodeAtPoint):
3872 added implementation
3873 * rendering/RenderTextControl.h:
3874 added function protocol
3876 2006-07-23 Adele Peterson <adele@apple.com>
3880 Updating fix from last checkin.
3882 * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::layoutVerticalBox):
3883 Only tell the view about this flexbox if there isn't another flexbox already cached.
3885 2006-07-23 Adele Peterson <adele@apple.com>
3889 - Fix for <rdar://problem/4644614> REGRESSION: Typing, pasting or dragging in new text areas causes unnecessary scrolling
3891 * rendering/RenderBlock.cpp: (WebCore::RenderBlock::layoutBlock): Don't updateScrollInfoAfterLayout if an ancestor flexible box is just on
3893 * rendering/RenderFlexibleBox.cpp:
3894 (WebCore::RenderFlexibleBox::layoutBlock): ditto.
3895 (WebCore::RenderFlexibleBox::layoutVerticalBox): Let the view know if this flex box is doing its first pass at layout.
3897 * rendering/RenderView.cpp: (WebCore::RenderView::RenderView): Caches a flexible box that's doing its first layout.
3898 * rendering/RenderView.h:
3899 (WebCore::RenderView::setFlexBoxInFirstLayout):
3900 (WebCore::RenderView::flexBoxInFirstLayout):
3902 2006-07-22 Alexey Proskuryakov <ap@nypop.com>
3906 Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10038
3907 REGRESSION: Length of navigator.mimeTypes collection returns number of installed plugins, not number
3908 of registered mime types
3910 * bindings/js/kjs_navigator.cpp:
3911 (KJS::MimeTypes::getValueProperty): Return the length of the mime types vector, not the plugins one.
3912 (KJS::MimeTypes::getOwnPropertySlot): Fixed another typo, which prevented MimeTypes::getValueProperty()
3913 from even being called.
3915 2006-07-21 Maciej Stachowiak <mjs@apple.com>
3917 Reviewed by Adele and Tim Omernick.
3919 <rdar://problem/4641004> 9A224: Safari crashes in WebCore::RenderMenuList::showPopup when changing a input select field to input text field
3921 Couldn't figure out how to make layout test, here's a manual test:
3922 * manual-tests/remove-select-onchange.html: Added.
3924 * rendering/RenderMenuList.cpp:
3925 (WebCore::RenderMenuList::showPopup): Don't add the RenderPopupMenu to the render
3926 tree so it doesn't get destroyed if we do.
3928 The remaining changes are to let the RenderPopupMenu know its menu list w/o having
3929 to be in the render tree:
3931 * rendering/RenderPopupMenu.cpp:
3932 (WebCore::RenderPopupMenu::RenderPopupMenu):
3933 * rendering/RenderPopupMenu.h:
3934 (WebCore::RenderPopupMenu::menuList):
3935 * rendering/RenderPopupMenuMac.h:
3936 * rendering/RenderPopupMenuMac.mm:
3937 (WebCore::RenderPopupMenuMac::RenderPopupMenuMac):
3938 * rendering/RenderPopupMenuWin.h:
3939 (WebCore::RenderPopupMenuWin::RenderPopupMenuWin):
3940 * rendering/RenderTheme.h:
3941 * rendering/RenderThemeMac.h:
3942 * rendering/RenderThemeMac.mm:
3943 (WebCore::RenderThemeMac::createPopupMenu):
3944 * rendering/RenderThemeWin.cpp:
3945 (WebCore::RenderThemeWin::createPopupMenu):
3946 * rendering/RenderThemeWin.h:
3948 2006-07-21 Adele Peterson <adele@apple.com>
3952 Fix for: <rdar://problem/4643238> REGRESSION: Can't set insertion point at the end of a line of text
3954 Test: fast/forms/textarea-scrolled-endline-caret.html
3956 * rendering/RenderBlock.cpp: (WebCore::RenderBlock::positionForCoordinates):
3957 When looking for the closest line box, take the scroll offset into account.
3959 2006-07-21 Tim Omernick <timo@apple.com>
3961 Reviewed by Geoff & Maciej.
3963 <rdar://problem/4632505> REGRESSION: Crash at WebCore::Widget::getView() const + 6
3965 Geoff is working on a layout test for this.
3967 * bridge/mac/FrameMac.mm:
3968 (WebCore::FrameMac::focusWindow):
3969 (WebCore::FrameMac::unfocusWindow):
3970 Check for a NULL view. The view can be NULL if the frame has not yet loaded any data. This fixes the crash, but the behavior is still
3971 wrong -- we should focus the frame once it gets a view. I've filed <rdar://problem/4645685> to track that. It's not as urgent as this
3974 2006-07-21 Maciej Stachowiak <mjs@apple.com>
3978 <rdar://problem/4523976> REGRESSION (NativeTextField): Crash occurs when choosing "Undo Typing" after typing and setting the value
3980 * rendering/RenderTextControl.cpp:
3981 (WebCore::RenderTextControl::updateFromElement): Clear the undo
3982 chain when the text control contents have been set
3984 * bridge/mac/FrameMac.mm:
3985 (WebCore::FrameMac::clearUndoRedoOperations): Before clearing undo
3986 stack, close all open undo groups and then open an equal number,
3987 since otherwise NSUndoManager ends up in an inconsistent state
3988 leading to uncaught ObjC exceptions.
3990 2006-07-21 Beth Dakin <bdakin@apple.com>
3994 Just moving this assertion down a couple of lines. It was hitting
3995 every time you try to print a page because we put it too early in
3998 * bridge/mac/WebCoreFrameBridge.mm:
3999 (-[WebCoreFrameBridge drawRect:]):
4001 2006-07-21 Justin Garcia <justin.garcia@apple.com>
4005 <rdar://problem/4548238>
4006 REGRESSION: Can't remove the first OL/UL list item in a Mail's compose window
4008 * editing/CompositeEditCommand.cpp:
4009 (WebCore::CompositeEditCommand::breakOutOfEmptyListItem):
4010 Moved from InsertParagraphSeparator. Does its own typing style restoration.
4011 * editing/CompositeEditCommand.h:
4012 * editing/InsertParagraphSeparatorCommand.cpp:
4013 (WebCore::InsertParagraphSeparatorCommand::doApply): Call breakOutOfEmptyListItem.
4014 * editing/TypingCommand.cpp:
4015 (WebCore::TypingCommand::deleteKeyPressed): Call breakOutOfEmptyListItem if
4016 the endingSelection is at the start of an editable region.
4017 * editing/htmlediting.cpp:
4018 (WebCore::embeddedSublist): Moved from InsertParagraphSeparator.
4019 (WebCore::appendedSublist): Ditto.
4020 (WebCore::enclosingEmptyListItem): Ditto.
4021 * editing/htmlediting.h:
4023 === Safari-521.20 ===
4025 2006-07-21 Tim Omernick <timo@apple.com>
4027 Reviewed by Beth Dakin & John Sullivan.
4029 <rdar://problem/4633717> 9A218: Reproducible crash in -[NSScroller mouseDown:]
4031 Beth is in the middle of making a layout test for this; she will land it soon.
4033 * platform/mac/ScrollBarMac.mm:
4034 (ScrollBar::~ScrollBar):
4035 Call Widget::removeFromSuperview() rather than -removeFromSuperview directly on the scroll bar view.
4036 Widget::removeFromSuperview() obeys the "mustStayInWindow" flag, which is set while tracking the mouse
4037 in view-based widgets to prevent their destruction while the tracking is in progress.
4038 I searched around WebCore and this is the only Widget subclass that directly removes its view rather
4039 than using removeFromSuperview().
4041 2006-07-21 Mitz Pettel <opendarwin.org@mitzpettel.com>
4045 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9312
4046 REGRESSION: Selection bug in new text fields when selecting past the first letter
4048 Test: editing/selection/select-from-textfield-outwards.html
4050 * editing/Selection.cpp:
4051 (WebCore::Selection::adjustForEditableContent): Added code to handle the case
4052 where the selection starts (resp. ends) in the last (resp. first) visual position
4053 inside an editable root.
4054 * editing/htmlediting.cpp:
4055 (WebCore::comparePositions): Fixed the case of comparing a position inside a shadow
4056 tree with a position in the shadow ancestor.
4057 * rendering/RenderBlock.cpp:
4058 (WebCore::RenderBlock::positionForCoordinates): For coordinates outside a replaced
4059 object, return the position just before (after) the element if the coordinates are above or
4060 to the left (below or to the right).
4061 * rendering/RenderObject.cpp:
4062 (WebCore::RenderObject::caretMaxOffset): Changed to return 1 for replaced objects.
4063 * rendering/RenderText.cpp:
4064 (WebCore::RenderText::positionForCoordinates): Changed to return the last position
4065 in the lowest text box if the y coordinate is below all text boxes.
4067 2006-07-21 Geoffrey Garen <ggaren@apple.com>
4071 - Fixed <rdar://problem/4507265> REGRESSION: overlays don't work on
4072 HousingMaps.com (Google Maps-based site)
4074 - Made style.filter undetectable, like document.all.
4076 Unfortunately, the SVG spec-makers invented a CSS attribute named 'filter',
4077 which conflicts with IE's custom CSS attribute by the same name. Web programs
4078 like the Google maps API test for style.filter, and assume it's the IE
4079 style.filter if they find it, so we need to make style.filter undetectable
4080 to avoid breaking them.
4082 An alternative solution would be to hotwire a delorean, go back in time,
4083 and beg the web standards makers to make standards that work on the web.
4085 * bindings/js/kjs_css.cpp:
4086 (KJS::DOMCSSStyleDeclaration::cssPropertyGetter):
4088 2006-07-20 Justin Garcia <justin.garcia@apple.com>
4092 <rdar://problem/4641033>
4093 REGRESSION: Pasting from web pages into Mail (or Blot) often loses most of the content
4095 * editing/markup.cpp:
4096 (WebCore::createMarkup): We surround the currently accumulated markup with markup
4097 for ancestors of the startNode when the pre-order traversal leaves the trees rooted
4098 at those ancestors. We assumed that any ancestors of the current node not in the
4099 ancestorsToClose list were those kind of ancestors. But we don't add renderer-less
4100 containers to the ancestorsToClose list. So, we were incorrectly surrounding the
4101 currently accumulated markup with markup for render-less containers. Most of the
4102 content at apple.com was being put inside an <optgroup> inside a <select> element.
4103 Then on Paste createContextualFragment would drop it.
4105 2006-07-21 Anders Carlsson <acarlsson@apple.com>
4110 (WebCore::Document::):
4111 * dom/EventTargetNode.cpp:
4112 (WebCore::EventTargetNode::addEventListener):
4113 * page/FrameView.cpp:
4114 (WebCore::FrameView::layout):
4115 * rendering/RenderLayer.cpp:
4116 (WebCore::RenderLayer::updateScrollInfoAfterLayout):
4117 Only dispatch overflowchanged events if overflowchanged event listeners have been registered on the document.
4119 2006-07-20 Anders Carlsson <acarlsson@apple.com>
4123 <rdar://problem/4637807> REGRESSION: "Features & Options" page at volvocars.us fails
4125 * xml/XSLTProcessor.cpp:
4126 (WebCore::xsltParamArrayFromParameterMap):
4127 Turns out parameters never worked. String parameters need to be escaped so we create a transform context,
4128 add the parameters to it quoted and then use xsltApplyStylesheetUser which lets us pass the transform context to it.
4129 This also works around a bug in libxslt where a hash table isn't allocated.
4131 2006-07-20 Alice Liu <alice.liu@apple.com>
4133 Reviewed by Tim Omernick.
4135 Fixed <rdar://problem/4621649> repro crash: Upload link causes crash on pages.google.com in Frame::nodeForWidget
4136 added manual test because there is no way to change the value of an <input type=file> via the DOM. It's not supported because it's a security risk.
4138 * manual-tests/remove-input-file-onchange.html: Added.
4139 * platform/mac/FileButtonMac.mm:
4140 (-[WebFileChooserButton chooseFilename:]):
4141 swapped the calls to changeFilename and bridgeForWidget because changeFilename will destroy the widget that is accessed in bridgeForWidget
4143 2006-07-20 Alice Liu <alice.liu@apple.com>
4147 Fixed <rdar://problem/4532113> REGRESSION (NativeTextField): Crash occurs after modifying field then reloading page -[FormDelegate frameLayoutHasChanged:]
4148 added a manual test because of the need to use AutoFill.
4151 (WebCore::Node::aboutToUnload):
4152 added virtual function prototype
4153 * html/HTMLInputElement.cpp:
4154 (WebCore::HTMLInputElement::aboutToUnload):
4155 added implementation that sends textFieldDidEndEditing notification