1 2009-01-27 Mads Ager <ager@chromium.org>
3 Reviewed by Darin Adler.
5 https://bugs.webkit.org/show_bug.cgi?id=23300
6 Follow Firefox in throwing exceptions when using selection
7 functions on HTMLInputElements that cannot have selection.
9 This requires custom setSelectionRange, setSelectionStart and
10 setSelectionEnd implementations, but it gets rid of the custom
13 * bindings/js/JSHTMLInputElementCustom.cpp:
14 (WebCore::JSHTMLInputElement::selectionStart):
15 (WebCore::JSHTMLInputElement::selectionEnd):
16 (WebCore::JSHTMLInputElement::setSelectionRange):
17 * html/HTMLInputElement.idl:
19 2009-01-27 Evan Stade <estade@chromium.org>
21 Reviewed by Nikolas Zimmermann.
23 https://bugs.webkit.org/show_bug.cgi?id=23435
24 Make spreadMethod a member of Gradient rather than GraphicsContext.
25 Implement spreadMethod for Skia.
27 * platform/graphics/Gradient.cpp:
28 (WebCore::Gradient::Gradient):
29 * platform/graphics/Gradient.h:
30 (WebCore::Gradient::setSpreadMethod):
31 (WebCore::Gradient::spreadMethod):
32 * platform/graphics/GraphicsContext.cpp:
33 * platform/graphics/GraphicsContext.h:
34 * platform/graphics/GraphicsContextPrivate.h:
35 * platform/graphics/GraphicsTypes.h:
37 * platform/graphics/cairo/GradientCairo.cpp:
38 (WebCore::Gradient::platformGradient):
39 * platform/graphics/cairo/GraphicsContextCairo.cpp:
40 (WebCore::GraphicsContext::fillPath):
41 (WebCore::GraphicsContext::strokePath):
42 * platform/graphics/qt/GradientQt.cpp:
43 (WebCore::Gradient::platformGradient):
44 * platform/graphics/qt/GraphicsContextQt.cpp:
45 (WebCore::GraphicsContext::fillPath):
46 (WebCore::GraphicsContext::strokePath):
47 * platform/graphics/skia/GradientSkia.cpp:
48 (WebCore::Gradient::platformGradient):
49 * svg/SVGLinearGradientElement.cpp:
50 (WebCore::SVGLinearGradientElement::buildGradient):
51 * svg/SVGRadialGradientElement.cpp:
52 (WebCore::SVGRadialGradientElement::buildGradient):
53 * svg/graphics/SVGPaintServerGradient.cpp:
54 (WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
55 (WebCore::SVGPaintServerGradient::setup):
56 (WebCore::SVGPaintServerGradient::externalRepresentation):
57 * svg/graphics/SVGPaintServerGradient.h:
59 2009-01-27 Ariya Hidayat <ariya.hidayat@trolltech.com>
61 Rubber-stamped by Simon Hausmann.
63 http://www.qtsoftware.com/developer/task-tracker/index_html?id=238662&method=entry
65 [Qt] Map function keys F1 to F24.
67 * platform/qt/PlatformKeyboardEventQt.cpp:
68 (WebCore::windowsKeyCodeForKeyEvent):
70 2009-01-27 Brady Eidson <beidson@apple.com>
72 Reviewed by Dan Bernstein
74 Rework FrameLoaderClient to work on a CachedFrame basis instead of CachedPage
77 * history/CachedPage.cpp:
78 * history/CachedPage.h:
79 (WebCore::CachedPage::cachedMainFrame):
81 * loader/EmptyClients.h:
82 (WebCore::EmptyFrameLoaderClient::savePlatformDataToCachedFrame):
83 (WebCore::EmptyFrameLoaderClient::transitionToCommittedFromCachedFrame):
85 * loader/FrameLoader.cpp:
86 (WebCore::FrameLoader::restoreDocumentState):
87 (WebCore::FrameLoader::commitProvisionalLoad):
88 (WebCore::FrameLoader::transitionToCommitted):
89 (WebCore::FrameLoader::cachePageForHistoryItem):
90 * loader/FrameLoaderClient.h:
92 2009-01-26 Simon Fraser <simon.fraser@apple.com>
94 Reviewed by Dave Hyatt
96 https://bugs.webkit.org/show_bug.cgi?id=23360
98 Add variants of all the methods that compute dirty rects for repainting
99 with versions that compute those rects relative to some container
100 RenderBox that acts as a painting root.
102 * rendering/RenderBox.cpp:
103 (WebCore::RenderBox::styleDidChange):
104 (WebCore::RenderBox::outlineBoundsForRepaint):
105 (WebCore::RenderBox::localToContainerQuad):
106 (WebCore::RenderBox::clippedOverflowRectForRepaint):
107 (WebCore::RenderBox::computeRectForRepaint):
108 * rendering/RenderBox.h:
109 * rendering/RenderForeignObject.cpp:
110 (WebCore::RenderForeignObject::computeRectForRepaint):
111 * rendering/RenderForeignObject.h:
112 * rendering/RenderInline.cpp:
113 (WebCore::RenderInline::clippedOverflowRectForRepaint):
114 * rendering/RenderInline.h:
115 * rendering/RenderObject.cpp:
116 (WebCore::RenderObject::containerForRepaint):
117 (WebCore::RenderObject::repaint):
118 (WebCore::RenderObject::repaintRectangle):
119 (WebCore::RenderObject::rectWithOutlineForRepaint):
120 (WebCore::RenderObject::clippedOverflowRectForRepaint):
121 (WebCore::RenderObject::computeRectForRepaint):
122 (WebCore::RenderObject::localToContainerQuad):
123 * rendering/RenderObject.h:
124 (WebCore::RenderObject::localToAbsoluteQuad):
125 (WebCore::RenderObject::absoluteClippedOverflowRect):
126 (WebCore::RenderObject::computeAbsoluteRepaintRect):
127 (WebCore::RenderObject::absoluteOutlineBounds):
128 (WebCore::RenderObject::outlineBoundsForRepaint):
129 * rendering/RenderPath.cpp:
130 (WebCore::RenderPath::clippedOverflowRectForRepaint):
131 (WebCore::RenderPath::outlineBoundsForRepaint):
132 * rendering/RenderPath.h:
133 * rendering/RenderReplaced.cpp:
134 (WebCore::RenderReplaced::clippedOverflowRectForRepaint):
135 * rendering/RenderReplaced.h:
136 * rendering/RenderSVGContainer.cpp:
137 (WebCore::RenderSVGContainer::clippedOverflowRectForRepaint):
138 (WebCore::RenderSVGContainer::outlineBoundsForRepaint):
139 * rendering/RenderSVGContainer.h:
140 * rendering/RenderSVGHiddenContainer.cpp:
141 (WebCore::RenderSVGHiddenContainer::clippedOverflowRectForRepaint):
142 * rendering/RenderSVGHiddenContainer.h:
143 * rendering/RenderSVGImage.cpp:
144 (WebCore::RenderSVGImage::clippedOverflowRectForRepaint):
145 * rendering/RenderSVGImage.h:
146 * rendering/RenderSVGRoot.cpp:
147 (WebCore::RenderSVGRoot::clippedOverflowRectForRepaint):
148 * rendering/RenderSVGRoot.h:
149 * rendering/RenderSVGText.cpp:
150 (WebCore::RenderSVGText::clippedOverflowRectForRepaint):
151 * rendering/RenderSVGText.h:
152 * rendering/RenderTableCell.cpp:
153 (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
154 (WebCore::RenderTableCell::computeRectForRepaint):
155 (WebCore::RenderTableCell::localToContainerQuad):
156 * rendering/RenderTableCell.h:
157 * rendering/RenderTableCol.cpp:
158 (WebCore::RenderTableCol::clippedOverflowRectForRepaint):
159 * rendering/RenderTableCol.h:
160 * rendering/RenderTableRow.cpp:
161 (WebCore::RenderTableRow::clippedOverflowRectForRepaint):
162 * rendering/RenderTableRow.h:
163 * rendering/RenderText.cpp:
164 (WebCore::RenderText::clippedOverflowRectForRepaint):
165 * rendering/RenderText.h:
166 * rendering/RenderView.cpp:
167 (WebCore::RenderView::localToContainerQuad):
168 (WebCore::RenderView::computeRectForRepaint):
169 * rendering/RenderView.h:
171 2009-01-26 Simon Fraser <simon.fraser@apple.com>
173 Reviewed by David Hyatt
175 Back out r40285, because it was checked in with no bug number, no
176 testcase, is rendering change that did not get thorough review,
177 and broke the Mac build.
179 * page/EventHandler.cpp:
180 (WebCore::EventHandler::hitTestResultAtPoint):
181 * page/EventHandler.h:
182 * rendering/HitTestRequest.h:
183 (WebCore::HitTestRequest::HitTestRequest):
184 * rendering/RenderLayer.cpp:
185 (WebCore::RenderLayer::hitTest):
187 2009-01-26 Brady Eidson <beidson@apple.com>
189 Reviewed by Darin Adler
191 -Make the recently added back/forward cache logging much better by actually
192 walking the entire frame tree and indenting the resulting output.
193 -Fix a null-termination bug in HistoryItem tree logging
195 * history/HistoryItem.cpp:
196 (WebCore::HistoryItem::showTreeWithIndent):
198 * loader/FrameLoader.cpp:
199 (WebCore::pageCacheLogPrefix):
200 (WebCore::pageCacheLog):
201 (WebCore::FrameLoader::logCanCachePageDecision):
202 (WebCore::FrameLoader::logCanCacheFrameDecision):
203 * loader/FrameLoader.h:
205 2009-01-26 Adam Treat <adam.treat@torchmobile.com>
207 Reviewed by Nikolas Zimmermann.
209 Allow option of hit testing frame content without clipping to the visible
212 * page/EventHandler.cpp:
213 (WebCore::EventHandler::hitTestResultAtPoint):
214 * page/EventHandler.h:
215 * rendering/HitTestRequest.h:
216 (WebCore::HitTestRequest::HitTestRequest):
217 * rendering/RenderLayer.cpp:
218 (WebCore::RenderLayer::hitTest):
220 2009-01-26 Sam Weinig <sam@webkit.org>
222 Reviewed by Dan Bernstein.
224 Fix for https://bugs.webkit.org/show_bug.cgi?id=18141
225 Acid3 tests 77 and 78 fail on reload due to SVG font race
226 <rdar://problem/6504899>
228 Match Opera's behavior of loading SVGFonts as soon as <font-face-uri>
229 tag is inserted into the document and not at the first use of the font
230 as is done for CSS web fonts.
232 This fixes a race condition noticeable by some in the Acid3 test that
233 happened because the onload event handler for an iframe containing a
234 <font-face-uri> with an external reference was not delayed by the pending
237 Test: http/tests/misc/SVGFont-delayed-load.html
239 * svg/SVGFontFaceUriElement.cpp:
240 (WebCore::SVGFontFaceUriElement::~SVGFontFaceUriElement):
241 (WebCore::SVGFontFaceUriElement::parseMappedAttribute): Call loadFont if
242 the href attribute changes.
243 (WebCore::SVGFontFaceUriElement::insertedIntoDocument): Call loadFont.
244 (WebCore::SVGFontFaceUriElement::loadFont): Force a load of the
245 font specified in href attribute.
246 * svg/SVGFontFaceUriElement.h:
248 2009-01-26 Timothy Hatcher <timothy@apple.com>
250 Change Web Archive serialization back to the binary property list format.
252 <rdar://problem/6127865> Web archives saved with Safari 4 cannot be read by Safari 3
254 Reviewed by Brady Eidson.
256 * loader/archive/cf/LegacyWebArchive.cpp:
257 (WebCore::LegacyWebArchive::rawDataRepresentation):
259 2009-01-26 Anders Carlsson <andersca@apple.com>
265 2009-01-26 Dmitry Titov <dimich@chromium.org>
267 Reviewed by Alexey Proskuryakov.
269 https://bugs.webkit.org/show_bug.cgi?id=23511
270 Move DOMTimer from bindings/js to page/.
271 This was prepared by moving all JSC dependencies from DOMTimer
272 to ScheduledAction earlier, and helps unfork the Chromuim version
278 * WebCore.vcproj/WebCore.vcproj:
279 * WebCore.xcodeproj/project.pbxproj:
280 * WebCoreSources.bkl:
281 * bindings/js/DOMTimer.cpp: Removed.
282 * bindings/js/DOMTimer.h: Removed.
283 * page/DOMTimer.cpp: Copied from WebCore/bindings/js/DOMTimer.cpp.
284 * page/DOMTimer.h: Copied from WebCore/bindings/js/DOMTimer.h.
286 2009-01-26 David Hyatt <hyatt@apple.com>
288 Eliminate rightmostPosition, lowestPosition and leftmostPosition from RenderFlow. Move the code into
289 RenderBlock's methods.
291 Reviewed by Eric Seidel
293 * rendering/RenderBlock.cpp:
294 (WebCore::RenderBlock::lowestPosition):
295 (WebCore::RenderBlock::rightmostPosition):
296 (WebCore::RenderBlock::leftmostPosition):
297 * rendering/RenderFlow.cpp:
298 * rendering/RenderFlow.h:
300 2009-01-26 Darin Fisher <darin@chromium.org>
302 Reviewed by Eric Seidel.
304 https://bugs.webkit.org/show_bug.cgi?id=23553
305 Upstream changes from jcampan to fix chromium bugs 6692 and 6694.
307 * platform/chromium/PopupMenuChromium.cpp:
308 (WebCore::PopupListBox::setLoopSelectionNavigation):
309 (WebCore::PopupListBox::PopupListBox):
310 (WebCore::PopupContainer::setLoopSelectionNavigation):
311 (WebCore::PopupListBox::handleKeyEvent):
312 (WebCore::PopupListBox::paintRow):
313 (WebCore::PopupListBox::clearSelection):
314 (WebCore::PopupListBox::selectNextRow):
315 (WebCore::PopupListBox::selectPreviousRow):
316 * platform/chromium/PopupMenuChromium.h:
318 2009-01-26 Brady Eidson <beidson@apple.com>
320 Reviewed by Sam Weinig
322 Remove some historical CachedPage time stamp fluff.
324 * history/CachedPage.cpp:
325 (WebCore::CachedPage::CachedPage):
326 * history/CachedPage.h:
327 (WebCore::CachedPage::timeStamp):
329 * loader/FrameLoader.cpp:
330 (WebCore::FrameLoader::cachePageForHistoryItem):
332 2009-01-26 David Hyatt <hyatt@apple.com>
334 Move absoluteClippedOverflowRect, linesBoundingBox and borderBoundingBox from RenderFlow to RenderInline.
336 Reviewed by Eric Seidel
338 * rendering/RenderBox.cpp:
339 (WebCore::RenderBox::containingBlockHeightForPositioned):
340 * rendering/RenderFlow.cpp:
341 * rendering/RenderFlow.h:
342 * rendering/RenderInline.cpp:
343 (WebCore::RenderInline::linesBoundingBox):
344 (WebCore::RenderInline::absoluteClippedOverflowRect):
345 * rendering/RenderInline.h:
346 (WebCore::RenderInline::borderBoundingBox):
347 * rendering/RenderLayer.cpp:
348 (WebCore::RenderLayer::updateLayerPosition):
349 * rendering/RenderTreeAsText.cpp:
350 (WebCore::operator<<):
352 2009-01-26 Dimitri Glazkov <dglazkov@chromium.org>
354 Reviewed by Eric Seidel.
356 https://bugs.webkit.org/show_bug.cgi?id=22650
357 Implement support for "Immutable" attribute to CodeGeneratorJS.pm, thus
358 allowing to explicitly mark methods as immutable (i.e. returning a new
359 instance rather than a reference to an existing instance).
361 * bindings/js/JSSVGMatrixCustom.cpp: Removed custom methods.
362 * bindings/scripts/CodeGeneratorJS.pm: Added check for Immutable
363 attribute when generating function call.
364 * svg/SVGMatrix.idl: Replaced Custom attribute with Immutable on
367 2009-01-26 David Hyatt <hyatt@apple.com>
369 Eliminate isInlineFlow() now that a RenderBlock can never be an inline flow. isInlineFlow() is now
370 equivalent to isRenderInline(), so all calls to isInlineFlow() have been replaced with isRenderInline().
372 Reviewed by Eric Seidel
375 (WebCore::Text::rendererIsNeeded):
376 * rendering/InlineFlowBox.cpp:
377 (WebCore::InlineFlowBox::placeBoxesHorizontally):
378 (WebCore::shouldDrawTextDecoration):
379 * rendering/RenderBlock.cpp:
380 (WebCore::RenderBlock::hitTestContents):
381 (WebCore::InlineMinMaxIterator::next):
382 (WebCore::RenderBlock::calcInlinePrefWidths):
383 * rendering/RenderBlock.h:
384 (WebCore::RenderBlock::isBlockFlow):
385 * rendering/RenderBox.cpp:
386 (WebCore::RenderBox::clientWidth):
387 (WebCore::RenderBox::clientHeight):
388 (WebCore::RenderBox::nodeAtPoint):
389 (WebCore::RenderBox::imageChanged):
390 (WebCore::RenderBox::offsetForPositionedInContainer):
391 (WebCore::RenderBox::containingBlockWidthForPositioned):
392 (WebCore::RenderBox::containingBlockHeightForPositioned):
393 * rendering/RenderBox.h:
394 (WebCore::RenderBox::width):
395 (WebCore::RenderBox::height):
396 (WebCore::RenderBox::size):
397 (WebCore::RenderBox::frameRect):
398 * rendering/RenderContainer.cpp:
399 (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
400 * rendering/RenderFlow.cpp:
401 (WebCore::RenderFlow::dirtyLinesFromChangedChild):
402 (WebCore::RenderFlow::createInlineBox):
403 (WebCore::RenderFlow::paintLines):
404 (WebCore::RenderFlow::hitTestLines):
405 (WebCore::RenderFlow::absoluteClippedOverflowRect):
406 (WebCore::RenderFlow::lowestPosition):
407 (WebCore::RenderFlow::rightmostPosition):
408 (WebCore::RenderFlow::leftmostPosition):
409 * rendering/RenderFlow.h:
410 (WebCore::RenderFlow::borderBoundingBox):
411 * rendering/RenderInline.h:
412 (WebCore::RenderInline::isRenderInline):
413 * rendering/RenderLayer.cpp:
414 (WebCore::RenderLayer::updateLayerPosition):
415 (WebCore::RenderLayer::intersectsDamageRect):
416 (WebCore::RenderLayer::boundingBox):
417 * rendering/RenderListItem.cpp:
418 (WebCore::getParentOfFirstLineBox):
419 * rendering/RenderObject.cpp:
420 (WebCore::RenderObject::getAbsoluteRepaintRectWithOutline):
421 (WebCore::RenderObject::styleWillChange):
422 (WebCore::RenderObject::firstLineStyle):
423 * rendering/RenderObject.h:
424 * rendering/RenderSVGInline.cpp:
425 (WebCore::RenderSVGInline::createInlineBox):
426 * rendering/RenderSVGText.cpp:
427 (WebCore::RenderSVGText::createInlineBox):
428 * rendering/RenderTableRow.cpp:
429 (WebCore::RenderTableRow::nodeAtPoint):
430 * rendering/RenderTableSection.cpp:
431 (WebCore::RenderTableSection::nodeAtPoint):
432 * rendering/RenderText.cpp:
433 (WebCore::isInlineFlowOrEmptyText):
434 * rendering/RenderTreeAsText.cpp:
435 (WebCore::operator<<):
436 * rendering/bidi.cpp:
438 (WebCore::bidiFirst):
439 (WebCore::appendRunsForObject):
440 (WebCore::RenderBlock::createLineBoxes):
441 (WebCore::RenderBlock::computeHorizontalPositionsForLine):
442 (WebCore::RenderBlock::layoutInlineChildren):
443 (WebCore::inlineFlowRequiresLineBox):
444 (WebCore::requiresLineBox):
445 (WebCore::RenderBlock::skipTrailingWhitespace):
446 (WebCore::RenderBlock::skipLeadingWhitespace):
447 (WebCore::RenderBlock::findNextLineBreak):
449 2009-01-26 David Hyatt <hyatt@apple.com>
451 Drop support for display:compact.
453 (1) display:compact is no longer part of CSS2.1.
454 (2) Shipping Safari has completely broken compact support with severely broken rendering
455 (all of the compact text just piles on top of the text in the inserted block and on top of itself as well).
456 (3) This has been broken in WebKit for years (ever since blocks converted to painting lines directly) without
457 anyone even noticing.
459 Reviewed by Eric Seidel
461 * rendering/InlineFlowBox.cpp:
462 (WebCore::InlineFlowBox::placeBoxesHorizontally):
463 * rendering/RenderBlock.cpp:
464 (WebCore::RenderBlock::handleSpecialChild):
465 (WebCore::RenderBlock::handleRunInChild):
466 (WebCore::RenderBlock::layoutBlockChildren):
467 (WebCore::RenderBlock::paint):
468 (WebCore::RenderBlock::paintObject):
469 (WebCore::RenderBlock::nodeAtPoint):
470 (WebCore::RenderBlock::positionForCoordinates):
471 (WebCore::shouldCheckLines):
472 (WebCore::getHeightForLineCount):
473 (WebCore::RenderBlock::renderName):
474 * rendering/RenderBlock.h:
475 * rendering/RenderBox.cpp:
476 (WebCore::RenderBox::sizesToIntrinsicWidth):
477 * rendering/RenderBox.h:
478 (WebCore::RenderBox::width):
479 (WebCore::RenderBox::height):
480 (WebCore::RenderBox::size):
481 (WebCore::RenderBox::frameRect):
482 * rendering/RenderFlow.cpp:
483 (WebCore::RenderFlow::paintLines):
484 (WebCore::RenderFlow::hitTestLines):
485 (WebCore::RenderFlow::absoluteClippedOverflowRect):
486 (WebCore::RenderFlow::linesBoundingBox):
487 * rendering/RenderObject.h:
488 (WebCore::RenderObject::isInline):
489 * rendering/bidi.cpp:
490 (WebCore::RenderBlock::computeHorizontalPositionsForLine):
491 (WebCore::RenderBlock::layoutInlineChildren):
493 (WebCore::BidiRun::BidiRun):
495 2009-01-26 Adam Langley <agl@google.com>
497 Reviewed by Nikolas Zimmermann.
499 gtk2drawing: fix compiler warnings
501 g_object_set_data expects a gpointer as the last argument. Cast the
502 TRUE/FALSE values to avoid a warning.
503 gtk_tree_view_column_new doesn't return a GtkWidget.
505 * platform/gtk/gtk2drawing.c:
506 (setup_widget_prototype):
507 (moz_gtk_get_combo_box_inner_button):
508 (moz_gtk_get_combo_box_button_inner_widgets):
509 (ensure_combo_box_widgets):
510 (moz_gtk_get_combo_box_entry_inner_widgets):
511 (moz_gtk_get_combo_box_entry_arrow):
512 (ensure_combo_box_entry_widgets):
513 (ensure_toolbar_widget):
514 (ensure_menu_bar_item_widget):
515 (ensure_menu_popup_widget):
516 (ensure_menu_item_widget):
517 (ensure_image_menu_item_widget):
518 (ensure_menu_separator_widget):
519 (ensure_check_menu_item_widget):
520 (ensure_tree_header_cell_widget):
521 (moz_gtk_entry_paint):
523 2009-01-26 David Hyatt <hyatt@apple.com>
525 Change display:run-in handling so that we no longer reuse RenderBlock as though it is an inline flow.
526 Instead we create a new RenderInline, move the RenderBlock's children underneath it, and then set the
527 inline as the new element's renderer.
529 Reviewed by Dan Bernstein
531 * rendering/RenderBlock.cpp:
532 (WebCore::RenderBlock::handleRunInChild):
533 * rendering/RenderInline.cpp:
534 (WebCore::RenderInline::renderName):
536 2009-01-26 Dimitri Glazkov <dglazkov@chromium.org>
538 Reviewed by Darin Adler.
540 https://bugs.webkit.org/show_bug.cgi?id=23480
541 Add missing method stubs to BackForwardListChromium.
543 * history/BackForwardListChromium.cpp:
544 (WebCore::BackForwardList::backItem):
545 (WebCore::BackForwardList::forwardItem):
547 2009-01-25 Darin Adler <darin@apple.com>
549 Try to fix Tiger buildbot.
551 * WebCore.xcodeproj/project.pbxproj: Turn off cast-qual for WebDashboardRegion.m.
552 * page/mac/WebDashboardRegion.m:
554 (-[WebDashboardRegion description]): Use typeName.
555 (-[WebDashboardRegion isEqual:]): Added comment.
557 2009-01-25 Alexey Proskuryakov <ap@webkit.org>
559 Reviewed by Darin Adler.
561 https://bugs.webkit.org/show_bug.cgi?id=23535
562 Strengthen debug checks in KURL
564 Covered (and prompted) by existing tests.
567 (WebCore::checkEncodedString): Check that the first character of the URL is an allowed
568 first scheme character, not just that it isn't a slash.
569 (WebCore::KURL::KURL): Assert that parsing didn't affect the string (which must be the case
570 because of parsing being idempotent).
572 * page/SecurityOrigin.cpp:
573 (WebCore::SecurityOrigin::create): Added a check for the URL being valid - if it is not, an
574 empty security origin is created.
575 (WebCore::SecurityOrigin::createFromString): Parse the string as URL, do not just convert
576 it - it is not guaranteed to be properly encoded.
578 * dom/Document.cpp: (WebCore::Document::updateBaseURL): As documentURI is an arbitrary
579 string, it needs to be parsed into an URL, not just converted into one.
581 * html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::createPattern):
582 Create the security origin with createFromString() instead of create(). I do not know where
583 the string comes from and whether it might not be properly encoded, but this change can't
584 hurt, and makes the code slightly more clear.
586 * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::accessControlCheck): Create the security
587 origin with createFromString() instead of create(). The string comes from an HTTP response
588 header, so it may not be a properly encoded URL.
590 * loader/DocLoader.cpp: (WebCore::DocLoader::requestResource): Do not try to request using
593 * page/DOMWindow.cpp: (WebCore::DOMWindow::postMessage): Updated to call
594 SecurityOrigin::createFromString() (no change in behavior).
596 2009-01-25 Mark Rowe <mrowe@apple.com>
598 Rubber-stamped by Dan Bernstein.
600 Improve the consistency of settings in our .xcconfig files.
602 * Configurations/Base.xcconfig: Enable GCC_OBJC_CALL_CXX_CDTORS to match other projects,
603 and handle all cases in GCC_GENERATE_DEBUGGING_SYMBOLS.
605 2009-01-25 David Hyatt <hyatt@apple.com>
607 Fix for https://bugs.webkit.org/show_bug.cgi?id=23524, lots of missing content in table sections.
609 The new table code created a bug involving markAllDescendantsWithFloatsForLayout, namely that it could
610 end up marking ancestors of a block as needing layout when that block was still in the process of
613 The fix is to add a parameter to markAllDescendantsWithFloatsForLayout that says whether or not
614 we are "mid-layout." If this flag is set, then the method will make sure to do only local dirtying
615 of objects to avoid accidentally marking a clean ancestor as needing layout again.
617 Ultimately the second parameter to setNeedsLayout and setChildNeedsLayout should just be removed,
618 with a check of whether or not we are mid-layout being done by those methods instead.
620 Reviewed by Oliver Hunt
622 Added fast/repaint/dynamic-table-vertical-alignment-change.html
624 * rendering/RenderBlock.cpp:
625 (WebCore::RenderBlock::collapseMargins):
626 (WebCore::RenderBlock::clearFloatsIfNeeded):
627 (WebCore::RenderBlock::layoutBlockChildren):
628 (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout):
629 * rendering/RenderBlock.h:
630 * rendering/RenderObject.cpp:
631 (WebCore::RenderObject::removeFromObjectLists):
632 * rendering/RenderObject.h:
633 * rendering/RenderTableSection.cpp:
634 (WebCore::RenderTableSection::layoutRows):
636 2009-01-25 Darin Adler <darin@apple.com>
638 Reviewed by Mark Rowe.
640 Bug 23352: Turn on more compiler warnings in the Mac build
641 https://bugs.webkit.org/show_bug.cgi?id=23352
643 Turn on the following warnings:
653 * Configurations/Base.xcconfig: Added the new warnings. Switched to -Wextra instead of
654 -W for clarity since we don't have to support the older versions of gcc that require the
655 old -W syntax. Since we now use -Wformat=2, removed -Wformat-security. Also removed
656 -Wno-format-y2k since we can have that one on now.
658 2009-01-25 Dan Bernstein <mitz@apple.com>
660 Reviewed by Oliver Hunt.
662 - fix <rdar://problem/6525618> REGRESSION (r39566): NewsFire crashes in
663 string hashing code when opening a Digg RSS article
665 Test: fast/loader/null-request-after-willSendRequest.html
667 * loader/FrameLoader.cpp:
668 (WebCore::FrameLoader::loadItem): Null-check the request returned from
669 the client's willSendRequest method.
671 2009-01-25 David Hyatt <hyatt@apple.com>
673 Fix for <rdar://problem/6525392> REGRESSION (r40180): Scroll wheel events over text scroll the page
674 instead of the ancestor overflow (23525)
676 Make sure that we always call scroll() on the nearest enclosing RenderBox. No test case is possible
677 here, since wheel scrolling is currently untestable (the offset varies from machine to machine).
679 Reviewed by Dan Bernstein
681 * page/EventHandler.cpp:
682 (WebCore::scrollAndAcceptEvent):
683 (WebCore::EventHandler::scrollOverflow):
684 * rendering/RenderObject.cpp:
685 (WebCore::RenderObject::enclosingBox):
686 * rendering/RenderObject.h:
688 2009-01-25 Darin Adler <darin@apple.com>
690 Reviewed by Dan Bernstein.
692 Bug 23538: REGRESSION (r39969): Garbage text instead of blank content rendered when plug-ins are disabled
693 https://bugs.webkit.org/show_bug.cgi?id=23538
694 rdar://problem/6523719
696 I'm not sure how to make a regression test for this, since it depends on plug-ins being disabled.
698 The main problem here is that when plug-ins were disabled, the code ignored the classId attribute and
699 the <embed> element entirely. That resulted in a page treating a Flash document as plain HTML rather
702 * rendering/RenderPartObject.cpp:
703 (WebCore::createClassIdToTypeMap): Added. Broke this out into a separate function so we could get rid of an
704 inelegant if statement.
705 (WebCore::activeXType): Added. To avoid repeating the MIME type for ActiveX and possibly having a typo.
706 (WebCore::havePlugin): Added. Helper function to make sure we don't forget the null check.
707 (WebCore::serviceTypeForClassId): Give this function a return value since that's a more natural way to
708 return a string than an "out" parameter. Fixed the logic to only prefer the ActiveX type over the
709 type guessed from the classId when there actually is an ActiveX plug-in to use. The old function assumed
710 there was one, which I presume right for Chrome on Windows when plug-ins are enabled, but wrong in many
711 other cases, and wrong all the time for all clients on Mac. We don't want to assume either way. Use the
712 new havePlugin function so we handle the case where pluginData is 0.
713 (WebCore::shouldUseEmbedDescendant): Renamed. Simplified the comment. Changed to use serviceTypeForClassId
714 instead of the old version that used an out parameter. Always use the <embed> if there isn't a plug-in
715 that knows how to handle <object> elements.
716 (WebCore::RenderPartObject::updateWidget): Removed null checks of pluginData. The two functions that
717 use this data still need to be called; they still do something even if no plug-ins are present. And
718 they have now been corrected to handle 0 properly.
720 2009-01-25 Darin Adler <darin@apple.com>
722 * rendering/RenderMenuList.cpp: Fix build by adding back needed include.
724 2009-01-25 Darin Adler <darin@apple.com>
726 Reviewed by Sam Weinig.
728 Bug 23352: Turn on more compiler warnings in the Mac build
729 https://bugs.webkit.org/show_bug.cgi?id=23352
731 Fourth patch: Deal with the last few stray warnings.
733 * rendering/RenderBlock.cpp:
734 (WebCore::RenderBlock::firstLineBlock): Handle the const_cast a little better.
735 Also make the local variable be a RenderBlock so the cast is closer to the code
736 that guarantees it's correct.
738 * rendering/SVGRenderTreeAsText.cpp:
739 (WebCore::writeStyle): Put the enum into a local variable that's a built-in
740 type before using it with TextStream, so we don't get a warning due to -Wsign-promo.
742 2009-01-25 Darin Adler <darin@apple.com>
744 Reviewed by Sam Weinig.
746 Bug 23522: use checked casts for render tree
747 https://bugs.webkit.org/show_bug.cgi?id=23522
749 Step one: RenderText.
751 Also change set of RenderFlow* to be a ListHashSet as the comment in the
754 * dom/CharacterData.cpp:
755 (WebCore::CharacterData::setData): Use toRenderText.
756 (WebCore::CharacterData::appendData): Ditto.
757 (WebCore::CharacterData::insertData): Ditto.
758 (WebCore::CharacterData::deleteData): Ditto.
759 (WebCore::CharacterData::replaceData): Ditto.
760 * dom/ContainerNode.cpp:
761 (WebCore::ContainerNode::getUpperLeftCorner): Ditto.
762 (WebCore::ContainerNode::getLowerRightCorner): Ditto.
764 (WebCore::nextRenderedEditable): Ditto.
765 (WebCore::previousRenderedEditable): Ditto.
766 (WebCore::Position::renderedOffset): Ditto. Also use function members
767 instead of data members of InlineTextBox.
768 (WebCore::Position::upstream): Ditto.
769 (WebCore::Position::downstream): Ditto.
770 (WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight): Ditto.
771 (WebCore::Position::inRenderedText): Ditto.
772 (WebCore::Position::isRenderedCharacter): Ditto.
773 (WebCore::searchAheadForBetterMatch): Ditto.
774 (WebCore::Position::getInlineBoxAndOffset): Ditto.
776 * dom/Range.cpp: Added include of VisiblePosition.h now that it's no longer
777 included in RenderObject.h.
780 (WebCore::Text::splitText): Use toRenderText.
781 (WebCore::Text::recalcStyle): Ditto.
782 * editing/CompositeEditCommand.cpp:
783 (WebCore::CompositeEditCommand::deleteInsignificantText): Ditto.
784 * editing/SelectionController.cpp:
785 (WebCore::SelectionController::debugRenderer): Ditto.
786 * editing/TextIterator.cpp:
787 (WebCore::TextIterator::handleTextNode): Ditto.
788 (WebCore::TextIterator::handleTextBox): Ditto.
789 (WebCore::TextIterator::emitText): Ditto.
790 (WebCore::SimplifiedBackwardsTextIterator::handleTextNode): Ditto.
792 * editing/VisiblePosition.cpp: Added include of FloatQuad.h now that it's
793 no longer included in RenderObject.h.
794 * inspector/InspectorController.cpp: Ditto.
795 * page/Frame.cpp: Ditto.
796 * rendering/RenderBox.cpp: Ditto.
797 * rendering/RenderInline.cpp: Ditto.
798 * rendering/RenderPath.cpp: Ditto.
799 * rendering/RenderSVGContainer.cpp: Ditto.
800 * rendering/RenderSVGImage.cpp: Ditto.
801 * rendering/RenderSVGInlineText.cpp: Ditto.
802 * rendering/RenderSVGTSpan.cpp: Ditto.
803 * rendering/RenderSVGText.cpp: Ditto.
804 * rendering/RenderSVGTextPath.cpp: Ditto.
805 * rendering/RenderTableCell.cpp: Ditto.
806 * rendering/RenderView.cpp: Ditto.
808 * editing/visible_units.cpp:
809 (WebCore::startPositionForLine): Use function members instead of data
810 members of InlineTextBox.
811 (WebCore::endPositionForLine): Ditto.
812 (WebCore::startOfParagraph): Use toRenderText.
813 (WebCore::endOfParagraph): Ditto.
815 * page/AccessibilityRenderObject.cpp:
816 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): Use toRenderText.
817 * rendering/InlineFlowBox.cpp:
818 (WebCore::InlineFlowBox::placeBoxesHorizontally): Ditto.
819 * rendering/InlineTextBox.cpp:
820 (WebCore::InlineTextBox::deleteLine): Ditto.
821 (WebCore::InlineTextBox::extractLine): Ditto.
822 (WebCore::InlineTextBox::attachLine): Ditto.
823 (WebCore::InlineTextBox::placeEllipsisBox): Ditto.
824 (WebCore::InlineTextBox::paintDecoration): Ditto.
825 (WebCore::InlineTextBox::paintCompositionUnderline): Ditto.
826 (WebCore::InlineTextBox::offsetForPosition): Ditto.
827 (WebCore::InlineTextBox::positionForOffset): Ditto.
829 * rendering/InlineTextBox.h: Made most members private. Use toRenderText.
831 * rendering/RenderArena.cpp:
832 (WebCore::RenderArena::allocate): Use static_cast instead of C-style cast.
833 (WebCore::RenderArena::free): Ditto.
835 * rendering/RenderBlock.cpp:
836 (WebCore::RenderBlock::addContinuationWithOutline): Use ListHashSet<RenderFlow*>
837 instead of RenderFlowSequencedSet.
838 (WebCore::RenderBlock::paintContinuationOutlines): Ditto.
839 (WebCore::stripTrailingSpace): Ditto.
840 (WebCore::RenderBlock::calcInlinePrefWidths): Ditto.
841 (WebCore::RenderBlock::updateFirstLetter): Ditto.
843 * rendering/RenderContainer.cpp:
844 (WebCore::RenderContainer::addChild): Use toRenderText.
846 * rendering/RenderFlow.cpp:
847 (WebCore::RenderFlow::dirtyLinesFromChangedChild): Use ListHashSet<RenderFlow*>
848 instead of RenderFlowSequencedSet.
849 (WebCore::RenderFlow::paintLines): Ditto.
851 * rendering/RenderMenuList.cpp: Removed some unneeded includes.
853 * rendering/RenderMenuList.h: Added now-needed forward declaration of RenderText.
854 Made more members private.
856 * rendering/RenderObject.cpp: Updated includes.
857 (WebCore::RenderObject::isEditable): Use toRenderText.
858 (WebCore::RenderObject::positionForPoint): Made non-inline so we wouldn't have to
859 include VisiblePosition.h in the header just for this.
861 * rendering/RenderObject.h: Removed unneeded includes and forward declarations.
862 Changed special vertical position values to be constants rather than an enum.
863 Eliminated RenderFlowSequencedSet, and changed clients to use ListHashSet<RenderFlow*>.
865 * rendering/RenderText.cpp:
866 (WebCore::RenderText::findNextInlineTextBox): Use function members instead of
867 data members of InlineTextBox.
868 (WebCore::RenderText::positionForCoordinates): Ditto.
869 (WebCore::isInlineFlowOrEmptyText): Use toRenderText.
870 (WebCore::RenderText::previousCharacter): Use function members instead of
871 data members of InlineTextBox.
872 (WebCore::RenderText::position): Ditto.
873 (WebCore::RenderText::caretMinOffset): Ditto.
874 (WebCore::RenderText::caretMaxOffset): Ditto.
875 (WebCore::RenderText::caretMaxRenderedOffset): Ditto.
877 * rendering/RenderText.h: Added definition of toRenderText.
879 * rendering/RenderTextControl.cpp:
880 (WebCore::RenderTextControl::textWithHardLineBreaks): Use toRenderText.
881 * rendering/RenderTreeAsText.cpp:
882 (WebCore::operator<<): Use toRenderText and toRenderBox.
883 (WebCore::writeTextRun): Ditto.
884 (WebCore::write): Ditto.
886 * rendering/bidi.cpp:
887 (WebCore::InlineIterator::increment): Use toRenderText.
888 (WebCore::InlineIterator::current): Ditto.
889 (WebCore::checkMidpoints): Ditto.
890 (WebCore::RenderBlock::computeHorizontalPositionsForLine): Ditto.
891 (WebCore::RenderBlock::layoutInlineChildren): Ditto.
892 (WebCore::RenderBlock::determineStartPosition): Ditto.
893 (WebCore::shouldSkipWhitespaceAfterStartObject): Ditto.
894 (WebCore::RenderBlock::findNextLineBreak): Ditto.
896 2009-01-25 Thiago Macieira <thiago.macieira@nokia.com>
898 Reviewed by Simon Hausmann.
900 Fix gcc compiler warning (deprecated conversion from constant string to char*)
902 "" cannot be stored in a char*
904 * plugins/PluginStream.cpp:
905 (WebCore::PluginStream::destroyStream):
907 2009-01-24 Alexey Proskuryakov <ap@webkit.org>
909 Reviewed by Darin Adler.
911 <rdar://problem/5954398> REGRESSION: 1.1% PLT regression from 33577 and 33578 (encoding fixes)
913 Changed single argument KURL constructors back to always expect an already encoded string,
914 eliminating extra conversions.
916 This is a rather unstable situation, as it is often unclear whether a given string is safe
917 to convert to KURL without resolving. I think that going forward, the solution is to try to
918 keep encoded URLs as KURL instances, and not as strings.
920 * platform/KURL.h: Updated comments.
923 (WebCore::KURL::KURL): In debug builds, verify that the passed string is ASCII-only. The
924 intention is to verify that it is already parsed and encoded by KURL or equivalent code, but
925 since encoding is scheme-dependent, such a verification would be quite complicated.
926 Don't encode the string as UTF-8, as it supposed to be ASCII-only.
927 Removed a hack that made strings beginning with "/" turn into "file:" URLs. I didn't find
928 any reason for it to exist, but I saw several cases where this code path was taken
929 inadvertently (see examples in LayoutTests/ChangeLog).
930 (WebCore::KURL::setProtocol): Using a user-provided string without validation or encoding
931 is clearly wrong here (e.g., the "protocol" can be set to a full URL, effectively replacing
932 the old one), and an already encoded string is expected by parse().
933 In debug builds, non-ASCII input will make an assertion in parse() fail. Added a FIXME.
934 (WebCore::KURL::setHost): Ditto.
935 (WebCore::KURL::setPort): Ditto.
936 (WebCore::KURL::setHostAndPort): Ditto.
937 (WebCore::KURL::setUser): Ditto.
938 (WebCore::KURL::setPass): Ditto.
939 (WebCore::KURL::setRef): Ditto.
940 (WebCore::KURL::setQuery): Ditto.
941 (WebCore::KURL::setPath): Ditto.
942 (WebCore::KURL::parse): Verify that the passed string is already encoded.
944 * html/HTMLLinkElement.cpp:
945 (WebCore::HTMLLinkElement::parseMappedAttribute):
946 (WebCore::HTMLLinkElement::process):
947 * html/HTMLLinkElement.h:
948 Changed to avoid using invalid URLs (this was causing problems on DNS prefetch tests, see
949 LayoutTests/ChangeLog).
951 * loader/FrameLoader.cpp:
952 (WebCore::FrameLoader::init): Create an empty KURL without indirection for a small speedup.
953 (WebCore::FrameLoader::requestFrame): Resolve and encode javascript URLs properly, now that
954 String to KURL conversion requires the string to be already encoded.
956 * page/DOMWindow.cpp: (WebCore::DOMWindow::postMessage): Resolve and encode the origin.
957 HTML5 seems a little unclear on how this should work (it talks about "either parsing it as
958 a URL, or resolving it", and then somehow compares unaltered targetOrigin string to a
959 security origin object), so I just made the code as close to what we already had as possible.
961 2009-01-24 Darin Adler <darin@apple.com>
965 * WebCore.pro: Added JSTextCustom.cpp.
967 2009-01-23 Chris Marrin <cmarrin@apple.com>
969 Reviewed by David Hyatt.
971 https://bugs.webkit.org/show_bug.cgi?id=23467
973 Change styleAvailable functionality to be a linked list
974 rather than scanning every CompositeAnimation for
975 Animations that are waiting for styleAvailable. This has
976 potential for large performance improvement in cases where
977 there are many animations firing at once. But it will also
978 help in my next fix, which is to synchronize software and
979 accelerated animations.
981 I also changed slightly when the beginAnimationUpdate and
982 endAnimationUpdate calls are made. But this has no real
983 effect on performance or behavior.
986 (WebCore::Document::recalcStyle):
987 (WebCore::Document::updateRendering):
988 * page/animation/AnimationBase.cpp:
989 (WebCore::AnimationBase::AnimationBase):
990 (WebCore::AnimationBase::~AnimationBase):
991 (WebCore::AnimationBase::updateStateMachine):
992 * page/animation/AnimationBase.h:
993 (WebCore::AnimationBase::next):
994 (WebCore::AnimationBase::setNext):
995 (WebCore::AnimationBase::styleAvailable):
996 * page/animation/AnimationController.cpp:
997 (WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
998 (WebCore::AnimationControllerPrivate::addToStyleAvailableWaitList):
999 (WebCore::AnimationControllerPrivate::removeFromStyleAvailableWaitList):
1000 (WebCore::AnimationControllerPrivate::styleAvailable):
1001 (WebCore::AnimationController::AnimationController):
1002 (WebCore::AnimationController::endAnimationUpdate):
1003 (WebCore::AnimationController::addToStyleAvailableWaitList):
1004 (WebCore::AnimationController::removeFromStyleAvailableWaitList):
1005 * page/animation/AnimationController.h:
1006 * page/animation/CompositeAnimation.cpp:
1007 (WebCore::CompositeAnimationPrivate::addToStyleAvailableWaitList):
1008 (WebCore::CompositeAnimationPrivate::removeFromStyleAvailableWaitList):
1009 (WebCore::CompositeAnimation::addToStyleAvailableWaitList):
1010 (WebCore::CompositeAnimation::removeFromStyleAvailableWaitList):
1011 * page/animation/CompositeAnimation.h:
1013 2009-01-24 Alexey Proskuryakov <ap@webkit.org>
1015 Reviewed by Darin Adler.
1017 <rdar://problem/6368059> REGRESSION: URL encoding problems on http://www.cineman.ch
1019 Test: http/tests/xmlhttprequest/encode-request-url-2.html
1021 * platform/KURL.cpp:
1022 (WebCore::appendASCII): Added a helper function.
1023 (WebCore::KURL::KURL): Explicitly encode the URL to call two-argument parse() with better
1025 (WebCore::KURL::init): Ditto. This avoids trying to round-trip an URL encoded into a byte
1026 stream, but not yet transformed to ASCII-only using percent escapes. Since different parts
1027 of the byte stream can use different encodings, round-tripping is not possible.
1028 (WebCore::KURL::parse): Reverted an earlier change that made the single-argument version of
1029 this function convert the string to utf-8. I think that on the remanining code paths, it is
1030 correct to assume that the string is all ASCII, but I'm not yet confident enough to drop a
1033 2009-01-24 Jan Michael Alonzo <jmalonzo@webkit.org>
1035 Gtk build fix after r40170
1037 * GNUmakefile.am: Removed editing/RemoveNodeAttributeCommand.cpp
1038 and editing/RemoveNodeAttributeCommand.h
1040 2009-01-23 Adam Treat <adam.treat@torchmobile.com>
1042 Fix the Qt build after r40205.
1046 2009-01-23 Brady Eidson <beidson@apple.com>
1048 Reviewed by Darin Adler
1050 In CachedPage, break off per-Frame pieces of data into a CachedFrame object.
1056 * WebCore.vcproj/WebCore.vcproj:
1057 * WebCore.xcodeproj/project.pbxproj:
1058 * WebCoreSources.bkl:
1060 * history/CachedFrame.cpp: Added.
1061 (WebCore::cachedFrameCounter):
1062 (WebCore::CachedFrame::CachedFrame):
1063 (WebCore::CachedFrame::~CachedFrame):
1064 (WebCore::CachedFrame::restore):
1065 (WebCore::CachedFrame::clear):
1066 (WebCore::CachedFrame::setCachedFramePlatformData):
1067 (WebCore::CachedFrame::cachedFramePlatformData):
1068 * history/CachedFrame.h: Added.
1069 (WebCore::CachedFrame::document):
1070 (WebCore::CachedFrame::documentLoader):
1071 (WebCore::CachedFrame::view):
1072 (WebCore::CachedFrame::mousePressNode):
1073 (WebCore::CachedFrame::url):
1074 (WebCore::CachedFrame::domWindow):
1076 * history/CachedPage.cpp:
1077 (WebCore::CachedPage::CachedPage):
1078 (WebCore::CachedPage::restore):
1079 (WebCore::CachedPage::clear):
1080 (WebCore::CachedPage::setCachedFramePlatformData):
1081 (WebCore::CachedPage::cachedFramePlatformData):
1082 * history/CachedPage.h:
1083 (WebCore::CachedPage::document):
1084 (WebCore::CachedPage::documentLoader):
1085 (WebCore::CachedPage::view):
1086 (WebCore::CachedPage::mousePressNode):
1087 (WebCore::CachedPage::url):
1088 (WebCore::CachedPage::domWindow):
1090 * loader/FrameLoader.cpp:
1091 (WebCore::FrameLoader::cachePageForHistoryItem): Setting the DocumentLoader independently of
1092 creating a CachedPage was a historical relic. Take the opportunity to clean that up.
1094 2009-01-23 David Hyatt <hyatt@apple.com>
1096 Add ASSERTs to catch anyone trying to obtain the width/height of an inline flow. Fix up all the places
1097 that triggered the ASSERT (since all of these places are effectively regressions from my landing that
1098 devirtualized width()/height()).
1103 (WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight):
1104 * editing/DeleteButtonController.cpp:
1105 (WebCore::isDeletableElement):
1106 * html/HTMLAnchorElement.cpp:
1107 (WebCore::HTMLAnchorElement::isKeyboardFocusable):
1108 * rendering/RenderBox.cpp:
1109 (WebCore::RenderBox::clientWidth):
1110 (WebCore::RenderBox::clientHeight):
1111 (WebCore::RenderBox::scrollWidth):
1112 (WebCore::RenderBox::scrollHeight):
1113 (WebCore::RenderBox::absoluteOutlineBounds):
1114 * rendering/RenderBox.h:
1115 (WebCore::RenderBox::width):
1116 (WebCore::RenderBox::height):
1117 (WebCore::RenderBox::size):
1118 (WebCore::RenderBox::frameRect):
1119 (WebCore::RenderBox::borderBoundingBox):
1120 * rendering/RenderFlow.h:
1121 (WebCore::RenderFlow::borderBoundingBox):
1122 * rendering/RenderLayer.cpp:
1123 (WebCore::RenderLayer::updateLayerPosition):
1124 * rendering/RenderScrollbarPart.cpp:
1125 (WebCore::RenderScrollbarPart::styleWillChange):
1126 * rendering/RenderScrollbarPart.h:
1127 * wml/WMLAElement.cpp:
1128 (WebCore::WMLAElement::isKeyboardFocusable):
1130 2009-01-23 Darin Adler <darin@apple.com>
1132 Reviewed by Anders Carlsson.
1134 Bug 23352: Turn on more compiler warnings in the Mac build
1135 https://bugs.webkit.org/show_bug.cgi?id=23352
1137 Second patch: Slightly less simple cases of various warnings.
1139 * bridge/jni/jni_runtime.h:
1140 (JSC::Bindings::JavaString::_commonInit): Use reinterpret_cast here and avoid casting
1143 * dom/XMLTokenizerLibxml2.cpp:
1144 (WebCore::PendingCallbacks::appendStartElementNSCallback): Use static_cast instead of
1145 reinterpret_cast; this is casting the result of malloc, and the idiom is to use
1146 static_cast, which works because we're casting from void*.
1147 (WebCore::PendingCallbacks::PendingStartElementNSCallback::call): Use const_cast instead
1150 * xml/XSLTUnicodeSort.cpp:
1151 (inlineXSLTTransformError): Tweak soft linking of xsltTransformError to use a macro
1152 instead of redefining the function.
1154 2009-01-23 Darin Adler <darin@apple.com>
1156 Reviewed by Anders Carlsson.
1158 Bug 23475: fast/text/find-backwards.html fails with ICU disabled SearchBuffer
1159 https://bugs.webkit.org/show_bug.cgi?id=23475
1161 * editing/TextIterator.cpp:
1162 (WebCore::SearchBuffer::search): Set the character start flag to false to
1163 ensure we won't ever return the same result twice. There are other ways we
1164 could accomplish this, mentioned in the comment, but this one was the smallest
1165 and cleanest I could think of.
1167 2009-01-23 Darin Adler <darin@apple.com>
1169 Reviewed by Anders Carlsson.
1171 Bug 23510: REGRESSION (r40171): CDATASection objects not getting proper JavaScript wrappers
1172 https://bugs.webkit.org/show_bug.cgi?id=23510
1174 That patch fixed the optimization that's supposed to give a faster path for
1175 allocating the wrappers for DOM Text objects. But CDATASection is the one
1176 subclass of Text objects.
1178 * GNUmakefile.am: Added JSCDATASectionCustom.cpp.
1179 * WebCore.scons: Ditto.
1180 * WebCore.vcproj/WebCore.vcproj: Ditto.
1181 * WebCore.xcodeproj/project.pbxproj: Ditto.
1182 * WebCoreSources.bkl: Ditto.
1184 * bindings/js/JSCDATASectionCustom.cpp: Copied from bindings/js/JSTextCustom.cpp.
1185 (WebCore::toJSNewlyCreated): Changed to do CDATASection, not Text.
1187 * bindings/scripts/CodeGeneratorJS.pm: Added another toJSNewlyCreated function
1188 for CDATASection. We don't want to have to check when creating a wrapper for a
1189 Text object whether it's a CDATASection object or not, so we need to do this overload
1192 2009-01-23 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
1194 Reviewed by Eric Seidel.
1196 Add a base class for WML form control elements: WMLFormControlElement (as it's designed in HTML as well).
1197 WMLFormControlElement inherits from WMLElement and FormControlElement (just like the HTMLFormControlElement equivalent).
1199 WMLInputElement / WMLOptionElement / WMLOptGroupElement are supposed to inherit from the new WMLFormControlElement class.
1200 Now WMLInputElement & WMLOptGroupElement only inherit from WMLElement and FormControlElement, but WMLOptionElement inherits
1201 from WMLEventHandlingElement (which in turn inherits from WMLElement) and FormControlElement. In order to introduce a shared
1202 base class, WMLEventHandlingElement is no longer allowed to inherit from WMLElement directly. Instead it should turn into
1203 another base class, just like FormControlElement.
1205 Add a base class for form control elements 'with state': FormControlElementWithState, serving as base class for
1206 HTMLFormControlElementWithState and WMLFormControlElementWithState. -> Make Document operate on FormControlElementWithState
1207 objects instead of HTMLFormControlElementWithState objects, to support save/restore control state for non HTMLFormControlElements.
1209 Rename isGenericFormElement() to isFormControlElement(), and move it to Element.h
1210 Add new virtual function isFormControlElementWithState() to Element.h.
1216 * WebCore.vcproj/WebCore.vcproj:
1217 * WebCore.xcodeproj/project.pbxproj:
1218 * WebCoreSources.bkl:
1220 (WebCore::Document::formElementsState):
1222 (WebCore::Document::registerFormElementWithState):
1223 (WebCore::Document::unregisterFormElementWithState):
1225 (WebCore::Element::isFormControlElement):
1226 (WebCore::Element::isFormControlElementWithState):
1227 * dom/FormControlElement.cpp:
1228 (WebCore::toFormControlElement):
1229 * dom/FormControlElement.h:
1230 * dom/FormControlElementWithState.cpp: Added.
1231 (WebCore::FormControlElementWithState::registerFormControlElementWithState):
1232 (WebCore::FormControlElementWithState::unregisterFormControlElementWithState):
1233 (WebCore::FormControlElementWithState::finishParsingChildren):
1234 (WebCore::toFormControlElementWithState):
1235 * dom/FormControlElementWithState.h: Added.
1236 (WebCore::FormControlElementWithState::~FormControlElementWithState):
1237 (WebCore::FormControlElementWithState::FormControlElementWithState):
1238 * html/HTMLElement.h:
1239 * html/HTMLFormControlElement.cpp:
1240 (WebCore::HTMLFormControlElementWithState::HTMLFormControlElementWithState):
1241 (WebCore::HTMLFormControlElementWithState::~HTMLFormControlElementWithState):
1242 (WebCore::HTMLFormControlElementWithState::willMoveToNewOwnerDocument):
1243 (WebCore::HTMLFormControlElementWithState::didMoveToNewOwnerDocument):
1244 * html/HTMLFormControlElement.h:
1245 (WebCore::HTMLFormControlElement::isFormControlElement):
1246 (WebCore::HTMLFormControlElementWithState::isFormControlElementWithState):
1247 (WebCore::HTMLFormControlElementWithState::toFormControlElement):
1248 * html/HTMLFormElement.cpp:
1249 (WebCore::HTMLFormElement::formElementIndex):
1250 * html/HTMLLabelElement.cpp:
1251 (WebCore::HTMLLabelElement::correspondingControl):
1252 * html/HTMLLegendElement.cpp:
1253 (WebCore::HTMLLegendElement::formElement):
1255 (WebCore::Frame::searchForLabelsBeforeElement):
1256 (WebCore::scanForForm):
1257 (WebCore::Frame::currentForm):
1258 * page/mac/FrameMac.mm:
1259 (WebCore::Frame::searchForLabelsBeforeElement):
1260 * wml/WMLCardElement.cpp:
1261 (WebCore::WMLCardElement::WMLCardElement):
1262 (WebCore::WMLCardElement::parseMappedAttribute):
1263 (WebCore::WMLCardElement::insertedIntoDocument):
1264 * wml/WMLCardElement.h:
1265 * wml/WMLDoElement.cpp:
1266 (WebCore::WMLDoElement::insertedIntoDocument):
1268 (WebCore::WMLElement::isWMLElement):
1269 * wml/WMLEventHandlingElement.cpp:
1270 (WebCore::WMLEventHandlingElement::WMLEventHandlingElement):
1271 (WebCore::WMLEventHandlingElement::registerDoElement):
1272 (WebCore::toWMLEventHandlingElement):
1273 * wml/WMLEventHandlingElement.h:
1274 * wml/WMLFormControlElement.cpp: Added.
1275 (WebCore::WMLFormControlElement::WMLFormControlElement):
1276 (WebCore::WMLFormControlElement::~WMLFormControlElement):
1277 (WebCore::WMLFormControlElementWithState::WMLFormControlElementWithState):
1278 (WebCore::WMLFormControlElementWithState::~WMLFormControlElementWithState):
1279 * wml/WMLFormControlElement.h: Added.
1280 (WebCore::WMLFormControlElement::isFormControlElement):
1281 (WebCore::WMLFormControlElement::valueMatchesRenderer):
1282 (WebCore::WMLFormControlElement::setValueMatchesRenderer):
1283 (WebCore::WMLFormControlElement::name):
1284 (WebCore::WMLFormControlElementWithState::isFormControlElementWithState):
1285 (WebCore::WMLFormControlElementWithState::toFormControlElement):
1286 * wml/WMLInputElement.cpp:
1287 (WebCore::WMLInputElement::WMLInputElement):
1288 (WebCore::WMLInputElement::type):
1289 * wml/WMLInputElement.h:
1290 * wml/WMLOnEventElement.cpp:
1291 (WebCore::WMLOnEventElement::registerTask):
1292 * wml/WMLOptGroupElement.cpp:
1293 (WebCore::WMLOptGroupElement::WMLOptGroupElement):
1294 (WebCore::WMLOptGroupElement::type):
1295 * wml/WMLOptGroupElement.h:
1296 * wml/WMLOptionElement.cpp:
1297 (WebCore::WMLOptionElement::WMLOptionElement):
1298 (WebCore::WMLOptionElement::type):
1299 * wml/WMLOptionElement.h:
1300 * wml/WMLTemplateElement.cpp:
1301 (WebCore::WMLTemplateElement::WMLTemplateElement):
1302 (WebCore::WMLTemplateElement::parseMappedAttribute):
1303 * wml/WMLTemplateElement.h:
1305 2009-01-23 Chris Fleizach <cfleizach@apple.com>
1307 Reviewed by Darin Adler.
1309 Bug 23509: Crash at -[WebCoreAXObject doAXNextSentenceEndTextMarkerForTextMarker:]
1310 https://bugs.webkit.org/show_bug.cgi?id=23509
1312 Add null checking in makeRange instead of AX code
1314 * editing/VisiblePosition.cpp:
1315 (WebCore::makeRange):
1316 * page/AccessibilityObject.cpp:
1317 (WebCore::AccessibilityObject::nextSentenceEndPosition):
1318 (WebCore::AccessibilityObject::previousSentenceStartPosition):
1320 2009-01-23 Adam Treat <adam.treat@torchmobile.com>
1322 Fix the Gtk build too after removal of RenderBox::toConstRenderBox
1324 * platform/gtk/RenderThemeGtk.cpp:
1325 (WebCore::RenderThemeGtk::baselinePosition):
1327 2009-01-23 Adam Treat <adam.treat@torchmobile.com>
1329 Fix the Qt build after rename of RenderBox::toConstRenderBox -> toRenderBox
1331 * platform/qt/RenderThemeQt.cpp:
1332 (WebCore::RenderThemeQt::baselinePosition):
1334 2009-01-23 Adam Treat <adam.treat@torchmobile.com>
1336 Fix the Qt build after r40168.
1340 2009-01-23 Brady Eidson <beidson@apple.com>
1342 Rubberstamped by Darin Adler
1344 Rename CachedPagePlatformData to CachedFramePlatformData to more accurately reflect its true role.
1349 * WebCore.xcodeproj/project.pbxproj:
1351 * history/CachedFramePlatformData.h: Copied from WebCore/history/CachedPagePlatformData.h.
1352 (WebCore::CachedFramePlatformData::~CachedFramePlatformData):
1353 * history/CachedPagePlatformData.h: Removed.
1355 * history/CachedPage.cpp:
1356 (WebCore::CachedPage::clear):
1357 (WebCore::CachedPage::setCachedFramePlatformData):
1358 (WebCore::CachedPage::cachedFramePlatformData):
1359 * history/CachedPage.h:
1361 2009-01-23 Kevin Watters <kevinwatters@gmail.com>
1363 Reviewed by Kevin Ollivier.
1365 Fix drawing in situations where sub-portions of the bitmap are to be
1366 drawn to the screen.
1368 * platform/graphics/wx/ImageWx.cpp:
1369 (WebCore::BitmapImage::draw):
1371 2009-01-23 Kevin Ollivier <kevino@theolliviers.com>
1373 Build fixes for recent changes.
1375 * WebCoreSources.bkl:
1376 * plugins/PluginView.cpp:
1377 (WebCore::PluginView::invalidateWindowlessPluginRect):
1379 2009-01-23 Eric Carlson <eric.carlson@apple.com>
1381 Reviewed by Adele Peterson
1383 Fix for https://bugs.webkit.org/show_bug.cgi?id=23407
1385 Implement QTMovieWin::hasVideo so the controller on an audio-only <video> element
1386 is never hidden (as with an <audio> element).
1388 Test: media/video-controls-visible-audio-only.html
1390 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
1391 (WebCore::MediaPlayerPrivate::hasVideo):
1392 * platform/graphics/win/QTMovieWin.cpp:
1393 (QTMovieWin::hasVideo):
1394 * platform/graphics/win/QTMovieWin.h:
1396 2009-01-23 David Hyatt <hyatt@apple.com>
1398 Make toRenderBox a non-member function. Rename toConstRenderBox to just also be called toRenderBox.
1400 Reviewed by Oliver Hunt
1402 * css/CSSComputedStyleDeclaration.cpp:
1403 (WebCore::sizingBox):
1404 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
1405 * dom/ContainerNode.cpp:
1406 (WebCore::ContainerNode::getUpperLeftCorner):
1407 (WebCore::ContainerNode::getLowerRightCorner):
1409 (WebCore::Element::scrollByUnits):
1411 (WebCore::endsOfNodeAreVisuallyDistinctPositions):
1412 (WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight):
1413 (WebCore::Position::isCandidate):
1414 * editing/DeleteButtonController.cpp:
1415 (WebCore::isDeletableElement):
1416 * editing/EditorCommand.cpp:
1417 (WebCore::verticalScrollDistance):
1418 * editing/TextIterator.cpp:
1419 (WebCore::shouldEmitExtraNewlineForNode):
1420 * html/HTMLAnchorElement.cpp:
1421 (WebCore::HTMLAnchorElement::isKeyboardFocusable):
1422 * html/HTMLFormControlElement.cpp:
1423 (WebCore::HTMLFormControlElement::isFocusable):
1424 * html/HTMLFrameElementBase.cpp:
1425 (WebCore::HTMLFrameElementBase::width):
1426 (WebCore::HTMLFrameElementBase::height):
1427 * page/AccessibilityRenderObject.cpp:
1428 (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
1429 * page/EventHandler.cpp:
1430 (WebCore::EventHandler::handleMouseDraggedEvent):
1431 (WebCore::EventHandler::autoscrollTimerFired):
1432 (WebCore::EventHandler::updateAutoscrollRenderer):
1433 (WebCore::EventHandler::stopAutoscrollTimer):
1434 (WebCore::EventHandler::scrollOverflow):
1435 * page/FrameView.cpp:
1436 (WebCore::FrameView::layout):
1437 * page/animation/AnimationBase.cpp:
1438 (WebCore::blendFunc):
1439 * rendering/InlineBox.cpp:
1440 (WebCore::InlineBox::adjustPosition):
1441 * rendering/InlineBox.h:
1442 (WebCore::InlineBox::renderBox):
1443 * rendering/RenderBlock.cpp:
1444 (WebCore::RenderBlock::clearFloats):
1445 * rendering/RenderBox.cpp:
1446 (WebCore::RenderBox::offsetFromContainer):
1447 (WebCore::RenderBox::computeAbsoluteRepaintRect):
1448 (WebCore::RenderBox::containingBlockWidthForPositioned):
1449 (WebCore::RenderBox::containingBlockHeightForPositioned):
1450 (WebCore::RenderBox::calcAbsoluteHorizontal):
1451 (WebCore::RenderBox::calcAbsoluteVertical):
1452 (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
1453 (WebCore::RenderBox::calcAbsoluteVerticalReplaced):
1454 * rendering/RenderBox.h:
1455 (WebCore::toRenderBox):
1456 (WebCore::RenderBox::previousSiblingBox):
1457 (WebCore::RenderBox::nextSiblingBox):
1458 (WebCore::RenderBox::parentBox):
1459 * rendering/RenderFlow.cpp:
1460 (WebCore::RenderFlow::absoluteClippedOverflowRect):
1461 * rendering/RenderLayer.cpp:
1462 (WebCore::RenderLayer::updateLayerPosition):
1463 (WebCore::RenderLayer::resize):
1464 (WebCore::RenderLayer::boundingBox):
1465 * rendering/RenderObject.cpp:
1466 (WebCore::addLayers):
1467 (WebCore::RenderObject::removeLayers):
1468 (WebCore::RenderObject::moveLayers):
1469 (WebCore::RenderObject::findNextLayer):
1470 (WebCore::RenderObject::enclosingLayer):
1471 (WebCore::RenderObject::setNeedsLayout):
1472 (WebCore::RenderObject::setNeedsPositionedMovementLayout):
1473 (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
1474 (WebCore::RenderObject::getAbsoluteRepaintRectWithOutline):
1475 (WebCore::RenderObject::computeAbsoluteRepaintRect):
1476 (WebCore::RenderObject::localToAbsolute):
1477 (WebCore::RenderObject::absoluteToLocal):
1478 (WebCore::RenderObject::localToAbsoluteQuad):
1479 (WebCore::RenderObject::offsetFromContainer):
1480 (WebCore::RenderObject::removeFromObjectLists):
1481 (WebCore::RenderObject::destroy):
1482 (WebCore::RenderObject::updateHitTestResult):
1483 (WebCore::RenderObject::addDashboardRegions):
1484 * rendering/RenderTableSection.cpp:
1485 (WebCore::RenderTableSection::layoutRows):
1486 * rendering/RenderTheme.cpp:
1487 (WebCore::RenderTheme::hitTestMediaControlPart):
1488 (WebCore::RenderTheme::baselinePosition):
1489 * rendering/RenderThemeMac.mm:
1490 (WebCore::RenderThemeMac::hitTestMediaControlPart):
1491 * rendering/RenderTreeAsText.cpp:
1492 (WebCore::externalRepresentation):
1493 * rendering/bidi.cpp:
1494 (WebCore::inlineWidth):
1495 (WebCore::RenderBlock::computeHorizontalPositionsForLine):
1496 (WebCore::requiresLineBox):
1497 (WebCore::RenderBlock::findNextLineBreak):
1498 * svg/SVGLength.cpp:
1499 (WebCore::SVGLength::PercentageOfViewport):
1500 * wml/WMLAElement.cpp:
1501 (WebCore::WMLAElement::isKeyboardFocusable):
1502 * wml/WMLInputElement.cpp:
1503 (WebCore::isInputFocusable):
1505 2009-01-23 Chris Fleizach <cfleizach@apple.com>
1507 Reviewed by Beth Dakin.
1509 Bug 23509: Crash at -[WebCoreAXObject doAXNextSentenceEndTextMarkerForTextMarker:]
1510 https://bugs.webkit.org/show_bug.cgi?id=23509
1512 Add null checking around next/previous sentence retrieval in AX code
1514 * page/AccessibilityObject.cpp:
1515 (WebCore::AccessibilityObject::nextSentenceEndPosition):
1516 (WebCore::AccessibilityObject::previousSentenceStartPosition):
1518 2009-01-23 David Hyatt <hyatt@apple.com>
1520 Fix for <rdar://problem/6518850> REGRESSION: hover feedback not showing on many sites
1522 Inline flow repainting was broken because it relied on width() and height(). Give RenderFlow a linesBoundingBox
1523 method for obtaining a reasonable bounding box to use for repainting. Eliminate the methods from RenderInline
1524 since compacts/run-ins need them too, so putting them on RenderFlow is necessary.
1526 For consistency, change RenderText's version of these methods into the single linesBoundingBox method as
1529 Reviewed by Oliver Hunt
1532 * dom/ContainerNode.cpp:
1533 (WebCore::ContainerNode::getUpperLeftCorner):
1534 (WebCore::ContainerNode::getLowerRightCorner):
1536 (WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight):
1537 * rendering/RenderBox.cpp:
1538 (WebCore::RenderBox::containingBlockHeightForPositioned):
1539 * rendering/RenderFlow.cpp:
1540 (WebCore::RenderFlow::absoluteClippedOverflowRect):
1541 (WebCore::RenderFlow::linesBoundingBox):
1542 * rendering/RenderFlow.h:
1543 * rendering/RenderInline.cpp:
1544 * rendering/RenderInline.h:
1545 (WebCore::RenderInline::offsetWidth):
1546 (WebCore::RenderInline::offsetHeight):
1547 * rendering/RenderLayer.cpp:
1548 (WebCore::RenderLayer::updateLayerPosition):
1549 * rendering/RenderText.cpp:
1550 (WebCore::RenderText::linesBoundingBox):
1551 * rendering/RenderText.h:
1552 * rendering/RenderTreeAsText.cpp:
1553 (WebCore::operator<<):
1554 * rendering/SVGRenderTreeAsText.cpp:
1557 2009-01-23 David Hyatt <hyatt@apple.com>
1559 Move layer() into RenderBox and make it non-virtual. Move all of the scrolling functions from RenderObject
1560 to RenderBox and devirtualize as many as possible. Clean up styleWillChange to factor code specific to
1561 RenderBox and RenderBlock into their appropriate subclasses. Stubbed out an empty styleWillChange on
1562 RenderText, since none of the work done in styleWillChange was relevant to text nodes.
1564 Reviewed by Sam Weinig
1567 (WebCore::Document::elementFromPoint):
1568 (WebCore::Document::renderView):
1569 (WebCore::Document::prepareMouseEvent):
1572 (WebCore::Element::scrollByUnits):
1573 * editing/SelectionController.cpp:
1574 (WebCore::SelectionController::contains):
1575 * html/HTMLMarqueeElement.cpp:
1576 (WebCore::HTMLMarqueeElement::start):
1577 (WebCore::HTMLMarqueeElement::stop):
1578 * page/AccessibilityRenderObject.cpp:
1579 (WebCore::AccessibilityRenderObject::topRenderer):
1580 (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
1581 (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
1582 * page/AccessibilityRenderObject.h:
1583 * page/EventHandler.cpp:
1584 (WebCore::scrollAndAcceptEvent):
1585 (WebCore::EventHandler::handleMousePressEvent):
1586 (WebCore::EventHandler::handleMouseDraggedEvent):
1587 (WebCore::EventHandler::updateSelectionForMouseDrag):
1588 (WebCore::EventHandler::autoscrollTimerFired):
1589 (WebCore::EventHandler::updateAutoscrollRenderer):
1590 (WebCore::EventHandler::stopAutoscrollTimer):
1591 (WebCore::EventHandler::scrollOverflow):
1592 (WebCore::EventHandler::handleWheelEvent):
1593 (WebCore::EventHandler::hoverTimerFired):
1595 (WebCore::Frame::clearTimers):
1596 * rendering/RenderBlock.cpp:
1597 (WebCore::RenderBlock::styleWillChange):
1598 * rendering/RenderBlock.h:
1599 * rendering/RenderBox.cpp:
1600 (WebCore::RenderBox::styleWillChange):
1601 (WebCore::RenderBox::verticalScrollbarWidth):
1602 (WebCore::RenderBox::horizontalScrollbarHeight):
1603 (WebCore::RenderBox::scroll):
1604 (WebCore::RenderBox::canBeProgramaticallyScrolled):
1605 (WebCore::RenderBox::autoscroll):
1606 (WebCore::RenderBox::panScroll):
1607 (WebCore::RenderBox::offsetFromContainer):
1608 (WebCore::RenderBox::computeAbsoluteRepaintRect):
1609 * rendering/RenderBox.h:
1610 (WebCore::RenderBox::layer):
1611 (WebCore::RenderBox::requiresLayer):
1612 (WebCore::RenderBox::stopAutoscroll):
1613 (WebCore::RenderBox::hasAutoVerticalScrollbar):
1614 (WebCore::RenderBox::hasAutoHorizontalScrollbar):
1615 (WebCore::RenderBox::scrollsOverflow):
1616 (WebCore::RenderBox::scrollsOverflowX):
1617 (WebCore::RenderBox::scrollsOverflowY):
1618 (WebCore::RenderBox::includeVerticalScrollbarSize):
1619 (WebCore::RenderBox::includeHorizontalScrollbarSize):
1620 * rendering/RenderFlow.cpp:
1621 (WebCore::RenderFlow::absoluteClippedOverflowRect):
1622 (WebCore::RenderFlow::addFocusRingRects):
1623 * rendering/RenderForeignObject.cpp:
1624 * rendering/RenderForeignObject.h:
1625 (WebCore::RenderForeignObject::requiresLayer):
1626 * rendering/RenderInline.cpp:
1627 * rendering/RenderInline.h:
1628 (WebCore::RenderInline::requiresLayer):
1629 * rendering/RenderLayer.cpp:
1630 (WebCore::RenderLayer::childrenClipRect):
1631 (WebCore::RenderLayer::selfClipRect):
1632 * rendering/RenderListBox.cpp:
1633 * rendering/RenderListBox.h:
1634 * rendering/RenderObject.cpp:
1635 (WebCore::addLayers):
1636 (WebCore::RenderObject::removeLayers):
1637 (WebCore::RenderObject::moveLayers):
1638 (WebCore::RenderObject::findNextLayer):
1639 (WebCore::RenderObject::enclosingLayer):
1640 (WebCore::RenderObject::setNeedsLayout):
1641 (WebCore::RenderObject::setNeedsPositionedMovementLayout):
1642 (WebCore::RenderObject::computeAbsoluteRepaintRect):
1643 (WebCore::RenderObject::styleWillChange):
1644 (WebCore::RenderObject::localToAbsolute):
1645 (WebCore::RenderObject::absoluteToLocal):
1646 (WebCore::RenderObject::localToAbsoluteQuad):
1647 (WebCore::RenderObject::offsetFromContainer):
1648 (WebCore::RenderObject::destroy):
1649 * rendering/RenderObject.h:
1650 * rendering/RenderPath.cpp:
1651 * rendering/RenderPath.h:
1652 (WebCore::RenderPath::requiresLayer):
1653 * rendering/RenderReplica.h:
1654 (WebCore::RenderReplica::requiresLayer):
1655 * rendering/RenderSVGContainer.cpp:
1656 * rendering/RenderSVGContainer.h:
1657 (WebCore::RenderSVGContainer::requiresLayer):
1658 * rendering/RenderSVGHiddenContainer.cpp:
1659 * rendering/RenderSVGHiddenContainer.h:
1660 (WebCore::RenderSVGHiddenContainer::requiresLayer):
1661 * rendering/RenderSVGImage.cpp:
1662 * rendering/RenderSVGImage.h:
1663 (WebCore::RenderSVGImage::requiresLayer):
1664 * rendering/RenderSVGInline.h:
1665 (WebCore::RenderSVGInline::requiresLayer):
1666 * rendering/RenderSVGInlineText.h:
1667 (WebCore::RenderSVGInlineText::requiresLayer):
1668 * rendering/RenderSVGText.cpp:
1669 * rendering/RenderSVGText.h:
1670 (WebCore::RenderSVGText::requiresLayer):
1671 * rendering/RenderScrollbarPart.h:
1672 (WebCore::RenderScrollbarPart::requiresLayer):
1673 * rendering/RenderSlider.cpp:
1674 (WebCore::RenderSlider::setCurrentPosition):
1675 * rendering/RenderTableCell.cpp:
1676 * rendering/RenderTableCell.h:
1677 (WebCore::RenderTableCell::requiresLayer):
1678 * rendering/RenderTableCol.h:
1679 (WebCore::RenderTableCol::requiresLayer):
1680 * rendering/RenderTableRow.h:
1681 (WebCore::RenderTableRow::requiresLayer):
1682 * rendering/RenderTableSection.cpp:
1683 (WebCore::RenderTableSection::layoutRows):
1684 * rendering/RenderText.h:
1685 (WebCore::RenderText::styleWillChange):
1686 * rendering/RenderTextControl.cpp:
1687 (WebCore::RenderTextControl::autoscroll):
1688 (WebCore::RenderTextControl::scroll):
1689 * rendering/RenderTextControl.h:
1690 * rendering/RenderTreeAsText.cpp:
1692 (WebCore::externalRepresentation):
1694 2009-01-23 Anders Carlsson <andersca@apple.com>
1698 * editing/markup.cpp:
1699 (WebCore::joinMarkups):
1701 2009-01-23 Anders Carlsson <andersca@apple.com>
1703 Reviewed by Darin Adler.
1705 * Configurations/Base.xcconfig:
1708 * editing/markup.cpp:
1709 (WebCore::joinMarkups):
1710 Pass a const reference to the vector.
1712 * html/HTMLElement.cpp:
1713 * platform/text/String.cpp:
1714 Add comments indicating that these functions are for use in the debugger.
1716 2009-01-23 Anders Carlsson <andersca@apple.com>
1718 Reviewed by Sam Weinig.
1720 Turn on -Wmissing-prototypes and fix the resulting warnings.
1722 * Configurations/Base.xcconfig:
1723 * bindings/js/JSHistoryCustom.cpp:
1724 (WebCore::nonCachingStaticBackFunctionGetter):
1725 (WebCore::nonCachingStaticForwardFunctionGetter):
1726 (WebCore::nonCachingStaticGoFunctionGetter):
1727 * bindings/js/JSLocationCustom.cpp:
1728 (WebCore::nonCachingStaticReplaceFunctionGetter):
1729 (WebCore::nonCachingStaticReloadFunctionGetter):
1730 (WebCore::nonCachingStaticAssignFunctionGetter):
1731 (WebCore::JSLocation::customGetOwnPropertySlot):
1732 * bindings/objc/DOMRGBColor.mm:
1733 (WebCore::getWrapperForRGB):
1734 (WebCore::setWrapperForRGB):
1735 (WebCore::removeWrapperForRGB):
1736 * bindings/scripts/CodeGeneratorJS.pm:
1737 * bridge/c/c_instance.cpp:
1738 (JSC::Bindings::globalExceptionString):
1739 * bridge/runtime_object.cpp:
1740 (JSC::callRuntimeConstructor):
1741 * css/CSSParser.cpp:
1742 (WebCore::parseGradientColorStop):
1743 * css/CSSPrimitiveValue.cpp:
1744 (WebCore::scaleFactorForConversion):
1745 * css/CSSStyleSelector.cpp:
1746 (WebCore::operator >):
1747 (WebCore::operator <=):
1748 (WebCore::getTransformOperationType):
1749 * dom/make_names.pl:
1750 * editing/DeleteSelectionCommand.cpp:
1751 (WebCore::updatePositionForTextRemoval):
1752 * editing/EditorCommand.cpp:
1753 (WebCore::valueBackColor):
1754 (WebCore::valueFontName):
1755 (WebCore::valueFontSize):
1756 (WebCore::valueFontSizeDelta):
1757 (WebCore::valueForeColor):
1758 * editing/VisiblePosition.cpp:
1759 (WebCore::canonicalizeCandidate):
1760 * editing/htmlediting.cpp:
1761 * editing/markup.cpp:
1762 (WebCore::joinMarkups):
1763 * html/HTMLElement.cpp:
1764 (WebCore::inlineTagList):
1765 (WebCore::blockTagList):
1766 * html/HTMLMediaElement.cpp:
1767 (WebCore::serializeTimeOffset):
1768 (WebCore::parseTimeOffset):
1769 * page/mac/FrameMac.mm:
1770 (WebCore::regExpForLabels):
1771 * platform/Arena.cpp:
1772 * platform/graphics/Color.cpp:
1773 (WebCore::colorFloatToRGBAByte):
1774 * platform/graphics/cg/ImageSourceCG.cpp:
1775 (WebCore::imageSourceOptions):
1776 * platform/graphics/cg/PathCG.cpp:
1777 (WebCore::CGPathApplierToPathApplier):
1778 * platform/graphics/mac/SimpleFontDataMac.mm:
1779 (WebCore::initFontData):
1780 * platform/mac/PlatformMouseEventMac.mm:
1781 * platform/text/String.cpp:
1782 * rendering/RenderBlock.cpp:
1783 (WebCore::continuationOutlineTable):
1784 (WebCore::getHeightForLineCount):
1785 * rendering/RenderView.cpp:
1786 (WebCore::rendererAfterPosition):
1787 * rendering/RootInlineBox.cpp:
1788 (WebCore::isEditableLeaf):
1789 * rendering/SVGRenderTreeAsText.cpp:
1790 (WebCore::hasFractions):
1791 * rendering/style/RenderStyle.cpp:
1792 (WebCore::positionedObjectMoved):
1794 (WebCore::floatWidthUsingSVGFontCallback):
1795 (WebCore::floatWidthMissingGlyphCallback):
1796 (WebCore::drawTextUsingSVGFontCallback):
1797 (WebCore::drawTextMissingGlyphCallback):
1798 * svg/SVGTransformable.cpp:
1799 (WebCore::parseTransformParamList):
1800 * svg/graphics/SVGPaintServerGradient.cpp:
1801 (WebCore::operator<<):
1802 * xml/XPathGrammar.y:
1803 * xml/XSLTExtensions.cpp:
1805 2009-01-23 Eric Seidel <eric@webkit.org>
1807 No review, removing an empty file.
1809 Remove RemoveNodeAttributeCommand since it was empty.
1813 * WebCore.vcproj/WebCore.vcproj:
1814 * WebCore.xcodeproj/project.pbxproj:
1815 * editing/RemoveNodeAttributeCommand.cpp: Removed.
1816 * editing/RemoveNodeAttributeCommand.h: Removed.
1818 2009-01-23 Brady Eidson <beidson@apple.com>
1820 Rubberstamped by Sam Weinig
1822 Rework ScriptCachedPageData to ScriptCachedFrameData to more accurately reflect its true purpose
1825 * WebCore.vcproj/WebCore.vcproj:
1826 * WebCore.xcodeproj/project.pbxproj:
1827 * WebCoreSources.bkl:
1829 * bindings/js/ScriptCachedFrameData.cpp: Copied from bindings/js/ScriptCachedPageData.cpp.
1830 (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
1831 (WebCore::ScriptCachedFrameData::domWindow):
1832 (WebCore::ScriptCachedFrameData::~ScriptCachedFrameData):
1833 (WebCore::ScriptCachedFrameData::restore):
1834 (WebCore::ScriptCachedFrameData::clear):
1835 * bindings/js/ScriptCachedFrameData.h: Copied from bindings/js/ScriptCachedPageData.h.
1836 * bindings/js/ScriptCachedPageData.cpp: Removed.
1837 * bindings/js/ScriptCachedPageData.h: Removed.
1839 * history/CachedPage.cpp:
1840 (WebCore::CachedPage::CachedPage):
1841 (WebCore::CachedPage::restore):
1842 * history/CachedPage.h:
1844 2009-01-23 Steve Falkenburg <sfalken@apple.com>
1848 * rendering/RenderThemeSafari.cpp:
1849 (WebCore::RenderThemeSafari::baselinePosition):
1851 2009-01-23 Darin Fisher <darin@chromium.org>
1853 Reviewed by Eric Seidel.
1855 https://bugs.webkit.org/show_bug.cgi?id=23506
1856 Upstream Chromium's image decoders for use with PLATFORM(SKIA)
1858 * platform/image-decoders/skia/BMPImageDecoder.cpp: Added.
1859 * platform/image-decoders/skia/BMPImageDecoder.h: Added.
1860 * platform/image-decoders/skia/BMPImageReader.cpp: Added.
1861 * platform/image-decoders/skia/BMPImageReader.h: Added.
1862 * platform/image-decoders/skia/GIFImageDecoder.cpp:
1863 (WebCore::GIFImageDecoderPrivate::GIFImageDecoderPrivate):
1864 (WebCore::GIFImageDecoderPrivate::decode):
1865 (WebCore::GIFImageDecoderPrivate::getColorMap):
1866 (WebCore::GIFImageDecoder::GIFImageDecoder):
1867 (WebCore::GIFImageDecoder::isSizeAvailable):
1868 (WebCore::GIFImageDecoder::frameCount):
1869 (WebCore::GIFImageDecoder::frameBufferAtIndex):
1870 (WebCore::GIFImageDecoder::clearFrameBufferCache):
1871 (WebCore::GIFImageDecoder::decode):
1872 (WebCore::GIFImageDecoder::sizeNowAvailable):
1873 (WebCore::GIFImageDecoder::initFrameBuffer):
1874 (WebCore::GIFImageDecoder::prepEmptyFrameBuffer):
1875 (WebCore::GIFImageDecoder::haveDecodedRow):
1876 (WebCore::GIFImageDecoder::frameComplete):
1877 * platform/image-decoders/skia/GIFImageDecoder.h:
1878 (WebCore::GIFImageDecoder::filenameExtension):
1879 (WebCore::GIFImageDecoder::frameDurationAtIndex):
1880 (WebCore::GIFImageDecoder::):
1881 * platform/image-decoders/skia/GIFImageReader.cpp:
1882 (GIFImageReader::do_lzw):
1883 (GIFImageReader::read):
1884 * platform/image-decoders/skia/GIFImageReader.h:
1885 * platform/image-decoders/skia/ICOImageDecoder.cpp: Added.
1886 * platform/image-decoders/skia/ICOImageDecoder.h: Added.
1887 * platform/image-decoders/skia/ImageDecoder.h:
1888 (WebCore::RefCountedNativeImageSkia::create):
1889 (WebCore::RefCountedNativeImageSkia::bitmap):
1890 (WebCore::RefCountedNativeImageSkia::RefCountedNativeImageSkia):
1891 (WebCore::RGBA32Buffer::):
1892 (WebCore::RGBA32Buffer::RGBA32Buffer):
1893 (WebCore::RGBA32Buffer::~RGBA32Buffer):
1894 (WebCore::RGBA32Buffer::operator=):
1895 (WebCore::RGBA32Buffer::clear):
1896 (WebCore::RGBA32Buffer::copyBitmapData):
1897 (WebCore::RGBA32Buffer::bitmap):
1898 (WebCore::RGBA32Buffer::setSize):
1899 (WebCore::RGBA32Buffer::width):
1900 (WebCore::RGBA32Buffer::height):
1901 (WebCore::RGBA32Buffer::rect):
1902 (WebCore::RGBA32Buffer::status):
1903 (WebCore::RGBA32Buffer::duration):
1904 (WebCore::RGBA32Buffer::disposalMethod):
1905 (WebCore::RGBA32Buffer::hasAlpha):
1906 (WebCore::RGBA32Buffer::setRect):
1907 (WebCore::RGBA32Buffer::setStatus):
1908 (WebCore::RGBA32Buffer::setDuration):
1909 (WebCore::RGBA32Buffer::setDisposalMethod):
1910 (WebCore::RGBA32Buffer::setHasAlpha):
1911 (WebCore::RGBA32Buffer::setRGBA):
1912 (WebCore::ImageDecoder::ImageDecoder):
1913 (WebCore::ImageDecoder::~ImageDecoder):
1914 (WebCore::ImageDecoder::setData):
1915 (WebCore::ImageDecoder::isSizeAvailable):
1916 (WebCore::ImageDecoder::size):
1917 (WebCore::ImageDecoder::frameCount):
1918 (WebCore::ImageDecoder::repetitionCount):
1919 (WebCore::ImageDecoder::supportsAlpha):
1920 (WebCore::ImageDecoder::failed):
1921 (WebCore::ImageDecoder::setFailed):
1922 (WebCore::ImageDecoder::clearFrameBufferCache):
1923 (WebCore::ImageDecoder::setSize):
1924 (WebCore::ImageDecoder::isOverSize):
1925 * platform/image-decoders/skia/JPEGImageDecoder.cpp:
1926 (WebCore::JPEGImageReader::JPEGImageReader):
1927 (WebCore::JPEGImageReader::decode):
1928 (WebCore::JPEGImageDecoder::isSizeAvailable):
1929 (WebCore::JPEGImageDecoder::outputScanlines):
1930 * platform/image-decoders/skia/JPEGImageDecoder.h:
1931 (WebCore::JPEGImageDecoder::filenameExtension):
1932 (WebCore::JPEGImageDecoder::supportsAlpha):
1933 (WebCore::JPEGImageDecoder::reader):
1934 * platform/image-decoders/skia/PNGImageDecoder.cpp:
1935 (WebCore::PNGImageReader::close):
1936 (WebCore::PNGImageDecoder::PNGImageDecoder):
1937 (WebCore::PNGImageDecoder::isSizeAvailable):
1938 (WebCore::PNGImageDecoder::frameBufferAtIndex):
1939 (WebCore::PNGImageDecoder::decode):
1940 (WebCore::PNGImageDecoder::decodingFailed):
1941 (WebCore::PNGImageDecoder::headerAvailable):
1942 (WebCore::rowAvailable):
1943 (WebCore::PNGImageDecoder::rowAvailable):
1944 (WebCore::PNGImageDecoder::pngComplete):
1945 * platform/image-decoders/skia/PNGImageDecoder.h:
1946 (WebCore::PNGImageDecoder::filenameExtension):
1947 (WebCore::PNGImageDecoder::reader):
1948 * platform/image-decoders/skia/XBMImageDecoder.cpp: Added.
1949 * platform/image-decoders/skia/XBMImageDecoder.h: Added.
1951 2009-01-23 Darin Fisher <darin@chromium.org>
1953 Reviewed by Eric Seidel.
1955 https://bugs.webkit.org/show_bug.cgi?id=23506
1956 Copy existing ImageDecoder.h in preparation for landing Skia changes on top.
1958 * platform/image-decoders/skia/ImageDecoder.h: Copied from platform/image-decoders/ImageDecoder.h.
1960 2009-01-23 Darin Fisher <darin@chromium.org>
1962 Reviewed by Eric Seidel.
1964 https://bugs.webkit.org/show_bug.cgi?id=23506
1965 Copy existing image-decoders in preparation for landing Skia changes on top.
1967 * platform/image-decoders/skia: Added.
1968 * platform/image-decoders/skia/GIFImageDecoder.cpp: Copied from platform/image-decoders/gif/GIFImageDecoder.cpp.
1969 * platform/image-decoders/skia/GIFImageDecoder.h: Copied from platform/image-decoders/gif/GIFImageDecoder.h.
1970 * platform/image-decoders/skia/GIFImageReader.cpp: Copied from platform/image-decoders/gif/GIFImageReader.cpp.
1971 * platform/image-decoders/skia/GIFImageReader.h: Copied from platform/image-decoders/gif/GIFImageReader.h.
1972 * platform/image-decoders/skia/JPEGImageDecoder.cpp: Copied from platform/image-decoders/jpeg/JPEGImageDecoder.cpp.
1973 * platform/image-decoders/skia/JPEGImageDecoder.h: Copied from platform/image-decoders/jpeg/JPEGImageDecoder.h.
1974 * platform/image-decoders/skia/PNGImageDecoder.cpp: Copied from platform/image-decoders/png/PNGImageDecoder.cpp.
1975 * platform/image-decoders/skia/PNGImageDecoder.h: Copied from platform/image-decoders/png/PNGImageDecoder.h.
1977 2009-01-23 Holger Freyther <zecke@selfish.org>
1979 Unreviewed build fix.
1981 Based on https://bugs.webkit.org/show_bug.cgi?id=23498
1982 from craig.schlenter@gmail.com
1984 * platform/gtk/RenderThemeGtk.cpp:
1985 (WebCore::RenderThemeGtk::baselinePosition):
1987 2009-01-23 David Levin <levin@chromium.org>
1989 Reviewed by Alexey Proskuryakov.
1991 Bug 22720: Make XMLHttpRequest work in Workers
1992 <https://bugs.webkit.org/show_bug.cgi?id=22720>
1994 Add copy/adopt for ResourceResponse(Base)/ResourceRequest(Base) to allow the
1995 data to be passed across threads.
1997 No observable change in behavior, so no test.
1999 * platform/network/FormData.cpp:
2000 (WebCore::FormData::deepCopy):
2001 * platform/network/FormData.h:
2002 * platform/network/HTTPHeaderMap.cpp:
2003 (WebCore::HTTPHeaderMap::copyData):
2004 (WebCore::HTTPHeaderMap::adopt):
2005 * platform/network/HTTPHeaderMap.h:
2006 * platform/network/ResourceRequestBase.cpp:
2007 (WebCore::ResourceRequestBase::adopt):
2008 (WebCore::ResourceRequestBase::copyData):
2009 * platform/network/ResourceRequestBase.h:
2010 * platform/network/ResourceResponseBase.cpp:
2011 (WebCore::ResourceResponseBase::adopt):
2012 (WebCore::ResourceResponseBase::copyData):
2013 * platform/network/ResourceResponseBase.h:
2015 2009-01-23 Dmitry Titov <dimich@chromium.org>
2017 Reviewed by Alexey Proskuryakov.
2019 https://bugs.webkit.org/show_bug.cgi?id=23374
2020 Add WorkerRunLoop to encapsulate message queue and timer heap.
2021 This is first half (timer heap is added as separate patch).
2023 * GNUmakefile.am: Added WorkerRunLoop.cpp to the build.
2024 * WebCore.vcproj/WebCore.vcproj: Same as above.
2025 * WebCore.xcodeproj/project.pbxproj: Same as above
2026 * dom/WorkerContext.cpp:
2027 (WebCore::WorkerContext::postTask):
2028 * dom/WorkerContext.h:
2029 * dom/WorkerMessagingProxy.cpp:
2030 (WebCore::WorkerMessagingProxy::postMessageToWorkerContext):
2031 (WebCore::WorkerMessagingProxy::workerThreadCreated):
2032 * dom/WorkerRunLoop.cpp: Added.
2033 (WebCore::WorkerRunLoop::run): Runs the loop until terminate() is called.
2034 (WebCore::WorkerRunLoop::terminate): Causes the loop to exit.
2035 (WebCore::WorkerRunLoop::postTask): Adds a task to the internal queue.
2036 * dom/WorkerRunLoop.h: Added.
2037 (WebCore::WorkerRunLoop::WorkerRunLoop):
2038 * dom/WorkerThread.cpp:
2039 (WebCore::WorkerThread::workerThread):
2040 (WebCore::WorkerThread::stop):
2041 * dom/WorkerThread.h:
2042 (WebCore::WorkerThread::runLoop):
2044 2009-01-23 Adam Treat <adam.treat@torchmobile.com>
2046 Reviewed by Holger Hans Peter Freyther.
2048 Redo previous patch http://trac.webkit.org/changeset/34260 which fixes a
2049 huge memory leak by ensuring that the timer is fired one last time on
2050 application tear down thus triggering the GCController thereby freeing
2051 JavaScript objects as well as triggering other timer based tear down methods.
2053 * platform/qt/SharedTimerQt.cpp:
2054 (WebCore::SharedTimerQt::~SharedTimerQt):
2056 2009-01-23 Alexey Proskuryakov <ap@webkit.org>
2058 Reviewed by Oliver Hunt.
2060 https://bugs.webkit.org/show_bug.cgi?id=23459
2061 Workers are not properly terminated if execution hasn't begun yet
2063 Doesn't affect observable behavior, so test case is not possible.
2065 * dom/WorkerThread.cpp: (WebCore::WorkerThread::workerThread): Call forbidExecution() if
2066 it couldn't be called earlier.
2068 2009-01-23 Ariya Hidayat <ariya.hidayat@trolltech.com>
2070 [Qt] Fix the build after RenderBox refactoring in r40153.
2072 * platform/qt/RenderThemeQt.cpp:
2073 (WebCore::RenderThemeQt::baselinePosition):
2075 2009-01-23 Ariya Hidayat <ariya.hidayat@trolltech.com>
2077 Rubber-stamped by Alexey Proskuryakov.
2079 Fix the build after RenderBox refactoring in r40153.
2081 * plugins/PluginView.cpp:
2082 (WebCore::PluginView::invalidateWindowlessPluginRect):
2084 2009-01-23 Ariya Hidayat <ariya.hidayat@trolltech.com>
2086 Reviewed by Simon Hausmann.
2088 [Qt] Simplify the assertion.
2090 * platform/graphics/qt/GraphicsContextQt.cpp:
2091 (WebCore::GraphicsContext::getWindowsContext):
2092 (WebCore::GraphicsContext::releaseWindowsContext):
2094 2009-01-22 David Hyatt <hyatt@apple.com>
2096 Move the border and padding methods from RenderObject to RenderBox.
2098 Reviewed by Oliver Hunt
2100 * css/CSSComputedStyleDeclaration.cpp:
2101 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2102 * editing/DeleteButtonController.cpp:
2103 (WebCore::DeleteButtonController::createDeletionUI):
2104 * page/EventHandler.cpp:
2105 (WebCore::EventHandler::hitTestResultAtPoint):
2106 * rendering/InlineFlowBox.cpp:
2107 (WebCore::InlineFlowBox::placeBoxesVertically):
2108 * rendering/InlineFlowBox.h:
2109 (WebCore::InlineFlowBox::borderLeft):
2110 (WebCore::InlineFlowBox::borderRight):
2111 (WebCore::InlineFlowBox::paddingLeft):
2112 (WebCore::InlineFlowBox::paddingRight):
2113 * rendering/RenderBlock.cpp:
2114 (WebCore::RenderBlock::clearFloats):
2115 * rendering/RenderBox.cpp:
2116 (WebCore::RenderBox::paddingTop):
2117 (WebCore::RenderBox::paddingBottom):
2118 (WebCore::RenderBox::paddingLeft):
2119 (WebCore::RenderBox::paddingRight):
2120 (WebCore::RenderBox::calcHeight):
2121 (WebCore::RenderBox::containingBlockWidthForPositioned):
2122 (WebCore::RenderBox::containingBlockHeightForPositioned):
2123 (WebCore::RenderBox::calcAbsoluteHorizontal):
2124 (WebCore::RenderBox::calcAbsoluteHorizontalValues):
2125 (WebCore::RenderBox::calcAbsoluteVertical):
2126 (WebCore::RenderBox::calcAbsoluteVerticalValues):
2127 (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
2128 (WebCore::RenderBox::calcAbsoluteVerticalReplaced):
2129 * rendering/RenderBox.h:
2130 (WebCore::RenderBox::borderTop):
2131 (WebCore::RenderBox::borderBottom):
2132 (WebCore::RenderBox::borderLeft):
2133 (WebCore::RenderBox::borderRight):
2134 * rendering/RenderObject.cpp:
2135 (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
2136 * rendering/RenderObject.h:
2137 * rendering/RenderTextControl.cpp:
2138 (WebCore::RenderTextControl::textBlockWidth):
2139 (WebCore::RenderTextControl::calcHeight):
2140 (WebCore::RenderTextControl::calcPrefWidths):
2141 * rendering/RenderTextControlSingleLine.cpp:
2142 (WebCore::RenderTextControlSingleLine::preferredContentWidth):
2143 * rendering/RenderTreeAsText.cpp:
2144 (WebCore::operator<<):
2145 * rendering/RenderView.cpp:
2146 (WebCore::RenderView::repaintViewRectangle):
2148 2009-01-22 David Hyatt <hyatt@apple.com>
2150 Devirtualize the marginTop/Right/Left/Bottom functions and move them to RenderBox (along with some of the
2151 other margin functions that have to come along for the ride).
2153 Reviewed by Oliver Hunt
2155 * css/CSSComputedStyleDeclaration.cpp:
2156 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2157 * editing/TextIterator.cpp:
2158 (WebCore::shouldEmitExtraNewlineForNode):
2159 * rendering/InlineBox.cpp:
2160 * rendering/InlineBox.h:
2161 (WebCore::InlineBox::renderBox):
2162 * rendering/InlineFlowBox.cpp:
2163 (WebCore::InlineFlowBox::marginLeft):
2164 (WebCore::InlineFlowBox::marginRight):
2165 (WebCore::InlineFlowBox::placeBoxesHorizontally):
2166 (WebCore::InlineFlowBox::computeLogicalBoxHeights):
2167 (WebCore::InlineFlowBox::placeBoxesVertically):
2168 (WebCore::InlineFlowBox::shrinkBoxesWithNoTextChildren):
2169 * rendering/RenderBlock.cpp:
2170 (WebCore::RenderBlock::isSelfCollapsingBlock):
2171 (WebCore::RenderBlock::adjustPositionedBlock):
2172 (WebCore::RenderBlock::handleCompactChild):
2173 (WebCore::RenderBlock::estimateVerticalPosition):
2174 (WebCore::getBorderPaddingMargin):
2175 (WebCore::RenderBlock::calcInlinePrefWidths):
2176 * rendering/RenderBlock.h:
2177 * rendering/RenderBox.cpp:
2178 (WebCore::RenderBox::calcHeight):
2179 * rendering/RenderBox.h:
2180 (WebCore::RenderBox::hasHorizontalBordersPaddingOrMargin):
2181 (WebCore::RenderBox::hasHorizontalBordersOrPadding):
2182 (WebCore::RenderBox::marginTop):
2183 (WebCore::RenderBox::marginBottom):
2184 (WebCore::RenderBox::marginLeft):
2185 (WebCore::RenderBox::marginRight):
2186 (WebCore::RenderBox::isSelfCollapsingBlock):
2187 (WebCore::RenderBox::collapsedMarginTop):
2188 (WebCore::RenderBox::collapsedMarginBottom):
2189 (WebCore::RenderBox::isTopMarginQuirk):
2190 (WebCore::RenderBox::isBottomMarginQuirk):
2191 (WebCore::RenderBox::maxTopMargin):
2192 (WebCore::RenderBox::maxBottomMargin):
2193 * rendering/RenderObject.cpp:
2194 (WebCore::RenderObject::getAbsoluteRepaintRectWithOutline):
2195 * rendering/RenderObject.h:
2196 * rendering/RenderSVGContainer.cpp:
2197 (WebCore::RenderSVGContainer::lineHeight):
2198 (WebCore::RenderSVGContainer::baselinePosition):
2199 * rendering/RenderTextControl.cpp:
2200 (WebCore::RenderTextControl::calcHeight):
2201 * rendering/RenderTheme.cpp:
2202 (WebCore::RenderTheme::baselinePosition):
2203 * rendering/bidi.cpp:
2204 (WebCore::getBorderPaddingMargin):
2205 (WebCore::inlineWidth):
2206 (WebCore::RenderBlock::computeHorizontalPositionsForLine):
2207 (WebCore::inlineFlowRequiresLineBox):
2208 (WebCore::requiresLineBox):
2209 (WebCore::RenderBlock::findNextLineBreak):
2211 2009-01-22 Mark Rowe <mrowe@apple.com>
2213 Rubber-stamped by Anders Carlsson.
2215 Disable GCC_WARN_ABOUT_MISSING_PROTOTYPES temporarily.
2217 Current versions of Xcode only respect it for C and Objective-C files,
2218 and our code doesn't currently compile if it is applied to C++ and
2219 Objective-C++ files.
2221 * Configurations/Base.xcconfig:
2223 2009-01-22 David Hyatt <hyatt@apple.com>
2225 Move the m_widthChanged bit on RenderTableCell into RenderFlow's set of bits. Let intrinsicPaddingTop and
2226 intrinsicPaddingBottom just be normal non-bitfield values.
2228 Reviewed by Oliver Hunt
2230 * rendering/RenderFlow.h:
2231 (WebCore::RenderFlow::RenderFlow):
2232 * rendering/RenderTableCell.cpp:
2233 (WebCore::RenderTableCell::RenderTableCell):
2234 (WebCore::RenderTableCell::updateWidth):
2235 (WebCore::RenderTableCell::layout):
2236 * rendering/RenderTableCell.h:
2238 2009-01-22 David Hyatt <hyatt@apple.com>
2240 Properly encapsulate m_frameRect.y() behind the RenderBox::y() method now that they are the same thing.
2241 Make m_frameRect private.
2243 Reviewed by Oliver Hunt
2245 * rendering/RenderBlock.cpp:
2246 (WebCore::RenderBlock::paint):
2247 (WebCore::RenderBlock::clearFloats):
2248 * rendering/RenderBox.cpp:
2249 (WebCore::RenderBox::offsetTop):
2250 (WebCore::RenderBox::nodeAtPoint):
2251 (WebCore::RenderBox::paint):
2252 (WebCore::RenderBox::paintCustomHighlight):
2253 (WebCore::RenderBox::containingBlockWidth):
2254 (WebCore::RenderBox::localToAbsolute):
2255 (WebCore::RenderBox::offsetFromContainer):
2256 (WebCore::RenderBox::computeAbsoluteRepaintRect):
2257 (WebCore::RenderBox::repaintDuringLayoutIfMoved):
2258 * rendering/RenderContainer.cpp:
2259 (WebCore::RenderContainer::layout):
2260 * rendering/RenderFlexibleBox.cpp:
2261 (WebCore::RenderFlexibleBox::layoutBlock):
2262 * rendering/RenderFrameSet.cpp:
2263 (WebCore::RenderFrameSet::paint):
2264 * rendering/RenderImage.cpp:
2265 (WebCore::RenderImage::paintReplaced):
2266 (WebCore::RenderImage::nodeAtPoint):
2267 * rendering/RenderListMarker.cpp:
2268 (WebCore::RenderListMarker::paint):
2269 (WebCore::RenderListMarker::getRelativeMarkerRect):
2270 * rendering/RenderReplaced.cpp:
2271 (WebCore::RenderReplaced::paint):
2272 (WebCore::RenderReplaced::shouldPaint):
2273 * rendering/RenderReplica.cpp:
2274 (WebCore::RenderReplica::paint):
2275 * rendering/RenderSVGRoot.cpp:
2276 (WebCore::RenderSVGRoot::applyContentTransforms):
2277 (WebCore::RenderSVGRoot::paint):
2278 (WebCore::RenderSVGRoot::absoluteTransform):
2279 (WebCore::RenderSVGRoot::nodeAtPoint):
2280 * rendering/RenderTable.cpp:
2281 (WebCore::RenderTable::calcWidth):
2282 (WebCore::RenderTable::layout):
2283 * rendering/RenderTableCell.cpp:
2284 (WebCore::RenderTableCell::paint):
2285 (WebCore::RenderTableCell::paintBackgroundsBehindCell):
2286 * rendering/RenderTableSection.cpp:
2287 (WebCore::RenderTableSection::setCellWidths):
2288 (WebCore::RenderTableSection::calcRowHeight):
2289 (WebCore::RenderTableSection::layoutRows):
2290 (WebCore::RenderTableSection::paint):
2291 (WebCore::RenderTableSection::nodeAtPoint):
2292 * rendering/RenderWidget.cpp:
2293 (WebCore::RenderWidget::paint):
2295 2009-01-22 David Hyatt <hyatt@apple.com>
2297 Fix for https://bugs.webkit.org/show_bug.cgi?id=23487.
2299 This patch completely reworks vertical alignment of table cells. The current system uses methods called borderTopExtra() and borderBottomExtra() to
2300 add extra space above and below the content of a cell. This system was not confined to the table code and spilled out into all the other RenderObjects.
2301 The y-position of the table cell box was set to the outer edge of the cell, but the y() method of RenderBox lied and added in borderTopExtra(). height()
2302 also excluded the extra space, so did not accurately reflect the true size of the cell.
2304 With the new system, the table cell box is completely accurate. The extra space becomes part of the padding of the cell. Padding has been reworked so that
2305 additional intrinsic padding can be added on to the specified padding from style. Only the table code has to deal with the extra cell padding.
2307 localToAbsoluteForContent has now been removed, since there no longer has to be a special hacked content box.
2309 A number of table layout tests progress with this change, since the new layout system actually fixes existing bugs in baseline alignment of cells.
2311 Reviewed by Oliver Hunt
2313 * css/CSSComputedStyleDeclaration.cpp:
2314 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2315 Make CSSComputedStyleDeclaration ask for padding values that exclude the built-in intrinsic padding. This ensures that getComputedStyle continues
2316 to give the right answer.
2318 * dom/ContainerNode.cpp:
2319 (WebCore::ContainerNode::getLowerRightCorner):
2320 * editing/visible_units.cpp:
2321 (WebCore::previousLinePosition):
2322 (WebCore::nextLinePosition):
2323 * rendering/LayoutState.cpp:
2324 (WebCore::LayoutState::LayoutState):
2325 Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls.
2327 * rendering/RenderBlock.cpp:
2328 (WebCore::RenderBlock::overflowRect):
2329 Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls.
2331 (WebCore::RenderBlock::layoutBlock):
2332 (WebCore::RenderBlock::expandsToEncloseOverhangingFloats):
2333 The expandsToEncloseOverhangingFloats logic has been reworked. Table cells and fieldsets did not properly handle floats that spilled into the bottom padding. The
2334 resulting box needed to not only expand to encompass the float, but also needed to place the full bottom padding after the float. The switch to make the extra table cell
2335 space into padding exposed this issue. No extra layout test is required, since an existing table layout test exposes this issue and progresses to match Firefox with
2338 (WebCore::RenderBlock::selectionGapRects):
2339 (WebCore::RenderBlock::paintSelection):
2340 (WebCore::RenderBlock::fillSelectionGaps):
2341 (WebCore::RenderBlock::nodeAtPoint):
2342 (WebCore::RenderBlock::positionForCoordinates):
2343 (WebCore::RenderBlock::offsetForContents):
2344 Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls.
2346 * rendering/RenderBlock.h:
2347 Add the new simplified method for expanding to encompass overhanging floats. The method has been devirtualized and made to include all of the cases (and not just a subset).
2349 * rendering/RenderBox.cpp:
2350 (WebCore::RenderBox::absoluteRects):
2351 (WebCore::RenderBox::absoluteQuads):
2352 (WebCore::RenderBox::absoluteContentBox):
2353 (WebCore::RenderBox::paintBoxDecorations):
2354 (WebCore::RenderBox::paintMask):
2355 (WebCore::RenderBox::getOverflowClipRect):
2356 (WebCore::RenderBox::localToAbsolute):
2357 (WebCore::RenderBox::absoluteToLocal):
2358 (WebCore::RenderBox::localToAbsoluteQuad):
2359 Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls.
2361 * rendering/RenderBox.h:
2362 (WebCore::RenderBox::y):
2363 (WebCore::RenderBox::location):
2364 (WebCore::RenderBox::borderBoxRect):
2365 (WebCore::RenderBox::offsetHeight):
2366 Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls.
2368 * rendering/RenderContainer.cpp:
2369 (WebCore::RenderContainer::addLineBoxRects):
2370 * rendering/RenderFieldset.cpp:
2371 (WebCore::RenderFieldset::paintBoxDecorations):
2372 (WebCore::RenderFieldset::paintMask):
2373 * rendering/RenderFieldset.h:
2374 (WebCore::RenderFieldset::avoidsFloats):
2375 * rendering/RenderFlow.cpp:
2376 (WebCore::RenderFlow::localCaretRect):
2377 * rendering/RenderLayer.cpp:
2378 (WebCore::RenderLayer::updateLayerPosition):
2379 (WebCore::RenderLayer::paintLayer):
2380 (WebCore::RenderLayer::hitTestLayer):
2381 (WebCore::RenderLayer::boundingBox):
2382 * rendering/RenderListBox.cpp:
2383 (WebCore::RenderListBox::isPointInOverflowControl):
2384 * rendering/RenderObject.cpp:
2385 (WebCore::RenderObject::localToAbsolute):
2386 (WebCore::RenderObject::absoluteToLocal):
2387 (WebCore::RenderObject::localToAbsoluteQuad):
2388 (WebCore::RenderObject::offsetFromContainer):
2389 (WebCore::RenderObject::paddingTop):
2390 (WebCore::RenderObject::paddingBottom):
2391 (WebCore::RenderObject::paddingLeft):
2392 (WebCore::RenderObject::paddingRight):
2393 * rendering/RenderObject.h:
2394 (WebCore::RenderObject::hasOverhangingFloats):
2395 * rendering/RenderReplaced.cpp:
2396 (WebCore::RenderReplaced::selectionRect):
2397 (WebCore::RenderReplaced::localSelectionRect):
2398 Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls. Also modifed paddingLeft/Top/Right/Bottom to take an argument indicating
2399 whether or not the intrinsic padding of an object should be included (by default it is). getComputedStyle needs to exclude it, which is why this argument is
2402 * rendering/RenderTableCell.cpp:
2403 (WebCore::RenderTableCell::RenderTableCell):
2404 (WebCore::RenderTableCell::paddingTop):
2405 (WebCore::RenderTableCell::paddingBottom):
2406 The new paddingTop() and paddingBottom() methods on table cells include the extra intrinsic padding.
2408 (WebCore::RenderTableCell::setOverrideSize):
2409 When a table's override size gets altered, the intrinsic padding needs to be cleared.
2411 (WebCore::RenderTableCell::absoluteClippedOverflowRect):
2412 (WebCore::RenderTableCell::computeAbsoluteRepaintRect):
2413 (WebCore::RenderTableCell::baselinePosition):
2414 (WebCore::RenderTableCell::paint):
2415 (WebCore::RenderTableCell::paintBackgroundsBehindCell):
2416 (WebCore::RenderTableCell::paintBoxDecorations):
2417 (WebCore::RenderTableCell::paintMask):
2418 Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls.
2420 * rendering/RenderTableCell.h:
2421 (WebCore::RenderTableCell::setIntrinsicPaddingTop):
2422 (WebCore::RenderTableCell::setIntrinsicPaddingBottom):
2423 (WebCore::RenderTableCell::setIntrinsicPadding):
2424 (WebCore::RenderTableCell::clearIntrinsicPadding):
2425 (WebCore::RenderTableCell::intrinsicPaddingTop):
2426 (WebCore::RenderTableCell::intrinsicPaddingBottom):
2427 Add new helper methods for getting/setting a cell's intrinsic padding.
2429 * rendering/RenderTableSection.cpp:
2430 (WebCore::RenderTableSection::calcRowHeight):
2431 calcRowHeight has been modified to exclude the intrinsic padding when calculating the base height of rows prior to flexing. Because a cell now includes that
2432 extra space, it has to be subtracted out in this method.
2434 (WebCore::RenderTableSection::layoutRows):
2435 Modify the code that sets up the intrinsic padding so that it does a relayout if the intrinsic padding changes. There was also an error where the baseline
2436 position mismatched leading to negative intrinsic padding being added in (this error exists in ToT). The code now properly ignores cells that don't establish
2437 a baseline. A number of tests progress with this change.
2439 * rendering/RenderText.cpp:
2440 (WebCore::RenderText::addLineBoxRects):
2441 Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls.
2443 * rendering/RenderTreeAsText.cpp:
2444 (WebCore::operator<<):
2445 (WebCore::writeTextRun):
2446 Modify the render tree dumping code to continue to produce the same results as before. This is really a hack, since we're now capable of indicating the correct
2447 position for the descendants of cells with intrinsic padding (and also indicating what the correct cell box is). A future patch can remove these hacks so that the
2448 layout test results can all be regenerated.
2450 2009-01-22 Eric Seidel <eric@webkit.org>
2452 Reviewed by Justin Garcia.
2454 Remove <span> turds left by editing commands
2455 https://bugs.webkit.org/show_bug.cgi?id=23466
2458 * editing/execCommand/empty-span-removal.html
2459 * editing/execCommand/toggle-styles.html
2461 * editing/ApplyStyleCommand.cpp:
2462 (WebCore::styleSpanClassString):
2463 (WebCore::isStyleSpan):
2464 (WebCore::isUnstyledStyleSpan):
2465 (WebCore::isSpanWithoutAttributesOrUnstyleStyleSpan):
2466 (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
2467 (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
2468 (WebCore::ApplyStyleCommand::removeHTMLBidiEmbeddingStyle):
2469 (WebCore::ApplyStyleCommand::removeCSSStyle):
2471 2009-01-22 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
2473 Reviewed by Eric Seidel.
2475 Rename some of the casting functions in dom/*Element.cpp:
2476 formControlElementForElement -> toFormControlElement
2477 inputElementForElement -> toInputElement
2478 optionElementForElement -> toOptionElement
2479 optionGroupElementForElement -> toOptionGroupElement
2481 Suggested by Alexey, while refactoring the Element*->ScriptElement* code.
2482 The Element*->ScriptElement* helper function is already named 'toScriptElement'.
2484 * dom/FormControlElement.cpp:
2485 (WebCore::toFormControlElement):
2486 * dom/FormControlElement.h:
2487 * dom/InputElement.cpp:
2488 (WebCore::InputElement::setValueFromRenderer):
2489 (WebCore::toInputElement):
2490 * dom/InputElement.h:
2491 * dom/OptionElement.cpp:
2492 (WebCore::OptionElement::collectOptionTextRespectingGroupLabel):
2493 (WebCore::toOptionElement):
2494 * dom/OptionElement.h:
2495 * dom/OptionGroupElement.cpp:
2496 (WebCore::toOptionGroupElement):
2497 * dom/OptionGroupElement.h:
2498 * rendering/RenderListBox.cpp:
2499 (WebCore::RenderListBox::updateFromElement):
2500 (WebCore::RenderListBox::paintItemForeground):
2501 (WebCore::RenderListBox::paintItemBackground):
2502 * rendering/RenderMenuList.cpp:
2503 (WebCore::RenderMenuList::updateOptionsWidth):
2504 (WebCore::RenderMenuList::setTextFromOption):
2505 (WebCore::RenderMenuList::itemText):
2506 (WebCore::RenderMenuList::itemIsSelected):
2507 * rendering/RenderTextControl.cpp:
2508 (WebCore::RenderTextControl::formControlElement):
2509 * rendering/RenderTextControlSingleLine.cpp:
2510 (WebCore::RenderTextControlSingleLine::inputElement):
2512 2009-01-22 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
2514 Rubber-stamped by George Staikos.
2516 Forgot to include in my last commit: Activate code depending on WMLOptionElement/WMLOptGroupElement.
2518 * dom/OptionElement.cpp:
2519 (WebCore::optionElementForElement):
2520 * dom/OptionGroupElement.cpp:
2521 (WebCore::optionGroupElementForElement):
2523 2009-01-22 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
2525 Reviewed by George Staikos.
2527 Fixes: https://bugs.webkit.org/show_bug.cgi?id=23454
2529 Add WML <option>/<optgroup> element support.
2530 Currently the implementation is stubbed, all relevant parts can be enabled
2531 once WMLSelectElement/SelectElement has been created.
2535 * WebCore.vcproj/WebCore.vcproj:
2536 * WebCore.xcodeproj/project.pbxproj:
2537 * wml/WMLOptGroupElement.cpp: Added.
2538 (WebCore::WMLOptGroupElement::WMLOptGroupElement):
2539 (WebCore::WMLOptGroupElement::~WMLOptGroupElement):
2540 (WebCore::WMLOptGroupElement::insertBefore):
2541 (WebCore::WMLOptGroupElement::replaceChild):
2542 (WebCore::WMLOptGroupElement::removeChild):
2543 (WebCore::WMLOptGroupElement::appendChild):
2544 (WebCore::WMLOptGroupElement::removeChildren):
2545 (WebCore::ownerSelectElement):
2546 (WebCore::WMLOptGroupElement::accessKeyAction):
2547 (WebCore::WMLOptGroupElement::childrenChanged):
2548 (WebCore::WMLOptGroupElement::parseMappedAttribute):
2549 (WebCore::WMLOptGroupElement::attach):
2550 (WebCore::WMLOptGroupElement::detach):
2551 (WebCore::WMLOptGroupElement::setRenderStyle):
2552 (WebCore::WMLOptGroupElement::nonRendererRenderStyle):
2553 (WebCore::WMLOptGroupElement::groupLabelText):
2554 (WebCore::WMLOptGroupElement::recalcSelectOptions):
2555 * wml/WMLOptGroupElement.h: Added.
2556 (WebCore::WMLOptGroupElement::title):
2557 (WebCore::WMLOptGroupElement::valueMatchesRenderer):
2558 (WebCore::WMLOptGroupElement::setValueMatchesRenderer):
2559 (WebCore::WMLOptGroupElement::rendererIsNeeded):
2560 * wml/WMLOptionElement.cpp: Added.
2561 (WebCore::WMLOptionElement::WMLOptionElement):
2562 (WebCore::WMLOptionElement::~WMLOptionElement):
2563 (WebCore::ownerSelectElement):
2564 (WebCore::WMLOptionElement::accessKeyAction):
2565 (WebCore::WMLOptionElement::childrenChanged):
2566 (WebCore::WMLOptionElement::parseMappedAttribute):
2567 (WebCore::WMLOptionElement::attach):
2568 (WebCore::WMLOptionElement::detach):
2569 (WebCore::WMLOptionElement::setRenderStyle):
2570 (WebCore::WMLOptionElement::insertedIntoDocument):
2571 (WebCore::WMLOptionElement::selected):
2572 (WebCore::WMLOptionElement::setSelectedState):
2573 (WebCore::WMLOptionElement::value):
2574 (WebCore::WMLOptionElement::textIndentedToRespectGroupLabel):
2575 (WebCore::WMLOptionElement::nonRendererRenderStyle):
2576 (WebCore::WMLOptionElement::handleIntrinsicEventIfNeeded):
2577 * wml/WMLOptionElement.h: Added.
2578 (WebCore::WMLOptionElement::valueMatchesRenderer):
2579 (WebCore::WMLOptionElement::setValueMatchesRenderer):
2580 (WebCore::WMLOptionElement::rendererIsNeeded):
2581 * wml/WMLTagNames.in:
2583 2009-01-22 Eric Roman <eroman@chromium.org>
2585 Reviewed by Eric Seidel.
2587 https://bugs.webkit.org/show_bug.cgi?id=20806
2588 Send referrer for history navigations.
2590 Test: http/tests/navigation/back-send-referrer.html
2592 Consolidates HistoryItem::rssFeedReferrer and HistoryItem::formReferrer into a single HistoryItem::referrer property.
2594 * history/HistoryItem.cpp:
2595 (WebCore::HistoryItem::HistoryItem):
2596 (WebCore::HistoryItem::referrer):
2597 (WebCore::HistoryItem::setReferrer):
2598 (WebCore::HistoryItem::formReferrer):
2599 (WebCore::HistoryItem::rssFeedReferrer):
2600 (WebCore::HistoryItem::setRSSFeedReferrer):
2601 (WebCore::HistoryItem::setFormInfoFromRequest):
2602 * history/HistoryItem.h:
2603 * loader/FrameLoader.cpp:
2604 (WebCore::FrameLoader::loadItem):
2606 2009-01-22 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
2608 Reviewed by Eric Seidel.
2610 Fixes: https://bugs.webkit.org/show_bug.cgi?id=23465
2612 Further enhancments to share code between HTMLOptionElement and the upcoming WMLOptionElement.
2614 Rename optionText() to textIndentedToRespectGroupLabel() in (HTML)OptionElement, as it fits better.
2615 optionText() returns the options text prefixed with some spaces, in case it got an optgroup parent.
2617 Add two more pure-virtual functions to OptionElement: setSelectedState(bool) & value().
2618 These aren't used outside of html/ at the moment (unlike the other pure-virtual functions
2619 used by RenderMenuList/RenderListBox) - but they will be used by SelectElement, once it exists.
2621 * dom/OptionElement.cpp:
2622 (WebCore::OptionElement::setSelectedState):
2623 (WebCore::OptionElement::collectOptionText):
2624 (WebCore::OptionElement::collectOptionTextRespectingGroupLabel):
2625 (WebCore::OptionElement::collectOptionValue):
2626 (WebCore::OptionElementData::OptionElementData):
2627 (WebCore::OptionElementData::~OptionElementData):
2628 * dom/OptionElement.h:
2629 (WebCore::OptionElementData::element):
2630 (WebCore::OptionElementData::value):
2631 (WebCore::OptionElementData::setValue):
2632 (WebCore::OptionElementData::label):
2633 (WebCore::OptionElementData::setLabel):
2634 (WebCore::OptionElementData::selected):
2635 (WebCore::OptionElementData::setSelected):
2636 * html/HTMLOptionElement.cpp:
2637 (WebCore::HTMLOptionElement::HTMLOptionElement):
2638 (WebCore::HTMLOptionElement::text):
2639 (WebCore::HTMLOptionElement::parseMappedAttribute):
2640 (WebCore::HTMLOptionElement::value):
2641 (WebCore::HTMLOptionElement::selected):
2642 (WebCore::HTMLOptionElement::setSelected):
2643 (WebCore::HTMLOptionElement::setSelectedState):
2644 (WebCore::HTMLOptionElement::label):
2645 (WebCore::HTMLOptionElement::textIndentedToRespectGroupLabel):
2646 * html/HTMLOptionElement.h:
2647 * html/HTMLSelectElement.cpp:
2648 (WebCore::HTMLSelectElement::typeAheadFind):
2649 * rendering/RenderListBox.cpp:
2650 (WebCore::RenderListBox::updateFromElement):
2651 (WebCore::RenderListBox::paintItemForeground):
2652 * rendering/RenderMenuList.cpp:
2653 (WebCore::RenderMenuList::updateOptionsWidth):
2654 (WebCore::RenderMenuList::setTextFromOption):
2655 (WebCore::RenderMenuList::itemText):
2657 2009-01-22 Chris Fleizach <cfleizach@apple.com>
2659 Reviewed by Justin Garcia.
2661 Bug 23464: Infinite recursion at SelectionController::setSelection
2662 https://bugs.webkit.org/show_bug.cgi?id=23464
2664 Check for conditions leading to infinite recursion.
2666 * editing/SelectionController.cpp:
2667 (WebCore::SelectionController::setSelection):
2669 2009-01-22 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
2671 Not reviewed. Fix WML build problem in RenderBox.cpp, WMLNames is undefined.
2673 * rendering/RenderBox.cpp:
2675 2009-01-22 Adam Treat <adam.treat@torchmobile.com>
2677 Fix the Qt build after RenderBox changes.
2679 * platform/qt/RenderThemeQt.cpp:
2680 (WebCore::RenderThemeQt::baselinePosition):
2682 2009-01-22 David Hyatt <hyatt@apple.com>
2684 Fix regressions in list box selection on Mac. The wrong color was being used for the list box
2685 background, and list box colors actually weren't even being properly fetched because of a bug in
2686 the RenderTheme base class. Existing pixel tests cover the bug fix.
2688 Reviewed by Jon Honeycutt
2690 * rendering/RenderTheme.cpp:
2691 (WebCore::RenderTheme::activeListBoxSelectionBackgroundColor):
2692 (WebCore::RenderTheme::inactiveListBoxSelectionBackgroundColor):
2693 (WebCore::RenderTheme::activeListBoxSelectionForegroundColor):
2694 (WebCore::RenderTheme::inactiveListBoxSelectionForegroundColor):
2695 * rendering/RenderThemeMac.mm:
2696 (WebCore::RenderThemeMac::platformInactiveListBoxSelectionBackgroundColor):
2698 2009-01-22 David Levin <levin@chromium.org>
2700 Reviewed by Alexey Proskuryakov.
2702 Bug 22720: Make XMLHttpRequest work in Workers
2703 <https://bugs.webkit.org/show_bug.cgi?id=22720>
2705 Add copy/adopt for HTTPHeaderMap to allow the data to be passed across threads.
2707 No observable change in behavior, so no test.
2712 * WebCore.vcproj/WebCore.vcproj:
2713 * WebCore.xcodeproj/project.pbxproj:
2714 * WebCoreSources.bkl:
2715 * platform/network/HTTPHeaderMap.cpp: Added.
2716 (WebCore::HTTPHeaderMap::copyData):
2717 (WebCore::HTTPHeaderMap::adopt):
2718 * platform/network/HTTPHeaderMap.h:
2720 2009-01-21 David Hyatt <hyatt@apple.com>
2722 Back out a portion of my patch that I did not mean to land. Revert paintOutline back to the way it
2723 was before my landing. Fixes failing SVG focus ring tests.
2725 * rendering/RenderObject.cpp:
2726 (WebCore::RenderObject::paintOutline):
2727 * rendering/RenderObject.h:
2728 * rendering/RenderPath.cpp:
2729 (WebCore::RenderPath::paint):
2730 * rendering/RenderSVGContainer.cpp:
2731 (WebCore::RenderSVGContainer::paint):
2733 2009-01-21 David Hyatt <hyatt@apple.com>
2735 Fix Node's renderBox() method on Windows.
2738 (WebCore::Node::renderBox):
2740 2009-01-21 David Hyatt <hyatt@apple.com>
2742 Fix RenderThemeSafari bustage on Win32.
2744 * rendering/RenderThemeSafari.cpp:
2745 (WebCore::RenderThemeSafari::baselinePosition):
2747 2009-01-21 David Hyatt <hyatt@apple.com>
2749 Fix bustage in RenderThemeWin. It's actually terrible that RenderThemeWin is using absoluteContentBox,
2750 but that's a problem for another day.
2752 * rendering/RenderThemeWin.cpp:
2753 (WebCore::RenderThemeWin::paintSearchFieldCancelButton):
2754 (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):
2755 (WebCore::RenderThemeWin::paintSearchFieldResultsButton):
2757 2009-01-21 Oliver Hunt <oliver@apple.com>
2759 Reviewed by Dave Hyatt.
2761 Bug 23470: Crash when page load occurs while processing scroll event with MallocScribble enabled
2762 <https://bugs.webkit.org/show_bug.cgi?id=23470>
2764 Add a RefPtr protector to handleWheelEvent to guard against destruction
2765 while processing the scroll event. Alas the absurd set of circumstances
2766 required to trigger this do not appear to be reproducible in DRT.
2768 * page/EventHandler.cpp:
2769 (WebCore::EventHandler::handleWheelEvent):
2771 2009-01-21 David Hyatt <hyatt@apple.com>
2773 Fix for https://bugs.webkit.org/show_bug.cgi?id=23453
2775 Devirtualize the width/height/x/y methods of the render tree. The methods are now non-virtual on RenderBox.
2776 Many functions that were previously in RenderObject.cpp are now in RenderBox.cpp.
2778 Reviewed by Eric Seidel and Darin Adler
2781 * css/CSSComputedStyleDeclaration.cpp:
2782 (WebCore::sizingBox):
2783 * dom/ContainerNode.cpp:
2784 (WebCore::ContainerNode::getUpperLeftCorner):
2785 (WebCore::ContainerNode::getLowerRightCorner):
2787 (WebCore::Element::offsetLeft):
2788 (WebCore::Element::offsetTop):
2789 (WebCore::Element::offsetWidth):
2790 (WebCore::Element::offsetHeight):
2791 (WebCore::Element::offsetParent):
2792 (WebCore::Element::clientLeft):
2793 (WebCore::Element::clientTop):
2794 (WebCore::Element::clientWidth):
2795 (WebCore::Element::clientHeight):
2796 (WebCore::Element::scrollLeft):
2797 (WebCore::Element::scrollTop):
2798 (WebCore::Element::setScrollLeft):
2799 (WebCore::Element::setScrollTop):
2800 (WebCore::Element::scrollWidth):
2801 (WebCore::Element::scrollHeight):
2803 (WebCore::Node::renderBox):
2804 (WebCore::Node::getRect):
2807 (WebCore::endsOfNodeAreVisuallyDistinctPositions):
2808 (WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight):
2809 (WebCore::Position::isCandidate):
2810 * dom/PositionIterator.cpp:
2811 (WebCore::PositionIterator::isCandidate):
2812 * editing/CompositeEditCommand.cpp:
2813 (WebCore::CompositeEditCommand::addBlockPlaceholderIfNeeded):
2814 * editing/DeleteButtonController.cpp:
2815 (WebCore::isDeletableElement):
2816 * editing/DeleteSelectionCommand.cpp:
2817 (WebCore::DeleteSelectionCommand::removeNode):
2818 * editing/Editor.cpp:
2819 (WebCore::Editor::insideVisibleArea):
2820 * editing/EditorCommand.cpp:
2821 (WebCore::verticalScrollDistance):
2822 * html/HTMLAnchorElement.cpp:
2823 (WebCore::HTMLAnchorElement::isKeyboardFocusable):
2824 * html/HTMLCanvasElement.cpp:
2825 (WebCore::HTMLCanvasElement::willDraw):
2826 * html/HTMLFormControlElement.cpp:
2827 (WebCore::HTMLFormControlElement::isFocusable):
2828 * html/HTMLFrameElementBase.cpp:
2829 (WebCore::HTMLFrameElementBase::width):
2830 (WebCore::HTMLFrameElementBase::height):
2831 * html/HTMLImageElement.cpp:
2832 (WebCore::HTMLImageElement::width):
2833 (WebCore::HTMLImageElement::height):
2834 * inspector/InspectorController.cpp:
2835 (WebCore::InspectorController::drawNodeHighlight):
2836 * page/AccessibilityRenderObject.cpp:
2837 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
2838 * page/FrameView.cpp:
2839 (WebCore::FrameView::createScrollbar):
2840 (WebCore::FrameView::updateDashboardRegions):
2841 * page/animation/AnimationBase.cpp:
2842 (WebCore::blendFunc):
2843 * rendering/HitTestResult.cpp:
2844 (WebCore::HitTestResult::imageRect):
2845 * rendering/InlineBox.cpp:
2846 (WebCore::InlineBox::renderBox):
2847 (WebCore::InlineBox::adjustPosition):
2848 * rendering/InlineBox.h:
2849 * rendering/InlineFlowBox.cpp:
2850 (WebCore::InlineFlowBox::placeBoxesHorizontally):
2851 (WebCore::InlineFlowBox::verticallyAlignBoxes):
2852 (WebCore::InlineFlowBox::placeBoxesVertically):
2853 * rendering/InlineFlowBox.h:
2854 * rendering/RenderApplet.cpp:
2855 (WebCore::RenderApplet::createWidgetIfNecessary):
2856 * rendering/RenderBlock.cpp:
2857 (WebCore::RenderBlock::overflowHeight):
2858 (WebCore::RenderBlock::overflowWidth):
2859 (WebCore::RenderBlock::overflowRect):
2860 (WebCore::RenderBlock::isSelfCollapsingBlock):
2861 (WebCore::RenderBlock::layout):
2862 (WebCore::RenderBlock::layoutBlock):
2863 (WebCore::RenderBlock::adjustPositionedBlock):
2864 (WebCore::RenderBlock::adjustFloatingBlock):
2865 (WebCore::RenderBlock::handleSpecialChild):
2866 (WebCore::RenderBlock::handlePositionedChild):
2867 (WebCore::RenderBlock::handleFloatingChild):
2868 (WebCore::RenderBlock::handleCompactChild):
2869 (WebCore::RenderBlock::insertCompactIfNeeded):
2870 (WebCore::RenderBlock::handleRunInChild):
2871 (WebCore::RenderBlock::collapseMargins):
2872 (WebCore::RenderBlock::clearFloatsIfNeeded):
2873 (WebCore::RenderBlock::estimateVerticalPosition):
2874 (WebCore::RenderBlock::determineHorizontalPosition):
2875 (WebCore::RenderBlock::handleBottomOfBlock):
2876 (WebCore::RenderBlock::layoutBlockChildren):
2877 (WebCore::RenderBlock::layoutOnlyPositionedObjects):
2878 (WebCore::RenderBlock::layoutPositionedObjects):
2879 (WebCore::RenderBlock::markPositionedObjectsForLayout):
2880 (WebCore::RenderBlock::repaintOverhangingFloats):
2881 (WebCore::RenderBlock::paint):
2882 (WebCore::RenderBlock::paintChildren):
2883 (WebCore::RenderBlock::paintObject):
2884 (WebCore::RenderBlock::paintFloats):
2885 (WebCore::RenderBlock::paintContinuationOutlines):
2886 (WebCore::clipOutPositionedObjects):
2887 (WebCore::RenderBlock::fillSelectionGaps):
2888 (WebCore::RenderBlock::fillBlockSelectionGaps):
2889 (WebCore::RenderBlock::leftSelectionOffset):
2890 (WebCore::RenderBlock::rightSelectionOffset):
2891 (WebCore::RenderBlock::insertPositionedObject):
2892 (WebCore::RenderBlock::removePositionedObject):
2893 (WebCore::RenderBlock::removePositionedObjects):
2894 (WebCore::RenderBlock::insertFloatingObject):
2895 (WebCore::RenderBlock::removeFloatingObject):
2896 (WebCore::RenderBlock::positionNewFloats):
2897 (WebCore::RenderBlock::newLine):
2898 (WebCore::RenderBlock::lowestPosition):
2899 (WebCore::RenderBlock::rightmostPosition):
2900 (WebCore::RenderBlock::leftmostPosition):
2901 (WebCore::RenderBlock::clearFloats):
2902 (WebCore::RenderBlock::addOverhangingFloats):
2903 (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout):
2904 (WebCore::RenderBlock::getClearDelta):
2905 (WebCore::RenderBlock::nodeAtPoint):
2906 (WebCore::RenderBlock::positionForCoordinates):
2907 (WebCore::RenderBlock::layoutColumns):
2908 (WebCore::RenderBlock::getBaselineOfFirstLineBox):
2909 (WebCore::RenderBlock::getBaselineOfLastLineBox):
2910 (WebCore::getHeightForLineCount):
2911 (WebCore::RenderBlock::adjustForBorderFit):
2912 * rendering/RenderBlock.h:
2913 (WebCore::RenderBlock::FloatWithRect::FloatWithRect):
2914 (WebCore::RenderBlock::hasOverhangingFloats):
2915 (WebCore::RenderBlock::CompactInfo::compact):
2916 (WebCore::RenderBlock::CompactInfo::set):
2917 * rendering/RenderBox.cpp:
2918 (WebCore::RenderBox::RenderBox):
2919 (WebCore::RenderBox::offsetLeft):
2920 (WebCore::RenderBox::offsetTop):
2921 (WebCore::RenderBox::offsetParent):
2922 (WebCore::RenderBox::clientWidth):
2923 (WebCore::RenderBox::clientHeight):
2924 (WebCore::RenderBox::scrollWidth):
2925 (WebCore::RenderBox::scrollHeight):
2926 (WebCore::RenderBox::scrollLeft):
2927 (WebCore::RenderBox::scrollTop):
2928 (WebCore::RenderBox::setScrollLeft):
2929 (WebCore::RenderBox::setScrollTop):
2930 (WebCore::RenderBox::absoluteRects):
2931 (WebCore::RenderBox::absoluteQuads):
2932 (WebCore::RenderBox::absoluteContentBox):
2933 (WebCore::RenderBox::absoluteContentQuad):
2934 (WebCore::RenderBox::absoluteOutlineBounds):
2935 (WebCore::RenderBox::addFocusRingRects):
2936 (WebCore::RenderBox::reflectionBox):
2937 (WebCore::RenderBox::reflectionOffset):
2938 (WebCore::RenderBox::reflectedRect):
2939 (WebCore::RenderBox::overrideWidth):
2940 (WebCore::RenderBox::overrideHeight):
2941 (WebCore::RenderBox::nodeAtPoint):
2942 (WebCore::RenderBox::paint):
2943 (WebCore::RenderBox::maskClipRect):
2944 (WebCore::RenderBox::repaintLayerRectsForImage):
2945 (WebCore::RenderBox::paintCustomHighlight):
2946 (WebCore::RenderBox::getOverflowClipRect):
2947 (WebCore::RenderBox::getClipRect):
2948 (WebCore::RenderBox::containingBlockWidth):
2949 (WebCore::RenderBox::localToAbsolute):
2950 (WebCore::RenderBox::offsetFromContainer):
2951 (WebCore::RenderBox::position):
2952 (WebCore::RenderBox::computeAbsoluteRepaintRect):
2953 (WebCore::RenderBox::repaintDuringLayoutIfMoved):
2954 (WebCore::RenderBox::calcWidth):
2955 (WebCore::RenderBox::calcWidthUsing):
2956 (WebCore::RenderBox::calcHorizontalMargins):
2957 (WebCore::RenderBox::calcHeight):
2958 (WebCore::RenderBox::calcPercentageHeight):
2959 (WebCore::RenderBox::calcReplacedHeightUsing):
2960 (WebCore::RenderBox::containingBlockWidthForPositioned):
2961 (WebCore::RenderBox::containingBlockHeightForPositioned):
2962 (WebCore::RenderBox::calcAbsoluteHorizontal):
2963 (WebCore::RenderBox::calcAbsoluteVertical):
2964 (WebCore::RenderBox::calcAbsoluteVerticalValues):
2965 (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
2966 (WebCore::RenderBox::calcAbsoluteVerticalReplaced):
2967 (WebCore::RenderBox::localCaretRect):
2968 (WebCore::RenderBox::lowestPosition):
2969 (WebCore::RenderBox::rightmostPosition):
2970 (WebCore::RenderBox::leftmostPosition):
2971 (WebCore::RenderBox::localTransform):
2972 * rendering/RenderBox.h:
2974 (WebCore::RenderBox::x):
2975 (WebCore::RenderBox::y):
2976 (WebCore::RenderBox::width):
2977 (WebCore::RenderBox::height):
2978 (WebCore::RenderBox::setX):
2979 (WebCore::RenderBox::setY):
2980 (WebCore::RenderBox::setWidth):
2981 (WebCore::RenderBox::setHeight):
2982 (WebCore::RenderBox::location):
2983 (WebCore::RenderBox::size):
2984 (WebCore::RenderBox::setLocation):
2985 (WebCore::RenderBox::setSize):
2986 (WebCore::RenderBox::move):
2987 (WebCore::RenderBox::frameRect):
2988 (WebCore::RenderBox::setFrameRect):
2989 (WebCore::RenderBox::borderBoxRect):
2990 (WebCore::RenderBox::contentBoxRect):
2991 (WebCore::RenderBox::previousSiblingBox):
2992 (WebCore::RenderBox::nextSiblingBox):
2993 (WebCore::RenderBox::parentBox):
2994 (WebCore::RenderBox::overflowHeight):
2995 (WebCore::RenderBox::overflowWidth):
2996 (WebCore::RenderBox::setOverflowHeight):
2997 (WebCore::RenderBox::setOverflowWidth):
2998 (WebCore::RenderBox::overflowLeft):
2999 (WebCore::RenderBox::overflowTop):
3000 (WebCore::RenderBox::overflowRect):
3001 (WebCore::RenderBox::contentWidth):
3002 (WebCore::RenderBox::contentHeight):
3003 (WebCore::RenderBox::offsetWidth):
3004 (WebCore::RenderBox::offsetHeight):
3005 (WebCore::RenderBox::clientLeft):
3006 (WebCore::RenderBox::clientTop):
3007 (WebCore::RenderBox::availableWidth):
3008 (WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly):
3009 * rendering/RenderButton.cpp:
3010 (WebCore::RenderButton::controlClipRect):
3011 * rendering/RenderContainer.cpp:
3012 (WebCore::RenderContainer::layout):
3013 (WebCore::RenderContainer::positionForCoordinates):
3014 * rendering/RenderContainer.h:
3015 (WebCore::RenderContainer::firstChildBox):
3016 (WebCore::RenderContainer::lastChildBox):
3017 * rendering/RenderFieldset.cpp:
3018 (WebCore::RenderFieldset::calcPrefWidths):
3019 (WebCore::RenderFieldset::layoutLegend):
3020 (WebCore::RenderFieldset::findLegend):
3021 (WebCore::RenderFieldset::paintBoxDecorations):
3022 (WebCore::RenderFieldset::paintMask):
3023 * rendering/RenderFieldset.h:
3024 * rendering/RenderFileUploadControl.cpp:
3025 (WebCore::RenderFileUploadControl::maxFilenameWidth):
3026 (WebCore::RenderFileUploadControl::paintObject):
3027 * rendering/RenderFlexibleBox.cpp:
3028 (WebCore::FlexBoxIterator::FlexBoxIterator):
3029 (WebCore::FlexBoxIterator::first):
3030 (WebCore::FlexBoxIterator::next):
3031 (WebCore::RenderFlexibleBox::calcHorizontalPrefWidths):
3032 (WebCore::RenderFlexibleBox::calcVerticalPrefWidths):
3033 (WebCore::RenderFlexibleBox::layoutBlock):
3034 (WebCore::RenderFlexibleBox::layoutHorizontalBox):
3035 (WebCore::RenderFlexibleBox::layoutVerticalBox):
3036 (WebCore::RenderFlexibleBox::placeChild):
3037 (WebCore::RenderFlexibleBox::allowedChildFlex):
3038 * rendering/RenderFlexibleBox.h:
3039 * rendering/RenderFlow.cpp:
3040 (WebCore::RenderFlow::absoluteClippedOverflowRect):
3041 (WebCore::RenderFlow::lowestPosition):
3042 (WebCore::RenderFlow::rightmostPosition):
3043 (WebCore::RenderFlow::leftmostPosition):
3044 (WebCore::RenderFlow::localCaretRect):
3045 (WebCore::RenderFlow::addFocusRingRects):
3046 * rendering/RenderFrameSet.cpp:
3047 (WebCore::RenderFrameSet::paint):
3048 (WebCore::RenderFrameSet::layout):
3049 (WebCore::RenderFrameSet::positionFrames):
3050 * rendering/RenderHTMLCanvas.cpp:
3051 (WebCore::RenderHTMLCanvas::paintReplaced):
3052 (WebCore::RenderHTMLCanvas::canvasSizeChanged):
3053 * rendering/RenderImage.cpp:
3054 (WebCore::RenderImage::imageChanged):
3055 (WebCore::RenderImage::paintReplaced):
3056 (WebCore::RenderImage::nodeAtPoint):
3057 (WebCore::RenderImage::calcReplacedWidth):
3058 * rendering/RenderInline.cpp:
3059 (WebCore::RenderInline::absoluteRects):
3060 (WebCore::RenderInline::boundingBoxWidth):
3061 (WebCore::RenderInline::boundingBoxHeight):
3062 (WebCore::RenderInline::positionForCoordinates):
3063 * rendering/RenderInline.h:
3064 (WebCore::RenderInline::offsetWidth):
3065 (WebCore::RenderInline::offsetHeight):
3066 * rendering/RenderLayer.cpp:
3067 (WebCore::RenderLayer::updateTransform):
3068 (WebCore::RenderLayer::updateLayerPosition):
3069 (WebCore::RenderLayer::scrollbarCornerPresent):
3070 (WebCore::RenderLayer::createScrollbar):
3071 (WebCore::RenderLayer::positionOverflowControls):
3072 (WebCore::RenderLayer::paintScrollCorner):
3073 (WebCore::RenderLayer::paintResizer):
3074 (WebCore::RenderLayer::paintLayer):
3075 (WebCore::RenderLayer::hitTestLayer):
3076 (WebCore::RenderLayer::calculateRects):
3077 (WebCore::RenderLayer::boundingBox):
3078 * rendering/RenderListBox.cpp:
3079 (WebCore::RenderListBox::calcHeight):
3080 (WebCore::RenderListBox::controlClipRect):
3081 * rendering/RenderListItem.cpp:
3082 (WebCore::RenderListItem::positionListMarker):
3083 (WebCore::RenderListItem::paint):
3084 * rendering/RenderListMarker.cpp:
3085 (WebCore::RenderListMarker::paint):
3086 (WebCore::RenderListMarker::layout):
3087 (WebCore::RenderListMarker::imageChanged):
3088 (WebCore::RenderListMarker::getRelativeMarkerRect):
3089 (WebCore::RenderListMarker::selectionRect):
3090 * rendering/RenderMarquee.cpp:
3091 (WebCore::RenderMarquee::computePosition):
3092 * rendering/RenderMedia.cpp:
3093 (WebCore::RenderMedia::layout):
3094 (WebCore::RenderMedia::lowestPosition):
3095 (WebCore::RenderMedia::rightmostPosition):
3096 (WebCore::RenderMedia::leftmostPosition):
3097 * rendering/RenderMenuList.cpp:
3098 (WebCore::RenderMenuList::controlClipRect):
3099 * rendering/RenderObject.cpp:
3100 (WebCore::RenderObject::RenderObject):
3101 (WebCore::RenderObject::markAllDescendantsWithFloatsForLayout):
3102 (WebCore::RenderObject::paintOutline):
3103 (WebCore::RenderObject::addLineBoxRects):
3104 (WebCore::RenderObject::absoluteBoundingBoxRect):
3105 (WebCore::RenderObject::addAbsoluteRectForLayer):
3106 (WebCore::RenderObject::paintingRootRect):
3107 (WebCore::RenderObject::container):
3108 (WebCore::RenderObject::removeFromObjectLists):
3109 (WebCore::RenderObject::updateHitTestResult):
3110 (WebCore::RenderObject::addDashboardRegions):
3111 (WebCore::RenderObject::localTransform):
3112 * rendering/RenderObject.h:
3113 (WebCore::RenderObject::isBox):
3114 (WebCore::RenderObject::hasMask):
3115 (WebCore::RenderObject::setIsText):
3116 (WebCore::RenderObject::setIsBox):
3117 (WebCore::RenderObject::borderTop):
3118 (WebCore::RenderObject::borderBottom):
3119 (WebCore::RenderObject::absoluteRects):
3120 (WebCore::RenderObject::collectAbsoluteLineBoxQuads):
3121 (WebCore::RenderObject::absoluteQuads):
3122 (WebCore::RenderObject::hasReflection):
3123 (WebCore::RenderObject::addFocusRingRects):
3124 (WebCore::RenderObject::absoluteOutlineBounds):
3125 * rendering/RenderPart.cpp:
3126 (WebCore::RenderPart::updateWidgetPosition):
3127 * rendering/RenderPath.cpp:
3128 (WebCore::RenderPath::layout):
3129 (WebCore::RenderPath::paint):
3130 (WebCore::RenderPath::absoluteOutlineBounds):
3131 * rendering/RenderPath.h:
3132 * rendering/RenderReplaced.cpp:
3133 (WebCore::RenderReplaced::layout):
3134 (WebCore::RenderReplaced::paint):
3135 (WebCore::RenderReplaced::shouldPaint):
3136 (WebCore::RenderReplaced::positionForCoordinates):
3137 (WebCore::RenderReplaced::localSelectionRect):
3138 (WebCore::RenderReplaced::adjustOverflowForBoxShadow):
3139 (WebCore::RenderReplaced::overflowRect):
3140 * rendering/RenderReplica.cpp:
3141 (WebCore::RenderReplica::layout):
3142 (WebCore::RenderReplica::calcPrefWidths):
3143 (WebCore::RenderReplica::paint):
3144 * rendering/RenderSVGContainer.cpp:
3145 (WebCore::RenderSVGContainer::paint):
3146 (WebCore::RenderSVGContainer::absoluteOutlineBounds):
3147 * rendering/RenderSVGContainer.h:
3148 (WebCore::RenderSVGContainer::width):
3149 (WebCore::RenderSVGContainer::height):
3150 * rendering/RenderSVGImage.cpp:
3151 (WebCore::RenderSVGImage::layout):
3152 * rendering/RenderSVGInlineText.cpp:
3153 (WebCore::RenderSVGInlineText::computeAbsoluteRectForRange):
3154 (WebCore::RenderSVGInlineText::positionForCoordinates):
3155 * rendering/RenderSVGRoot.cpp:
3156 (WebCore::RenderSVGRoot::layout):
3157 (WebCore::RenderSVGRoot::applyContentTransforms):
3158 (WebCore::RenderSVGRoot::paint):
3159 (WebCore::RenderSVGRoot::absoluteTransform):
3160 (WebCore::RenderSVGRoot::nodeAtPoint):
3161 * rendering/RenderSVGTSpan.cpp:
3162 (WebCore::RenderSVGTSpan::absoluteRects):
3163 (WebCore::RenderSVGTSpan::absoluteQuads):
3164 * rendering/RenderSVGText.cpp:
3165 (WebCore::RenderSVGText::layout):
3166 (WebCore::RenderSVGText::relativeBBox):
3167 * rendering/RenderSVGTextPath.cpp:
3168 (WebCore::RenderSVGTextPath::absoluteRects):
3169 (WebCore::RenderSVGTextPath::absoluteQuads):
3170 * rendering/RenderSVGViewportContainer.cpp:
3171 (WebCore::RenderSVGViewportContainer::nodeAtPoint):
3172 * rendering/RenderScrollbar.cpp:
3173 (WebCore::RenderScrollbar::createCustomScrollbar):
3174 (WebCore::RenderScrollbar::RenderScrollbar):
3175 (WebCore::RenderScrollbar::setParent):
3176 * rendering/RenderScrollbar.h:
3177 (WebCore::RenderScrollbar::owningRenderer):
3178 * rendering/RenderScrollbarPart.cpp:
3179 (WebCore::RenderScrollbarPart::layout):
3180 (WebCore::RenderScrollbarPart::layoutHorizontalPart):
3181 (WebCore::RenderScrollbarPart::layoutVerticalPart):
3182 (WebCore::RenderScrollbarPart::computeScrollbarWidth):
3183 (WebCore::RenderScrollbarPart::computeScrollbarHeight):
3184 (WebCore::RenderScrollbarPart::paintIntoRect):
3185 * rendering/RenderSlider.cpp:
3186 (WebCore::HTMLSliderThumbElement::defaultEventHandler):
3187 (WebCore::RenderSlider::layout):
3188 (WebCore::RenderSlider::mouseEventIsInThumb):
3189 (WebCore::RenderSlider::positionForOffset):
3190 (WebCore::RenderSlider::trackSize):
3191 * rendering/RenderTable.cpp:
3192 (WebCore::RenderTable::calcWidth):
3193 (WebCore::RenderTable::layout):
3194 (WebCore::RenderTable::paint):
3195 (WebCore::RenderTable::getBaselineOfFirstLineBox):
3196 * rendering/RenderTableCell.cpp:
3197 (WebCore::RenderTableCell::updateWidth):
3198 (WebCore::RenderTableCell::computeAbsoluteRepaintRect):
3199 (WebCore::RenderTableCell::localToAbsolute):
3200 (WebCore::RenderTableCell::absoluteToLocal):
3201 (WebCore::RenderTableCell::localToAbsoluteQuad):
3202 (WebCore::RenderTableCell::paint):
3203 (WebCore::RenderTableCell::paintBackgroundsBehindCell):
3204 * rendering/RenderTableCell.h:
3205 * rendering/RenderTableSection.cpp:
3206 (WebCore::RenderTableSection::addChild):
3207 (WebCore::RenderTableSection::addCell):
3208 (WebCore::RenderTableSection::setCellWidths):
3209 (WebCore::RenderTableSection::calcRowHeight):
3210 (WebCore::RenderTableSection::layoutRows):
3211 (WebCore::RenderTableSection::lowestPosition):
3212 (WebCore::RenderTableSection::rightmostPosition):
3213 (WebCore::RenderTableSection::leftmostPosition):
3214 (WebCore::RenderTableSection::getBaselineOfFirstLineBox):
3215 (WebCore::RenderTableSection::paint):
3216 (WebCore::RenderTableSection::recalcCells):
3217 (WebCore::RenderTableSection::nodeAtPoint):
3218 * rendering/RenderTableSection.h:
3219 (WebCore::RenderTableSection::overflowWidth):
3220 (WebCore::RenderTableSection::overflowHeight):
3221 * rendering/RenderText.cpp:
3222 (WebCore::RenderText::RenderText):
3223 (WebCore::RenderText::boundingBoxX):
3224 (WebCore::RenderText::boundingBoxY):
3225 (WebCore::RenderText::firstRunX):
3226 (WebCore::RenderText::firstRunY):
3227 (WebCore::RenderText::boundingBoxHeight):
3228 (WebCore::RenderText::boundingBoxWidth):
3229 * rendering/RenderText.h:
3230 * rendering/RenderTextControl.cpp:
3231 (WebCore::RenderTextControl::textBlockHeight):
3232 (WebCore::RenderTextControl::textBlockWidth):
3233 (WebCore::RenderTextControl::setSelectionRange):
3234 (WebCore::RenderTextControl::calcHeight):
3235 (WebCore::RenderTextControl::hitInnerTextBlock):
3236 (WebCore::RenderTextControl::controlClipRect):
3237 * rendering/RenderTextControlMultiLine.cpp:
3238 (WebCore::RenderTextControlMultiLine::layout):
3239 (WebCore::RenderTextControlMultiLine::adjustControlHeightBasedOnLineHeight):
3240 * rendering/RenderTextControlSingleLine.cpp:
3241 (WebCore::RenderTextControlSingleLine::paint):
3242 (WebCore::RenderTextControlSingleLine::layout):
3243 (WebCore::RenderTextControlSingleLine::nodeAtPoint):
3244 (WebCore::RenderTextControlSingleLine::forwardEvent):
3245 (WebCore::RenderTextControlSingleLine::textBlockWidth):
3246 (WebCore::RenderTextControlSingleLine::adjustControlHeightBasedOnLineHeight):
3247 (WebCore::RenderTextControlSingleLine::clientPaddingLeft):
3248 (WebCore::RenderTextControlSingleLine::clientPaddingRight):
3249 * rendering/RenderTheme.cpp:
3250 (WebCore::RenderTheme::hitTestMediaControlPart):
3251 (WebCore::RenderTheme::baselinePosition):
3252 * rendering/RenderThemeMac.mm:
3253 (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
3254 (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
3255 (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
3256 (WebCore::RenderThemeMac::hitTestMediaControlPart):
3257 * rendering/RenderTreeAsText.cpp:
3258 (WebCore::operator<<):
3259 * rendering/RenderVideo.cpp:
3260 (WebCore::RenderVideo::videoBox):
3261 * rendering/RenderView.cpp:
3262 (WebCore::RenderView::RenderView):
3263 (WebCore::RenderView::calcHeight):
3264 (WebCore::RenderView::calcWidth):
3265 (WebCore::RenderView::layout):
3266 (WebCore::RenderView::viewRect):
3267 (WebCore::RenderView::docHeight):
3268 (WebCore::RenderView::docWidth):
3269 (WebCore::RenderView::setBestTruncatedAt):
3270 * rendering/RenderView.h:
3271 * rendering/RenderWidget.cpp:
3272 (WebCore::RenderWidget::paint):
3273 (WebCore::RenderWidget::updateWidgetPosition):
3274 (WebCore::RenderWidget::nodeAtPoint):
3275 * rendering/RootInlineBox.h:
3276 (WebCore::RootInlineBox::floats):
3277 (WebCore::RootInlineBox::floatsPtr):
3278 * rendering/SVGInlineFlowBox.cpp:
3279 (WebCore::SVGInlineFlowBox::verticallyAlignBoxes):
3280 * rendering/SVGInlineFlowBox.h:
3281 * rendering/SVGRenderTreeAsText.cpp:
3282 (WebCore::operator<<):
3284 * rendering/SVGRootInlineBox.cpp:
3285 (WebCore::SVGRootInlineBox::verticallyAlignBoxes):
3286 (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation):
3287 (WebCore::SVGRootInlineBox::layoutInlineBoxes):
3288 * rendering/SVGRootInlineBox.h:
3289 * rendering/bidi.cpp:
3290 (WebCore::RenderBlock::computeHorizontalPositionsForLine):
3291 (WebCore::RenderBlock::computeVerticalPositionsForLine):
3292 (WebCore::RenderBlock::layoutInlineChildren):
3293 (WebCore::RenderBlock::determineStartPosition):
3294 (WebCore::RenderBlock::matchedEndLine):
3295 (WebCore::RenderBlock::skipTrailingWhitespace):
3296 (WebCore::RenderBlock::skipLeadingWhitespace):
3297 (WebCore::RenderBlock::fitBelowFloats):
3298 (WebCore::RenderBlock::findNextLineBreak):
3299 (WebCore::RenderBlock::checkLinesForOverflow):
3300 * svg/SVGLength.cpp:
3301 (WebCore::SVGLength::PercentageOfViewport):
3303 2009-01-21 Anders Carlsson <andersca@apple.com>
3305 Reviewed by Sam Weinig.
3308 Add some bridge related symbols.
3310 * WebCore.xcodeproj/project.pbxproj:
3311 Make runtime_object.h a private header.
3313 2009-01-20 David Levin <levin@chromium.org>
3315 Reviewed by Alexey Proskuryakov.
3317 Bug 22720: Make XMLHttpRequest work in Workers
3318 <https://bugs.webkit.org/show_bug.cgi?id=22720>
3320 More removal of document usage from XMLHttpRequest.
3321 * Abstracted away the sync and async requests behind the ThreadableLoader class, which
3322 will get an implementation for Workers. ThreadableLoader follows the same model as
3323 SubresourceLoader because DocumentThreadableLoader is a thin wrapper around SubresourceLoader.
3324 Also, WorkerThreadableLoader (coming soon) will use DocumentThreadableLoader to get things done.
3325 * Consolidated dashboard compatibility checks into usesDashboardBackwardCompatibilityMode
3326 which handles workers.
3328 No observable change in behavior, so no test.
3333 * WebCore.vcproj/WebCore.vcproj:
3334 * WebCore.xcodeproj/project.pbxproj:
3335 * WebCoreSources.bkl:
3336 * loader/DocumentThreadableLoader.cpp: Added.
3337 (WebCore::DocumentThreadableLoader::create):
3338 (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
3339 (WebCore::DocumentThreadableLoader::~DocumentThreadableLoader):
3340 (WebCore::DocumentThreadableLoader::cancel):
3341 (WebCore::DocumentThreadableLoader::willSendRequest):
3342 (WebCore::DocumentThreadableLoader::didSendData):
3343 (WebCore::DocumentThreadableLoader::didReceiveResponse):
3344 (WebCore::DocumentThreadableLoader::didReceiveData):
3345 (WebCore::DocumentThreadableLoader::didFinishLoading):
3346 (WebCore::DocumentThreadableLoader::didFail):
3347 (WebCore::DocumentThreadableLoader::receivedCancellation):
3348 * loader/DocumentThreadableLoader.h: Added.
3349 (WebCore::DocumentThreadableLoader::refThreadableLoader):
3350 (WebCore::DocumentThreadableLoader::derefThreadableLoader):
3351 * loader/SubresourceLoaderClient.h:
3352 (WebCore::SubresourceLoaderClient::didReceiveData):
3353 * loader/ThreadableLoader.cpp: Added.
3354 (WebCore::ThreadableLoader::create):
3355 (WebCore::ThreadableLoader::loadResourceSynchronously):
3356 * loader/ThreadableLoader.h: Added.
3358 (WebCore::ThreadableLoader::ref):
3359 (WebCore::ThreadableLoader::deref):
3360 (WebCore::ThreadableLoader::~ThreadableLoader):
3361 * loader/ThreadableLoaderClient.h: Added.
3362 (WebCore::ThreadableLoaderClient::didSendData):
3363 (WebCore::ThreadableLoaderClient::didReceiveResponse):
3364 (WebCore::ThreadableLoaderClient::didReceiveData):
3365 (WebCore::ThreadableLoaderClient::didFinishLoading):
3366 (WebCore::ThreadableLoaderClient::didFail):
3367 (WebCore::ThreadableLoaderClient::didGetCancelled):
3368 (WebCore::ThreadableLoaderClient::didReceiveAuthenticationCancellation):
3369 (WebCore::ThreadableLoaderClient::~ThreadableLoaderClient):
3370 * xml/XMLHttpRequest.cpp:
3371 (WebCore::XMLHttpRequest::XMLHttpRequest):
3372 (WebCore::XMLHttpRequest::usesDashboardBackwardCompatibilityMode):
3373 (WebCore::XMLHttpRequest::send):
3374 (WebCore::XMLHttpRequest::loadRequestSynchronously):
3375 (WebCore::XMLHttpRequest::loadRequestAsynchronously):
3376 (WebCore::XMLHttpRequest::setRequestHeader):
3377 (WebCore::XMLHttpRequest::processSyncLoadResults):
3378 (WebCore::XMLHttpRequest::didFail):
3379 (WebCore::XMLHttpRequest::didGetCancelled):
3380 (WebCore::XMLHttpRequest::didFinishLoading):
3381 (WebCore::XMLHttpRequest::didFinishLoadingPreflight):
3382 (WebCore::XMLHttpRequest::didSendData):
3383 (WebCore::XMLHttpRequest::didReceiveResponse):
3384 (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
3385 (WebCore::XMLHttpRequest::didReceiveAuthenticationCancellation):
3386 (WebCore::XMLHttpRequest::didReceiveData):
3387 * xml/XMLHttpRequest.h:
3389 2009-01-19 Chris Marrin <cmarrin@apple.com>
3391 Reviewed by David Hyatt.
3393 Fix for https://bugs.webkit.org/show_bug.cgi?id=23317
3395 The high CPU usage was really from repeatedly firing transitions caused
3396 by a bug in the way we handle background-color animations. If animating
3397 from a valid background color to no background color, we sometimes left
3398 (based on timing) the background color as transparent black, but valid
3399 rather than invalid, which it should be. Fixing that got rid of the
3402 But we really were doing more expensive iteration of all objects with
3403 animations or transitions on them (running or not). So I added two
3404 optimizations to quickly short circuit when an object had no running
3405 animations or transitions. Things are now as zippy as ever.
3407 Test: transitions/repeated-firing-background-color.html
3409 * page/animation/AnimationBase.cpp:
3410 (WebCore::blendFunc):
3411 * page/animation/AnimationController.cpp:
3412 (WebCore::AnimationControllerPrivate::updateAnimationTimer):
3413 * page/animation/CompositeAnimation.cpp:
3414 (WebCore::CompositeAnimationPrivate::hasAnimations):
3415 (WebCore::CompositeAnimationPrivate::clearRenderer):
3416 (WebCore::CompositeAnimationPrivate::animate):
3417 (WebCore::CompositeAnimationPrivate::setAnimating):
3418 (WebCore::CompositeAnimationPrivate::willNeedService):
3419 (WebCore::CompositeAnimationPrivate::getAnimationForProperty):
3420 (WebCore::CompositeAnimationPrivate::cleanupFinishedAnimations):
3421 (WebCore::CompositeAnimationPrivate::setAnimationStartTime):
3422 (WebCore::CompositeAnimationPrivate::setTransitionStartTime):
3423 (WebCore::CompositeAnimationPrivate::suspendAnimations):
3424 (WebCore::CompositeAnimationPrivate::resumeAnimations):
3425 (WebCore::CompositeAnimationPrivate::overrideImplicitAnimations):
3426 (WebCore::CompositeAnimationPrivate::resumeOverriddenImplicitAnimations):
3427 (WebCore::CompositeAnimationPrivate::styleAvailable):
3428 (WebCore::CompositeAnimationPrivate::isAnimatingProperty):
3429 (WebCore::CompositeAnimationPrivate::numberOfActiveAnimations):
3430 (WebCore::CompositeAnimation::hasAnimations):
3431 * page/animation/CompositeAnimation.h:
3433 2009-01-21 Eric Seidel <eric@webkit.org>
3435 Reviewed by Justin Garcia.
3437 Remove the style='' turds left by some editing commands
3438 https://bugs.webkit.org/show_bug.cgi?id=23463
3440 Test: editing/execCommand/toggle-styles.html
3442 * editing/ApplyStyleCommand.cpp:
3443 (WebCore::ApplyStyleCommand::removeCSSStyle): check if we just removed the last CSS property and remove the style attribute as well
3444 * editing/CompositeEditCommand.cpp:
3445 (WebCore::CompositeEditCommand::removeNodeAttribute): remove extra ;
3447 2009-01-21 Eric Seidel <eric@webkit.org>
3449 No review, build fix.
3451 Fix release-only build failure (and do a tiny code-cleanup).
3453 * editing/ApplyStyleCommand.cpp:
3454 (WebCore::createFontElement):
3455 (WebCore::createStyleSpanElement):
3456 (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
3458 2009-01-21 Chris Fleizach <cfleizach@apple.com>
3460 Reviewed by Beth Dakin.
3462 Bug 23443: Table accessibility should be re-enabled after fixing crash that occurs at WebCore::AccessibilityTable::isTableExposableThroughAccessibility()
3463 https://bugs.webkit.org/show_bug.cgi?id=23443
3465 Test: accessibility/table-modification-crash.html
3467 * page/AccessibilityObject.cpp:
3468 (WebCore::AccessibilityObject::updateBackingStore):
3469 * page/AccessibilityObject.h:
3470 * page/AccessibilityRenderObject.cpp:
3471 (WebCore::AccessibilityRenderObject::childrenChanged):
3472 (WebCore::AccessibilityRenderObject::children):
3473 (WebCore::AccessibilityRenderObject::updateBackingStore):
3474 * page/AccessibilityRenderObject.h:
3475 (WebCore::AccessibilityRenderObject::markChildrenDirty):
3476 * page/AccessibilityTable.cpp:
3477 (WebCore::AccessibilityTable::AccessibilityTable):
3478 * page/mac/AccessibilityObjectWrapper.mm:
3479 (-[AccessibilityObjectWrapper accessibilityActionNames]):
3480 (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
3481 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
3482 (-[AccessibilityObjectWrapper accessibilityFocusedUIElement]):
3483 (-[AccessibilityObjectWrapper accessibilityHitTest:]):
3484 (-[AccessibilityObjectWrapper accessibilityIsAttributeSettable:]):
3485 (-[AccessibilityObjectWrapper accessibilityIsIgnored]):
3486 (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
3487 (-[AccessibilityObjectWrapper accessibilityPerformPressAction]):
3488 (-[AccessibilityObjectWrapper accessibilityPerformAction:]):
3489 (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
3490 (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
3491 (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]):
3492 (-[AccessibilityObjectWrapper accessibilityArrayAttributeCount:]):
3493 (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
3494 * rendering/RenderObject.cpp:
3495 (WebCore::RenderObject::destroy):
3496 * rendering/RenderWidget.cpp:
3497 (WebCore::RenderWidget::destroy):
3499 2009-01-16 Eric Seidel <eric@webkit.org>
3501 Reviewed by Justin Garcia.
3503 Fix execCommand() 'super' and 'sub' commands to add <sup> and <sub> in quirks mode, and to toggle when called twice
3504 https://bugs.webkit.org/show_bug.cgi?id=17733
3506 Test changed: editing/execCommand/toggle-styles-expected.txt
3508 * editing/ApplyStyleCommand.cpp:
3509 (WebCore::StyleChange::applySubscript):
3510 (WebCore::StyleChange::applySuperscript):
3511 (WebCore::StyleChange::StyleChange):
3512 (WebCore::StyleChange::init):
3513 (WebCore::StyleChange::checkForLegacyHTMLStyleChange):
3514 (WebCore::ApplyStyleCommand::isHTMLStyleNode):
3515 (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
3516 * editing/EditorCommand.cpp:
3517 (WebCore::executeSubscript):
3518 (WebCore::executeSuperscript):
3519 * editing/htmlediting.cpp:
3520 (WebCore::createHTMLElement):
3521 * editing/htmlediting.h:
3523 2009-01-21 Anders Carlsson <andersca@apple.com>
3529 2009-01-21 Oliver Hunt <oliver@apple.com>
3531 Reviewed by Alexey Proskuryakov.
3533 Bug 23458: Reintroduce CanvasPixelArray in ImageData.idl
3534 <https://bugs.webkit.org/show_bug.cgi?id=23458>
3536 Return CanvasPixelArray, et al -- the only difference between this
3537 and the original CPA implementation is that it now uses a ByteArray
3538 rather than a vector. JSC still uses a custom wrapper, but this allows
3539 ObjC, COM, and V8 bindings to be autogenerated again.
3543 * WebCore.vcproj/WebCore.vcproj:
3544 * WebCore.xcodeproj/project.pbxproj:
3545 * WebCoreSources.bkl:
3546 * bindings/js/JSImageDataCustom.cpp: