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