1 2009-01-23 Holger Freyther <zecke@selfish.org>
5 Based on https://bugs.webkit.org/show_bug.cgi?id=23498
6 from craig.schlenter@gmail.com
8 * platform/gtk/RenderThemeGtk.cpp:
9 (WebCore::RenderThemeGtk::baselinePosition):
11 2009-01-23 David Levin <levin@chromium.org>
13 Reviewed by Alexey Proskuryakov.
15 Bug 22720: Make XMLHttpRequest work in Workers
16 <https://bugs.webkit.org/show_bug.cgi?id=22720>
18 Add copy/adopt for ResourceResponse(Base)/ResourceRequest(Base) to allow the
19 data to be passed across threads.
21 No observable change in behavior, so no test.
23 * platform/network/FormData.cpp:
24 (WebCore::FormData::deepCopy):
25 * platform/network/FormData.h:
26 * platform/network/HTTPHeaderMap.cpp:
27 (WebCore::HTTPHeaderMap::copyData):
28 (WebCore::HTTPHeaderMap::adopt):
29 * platform/network/HTTPHeaderMap.h:
30 * platform/network/ResourceRequestBase.cpp:
31 (WebCore::ResourceRequestBase::adopt):
32 (WebCore::ResourceRequestBase::copyData):
33 * platform/network/ResourceRequestBase.h:
34 * platform/network/ResourceResponseBase.cpp:
35 (WebCore::ResourceResponseBase::adopt):
36 (WebCore::ResourceResponseBase::copyData):
37 * platform/network/ResourceResponseBase.h:
39 2009-01-23 Dmitry Titov <dimich@chromium.org>
41 Reviewed by Alexey Proskuryakov.
43 https://bugs.webkit.org/show_bug.cgi?id=23374
44 Add WorkerRunLoop to encapsulate message queue and timer heap.
45 This is first half (timer heap is added as separate patch).
47 * GNUmakefile.am: Added WorkerRunLoop.cpp to the build.
48 * WebCore.vcproj/WebCore.vcproj: Same as above.
49 * WebCore.xcodeproj/project.pbxproj: Same as above
50 * dom/WorkerContext.cpp:
51 (WebCore::WorkerContext::postTask):
52 * dom/WorkerContext.h:
53 * dom/WorkerMessagingProxy.cpp:
54 (WebCore::WorkerMessagingProxy::postMessageToWorkerContext):
55 (WebCore::WorkerMessagingProxy::workerThreadCreated):
56 * dom/WorkerRunLoop.cpp: Added.
57 (WebCore::WorkerRunLoop::run): Runs the loop until terminate() is called.
58 (WebCore::WorkerRunLoop::terminate): Causes the loop to exit.
59 (WebCore::WorkerRunLoop::postTask): Adds a task to the internal queue.
60 * dom/WorkerRunLoop.h: Added.
61 (WebCore::WorkerRunLoop::WorkerRunLoop):
62 * dom/WorkerThread.cpp:
63 (WebCore::WorkerThread::workerThread):
64 (WebCore::WorkerThread::stop):
66 (WebCore::WorkerThread::runLoop):
68 2009-01-23 Adam Treat <adam.treat@torchmobile.com>
70 Reviewed by Holger Hans Peter Freyther.
72 Redo previous patch http://trac.webkit.org/changeset/34260 which fixes a
73 huge memory leak by ensuring that the timer is fired one last time on
74 application tear down thus triggering the GCController thereby freeing
75 JavaScript objects as well as triggering other timer based tear down methods.
77 * platform/qt/SharedTimerQt.cpp:
78 (WebCore::SharedTimerQt::~SharedTimerQt):
80 2009-01-23 Alexey Proskuryakov <ap@webkit.org>
82 Reviewed by Oliver Hunt.
84 https://bugs.webkit.org/show_bug.cgi?id=23459
85 Workers are not properly terminated if execution hasn't begun yet
87 Doesn't affect observable behavior, so test case is not possible.
89 * dom/WorkerThread.cpp: (WebCore::WorkerThread::workerThread): Call forbidExecution() if
90 it couldn't be called earlier.
92 2009-01-23 Ariya Hidayat <ariya.hidayat@trolltech.com>
94 [Qt] Fix the build after RenderBox refactoring in r40153.
96 * platform/qt/RenderThemeQt.cpp:
97 (WebCore::RenderThemeQt::baselinePosition):
99 2009-01-23 Ariya Hidayat <ariya.hidayat@trolltech.com>
101 Rubber-stamped by Alexey Proskuryakov.
103 Fix the build after RenderBox refactoring in r40153.
105 * plugins/PluginView.cpp:
106 (WebCore::PluginView::invalidateWindowlessPluginRect):
108 2009-01-23 Ariya Hidayat <ariya.hidayat@trolltech.com>
110 Reviewed by Simon Hausmann.
112 [Qt] Simplify the assertion.
114 * platform/graphics/qt/GraphicsContextQt.cpp:
115 (WebCore::GraphicsContext::getWindowsContext):
116 (WebCore::GraphicsContext::releaseWindowsContext):
118 2009-01-22 David Hyatt <hyatt@apple.com>
120 Move the border and padding methods from RenderObject to RenderBox.
122 Reviewed by Oliver Hunt
124 * css/CSSComputedStyleDeclaration.cpp:
125 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
126 * editing/DeleteButtonController.cpp:
127 (WebCore::DeleteButtonController::createDeletionUI):
128 * page/EventHandler.cpp:
129 (WebCore::EventHandler::hitTestResultAtPoint):
130 * rendering/InlineFlowBox.cpp:
131 (WebCore::InlineFlowBox::placeBoxesVertically):
132 * rendering/InlineFlowBox.h:
133 (WebCore::InlineFlowBox::borderLeft):
134 (WebCore::InlineFlowBox::borderRight):
135 (WebCore::InlineFlowBox::paddingLeft):
136 (WebCore::InlineFlowBox::paddingRight):
137 * rendering/RenderBlock.cpp:
138 (WebCore::RenderBlock::clearFloats):
139 * rendering/RenderBox.cpp:
140 (WebCore::RenderBox::paddingTop):
141 (WebCore::RenderBox::paddingBottom):
142 (WebCore::RenderBox::paddingLeft):
143 (WebCore::RenderBox::paddingRight):
144 (WebCore::RenderBox::calcHeight):
145 (WebCore::RenderBox::containingBlockWidthForPositioned):
146 (WebCore::RenderBox::containingBlockHeightForPositioned):
147 (WebCore::RenderBox::calcAbsoluteHorizontal):
148 (WebCore::RenderBox::calcAbsoluteHorizontalValues):
149 (WebCore::RenderBox::calcAbsoluteVertical):
150 (WebCore::RenderBox::calcAbsoluteVerticalValues):
151 (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
152 (WebCore::RenderBox::calcAbsoluteVerticalReplaced):
153 * rendering/RenderBox.h:
154 (WebCore::RenderBox::borderTop):
155 (WebCore::RenderBox::borderBottom):
156 (WebCore::RenderBox::borderLeft):
157 (WebCore::RenderBox::borderRight):
158 * rendering/RenderObject.cpp:
159 (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
160 * rendering/RenderObject.h:
161 * rendering/RenderTextControl.cpp:
162 (WebCore::RenderTextControl::textBlockWidth):
163 (WebCore::RenderTextControl::calcHeight):
164 (WebCore::RenderTextControl::calcPrefWidths):
165 * rendering/RenderTextControlSingleLine.cpp:
166 (WebCore::RenderTextControlSingleLine::preferredContentWidth):
167 * rendering/RenderTreeAsText.cpp:
168 (WebCore::operator<<):
169 * rendering/RenderView.cpp:
170 (WebCore::RenderView::repaintViewRectangle):
172 2009-01-22 David Hyatt <hyatt@apple.com>
174 Devirtualize the marginTop/Right/Left/Bottom functions and move them to RenderBox (along with some of the
175 other margin functions that have to come along for the ride).
177 Reviewed by Oliver Hunt
179 * css/CSSComputedStyleDeclaration.cpp:
180 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
181 * editing/TextIterator.cpp:
182 (WebCore::shouldEmitExtraNewlineForNode):
183 * rendering/InlineBox.cpp:
184 * rendering/InlineBox.h:
185 (WebCore::InlineBox::renderBox):
186 * rendering/InlineFlowBox.cpp:
187 (WebCore::InlineFlowBox::marginLeft):
188 (WebCore::InlineFlowBox::marginRight):
189 (WebCore::InlineFlowBox::placeBoxesHorizontally):
190 (WebCore::InlineFlowBox::computeLogicalBoxHeights):
191 (WebCore::InlineFlowBox::placeBoxesVertically):
192 (WebCore::InlineFlowBox::shrinkBoxesWithNoTextChildren):
193 * rendering/RenderBlock.cpp:
194 (WebCore::RenderBlock::isSelfCollapsingBlock):
195 (WebCore::RenderBlock::adjustPositionedBlock):
196 (WebCore::RenderBlock::handleCompactChild):
197 (WebCore::RenderBlock::estimateVerticalPosition):
198 (WebCore::getBorderPaddingMargin):
199 (WebCore::RenderBlock::calcInlinePrefWidths):
200 * rendering/RenderBlock.h:
201 * rendering/RenderBox.cpp:
202 (WebCore::RenderBox::calcHeight):
203 * rendering/RenderBox.h:
204 (WebCore::RenderBox::hasHorizontalBordersPaddingOrMargin):
205 (WebCore::RenderBox::hasHorizontalBordersOrPadding):
206 (WebCore::RenderBox::marginTop):
207 (WebCore::RenderBox::marginBottom):
208 (WebCore::RenderBox::marginLeft):
209 (WebCore::RenderBox::marginRight):
210 (WebCore::RenderBox::isSelfCollapsingBlock):
211 (WebCore::RenderBox::collapsedMarginTop):
212 (WebCore::RenderBox::collapsedMarginBottom):
213 (WebCore::RenderBox::isTopMarginQuirk):
214 (WebCore::RenderBox::isBottomMarginQuirk):
215 (WebCore::RenderBox::maxTopMargin):
216 (WebCore::RenderBox::maxBottomMargin):
217 * rendering/RenderObject.cpp:
218 (WebCore::RenderObject::getAbsoluteRepaintRectWithOutline):
219 * rendering/RenderObject.h:
220 * rendering/RenderSVGContainer.cpp:
221 (WebCore::RenderSVGContainer::lineHeight):
222 (WebCore::RenderSVGContainer::baselinePosition):
223 * rendering/RenderTextControl.cpp:
224 (WebCore::RenderTextControl::calcHeight):
225 * rendering/RenderTheme.cpp:
226 (WebCore::RenderTheme::baselinePosition):
227 * rendering/bidi.cpp:
228 (WebCore::getBorderPaddingMargin):
229 (WebCore::inlineWidth):
230 (WebCore::RenderBlock::computeHorizontalPositionsForLine):
231 (WebCore::inlineFlowRequiresLineBox):
232 (WebCore::requiresLineBox):
233 (WebCore::RenderBlock::findNextLineBreak):
235 2009-01-22 Mark Rowe <mrowe@apple.com>
237 Rubber-stamped by Anders Carlsson.
239 Disable GCC_WARN_ABOUT_MISSING_PROTOTYPES temporarily.
241 Current versions of Xcode only respect it for C and Objective-C files,
242 and our code doesn't currently compile if it is applied to C++ and
245 * Configurations/Base.xcconfig:
247 2009-01-22 David Hyatt <hyatt@apple.com>
249 Move the m_widthChanged bit on RenderTableCell into RenderFlow's set of bits. Let intrinsicPaddingTop and
250 intrinsicPaddingBottom just be normal non-bitfield values.
252 Reviewed by Oliver Hunt
254 * rendering/RenderFlow.h:
255 (WebCore::RenderFlow::RenderFlow):
256 * rendering/RenderTableCell.cpp:
257 (WebCore::RenderTableCell::RenderTableCell):
258 (WebCore::RenderTableCell::updateWidth):
259 (WebCore::RenderTableCell::layout):
260 * rendering/RenderTableCell.h:
262 2009-01-22 David Hyatt <hyatt@apple.com>
264 Properly encapsulate m_frameRect.y() behind the RenderBox::y() method now that they are the same thing.
265 Make m_frameRect private.
267 Reviewed by Oliver Hunt
269 * rendering/RenderBlock.cpp:
270 (WebCore::RenderBlock::paint):
271 (WebCore::RenderBlock::clearFloats):
272 * rendering/RenderBox.cpp:
273 (WebCore::RenderBox::offsetTop):
274 (WebCore::RenderBox::nodeAtPoint):
275 (WebCore::RenderBox::paint):
276 (WebCore::RenderBox::paintCustomHighlight):
277 (WebCore::RenderBox::containingBlockWidth):
278 (WebCore::RenderBox::localToAbsolute):
279 (WebCore::RenderBox::offsetFromContainer):
280 (WebCore::RenderBox::computeAbsoluteRepaintRect):
281 (WebCore::RenderBox::repaintDuringLayoutIfMoved):
282 * rendering/RenderContainer.cpp:
283 (WebCore::RenderContainer::layout):
284 * rendering/RenderFlexibleBox.cpp:
285 (WebCore::RenderFlexibleBox::layoutBlock):
286 * rendering/RenderFrameSet.cpp:
287 (WebCore::RenderFrameSet::paint):
288 * rendering/RenderImage.cpp:
289 (WebCore::RenderImage::paintReplaced):
290 (WebCore::RenderImage::nodeAtPoint):
291 * rendering/RenderListMarker.cpp:
292 (WebCore::RenderListMarker::paint):
293 (WebCore::RenderListMarker::getRelativeMarkerRect):
294 * rendering/RenderReplaced.cpp:
295 (WebCore::RenderReplaced::paint):
296 (WebCore::RenderReplaced::shouldPaint):
297 * rendering/RenderReplica.cpp:
298 (WebCore::RenderReplica::paint):
299 * rendering/RenderSVGRoot.cpp:
300 (WebCore::RenderSVGRoot::applyContentTransforms):
301 (WebCore::RenderSVGRoot::paint):
302 (WebCore::RenderSVGRoot::absoluteTransform):
303 (WebCore::RenderSVGRoot::nodeAtPoint):
304 * rendering/RenderTable.cpp:
305 (WebCore::RenderTable::calcWidth):
306 (WebCore::RenderTable::layout):
307 * rendering/RenderTableCell.cpp:
308 (WebCore::RenderTableCell::paint):
309 (WebCore::RenderTableCell::paintBackgroundsBehindCell):
310 * rendering/RenderTableSection.cpp:
311 (WebCore::RenderTableSection::setCellWidths):
312 (WebCore::RenderTableSection::calcRowHeight):
313 (WebCore::RenderTableSection::layoutRows):
314 (WebCore::RenderTableSection::paint):
315 (WebCore::RenderTableSection::nodeAtPoint):
316 * rendering/RenderWidget.cpp:
317 (WebCore::RenderWidget::paint):
319 2009-01-22 David Hyatt <hyatt@apple.com>
321 Fix for https://bugs.webkit.org/show_bug.cgi?id=23487.
323 This patch completely reworks vertical alignment of table cells. The current system uses methods called borderTopExtra() and borderBottomExtra() to
324 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.
325 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()
326 also excluded the extra space, so did not accurately reflect the true size of the cell.
328 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
329 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.
331 localToAbsoluteForContent has now been removed, since there no longer has to be a special hacked content box.
333 A number of table layout tests progress with this change, since the new layout system actually fixes existing bugs in baseline alignment of cells.
335 Reviewed by Oliver Hunt
337 * css/CSSComputedStyleDeclaration.cpp:
338 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
339 Make CSSComputedStyleDeclaration ask for padding values that exclude the built-in intrinsic padding. This ensures that getComputedStyle continues
340 to give the right answer.
342 * dom/ContainerNode.cpp:
343 (WebCore::ContainerNode::getLowerRightCorner):
344 * editing/visible_units.cpp:
345 (WebCore::previousLinePosition):
346 (WebCore::nextLinePosition):
347 * rendering/LayoutState.cpp:
348 (WebCore::LayoutState::LayoutState):
349 Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls.
351 * rendering/RenderBlock.cpp:
352 (WebCore::RenderBlock::overflowRect):
353 Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls.
355 (WebCore::RenderBlock::layoutBlock):
356 (WebCore::RenderBlock::expandsToEncloseOverhangingFloats):
357 The expandsToEncloseOverhangingFloats logic has been reworked. Table cells and fieldsets did not properly handle floats that spilled into the bottom padding. The
358 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
359 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
362 (WebCore::RenderBlock::selectionGapRects):
363 (WebCore::RenderBlock::paintSelection):
364 (WebCore::RenderBlock::fillSelectionGaps):
365 (WebCore::RenderBlock::nodeAtPoint):
366 (WebCore::RenderBlock::positionForCoordinates):
367 (WebCore::RenderBlock::offsetForContents):
368 Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls.
370 * rendering/RenderBlock.h:
371 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).
373 * rendering/RenderBox.cpp:
374 (WebCore::RenderBox::absoluteRects):
375 (WebCore::RenderBox::absoluteQuads):
376 (WebCore::RenderBox::absoluteContentBox):
377 (WebCore::RenderBox::paintBoxDecorations):
378 (WebCore::RenderBox::paintMask):
379 (WebCore::RenderBox::getOverflowClipRect):
380 (WebCore::RenderBox::localToAbsolute):
381 (WebCore::RenderBox::absoluteToLocal):
382 (WebCore::RenderBox::localToAbsoluteQuad):
383 Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls.
385 * rendering/RenderBox.h:
386 (WebCore::RenderBox::y):
387 (WebCore::RenderBox::location):
388 (WebCore::RenderBox::borderBoxRect):
389 (WebCore::RenderBox::offsetHeight):
390 Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls.
392 * rendering/RenderContainer.cpp:
393 (WebCore::RenderContainer::addLineBoxRects):
394 * rendering/RenderFieldset.cpp:
395 (WebCore::RenderFieldset::paintBoxDecorations):
396 (WebCore::RenderFieldset::paintMask):
397 * rendering/RenderFieldset.h:
398 (WebCore::RenderFieldset::avoidsFloats):
399 * rendering/RenderFlow.cpp:
400 (WebCore::RenderFlow::localCaretRect):
401 * rendering/RenderLayer.cpp:
402 (WebCore::RenderLayer::updateLayerPosition):
403 (WebCore::RenderLayer::paintLayer):
404 (WebCore::RenderLayer::hitTestLayer):
405 (WebCore::RenderLayer::boundingBox):
406 * rendering/RenderListBox.cpp:
407 (WebCore::RenderListBox::isPointInOverflowControl):
408 * rendering/RenderObject.cpp:
409 (WebCore::RenderObject::localToAbsolute):
410 (WebCore::RenderObject::absoluteToLocal):
411 (WebCore::RenderObject::localToAbsoluteQuad):
412 (WebCore::RenderObject::offsetFromContainer):
413 (WebCore::RenderObject::paddingTop):
414 (WebCore::RenderObject::paddingBottom):
415 (WebCore::RenderObject::paddingLeft):
416 (WebCore::RenderObject::paddingRight):
417 * rendering/RenderObject.h:
418 (WebCore::RenderObject::hasOverhangingFloats):
419 * rendering/RenderReplaced.cpp:
420 (WebCore::RenderReplaced::selectionRect):
421 (WebCore::RenderReplaced::localSelectionRect):
422 Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls. Also modifed paddingLeft/Top/Right/Bottom to take an argument indicating
423 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
426 * rendering/RenderTableCell.cpp:
427 (WebCore::RenderTableCell::RenderTableCell):
428 (WebCore::RenderTableCell::paddingTop):
429 (WebCore::RenderTableCell::paddingBottom):
430 The new paddingTop() and paddingBottom() methods on table cells include the extra intrinsic padding.
432 (WebCore::RenderTableCell::setOverrideSize):
433 When a table's override size gets altered, the intrinsic padding needs to be cleared.
435 (WebCore::RenderTableCell::absoluteClippedOverflowRect):
436 (WebCore::RenderTableCell::computeAbsoluteRepaintRect):
437 (WebCore::RenderTableCell::baselinePosition):
438 (WebCore::RenderTableCell::paint):
439 (WebCore::RenderTableCell::paintBackgroundsBehindCell):
440 (WebCore::RenderTableCell::paintBoxDecorations):
441 (WebCore::RenderTableCell::paintMask):
442 Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls.
444 * rendering/RenderTableCell.h:
445 (WebCore::RenderTableCell::setIntrinsicPaddingTop):
446 (WebCore::RenderTableCell::setIntrinsicPaddingBottom):
447 (WebCore::RenderTableCell::setIntrinsicPadding):
448 (WebCore::RenderTableCell::clearIntrinsicPadding):
449 (WebCore::RenderTableCell::intrinsicPaddingTop):
450 (WebCore::RenderTableCell::intrinsicPaddingBottom):
451 Add new helper methods for getting/setting a cell's intrinsic padding.
453 * rendering/RenderTableSection.cpp:
454 (WebCore::RenderTableSection::calcRowHeight):
455 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
456 extra space, it has to be subtracted out in this method.
458 (WebCore::RenderTableSection::layoutRows):
459 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
460 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
461 a baseline. A number of tests progress with this change.
463 * rendering/RenderText.cpp:
464 (WebCore::RenderText::addLineBoxRects):
465 Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls.
467 * rendering/RenderTreeAsText.cpp:
468 (WebCore::operator<<):
469 (WebCore::writeTextRun):
470 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
471 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
472 layout test results can all be regenerated.
474 2009-01-22 Eric Seidel <eric@webkit.org>
476 Reviewed by Justin Garcia.
478 Remove <span> turds left by editing commands
479 https://bugs.webkit.org/show_bug.cgi?id=23466
482 * editing/execCommand/empty-span-removal.html
483 * editing/execCommand/toggle-styles.html
485 * editing/ApplyStyleCommand.cpp:
486 (WebCore::styleSpanClassString):
487 (WebCore::isStyleSpan):
488 (WebCore::isUnstyledStyleSpan):
489 (WebCore::isSpanWithoutAttributesOrUnstyleStyleSpan):
490 (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
491 (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
492 (WebCore::ApplyStyleCommand::removeHTMLBidiEmbeddingStyle):
493 (WebCore::ApplyStyleCommand::removeCSSStyle):
495 2009-01-22 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
497 Reviewed by Eric Seidel.
499 Rename some of the casting functions in dom/*Element.cpp:
500 formControlElementForElement -> toFormControlElement
501 inputElementForElement -> toInputElement
502 optionElementForElement -> toOptionElement
503 optionGroupElementForElement -> toOptionGroupElement
505 Suggested by Alexey, while refactoring the Element*->ScriptElement* code.
506 The Element*->ScriptElement* helper function is already named 'toScriptElement'.
508 * dom/FormControlElement.cpp:
509 (WebCore::toFormControlElement):
510 * dom/FormControlElement.h:
511 * dom/InputElement.cpp:
512 (WebCore::InputElement::setValueFromRenderer):
513 (WebCore::toInputElement):
514 * dom/InputElement.h:
515 * dom/OptionElement.cpp:
516 (WebCore::OptionElement::collectOptionTextRespectingGroupLabel):
517 (WebCore::toOptionElement):
518 * dom/OptionElement.h:
519 * dom/OptionGroupElement.cpp:
520 (WebCore::toOptionGroupElement):
521 * dom/OptionGroupElement.h:
522 * rendering/RenderListBox.cpp:
523 (WebCore::RenderListBox::updateFromElement):
524 (WebCore::RenderListBox::paintItemForeground):
525 (WebCore::RenderListBox::paintItemBackground):
526 * rendering/RenderMenuList.cpp:
527 (WebCore::RenderMenuList::updateOptionsWidth):
528 (WebCore::RenderMenuList::setTextFromOption):
529 (WebCore::RenderMenuList::itemText):
530 (WebCore::RenderMenuList::itemIsSelected):
531 * rendering/RenderTextControl.cpp:
532 (WebCore::RenderTextControl::formControlElement):
533 * rendering/RenderTextControlSingleLine.cpp:
534 (WebCore::RenderTextControlSingleLine::inputElement):
536 2009-01-22 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
538 Rubber-stamped by George Staikos.
540 Forgot to include in my last commit: Activate code depending on WMLOptionElement/WMLOptGroupElement.
542 * dom/OptionElement.cpp:
543 (WebCore::optionElementForElement):
544 * dom/OptionGroupElement.cpp:
545 (WebCore::optionGroupElementForElement):
547 2009-01-22 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
549 Reviewed by George Staikos.
551 Fixes: https://bugs.webkit.org/show_bug.cgi?id=23454
553 Add WML <option>/<optgroup> element support.
554 Currently the implementation is stubbed, all relevant parts can be enabled
555 once WMLSelectElement/SelectElement has been created.
559 * WebCore.vcproj/WebCore.vcproj:
560 * WebCore.xcodeproj/project.pbxproj:
561 * wml/WMLOptGroupElement.cpp: Added.
562 (WebCore::WMLOptGroupElement::WMLOptGroupElement):
563 (WebCore::WMLOptGroupElement::~WMLOptGroupElement):
564 (WebCore::WMLOptGroupElement::insertBefore):
565 (WebCore::WMLOptGroupElement::replaceChild):
566 (WebCore::WMLOptGroupElement::removeChild):
567 (WebCore::WMLOptGroupElement::appendChild):
568 (WebCore::WMLOptGroupElement::removeChildren):
569 (WebCore::ownerSelectElement):
570 (WebCore::WMLOptGroupElement::accessKeyAction):
571 (WebCore::WMLOptGroupElement::childrenChanged):
572 (WebCore::WMLOptGroupElement::parseMappedAttribute):
573 (WebCore::WMLOptGroupElement::attach):
574 (WebCore::WMLOptGroupElement::detach):
575 (WebCore::WMLOptGroupElement::setRenderStyle):
576 (WebCore::WMLOptGroupElement::nonRendererRenderStyle):
577 (WebCore::WMLOptGroupElement::groupLabelText):
578 (WebCore::WMLOptGroupElement::recalcSelectOptions):
579 * wml/WMLOptGroupElement.h: Added.
580 (WebCore::WMLOptGroupElement::title):
581 (WebCore::WMLOptGroupElement::valueMatchesRenderer):
582 (WebCore::WMLOptGroupElement::setValueMatchesRenderer):
583 (WebCore::WMLOptGroupElement::rendererIsNeeded):
584 * wml/WMLOptionElement.cpp: Added.
585 (WebCore::WMLOptionElement::WMLOptionElement):
586 (WebCore::WMLOptionElement::~WMLOptionElement):
587 (WebCore::ownerSelectElement):
588 (WebCore::WMLOptionElement::accessKeyAction):
589 (WebCore::WMLOptionElement::childrenChanged):
590 (WebCore::WMLOptionElement::parseMappedAttribute):
591 (WebCore::WMLOptionElement::attach):
592 (WebCore::WMLOptionElement::detach):
593 (WebCore::WMLOptionElement::setRenderStyle):
594 (WebCore::WMLOptionElement::insertedIntoDocument):
595 (WebCore::WMLOptionElement::selected):
596 (WebCore::WMLOptionElement::setSelectedState):
597 (WebCore::WMLOptionElement::value):
598 (WebCore::WMLOptionElement::textIndentedToRespectGroupLabel):
599 (WebCore::WMLOptionElement::nonRendererRenderStyle):
600 (WebCore::WMLOptionElement::handleIntrinsicEventIfNeeded):
601 * wml/WMLOptionElement.h: Added.
602 (WebCore::WMLOptionElement::valueMatchesRenderer):
603 (WebCore::WMLOptionElement::setValueMatchesRenderer):
604 (WebCore::WMLOptionElement::rendererIsNeeded):
605 * wml/WMLTagNames.in:
607 2009-01-22 Eric Roman <eroman@chromium.org>
609 Reviewed by Eric Seidel.
611 https://bugs.webkit.org/show_bug.cgi?id=20806
612 Send referrer for history navigations.
614 Test: http/tests/navigation/back-send-referrer.html
616 Consolidates HistoryItem::rssFeedReferrer and HistoryItem::formReferrer into a single HistoryItem::referrer property.
618 * history/HistoryItem.cpp:
619 (WebCore::HistoryItem::HistoryItem):
620 (WebCore::HistoryItem::referrer):
621 (WebCore::HistoryItem::setReferrer):
622 (WebCore::HistoryItem::formReferrer):
623 (WebCore::HistoryItem::rssFeedReferrer):
624 (WebCore::HistoryItem::setRSSFeedReferrer):
625 (WebCore::HistoryItem::setFormInfoFromRequest):
626 * history/HistoryItem.h:
627 * loader/FrameLoader.cpp:
628 (WebCore::FrameLoader::loadItem):
630 2009-01-22 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
632 Reviewed by Eric Seidel.
634 Fixes: https://bugs.webkit.org/show_bug.cgi?id=23465
636 Further enhancments to share code between HTMLOptionElement and the upcoming WMLOptionElement.
638 Rename optionText() to textIndentedToRespectGroupLabel() in (HTML)OptionElement, as it fits better.
639 optionText() returns the options text prefixed with some spaces, in case it got an optgroup parent.
641 Add two more pure-virtual functions to OptionElement: setSelectedState(bool) & value().
642 These aren't used outside of html/ at the moment (unlike the other pure-virtual functions
643 used by RenderMenuList/RenderListBox) - but they will be used by SelectElement, once it exists.
645 * dom/OptionElement.cpp:
646 (WebCore::OptionElement::setSelectedState):
647 (WebCore::OptionElement::collectOptionText):
648 (WebCore::OptionElement::collectOptionTextRespectingGroupLabel):
649 (WebCore::OptionElement::collectOptionValue):
650 (WebCore::OptionElementData::OptionElementData):
651 (WebCore::OptionElementData::~OptionElementData):
652 * dom/OptionElement.h:
653 (WebCore::OptionElementData::element):
654 (WebCore::OptionElementData::value):
655 (WebCore::OptionElementData::setValue):
656 (WebCore::OptionElementData::label):
657 (WebCore::OptionElementData::setLabel):
658 (WebCore::OptionElementData::selected):
659 (WebCore::OptionElementData::setSelected):
660 * html/HTMLOptionElement.cpp:
661 (WebCore::HTMLOptionElement::HTMLOptionElement):
662 (WebCore::HTMLOptionElement::text):
663 (WebCore::HTMLOptionElement::parseMappedAttribute):
664 (WebCore::HTMLOptionElement::value):
665 (WebCore::HTMLOptionElement::selected):
666 (WebCore::HTMLOptionElement::setSelected):
667 (WebCore::HTMLOptionElement::setSelectedState):
668 (WebCore::HTMLOptionElement::label):
669 (WebCore::HTMLOptionElement::textIndentedToRespectGroupLabel):
670 * html/HTMLOptionElement.h:
671 * html/HTMLSelectElement.cpp:
672 (WebCore::HTMLSelectElement::typeAheadFind):
673 * rendering/RenderListBox.cpp:
674 (WebCore::RenderListBox::updateFromElement):
675 (WebCore::RenderListBox::paintItemForeground):
676 * rendering/RenderMenuList.cpp:
677 (WebCore::RenderMenuList::updateOptionsWidth):
678 (WebCore::RenderMenuList::setTextFromOption):
679 (WebCore::RenderMenuList::itemText):
681 2009-01-22 Chris Fleizach <cfleizach@apple.com>
683 Reviewed by Justin Garcia.
685 Bug 23464: Infinite recursion at SelectionController::setSelection
686 https://bugs.webkit.org/show_bug.cgi?id=23464
688 Check for conditions leading to infinite recursion.
690 * editing/SelectionController.cpp:
691 (WebCore::SelectionController::setSelection):
693 2009-01-22 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
695 Not reviewed. Fix WML build problem in RenderBox.cpp, WMLNames is undefined.
697 * rendering/RenderBox.cpp:
699 2009-01-22 Adam Treat <adam.treat@torchmobile.com>
701 Fix the Qt build after RenderBox changes.
703 * platform/qt/RenderThemeQt.cpp:
704 (WebCore::RenderThemeQt::baselinePosition):
706 2009-01-22 David Hyatt <hyatt@apple.com>
708 Fix regressions in list box selection on Mac. The wrong color was being used for the list box
709 background, and list box colors actually weren't even being properly fetched because of a bug in
710 the RenderTheme base class. Existing pixel tests cover the bug fix.
712 Reviewed by Jon Honeycutt
714 * rendering/RenderTheme.cpp:
715 (WebCore::RenderTheme::activeListBoxSelectionBackgroundColor):
716 (WebCore::RenderTheme::inactiveListBoxSelectionBackgroundColor):
717 (WebCore::RenderTheme::activeListBoxSelectionForegroundColor):
718 (WebCore::RenderTheme::inactiveListBoxSelectionForegroundColor):
719 * rendering/RenderThemeMac.mm:
720 (WebCore::RenderThemeMac::platformInactiveListBoxSelectionBackgroundColor):
722 2009-01-22 David Levin <levin@chromium.org>
724 Reviewed by Alexey Proskuryakov.
726 Bug 22720: Make XMLHttpRequest work in Workers
727 <https://bugs.webkit.org/show_bug.cgi?id=22720>
729 Add copy/adopt for HTTPHeaderMap to allow the data to be passed across threads.
731 No observable change in behavior, so no test.
736 * WebCore.vcproj/WebCore.vcproj:
737 * WebCore.xcodeproj/project.pbxproj:
738 * WebCoreSources.bkl:
739 * platform/network/HTTPHeaderMap.cpp: Added.
740 (WebCore::HTTPHeaderMap::copyData):
741 (WebCore::HTTPHeaderMap::adopt):
742 * platform/network/HTTPHeaderMap.h:
744 2009-01-21 David Hyatt <hyatt@apple.com>
746 Back out a portion of my patch that I did not mean to land. Revert paintOutline back to the way it
747 was before my landing. Fixes failing SVG focus ring tests.
749 * rendering/RenderObject.cpp:
750 (WebCore::RenderObject::paintOutline):
751 * rendering/RenderObject.h:
752 * rendering/RenderPath.cpp:
753 (WebCore::RenderPath::paint):
754 * rendering/RenderSVGContainer.cpp:
755 (WebCore::RenderSVGContainer::paint):
757 2009-01-21 David Hyatt <hyatt@apple.com>
759 Fix Node's renderBox() method on Windows.
762 (WebCore::Node::renderBox):
764 2009-01-21 David Hyatt <hyatt@apple.com>
766 Fix RenderThemeSafari bustage on Win32.
768 * rendering/RenderThemeSafari.cpp:
769 (WebCore::RenderThemeSafari::baselinePosition):
771 2009-01-21 David Hyatt <hyatt@apple.com>
773 Fix bustage in RenderThemeWin. It's actually terrible that RenderThemeWin is using absoluteContentBox,
774 but that's a problem for another day.
776 * rendering/RenderThemeWin.cpp:
777 (WebCore::RenderThemeWin::paintSearchFieldCancelButton):
778 (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):
779 (WebCore::RenderThemeWin::paintSearchFieldResultsButton):
781 2009-01-21 Oliver Hunt <oliver@apple.com>
783 Reviewed by Dave Hyatt.
785 Bug 23470: Crash when page load occurs while processing scroll event with MallocScribble enabled
786 <https://bugs.webkit.org/show_bug.cgi?id=23470>
788 Add a RefPtr protector to handleWheelEvent to guard against destruction
789 while processing the scroll event. Alas the absurd set of circumstances
790 required to trigger this do not appear to be reproducible in DRT.
792 * page/EventHandler.cpp:
793 (WebCore::EventHandler::handleWheelEvent):
795 2009-01-21 David Hyatt <hyatt@apple.com>
797 Fix for https://bugs.webkit.org/show_bug.cgi?id=23453
799 Devirtualize the width/height/x/y methods of the render tree. The methods are now non-virtual on RenderBox.
800 Many functions that were previously in RenderObject.cpp are now in RenderBox.cpp.
802 Reviewed by Eric Seidel and Darin Adler
805 * css/CSSComputedStyleDeclaration.cpp:
806 (WebCore::sizingBox):
807 * dom/ContainerNode.cpp:
808 (WebCore::ContainerNode::getUpperLeftCorner):
809 (WebCore::ContainerNode::getLowerRightCorner):
811 (WebCore::Element::offsetLeft):
812 (WebCore::Element::offsetTop):
813 (WebCore::Element::offsetWidth):
814 (WebCore::Element::offsetHeight):
815 (WebCore::Element::offsetParent):
816 (WebCore::Element::clientLeft):
817 (WebCore::Element::clientTop):
818 (WebCore::Element::clientWidth):
819 (WebCore::Element::clientHeight):
820 (WebCore::Element::scrollLeft):
821 (WebCore::Element::scrollTop):
822 (WebCore::Element::setScrollLeft):
823 (WebCore::Element::setScrollTop):
824 (WebCore::Element::scrollWidth):
825 (WebCore::Element::scrollHeight):
827 (WebCore::Node::renderBox):
828 (WebCore::Node::getRect):
831 (WebCore::endsOfNodeAreVisuallyDistinctPositions):
832 (WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight):
833 (WebCore::Position::isCandidate):
834 * dom/PositionIterator.cpp:
835 (WebCore::PositionIterator::isCandidate):
836 * editing/CompositeEditCommand.cpp:
837 (WebCore::CompositeEditCommand::addBlockPlaceholderIfNeeded):
838 * editing/DeleteButtonController.cpp:
839 (WebCore::isDeletableElement):
840 * editing/DeleteSelectionCommand.cpp:
841 (WebCore::DeleteSelectionCommand::removeNode):
842 * editing/Editor.cpp:
843 (WebCore::Editor::insideVisibleArea):
844 * editing/EditorCommand.cpp:
845 (WebCore::verticalScrollDistance):
846 * html/HTMLAnchorElement.cpp:
847 (WebCore::HTMLAnchorElement::isKeyboardFocusable):
848 * html/HTMLCanvasElement.cpp:
849 (WebCore::HTMLCanvasElement::willDraw):
850 * html/HTMLFormControlElement.cpp:
851 (WebCore::HTMLFormControlElement::isFocusable):
852 * html/HTMLFrameElementBase.cpp:
853 (WebCore::HTMLFrameElementBase::width):
854 (WebCore::HTMLFrameElementBase::height):
855 * html/HTMLImageElement.cpp:
856 (WebCore::HTMLImageElement::width):
857 (WebCore::HTMLImageElement::height):
858 * inspector/InspectorController.cpp:
859 (WebCore::InspectorController::drawNodeHighlight):
860 * page/AccessibilityRenderObject.cpp:
861 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
862 * page/FrameView.cpp:
863 (WebCore::FrameView::createScrollbar):
864 (WebCore::FrameView::updateDashboardRegions):
865 * page/animation/AnimationBase.cpp:
866 (WebCore::blendFunc):
867 * rendering/HitTestResult.cpp:
868 (WebCore::HitTestResult::imageRect):
869 * rendering/InlineBox.cpp:
870 (WebCore::InlineBox::renderBox):
871 (WebCore::InlineBox::adjustPosition):
872 * rendering/InlineBox.h:
873 * rendering/InlineFlowBox.cpp:
874 (WebCore::InlineFlowBox::placeBoxesHorizontally):
875 (WebCore::InlineFlowBox::verticallyAlignBoxes):
876 (WebCore::InlineFlowBox::placeBoxesVertically):
877 * rendering/InlineFlowBox.h:
878 * rendering/RenderApplet.cpp:
879 (WebCore::RenderApplet::createWidgetIfNecessary):
880 * rendering/RenderBlock.cpp:
881 (WebCore::RenderBlock::overflowHeight):
882 (WebCore::RenderBlock::overflowWidth):
883 (WebCore::RenderBlock::overflowRect):
884 (WebCore::RenderBlock::isSelfCollapsingBlock):
885 (WebCore::RenderBlock::layout):
886 (WebCore::RenderBlock::layoutBlock):
887 (WebCore::RenderBlock::adjustPositionedBlock):
888 (WebCore::RenderBlock::adjustFloatingBlock):
889 (WebCore::RenderBlock::handleSpecialChild):
890 (WebCore::RenderBlock::handlePositionedChild):
891 (WebCore::RenderBlock::handleFloatingChild):
892 (WebCore::RenderBlock::handleCompactChild):
893 (WebCore::RenderBlock::insertCompactIfNeeded):
894 (WebCore::RenderBlock::handleRunInChild):
895 (WebCore::RenderBlock::collapseMargins):
896 (WebCore::RenderBlock::clearFloatsIfNeeded):
897 (WebCore::RenderBlock::estimateVerticalPosition):
898 (WebCore::RenderBlock::determineHorizontalPosition):
899 (WebCore::RenderBlock::handleBottomOfBlock):
900 (WebCore::RenderBlock::layoutBlockChildren):
901 (WebCore::RenderBlock::layoutOnlyPositionedObjects):
902 (WebCore::RenderBlock::layoutPositionedObjects):
903 (WebCore::RenderBlock::markPositionedObjectsForLayout):
904 (WebCore::RenderBlock::repaintOverhangingFloats):
905 (WebCore::RenderBlock::paint):
906 (WebCore::RenderBlock::paintChildren):
907 (WebCore::RenderBlock::paintObject):
908 (WebCore::RenderBlock::paintFloats):
909 (WebCore::RenderBlock::paintContinuationOutlines):
910 (WebCore::clipOutPositionedObjects):
911 (WebCore::RenderBlock::fillSelectionGaps):
912 (WebCore::RenderBlock::fillBlockSelectionGaps):
913 (WebCore::RenderBlock::leftSelectionOffset):
914 (WebCore::RenderBlock::rightSelectionOffset):
915 (WebCore::RenderBlock::insertPositionedObject):
916 (WebCore::RenderBlock::removePositionedObject):
917 (WebCore::RenderBlock::removePositionedObjects):
918 (WebCore::RenderBlock::insertFloatingObject):
919 (WebCore::RenderBlock::removeFloatingObject):
920 (WebCore::RenderBlock::positionNewFloats):
921 (WebCore::RenderBlock::newLine):
922 (WebCore::RenderBlock::lowestPosition):
923 (WebCore::RenderBlock::rightmostPosition):
924 (WebCore::RenderBlock::leftmostPosition):
925 (WebCore::RenderBlock::clearFloats):
926 (WebCore::RenderBlock::addOverhangingFloats):
927 (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout):
928 (WebCore::RenderBlock::getClearDelta):
929 (WebCore::RenderBlock::nodeAtPoint):
930 (WebCore::RenderBlock::positionForCoordinates):
931 (WebCore::RenderBlock::layoutColumns):
932 (WebCore::RenderBlock::getBaselineOfFirstLineBox):
933 (WebCore::RenderBlock::getBaselineOfLastLineBox):
934 (WebCore::getHeightForLineCount):
935 (WebCore::RenderBlock::adjustForBorderFit):
936 * rendering/RenderBlock.h:
937 (WebCore::RenderBlock::FloatWithRect::FloatWithRect):
938 (WebCore::RenderBlock::hasOverhangingFloats):
939 (WebCore::RenderBlock::CompactInfo::compact):
940 (WebCore::RenderBlock::CompactInfo::set):
941 * rendering/RenderBox.cpp:
942 (WebCore::RenderBox::RenderBox):
943 (WebCore::RenderBox::offsetLeft):
944 (WebCore::RenderBox::offsetTop):
945 (WebCore::RenderBox::offsetParent):
946 (WebCore::RenderBox::clientWidth):
947 (WebCore::RenderBox::clientHeight):
948 (WebCore::RenderBox::scrollWidth):
949 (WebCore::RenderBox::scrollHeight):
950 (WebCore::RenderBox::scrollLeft):
951 (WebCore::RenderBox::scrollTop):
952 (WebCore::RenderBox::setScrollLeft):
953 (WebCore::RenderBox::setScrollTop):
954 (WebCore::RenderBox::absoluteRects):
955 (WebCore::RenderBox::absoluteQuads):
956 (WebCore::RenderBox::absoluteContentBox):
957 (WebCore::RenderBox::absoluteContentQuad):
958 (WebCore::RenderBox::absoluteOutlineBounds):
959 (WebCore::RenderBox::addFocusRingRects):
960 (WebCore::RenderBox::reflectionBox):
961 (WebCore::RenderBox::reflectionOffset):
962 (WebCore::RenderBox::reflectedRect):
963 (WebCore::RenderBox::overrideWidth):
964 (WebCore::RenderBox::overrideHeight):
965 (WebCore::RenderBox::nodeAtPoint):
966 (WebCore::RenderBox::paint):
967 (WebCore::RenderBox::maskClipRect):
968 (WebCore::RenderBox::repaintLayerRectsForImage):
969 (WebCore::RenderBox::paintCustomHighlight):
970 (WebCore::RenderBox::getOverflowClipRect):
971 (WebCore::RenderBox::getClipRect):
972 (WebCore::RenderBox::containingBlockWidth):
973 (WebCore::RenderBox::localToAbsolute):
974 (WebCore::RenderBox::offsetFromContainer):
975 (WebCore::RenderBox::position):
976 (WebCore::RenderBox::computeAbsoluteRepaintRect):
977 (WebCore::RenderBox::repaintDuringLayoutIfMoved):
978 (WebCore::RenderBox::calcWidth):
979 (WebCore::RenderBox::calcWidthUsing):
980 (WebCore::RenderBox::calcHorizontalMargins):
981 (WebCore::RenderBox::calcHeight):
982 (WebCore::RenderBox::calcPercentageHeight):
983 (WebCore::RenderBox::calcReplacedHeightUsing):
984 (WebCore::RenderBox::containingBlockWidthForPositioned):
985 (WebCore::RenderBox::containingBlockHeightForPositioned):
986 (WebCore::RenderBox::calcAbsoluteHorizontal):
987 (WebCore::RenderBox::calcAbsoluteVertical):
988 (WebCore::RenderBox::calcAbsoluteVerticalValues):
989 (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
990 (WebCore::RenderBox::calcAbsoluteVerticalReplaced):
991 (WebCore::RenderBox::localCaretRect):
992 (WebCore::RenderBox::lowestPosition):
993 (WebCore::RenderBox::rightmostPosition):
994 (WebCore::RenderBox::leftmostPosition):
995 (WebCore::RenderBox::localTransform):
996 * rendering/RenderBox.h:
998 (WebCore::RenderBox::x):
999 (WebCore::RenderBox::y):
1000 (WebCore::RenderBox::width):
1001 (WebCore::RenderBox::height):
1002 (WebCore::RenderBox::setX):
1003 (WebCore::RenderBox::setY):
1004 (WebCore::RenderBox::setWidth):
1005 (WebCore::RenderBox::setHeight):
1006 (WebCore::RenderBox::location):
1007 (WebCore::RenderBox::size):
1008 (WebCore::RenderBox::setLocation):
1009 (WebCore::RenderBox::setSize):
1010 (WebCore::RenderBox::move):
1011 (WebCore::RenderBox::frameRect):
1012 (WebCore::RenderBox::setFrameRect):
1013 (WebCore::RenderBox::borderBoxRect):
1014 (WebCore::RenderBox::contentBoxRect):
1015 (WebCore::RenderBox::previousSiblingBox):
1016 (WebCore::RenderBox::nextSiblingBox):
1017 (WebCore::RenderBox::parentBox):
1018 (WebCore::RenderBox::overflowHeight):
1019 (WebCore::RenderBox::overflowWidth):
1020 (WebCore::RenderBox::setOverflowHeight):
1021 (WebCore::RenderBox::setOverflowWidth):
1022 (WebCore::RenderBox::overflowLeft):
1023 (WebCore::RenderBox::overflowTop):
1024 (WebCore::RenderBox::overflowRect):
1025 (WebCore::RenderBox::contentWidth):
1026 (WebCore::RenderBox::contentHeight):
1027 (WebCore::RenderBox::offsetWidth):
1028 (WebCore::RenderBox::offsetHeight):
1029 (WebCore::RenderBox::clientLeft):
1030 (WebCore::RenderBox::clientTop):
1031 (WebCore::RenderBox::availableWidth):
1032 (WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly):
1033 * rendering/RenderButton.cpp:
1034 (WebCore::RenderButton::controlClipRect):
1035 * rendering/RenderContainer.cpp:
1036 (WebCore::RenderContainer::layout):
1037 (WebCore::RenderContainer::positionForCoordinates):
1038 * rendering/RenderContainer.h:
1039 (WebCore::RenderContainer::firstChildBox):
1040 (WebCore::RenderContainer::lastChildBox):
1041 * rendering/RenderFieldset.cpp:
1042 (WebCore::RenderFieldset::calcPrefWidths):
1043 (WebCore::RenderFieldset::layoutLegend):
1044 (WebCore::RenderFieldset::findLegend):
1045 (WebCore::RenderFieldset::paintBoxDecorations):
1046 (WebCore::RenderFieldset::paintMask):
1047 * rendering/RenderFieldset.h:
1048 * rendering/RenderFileUploadControl.cpp:
1049 (WebCore::RenderFileUploadControl::maxFilenameWidth):
1050 (WebCore::RenderFileUploadControl::paintObject):
1051 * rendering/RenderFlexibleBox.cpp:
1052 (WebCore::FlexBoxIterator::FlexBoxIterator):
1053 (WebCore::FlexBoxIterator::first):
1054 (WebCore::FlexBoxIterator::next):
1055 (WebCore::RenderFlexibleBox::calcHorizontalPrefWidths):
1056 (WebCore::RenderFlexibleBox::calcVerticalPrefWidths):
1057 (WebCore::RenderFlexibleBox::layoutBlock):
1058 (WebCore::RenderFlexibleBox::layoutHorizontalBox):
1059 (WebCore::RenderFlexibleBox::layoutVerticalBox):
1060 (WebCore::RenderFlexibleBox::placeChild):
1061 (WebCore::RenderFlexibleBox::allowedChildFlex):
1062 * rendering/RenderFlexibleBox.h:
1063 * rendering/RenderFlow.cpp:
1064 (WebCore::RenderFlow::absoluteClippedOverflowRect):
1065 (WebCore::RenderFlow::lowestPosition):
1066 (WebCore::RenderFlow::rightmostPosition):
1067 (WebCore::RenderFlow::leftmostPosition):
1068 (WebCore::RenderFlow::localCaretRect):
1069 (WebCore::RenderFlow::addFocusRingRects):
1070 * rendering/RenderFrameSet.cpp:
1071 (WebCore::RenderFrameSet::paint):
1072 (WebCore::RenderFrameSet::layout):
1073 (WebCore::RenderFrameSet::positionFrames):
1074 * rendering/RenderHTMLCanvas.cpp:
1075 (WebCore::RenderHTMLCanvas::paintReplaced):
1076 (WebCore::RenderHTMLCanvas::canvasSizeChanged):
1077 * rendering/RenderImage.cpp:
1078 (WebCore::RenderImage::imageChanged):
1079 (WebCore::RenderImage::paintReplaced):
1080 (WebCore::RenderImage::nodeAtPoint):
1081 (WebCore::RenderImage::calcReplacedWidth):
1082 * rendering/RenderInline.cpp:
1083 (WebCore::RenderInline::absoluteRects):
1084 (WebCore::RenderInline::boundingBoxWidth):
1085 (WebCore::RenderInline::boundingBoxHeight):
1086 (WebCore::RenderInline::positionForCoordinates):
1087 * rendering/RenderInline.h:
1088 (WebCore::RenderInline::offsetWidth):
1089 (WebCore::RenderInline::offsetHeight):
1090 * rendering/RenderLayer.cpp:
1091 (WebCore::RenderLayer::updateTransform):
1092 (WebCore::RenderLayer::updateLayerPosition):
1093 (WebCore::RenderLayer::scrollbarCornerPresent):
1094 (WebCore::RenderLayer::createScrollbar):
1095 (WebCore::RenderLayer::positionOverflowControls):
1096 (WebCore::RenderLayer::paintScrollCorner):
1097 (WebCore::RenderLayer::paintResizer):
1098 (WebCore::RenderLayer::paintLayer):
1099 (WebCore::RenderLayer::hitTestLayer):
1100 (WebCore::RenderLayer::calculateRects):
1101 (WebCore::RenderLayer::boundingBox):
1102 * rendering/RenderListBox.cpp:
1103 (WebCore::RenderListBox::calcHeight):
1104 (WebCore::RenderListBox::controlClipRect):
1105 * rendering/RenderListItem.cpp:
1106 (WebCore::RenderListItem::positionListMarker):
1107 (WebCore::RenderListItem::paint):
1108 * rendering/RenderListMarker.cpp:
1109 (WebCore::RenderListMarker::paint):
1110 (WebCore::RenderListMarker::layout):
1111 (WebCore::RenderListMarker::imageChanged):
1112 (WebCore::RenderListMarker::getRelativeMarkerRect):
1113 (WebCore::RenderListMarker::selectionRect):
1114 * rendering/RenderMarquee.cpp:
1115 (WebCore::RenderMarquee::computePosition):
1116 * rendering/RenderMedia.cpp:
1117 (WebCore::RenderMedia::layout):
1118 (WebCore::RenderMedia::lowestPosition):
1119 (WebCore::RenderMedia::rightmostPosition):
1120 (WebCore::RenderMedia::leftmostPosition):
1121 * rendering/RenderMenuList.cpp:
1122 (WebCore::RenderMenuList::controlClipRect):
1123 * rendering/RenderObject.cpp:
1124 (WebCore::RenderObject::RenderObject):
1125 (WebCore::RenderObject::markAllDescendantsWithFloatsForLayout):
1126 (WebCore::RenderObject::paintOutline):
1127 (WebCore::RenderObject::addLineBoxRects):
1128 (WebCore::RenderObject::absoluteBoundingBoxRect):
1129 (WebCore::RenderObject::addAbsoluteRectForLayer):
1130 (WebCore::RenderObject::paintingRootRect):
1131 (WebCore::RenderObject::container):
1132 (WebCore::RenderObject::removeFromObjectLists):
1133 (WebCore::RenderObject::updateHitTestResult):
1134 (WebCore::RenderObject::addDashboardRegions):
1135 (WebCore::RenderObject::localTransform):
1136 * rendering/RenderObject.h:
1137 (WebCore::RenderObject::isBox):
1138 (WebCore::RenderObject::hasMask):
1139 (WebCore::RenderObject::setIsText):
1140 (WebCore::RenderObject::setIsBox):
1141 (WebCore::RenderObject::borderTop):
1142 (WebCore::RenderObject::borderBottom):
1143 (WebCore::RenderObject::absoluteRects):
1144 (WebCore::RenderObject::collectAbsoluteLineBoxQuads):
1145 (WebCore::RenderObject::absoluteQuads):
1146 (WebCore::RenderObject::hasReflection):
1147 (WebCore::RenderObject::addFocusRingRects):
1148 (WebCore::RenderObject::absoluteOutlineBounds):
1149 * rendering/RenderPart.cpp:
1150 (WebCore::RenderPart::updateWidgetPosition):
1151 * rendering/RenderPath.cpp:
1152 (WebCore::RenderPath::layout):
1153 (WebCore::RenderPath::paint):
1154 (WebCore::RenderPath::absoluteOutlineBounds):
1155 * rendering/RenderPath.h:
1156 * rendering/RenderReplaced.cpp:
1157 (WebCore::RenderReplaced::layout):
1158 (WebCore::RenderReplaced::paint):
1159 (WebCore::RenderReplaced::shouldPaint):
1160 (WebCore::RenderReplaced::positionForCoordinates):
1161 (WebCore::RenderReplaced::localSelectionRect):
1162 (WebCore::RenderReplaced::adjustOverflowForBoxShadow):
1163 (WebCore::RenderReplaced::overflowRect):
1164 * rendering/RenderReplica.cpp:
1165 (WebCore::RenderReplica::layout):
1166 (WebCore::RenderReplica::calcPrefWidths):
1167 (WebCore::RenderReplica::paint):
1168 * rendering/RenderSVGContainer.cpp:
1169 (WebCore::RenderSVGContainer::paint):
1170 (WebCore::RenderSVGContainer::absoluteOutlineBounds):
1171 * rendering/RenderSVGContainer.h:
1172 (WebCore::RenderSVGContainer::width):
1173 (WebCore::RenderSVGContainer::height):
1174 * rendering/RenderSVGImage.cpp:
1175 (WebCore::RenderSVGImage::layout):
1176 * rendering/RenderSVGInlineText.cpp:
1177 (WebCore::RenderSVGInlineText::computeAbsoluteRectForRange):
1178 (WebCore::RenderSVGInlineText::positionForCoordinates):
1179 * rendering/RenderSVGRoot.cpp:
1180 (WebCore::RenderSVGRoot::layout):
1181 (WebCore::RenderSVGRoot::applyContentTransforms):
1182 (WebCore::RenderSVGRoot::paint):
1183 (WebCore::RenderSVGRoot::absoluteTransform):
1184 (WebCore::RenderSVGRoot::nodeAtPoint):
1185 * rendering/RenderSVGTSpan.cpp:
1186 (WebCore::RenderSVGTSpan::absoluteRects):
1187 (WebCore::RenderSVGTSpan::absoluteQuads):
1188 * rendering/RenderSVGText.cpp:
1189 (WebCore::RenderSVGText::layout):
1190 (WebCore::RenderSVGText::relativeBBox):
1191 * rendering/RenderSVGTextPath.cpp:
1192 (WebCore::RenderSVGTextPath::absoluteRects):
1193 (WebCore::RenderSVGTextPath::absoluteQuads):
1194 * rendering/RenderSVGViewportContainer.cpp:
1195 (WebCore::RenderSVGViewportContainer::nodeAtPoint):
1196 * rendering/RenderScrollbar.cpp:
1197 (WebCore::RenderScrollbar::createCustomScrollbar):
1198 (WebCore::RenderScrollbar::RenderScrollbar):
1199 (WebCore::RenderScrollbar::setParent):
1200 * rendering/RenderScrollbar.h:
1201 (WebCore::RenderScrollbar::owningRenderer):
1202 * rendering/RenderScrollbarPart.cpp:
1203 (WebCore::RenderScrollbarPart::layout):
1204 (WebCore::RenderScrollbarPart::layoutHorizontalPart):
1205 (WebCore::RenderScrollbarPart::layoutVerticalPart):
1206 (WebCore::RenderScrollbarPart::computeScrollbarWidth):
1207 (WebCore::RenderScrollbarPart::computeScrollbarHeight):
1208 (WebCore::RenderScrollbarPart::paintIntoRect):
1209 * rendering/RenderSlider.cpp:
1210 (WebCore::HTMLSliderThumbElement::defaultEventHandler):
1211 (WebCore::RenderSlider::layout):
1212 (WebCore::RenderSlider::mouseEventIsInThumb):
1213 (WebCore::RenderSlider::positionForOffset):
1214 (WebCore::RenderSlider::trackSize):
1215 * rendering/RenderTable.cpp:
1216 (WebCore::RenderTable::calcWidth):
1217 (WebCore::RenderTable::layout):
1218 (WebCore::RenderTable::paint):
1219 (WebCore::RenderTable::getBaselineOfFirstLineBox):
1220 * rendering/RenderTableCell.cpp:
1221 (WebCore::RenderTableCell::updateWidth):
1222 (WebCore::RenderTableCell::computeAbsoluteRepaintRect):
1223 (WebCore::RenderTableCell::localToAbsolute):
1224 (WebCore::RenderTableCell::absoluteToLocal):
1225 (WebCore::RenderTableCell::localToAbsoluteQuad):
1226 (WebCore::RenderTableCell::paint):
1227 (WebCore::RenderTableCell::paintBackgroundsBehindCell):
1228 * rendering/RenderTableCell.h:
1229 * rendering/RenderTableSection.cpp:
1230 (WebCore::RenderTableSection::addChild):
1231 (WebCore::RenderTableSection::addCell):
1232 (WebCore::RenderTableSection::setCellWidths):
1233 (WebCore::RenderTableSection::calcRowHeight):
1234 (WebCore::RenderTableSection::layoutRows):
1235 (WebCore::RenderTableSection::lowestPosition):
1236 (WebCore::RenderTableSection::rightmostPosition):
1237 (WebCore::RenderTableSection::leftmostPosition):
1238 (WebCore::RenderTableSection::getBaselineOfFirstLineBox):
1239 (WebCore::RenderTableSection::paint):
1240 (WebCore::RenderTableSection::recalcCells):
1241 (WebCore::RenderTableSection::nodeAtPoint):
1242 * rendering/RenderTableSection.h:
1243 (WebCore::RenderTableSection::overflowWidth):
1244 (WebCore::RenderTableSection::overflowHeight):
1245 * rendering/RenderText.cpp:
1246 (WebCore::RenderText::RenderText):
1247 (WebCore::RenderText::boundingBoxX):
1248 (WebCore::RenderText::boundingBoxY):
1249 (WebCore::RenderText::firstRunX):
1250 (WebCore::RenderText::firstRunY):
1251 (WebCore::RenderText::boundingBoxHeight):
1252 (WebCore::RenderText::boundingBoxWidth):
1253 * rendering/RenderText.h:
1254 * rendering/RenderTextControl.cpp:
1255 (WebCore::RenderTextControl::textBlockHeight):
1256 (WebCore::RenderTextControl::textBlockWidth):
1257 (WebCore::RenderTextControl::setSelectionRange):
1258 (WebCore::RenderTextControl::calcHeight):
1259 (WebCore::RenderTextControl::hitInnerTextBlock):
1260 (WebCore::RenderTextControl::controlClipRect):
1261 * rendering/RenderTextControlMultiLine.cpp:
1262 (WebCore::RenderTextControlMultiLine::layout):
1263 (WebCore::RenderTextControlMultiLine::adjustControlHeightBasedOnLineHeight):
1264 * rendering/RenderTextControlSingleLine.cpp:
1265 (WebCore::RenderTextControlSingleLine::paint):
1266 (WebCore::RenderTextControlSingleLine::layout):
1267 (WebCore::RenderTextControlSingleLine::nodeAtPoint):
1268 (WebCore::RenderTextControlSingleLine::forwardEvent):
1269 (WebCore::RenderTextControlSingleLine::textBlockWidth):
1270 (WebCore::RenderTextControlSingleLine::adjustControlHeightBasedOnLineHeight):
1271 (WebCore::RenderTextControlSingleLine::clientPaddingLeft):
1272 (WebCore::RenderTextControlSingleLine::clientPaddingRight):
1273 * rendering/RenderTheme.cpp:
1274 (WebCore::RenderTheme::hitTestMediaControlPart):
1275 (WebCore::RenderTheme::baselinePosition):
1276 * rendering/RenderThemeMac.mm:
1277 (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
1278 (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
1279 (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
1280 (WebCore::RenderThemeMac::hitTestMediaControlPart):
1281 * rendering/RenderTreeAsText.cpp:
1282 (WebCore::operator<<):
1283 * rendering/RenderVideo.cpp:
1284 (WebCore::RenderVideo::videoBox):
1285 * rendering/RenderView.cpp:
1286 (WebCore::RenderView::RenderView):
1287 (WebCore::RenderView::calcHeight):
1288 (WebCore::RenderView::calcWidth):
1289 (WebCore::RenderView::layout):
1290 (WebCore::RenderView::viewRect):
1291 (WebCore::RenderView::docHeight):
1292 (WebCore::RenderView::docWidth):
1293 (WebCore::RenderView::setBestTruncatedAt):
1294 * rendering/RenderView.h:
1295 * rendering/RenderWidget.cpp:
1296 (WebCore::RenderWidget::paint):
1297 (WebCore::RenderWidget::updateWidgetPosition):
1298 (WebCore::RenderWidget::nodeAtPoint):
1299 * rendering/RootInlineBox.h:
1300 (WebCore::RootInlineBox::floats):
1301 (WebCore::RootInlineBox::floatsPtr):
1302 * rendering/SVGInlineFlowBox.cpp:
1303 (WebCore::SVGInlineFlowBox::verticallyAlignBoxes):
1304 * rendering/SVGInlineFlowBox.h:
1305 * rendering/SVGRenderTreeAsText.cpp:
1306 (WebCore::operator<<):
1308 * rendering/SVGRootInlineBox.cpp:
1309 (WebCore::SVGRootInlineBox::verticallyAlignBoxes):
1310 (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation):
1311 (WebCore::SVGRootInlineBox::layoutInlineBoxes):
1312 * rendering/SVGRootInlineBox.h:
1313 * rendering/bidi.cpp:
1314 (WebCore::RenderBlock::computeHorizontalPositionsForLine):
1315 (WebCore::RenderBlock::computeVerticalPositionsForLine):
1316 (WebCore::RenderBlock::layoutInlineChildren):
1317 (WebCore::RenderBlock::determineStartPosition):
1318 (WebCore::RenderBlock::matchedEndLine):
1319 (WebCore::RenderBlock::skipTrailingWhitespace):
1320 (WebCore::RenderBlock::skipLeadingWhitespace):
1321 (WebCore::RenderBlock::fitBelowFloats):
1322 (WebCore::RenderBlock::findNextLineBreak):
1323 (WebCore::RenderBlock::checkLinesForOverflow):
1324 * svg/SVGLength.cpp:
1325 (WebCore::SVGLength::PercentageOfViewport):
1327 2009-01-21 Anders Carlsson <andersca@apple.com>
1329 Reviewed by Sam Weinig.
1332 Add some bridge related symbols.
1334 * WebCore.xcodeproj/project.pbxproj:
1335 Make runtime_object.h a private header.
1337 2009-01-20 David Levin <levin@chromium.org>
1339 Reviewed by Alexey Proskuryakov.
1341 Bug 22720: Make XMLHttpRequest work in Workers
1342 <https://bugs.webkit.org/show_bug.cgi?id=22720>
1344 More removal of document usage from XMLHttpRequest.
1345 * Abstracted away the sync and async requests behind the ThreadableLoader class, which
1346 will get an implementation for Workers. ThreadableLoader follows the same model as
1347 SubresourceLoader because DocumentThreadableLoader is a thin wrapper around SubresourceLoader.
1348 Also, WorkerThreadableLoader (coming soon) will use DocumentThreadableLoader to get things done.
1349 * Consolidated dashboard compatibility checks into usesDashboardBackwardCompatibilityMode
1350 which handles workers.
1352 No observable change in behavior, so no test.
1357 * WebCore.vcproj/WebCore.vcproj:
1358 * WebCore.xcodeproj/project.pbxproj:
1359 * WebCoreSources.bkl:
1360 * loader/DocumentThreadableLoader.cpp: Added.
1361 (WebCore::DocumentThreadableLoader::create):
1362 (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
1363 (WebCore::DocumentThreadableLoader::~DocumentThreadableLoader):
1364 (WebCore::DocumentThreadableLoader::cancel):
1365 (WebCore::DocumentThreadableLoader::willSendRequest):
1366 (WebCore::DocumentThreadableLoader::didSendData):
1367 (WebCore::DocumentThreadableLoader::didReceiveResponse):
1368 (WebCore::DocumentThreadableLoader::didReceiveData):
1369 (WebCore::DocumentThreadableLoader::didFinishLoading):
1370 (WebCore::DocumentThreadableLoader::didFail):
1371 (WebCore::DocumentThreadableLoader::receivedCancellation):
1372 * loader/DocumentThreadableLoader.h: Added.
1373 (WebCore::DocumentThreadableLoader::refThreadableLoader):
1374 (WebCore::DocumentThreadableLoader::derefThreadableLoader):
1375 * loader/SubresourceLoaderClient.h:
1376 (WebCore::SubresourceLoaderClient::didReceiveData):
1377 * loader/ThreadableLoader.cpp: Added.
1378 (WebCore::ThreadableLoader::create):
1379 (WebCore::ThreadableLoader::loadResourceSynchronously):
1380 * loader/ThreadableLoader.h: Added.
1382 (WebCore::ThreadableLoader::ref):
1383 (WebCore::ThreadableLoader::deref):
1384 (WebCore::ThreadableLoader::~ThreadableLoader):
1385 * loader/ThreadableLoaderClient.h: Added.
1386 (WebCore::ThreadableLoaderClient::didSendData):
1387 (WebCore::ThreadableLoaderClient::didReceiveResponse):
1388 (WebCore::ThreadableLoaderClient::didReceiveData):
1389 (WebCore::ThreadableLoaderClient::didFinishLoading):
1390 (WebCore::ThreadableLoaderClient::didFail):
1391 (WebCore::ThreadableLoaderClient::didGetCancelled):
1392 (WebCore::ThreadableLoaderClient::didReceiveAuthenticationCancellation):
1393 (WebCore::ThreadableLoaderClient::~ThreadableLoaderClient):
1394 * xml/XMLHttpRequest.cpp:
1395 (WebCore::XMLHttpRequest::XMLHttpRequest):
1396 (WebCore::XMLHttpRequest::usesDashboardBackwardCompatibilityMode):
1397 (WebCore::XMLHttpRequest::send):
1398 (WebCore::XMLHttpRequest::loadRequestSynchronously):
1399 (WebCore::XMLHttpRequest::loadRequestAsynchronously):
1400 (WebCore::XMLHttpRequest::setRequestHeader):
1401 (WebCore::XMLHttpRequest::processSyncLoadResults):
1402 (WebCore::XMLHttpRequest::didFail):
1403 (WebCore::XMLHttpRequest::didGetCancelled):
1404 (WebCore::XMLHttpRequest::didFinishLoading):
1405 (WebCore::XMLHttpRequest::didFinishLoadingPreflight):
1406 (WebCore::XMLHttpRequest::didSendData):
1407 (WebCore::XMLHttpRequest::didReceiveResponse):
1408 (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
1409 (WebCore::XMLHttpRequest::didReceiveAuthenticationCancellation):
1410 (WebCore::XMLHttpRequest::didReceiveData):
1411 * xml/XMLHttpRequest.h:
1413 2009-01-19 Chris Marrin <cmarrin@apple.com>
1415 Reviewed by David Hyatt.
1417 Fix for https://bugs.webkit.org/show_bug.cgi?id=23317
1419 The high CPU usage was really from repeatedly firing transitions caused
1420 by a bug in the way we handle background-color animations. If animating
1421 from a valid background color to no background color, we sometimes left
1422 (based on timing) the background color as transparent black, but valid
1423 rather than invalid, which it should be. Fixing that got rid of the
1426 But we really were doing more expensive iteration of all objects with
1427 animations or transitions on them (running or not). So I added two
1428 optimizations to quickly short circuit when an object had no running
1429 animations or transitions. Things are now as zippy as ever.
1431 Test: transitions/repeated-firing-background-color.html
1433 * page/animation/AnimationBase.cpp:
1434 (WebCore::blendFunc):
1435 * page/animation/AnimationController.cpp:
1436 (WebCore::AnimationControllerPrivate::updateAnimationTimer):
1437 * page/animation/CompositeAnimation.cpp:
1438 (WebCore::CompositeAnimationPrivate::hasAnimations):
1439 (WebCore::CompositeAnimationPrivate::clearRenderer):
1440 (WebCore::CompositeAnimationPrivate::animate):
1441 (WebCore::CompositeAnimationPrivate::setAnimating):
1442 (WebCore::CompositeAnimationPrivate::willNeedService):
1443 (WebCore::CompositeAnimationPrivate::getAnimationForProperty):
1444 (WebCore::CompositeAnimationPrivate::cleanupFinishedAnimations):
1445 (WebCore::CompositeAnimationPrivate::setAnimationStartTime):
1446 (WebCore::CompositeAnimationPrivate::setTransitionStartTime):
1447 (WebCore::CompositeAnimationPrivate::suspendAnimations):
1448 (WebCore::CompositeAnimationPrivate::resumeAnimations):
1449 (WebCore::CompositeAnimationPrivate::overrideImplicitAnimations):
1450 (WebCore::CompositeAnimationPrivate::resumeOverriddenImplicitAnimations):
1451 (WebCore::CompositeAnimationPrivate::styleAvailable):
1452 (WebCore::CompositeAnimationPrivate::isAnimatingProperty):
1453 (WebCore::CompositeAnimationPrivate::numberOfActiveAnimations):
1454 (WebCore::CompositeAnimation::hasAnimations):
1455 * page/animation/CompositeAnimation.h:
1457 2009-01-21 Eric Seidel <eric@webkit.org>
1459 Reviewed by Justin Garcia.
1461 Remove the style='' turds left by some editing commands
1462 https://bugs.webkit.org/show_bug.cgi?id=23463
1464 Test: editing/execCommand/toggle-styles.html
1466 * editing/ApplyStyleCommand.cpp:
1467 (WebCore::ApplyStyleCommand::removeCSSStyle): check if we just removed the last CSS property and remove the style attribute as well
1468 * editing/CompositeEditCommand.cpp:
1469 (WebCore::CompositeEditCommand::removeNodeAttribute): remove extra ;
1471 2009-01-21 Eric Seidel <eric@webkit.org>
1473 No review, build fix.
1475 Fix release-only build failure (and do a tiny code-cleanup).
1477 * editing/ApplyStyleCommand.cpp:
1478 (WebCore::createFontElement):
1479 (WebCore::createStyleSpanElement):
1480 (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
1482 2009-01-21 Chris Fleizach <cfleizach@apple.com>
1484 Reviewed by Beth Dakin.
1486 Bug 23443: Table accessibility should be re-enabled after fixing crash that occurs at WebCore::AccessibilityTable::isTableExposableThroughAccessibility()
1487 https://bugs.webkit.org/show_bug.cgi?id=23443
1489 Test: accessibility/table-modification-crash.html
1491 * page/AccessibilityObject.cpp:
1492 (WebCore::AccessibilityObject::updateBackingStore):
1493 * page/AccessibilityObject.h:
1494 * page/AccessibilityRenderObject.cpp:
1495 (WebCore::AccessibilityRenderObject::childrenChanged):
1496 (WebCore::AccessibilityRenderObject::children):
1497 (WebCore::AccessibilityRenderObject::updateBackingStore):
1498 * page/AccessibilityRenderObject.h:
1499 (WebCore::AccessibilityRenderObject::markChildrenDirty):
1500 * page/AccessibilityTable.cpp:
1501 (WebCore::AccessibilityTable::AccessibilityTable):
1502 * page/mac/AccessibilityObjectWrapper.mm:
1503 (-[AccessibilityObjectWrapper accessibilityActionNames]):
1504 (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
1505 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
1506 (-[AccessibilityObjectWrapper accessibilityFocusedUIElement]):
1507 (-[AccessibilityObjectWrapper accessibilityHitTest:]):
1508 (-[AccessibilityObjectWrapper accessibilityIsAttributeSettable:]):
1509 (-[AccessibilityObjectWrapper accessibilityIsIgnored]):
1510 (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
1511 (-[AccessibilityObjectWrapper accessibilityPerformPressAction]):
1512 (-[AccessibilityObjectWrapper accessibilityPerformAction:]):
1513 (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
1514 (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
1515 (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]):
1516 (-[AccessibilityObjectWrapper accessibilityArrayAttributeCount:]):
1517 (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
1518 * rendering/RenderObject.cpp:
1519 (WebCore::RenderObject::destroy):
1520 * rendering/RenderWidget.cpp:
1521 (WebCore::RenderWidget::destroy):
1523 2009-01-16 Eric Seidel <eric@webkit.org>
1525 Reviewed by Justin Garcia.
1527 Fix execCommand() 'super' and 'sub' commands to add <sup> and <sub> in quirks mode, and to toggle when called twice
1528 https://bugs.webkit.org/show_bug.cgi?id=17733
1530 Test changed: editing/execCommand/toggle-styles-expected.txt
1532 * editing/ApplyStyleCommand.cpp:
1533 (WebCore::StyleChange::applySubscript):
1534 (WebCore::StyleChange::applySuperscript):
1535 (WebCore::StyleChange::StyleChange):
1536 (WebCore::StyleChange::init):
1537 (WebCore::StyleChange::checkForLegacyHTMLStyleChange):
1538 (WebCore::ApplyStyleCommand::isHTMLStyleNode):
1539 (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
1540 * editing/EditorCommand.cpp:
1541 (WebCore::executeSubscript):
1542 (WebCore::executeSuperscript):
1543 * editing/htmlediting.cpp:
1544 (WebCore::createHTMLElement):
1545 * editing/htmlediting.h:
1547 2009-01-21 Anders Carlsson <andersca@apple.com>
1553 2009-01-21 Oliver Hunt <oliver@apple.com>
1555 Reviewed by Alexey Proskuryakov.
1557 Bug 23458: Reintroduce CanvasPixelArray in ImageData.idl
1558 <https://bugs.webkit.org/show_bug.cgi?id=23458>
1560 Return CanvasPixelArray, et al -- the only difference between this
1561 and the original CPA implementation is that it now uses a ByteArray
1562 rather than a vector. JSC still uses a custom wrapper, but this allows
1563 ObjC, COM, and V8 bindings to be autogenerated again.
1567 * WebCore.vcproj/WebCore.vcproj:
1568 * WebCore.xcodeproj/project.pbxproj:
1569 * WebCoreSources.bkl:
1570 * bindings/js/JSImageDataCustom.cpp:
1572 * html/CanvasPixelArray.cpp: Added.
1573 (WebCore::CanvasPixelArray::create):
1574 (WebCore::CanvasPixelArray::CanvasPixelArray):
1575 * html/CanvasPixelArray.h: Added.
1576 (WebCore::CanvasPixelArray::data):
1577 (WebCore::CanvasPixelArray::length):
1578 (WebCore::CanvasPixelArray::set):
1579 (WebCore::CanvasPixelArray::get):
1580 * html/CanvasPixelArray.idl: Added.
1581 * html/CanvasRenderingContext2D.cpp:
1582 (WebCore::createEmptyImageData):
1583 * html/ImageData.cpp:
1584 (WebCore::ImageData::ImageData):
1586 (WebCore::ImageData::data):
1587 * html/ImageData.idl:
1588 * platform/graphics/cairo/ImageBufferCairo.cpp:
1589 (WebCore::ImageBuffer::getImageData):
1590 (WebCore::ImageBuffer::putImageData):
1591 * platform/graphics/cg/ImageBufferCG.cpp:
1592 (WebCore::ImageBuffer::getImageData):
1593 (WebCore::ImageBuffer::putImageData):
1595 2009-01-21 Dirk Schulze <krit@webkit.org>
1597 Reviewed by Nikolas Zimmermann.
1599 Remove last relics of platform dependent PaintServer in SVG.
1600 We draw everything with the help of GraphicsContext.
1602 Remove SVGPaintServerPlatform's
1603 [https://bugs.webkit.org/show_bug.cgi?id=23439]
1607 * WebCore.vcproj/WebCore.vcproj:
1608 * WebCore.xcodeproj/project.pbxproj:
1609 * svg/graphics/SVGPaintServer.cpp:
1610 (WebCore::SVGPaintServer::draw):
1611 (WebCore::SVGPaintServer::renderPath):
1612 (WebCore::SVGPaintServer::teardown):
1613 * svg/graphics/SVGPaintServer.h:
1614 * svg/graphics/SVGPaintServerGradient.cpp:
1615 * svg/graphics/SVGPaintServerGradient.h:
1616 * svg/graphics/SVGPaintServerPattern.cpp:
1617 * svg/graphics/SVGPaintServerPattern.h:
1618 * svg/graphics/SVGPaintServerSolid.cpp:
1619 * svg/graphics/SVGPaintServerSolid.h:
1620 * svg/graphics/cairo/SVGPaintServerCairo.cpp: Removed.
1621 * svg/graphics/cg/SVGPaintServerCg.cpp: Removed.
1622 * svg/graphics/qt/SVGPaintServerQt.cpp: Removed.
1623 * svg/graphics/skia/SVGPaintServerSkia.cpp: Removed.
1625 2009-01-21 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
1627 Reviewed by Alexey Proskuryakov.
1629 Move "Element -> ScriptElement" casting functionality into ScriptElement.h
1630 to be consistent with FormControlElement/InputElement/OptionElement/OptionGroupElement.
1632 It was living in XMLTokenizer before, which is not an obvious place for this.
1633 TODO: Rename 'formControlElementForElement' to 'toFormControlElement' (analogous changes for InputElement etc.)
1634 as suggested by Alexey, it really reads better this way.
1636 * dom/ScriptElement.cpp:
1637 (WebCore::toScriptElement):
1638 * dom/ScriptElement.h:
1639 * dom/XMLTokenizer.cpp:
1640 (WebCore::XMLTokenizer::notifyFinished):
1641 * dom/XMLTokenizer.h:
1642 * dom/XMLTokenizerLibxml2.cpp:
1643 (WebCore::XMLTokenizer::startElementNs):
1644 (WebCore::XMLTokenizer::endElementNs):
1645 * dom/XMLTokenizerQt.cpp:
1646 (WebCore::XMLTokenizer::parseStartElement):
1647 (WebCore::XMLTokenizer::parseEndElement):
1649 2009-01-20 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
1651 Reviewed by George Staikos.
1653 Fixes: https://bugs.webkit.org/show_bug.cgi?id=23444
1655 Refactor some functionality from HTMLOption/OptGroupElement needed by RenderListBox/RenderMenuList
1656 in two abstract base classes: OptionElement & OptionGroupElement living in dom/ - just like it
1657 has been done before for FormControlElement and RenderTextControl.
1659 This is needed to prepare the addtion of WMLOption/OptGroupElement.
1664 * WebCore.vcproj/WebCore.vcproj:
1665 * WebCore.xcodeproj/project.pbxproj:
1666 * WebCoreSources.bkl:
1667 * dom/OptionElement.cpp: Added.
1668 (WebCore::optionElementForElement):
1669 * dom/OptionElement.h: Added.
1670 (WebCore::OptionElement::~OptionElement):
1671 (WebCore::OptionElement::OptionElement):
1672 * dom/OptionGroupElement.cpp: Added.
1673 (WebCore::optionGroupElementForElement):
1674 * dom/OptionGroupElement.h: Added.
1675 (WebCore::OptionGroupElement::~OptionGroupElement):
1676 (WebCore::OptionGroupElement::OptionGroupElement):
1677 * html/HTMLOptGroupElement.h:
1678 * html/HTMLOptionElement.cpp:
1679 (WebCore::HTMLOptionElement::optionText):
1680 * html/HTMLOptionElement.h:
1681 (WebCore::HTMLOptionElement::selected):
1682 * rendering/RenderListBox.cpp:
1683 (WebCore::RenderListBox::updateFromElement):
1684 (WebCore::RenderListBox::paintItemForeground):
1685 (WebCore::RenderListBox::paintItemBackground):
1686 * rendering/RenderMenuList.cpp:
1687 (WebCore::RenderMenuList::updateOptionsWidth):
1688 (WebCore::RenderMenuList::setTextFromOption):
1689 (WebCore::RenderMenuList::itemText):
1690 (WebCore::RenderMenuList::itemIsSelected):
1692 2009-01-20 Darin Adler <darin@apple.com>
1694 Reviewed by Alexey Proskuryakov.
1696 Bug 23448: memory leak in Mac version of preferredExtensionForImageSourceType
1697 https://bugs.webkit.org/show_bug.cgi?id=23448
1699 * platform/graphics/cg/ImageSourceCGMac.mm:
1700 (WebCore::preferredExtensionForImageSourceType): Use RetainPtr to avoid the leak.
1702 2009-01-20 Darin Adler <darin@apple.com>
1704 Try to fix Wx build.
1706 * platform/wx/PasteboardWx.cpp:
1707 (WebCore::Pasteboard::writeSelection): Removed code that replaces backslash
1708 with backslashAsCurrencySymbol. I'm pretty sure this is not needed when writing
1709 to the clipboard. Other platforms don't do it. If it was needed, the new function
1710 to use would be displayStringModifiedByEncoding.
1712 2009-01-19 Brent Fulgham <bfulgham@gmail.com>
1714 Reviewed by Mitz Pettel.
1716 Fixes https://bugs.webkit.org/show_bug.cgi?id=23423.
1718 The Windows Cairo post-build targets (Release/Debug) do not
1719 copy all of the headers that the CG-based build does.
1721 * WebCore.vcproj/WebCore.vcproj: Extend WebCore Cairo build targets
1722 to copy the page/animation/*.h files into WebKitBuild so that
1723 WebKit can find them.
1725 2009-01-20 Dmitry Titov <dimich@chromium.org>
1727 Reviewed by Alexey Proskuryakov.
1729 https://bugs.webkit.org/show_bug.cgi?id=23413
1730 Remove unused WebCore::setDeferringTimers()
1732 * platform/Timer.cpp:
1733 (WebCore::updateSharedTimer):
1736 2009-01-20 David Hyatt <hyatt@apple.com>
1738 Tighten up the type of RenderObject owned by RenderLayer to be a RenderBox. Rename m_object to
1739 m_renderer to be consistent with the corresponding member function.
1741 Reviewed by Jon Honeycutt
1743 * rendering/RenderLayer.cpp:
1744 (WebCore::RenderLayer::RenderLayer):
1745 (WebCore::RenderLayer::updateLayerPositions):
1746 (WebCore::RenderLayer::updateVisibilityStatus):
1747 (WebCore::RenderLayer::updateLayerPosition):
1748 (WebCore::RenderLayer::stackingContext):
1749 (WebCore::RenderLayer::enclosingPositionedAncestor):
1750 (WebCore::RenderLayer::enclosingTransformedAncestor):
1751 (WebCore::RenderLayer::isTransparent):
1752 (WebCore::RenderLayer::convertToLayerCoords):
1753 (WebCore::RenderLayer::scrollByRecursively):
1754 (WebCore::RenderLayer::scrollToOffset):
1755 (WebCore::RenderLayer::scrollRectToVisible):
1756 (WebCore::RenderLayer::resize):
1757 (WebCore::RenderLayer::scrollbarCornerPresent):
1758 (WebCore::RenderLayer::createScrollbar):
1759 (WebCore::RenderLayer::setHasHorizontalScrollbar):
1760 (WebCore::RenderLayer::setHasVerticalScrollbar):
1761 (WebCore::RenderLayer::positionOverflowControls):
1762 (WebCore::RenderLayer::computeScrollDimensions):
1763 (WebCore::RenderLayer::updateOverflowStatus):
1764 (WebCore::RenderLayer::updateScrollInfoAfterLayout):
1765 (WebCore::RenderLayer::paintOverflowControls):
1766 (WebCore::RenderLayer::paintScrollCorner):
1767 (WebCore::RenderLayer::paintResizer):
1768 (WebCore::RenderLayer::isPointInResizeControl):
1769 (WebCore::RenderLayer::paintLayer):
1770 (WebCore::RenderLayer::hitTestLayer):
1771 (WebCore::RenderLayer::updateClipRects):
1772 (WebCore::RenderLayer::calculateClipRects):
1773 (WebCore::RenderLayer::calculateRects):
1774 (WebCore::RenderLayer::clearClipRects):
1775 (WebCore::RenderLayer::repaintIncludingDescendants):
1776 (WebCore::RenderLayer::styleChanged):
1777 (WebCore::RenderLayer::updateScrollCornerStyle):
1778 (WebCore::RenderLayer::updateResizerStyle):
1779 * rendering/RenderLayer.h:
1780 (WebCore::RenderLayer::renderer):
1781 (WebCore::RenderLayer::hasReflection):
1782 (WebCore::RenderLayer::hasTransform):
1784 2009-01-20 David Hyatt <hyatt@apple.com>
1786 Fix Mac build bustage from my selection changes. I forgot to implement the functions on RenderThemeMac
1787 for returning the appropriate listbox selection colors.
1791 * rendering/RenderThemeMac.mm:
1792 (WebCore::RenderThemeMac::platformActiveListBoxSelectionForegroundColor):
1793 (WebCore::RenderThemeMac::platformInactiveListBoxSelectionForegroundColor):
1794 (WebCore::RenderThemeMac::platformInactiveListBoxSelectionBackgroundColor):
1796 2009-01-20 Dave Hyatt <hyatt@apple.com>
1798 Fix for focus rings on Windows. Make sure that focus rings draw for all controls but buttons.
1800 Fix list box selection colors on Windows. Also add a cache for all of the selection colors (and not just the two
1801 background selection colors).
1803 Reviewed by Adam Roben
1805 * rendering/RenderObject.cpp:
1806 (WebCore::RenderObject::selectionForegroundColor):
1807 * rendering/RenderTheme.cpp:
1808 (WebCore::RenderTheme::activeSelectionBackgroundColor):
1809 (WebCore::RenderTheme::inactiveSelectionBackgroundColor):
1810 (WebCore::RenderTheme::activeSelectionForegroundColor):
1811 (WebCore::RenderTheme::inactiveSelectionForegroundColor):
1812 (WebCore::RenderTheme::activeListBoxSelectionBackgroundColor):
1813 (WebCore::RenderTheme::inactiveListBoxSelectionBackgroundColor):
1814 (WebCore::RenderTheme::activeListBoxSelectionForegroundColor):
1815 (WebCore::RenderTheme::inactiveListBoxSelectionForegroundColor):
1816 (WebCore::RenderTheme::platformActiveSelectionForegroundColor):
1817 (WebCore::RenderTheme::platformInactiveSelectionBackgroundColor):
1818 (WebCore::RenderTheme::platformInactiveSelectionForegroundColor):
1819 (WebCore::RenderTheme::platformActiveListBoxSelectionBackgroundColor):
1820 (WebCore::RenderTheme::platformActiveListBoxSelectionForegroundColor):
1821 (WebCore::RenderTheme::platformInactiveListBoxSelectionBackgroundColor):
1822 (WebCore::RenderTheme::platformInactiveListBoxSelectionForegroundColor):
1823 (WebCore::RenderTheme::platformColorsDidChange):
1824 * rendering/RenderTheme.h:
1825 (WebCore::RenderTheme::supportsForegroundSelectionColors):
1826 (WebCore::RenderTheme::supportsForegroundListBoxSelectionColors):
1827 * rendering/RenderThemeMac.h:
1828 (WebCore::RenderThemeMac::supportsForegroundSelectionColors):
1829 * rendering/RenderThemeMac.mm:
1830 (WebCore::RenderThemeMac::platformActiveListBoxSelectionBackgroundColor):
1831 * rendering/RenderThemeWin.cpp:
1832 (WebCore::RenderThemeWin::platformInactiveSelectionBackgroundColor):
1833 (WebCore::RenderThemeWin::platformInactiveSelectionForegroundColor):
1834 (WebCore::RenderThemeWin::supportsFocus):
1835 (WebCore::RenderThemeWin::supportsFocusRing):
1836 * rendering/RenderThemeWin.h:
1838 2009-01-20 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
1840 Reviewed by George Staikos.
1842 Fixes: https://bugs.webkit.org/show_bug.cgi?id=23434
1844 Add WML <input> element support - it required a lot of changes to the RenderText*/HTMLInput* code.
1845 Now any language can provide <input>-style elements, without having to inherit from HTML* classes.
1847 No WML specific features/attributes are handled so far. A follow-up patch will provide those bits.
1848 Added very simple fast/wml/input.wml, just checking that input elements can be rendered properly now.
1849 Detailed testcases will follow in conjunction with the WML specific attribute support.
1853 * WebCore.vcproj/WebCore.vcproj:
1854 * WebCore.xcodeproj/project.pbxproj:
1855 * css/CSSStyleSelector.cpp:
1856 (WebCore::CSSStyleSelector::adjustRenderStyle):
1857 * dom/FormControlElement.cpp: Activate disabled code from previous checking.
1858 (WebCore::formControlElementForElement):
1859 * dom/InputElement.cpp: Ditto.
1860 (WebCore::inputElementForElement):
1861 * wml/WMLInputElement.cpp: Added.
1862 (WebCore::WMLInputElement::WMLInputElement):
1863 (WebCore::WMLInputElement::~WMLInputElement):
1864 (WebCore::isInputFocusable):
1865 (WebCore::WMLInputElement::isKeyboardFocusable):
1866 (WebCore::WMLInputElement::isMouseFocusable):
1867 (WebCore::WMLInputElement::dispatchFocusEvent):
1868 (WebCore::WMLInputElement::dispatchBlurEvent):
1869 (WebCore::WMLInputElement::updateFocusAppearance):
1870 (WebCore::WMLInputElement::aboutToUnload):
1871 (WebCore::WMLInputElement::size):
1872 (WebCore::WMLInputElement::name):
1873 (WebCore::WMLInputElement::value):
1874 (WebCore::WMLInputElement::setValue):
1875 (WebCore::WMLInputElement::setValueFromRenderer):
1876 (WebCore::WMLInputElement::saveState):
1877 (WebCore::WMLInputElement::restoreState):
1878 (WebCore::WMLInputElement::select):
1879 (WebCore::WMLInputElement::accessKeyAction):
1880 (WebCore::WMLInputElement::parseMappedAttribute):
1881 (WebCore::WMLInputElement::copyNonAttributeProperties):
1882 (WebCore::WMLInputElement::createRenderer):
1883 (WebCore::WMLInputElement::attach):
1884 (WebCore::WMLInputElement::detach):
1885 (WebCore::WMLInputElement::appendFormData):
1886 (WebCore::WMLInputElement::reset):
1887 (WebCore::WMLInputElement::defaultEventHandler):
1888 (WebCore::WMLInputElement::cacheSelection):
1889 (WebCore::WMLInputElement::constrainValue):
1890 (WebCore::WMLInputElement::documentDidBecomeActive):
1891 (WebCore::WMLInputElement::placeholderShouldBeVisible):
1892 (WebCore::WMLInputElement::willMoveToNewOwnerDocument):
1893 (WebCore::WMLInputElement::didMoveToNewOwnerDocument):
1894 * wml/WMLInputElement.h: Added.
1895 (WebCore::WMLInputElement::valueMatchesRenderer):
1896 (WebCore::WMLInputElement::setValueMatchesRenderer):
1897 (WebCore::WMLInputElement::shouldUseInputMethod):
1898 (WebCore::WMLInputElement::isChecked):
1899 (WebCore::WMLInputElement::isIndeterminate):
1900 (WebCore::WMLInputElement::isTextControl):
1901 (WebCore::WMLInputElement::isRadioButton):
1902 (WebCore::WMLInputElement::isTextField):
1903 (WebCore::WMLInputElement::isSearchField):
1904 (WebCore::WMLInputElement::isInputTypeHidden):
1905 (WebCore::WMLInputElement::isPasswordField):
1906 (WebCore::WMLInputElement::searchEventsShouldBeDispatched):
1907 (WebCore::WMLInputElement::placeholderValue):
1908 * wml/WMLTagNames.in:
1910 2009-01-20 Darin Adler <darin@apple.com>
1912 Reviewed by John Sullivan.
1914 Remove a little dead code left over after the fix for
1915 https://bugs.webkit.org/show_bug.cgi?id=11395, which
1916 moved pointer-events from SVG to be shared with HTML.
1918 * css/SVGCSSParser.cpp:
1919 (WebCore::CSSParser::parseSVGValue): Remove SVG's parsing of this
1920 property since it's handled in the non-SVG function now so we'll
1923 2009-01-20 Julien Chaffraix <jchaffraix@webkit.org>
1925 Reviewed by Darin Adler.
1927 Bug 23438: Provide a default value to the .in file parser
1929 Added the default value 1 as it simplifies some of
1930 the format by removing some "=1" that were awkward.
1932 This was suggested by Darin Adler as par of a previous
1935 * bindings/scripts/InFilesParser.pm: When no value
1936 was entered (the second part of the split is undef),
1937 provide the default value.
1939 * html/HTMLAttributeNames.in: Removed unnecessary "=1".
1940 * html/HTMLTagNames.in: Ditto.
1941 * svg/svgattrs.in: Ditto.
1942 * svg/svgtags.in: Ditto.
1943 * svg/xlinkattrs.in: Ditto.
1944 * wml/WMLAttributeNames.in: Ditto.
1946 2009-01-20 Anders Carlsson <andersca@apple.com>
1948 Reviewed by Darin Adler.
1950 * bridge/c/c_class.cpp:
1951 * bridge/c/c_class.h:
1952 Get rid of CClass::name().
1954 * bridge/jni/jni_class.h:
1955 Get rid of JavaClass::name().
1957 * bridge/objc/objc_class.h:
1958 * bridge/objc/objc_class.mm:
1959 Get rid of ObjcClass::name().
1961 * bridge/objc/objc_instance.h:
1962 Get rid of supportsSetValueOfUndefinedField.
1964 * bridge/objc/objc_instance.mm:
1965 (ObjcInstance::setValueOfUndefinedField):
1966 Fold supportsSetValueOfUndefinedField into setValueOfUndefinedField.
1968 * bridge/runtime.cpp:
1969 Get rid of getValueOfField and setValueOfField.
1972 (JSC::Bindings::Instance::setValueOfUndefinedField):
1973 Have this return a bool and get rid of supportsSetValueOfUndefinedField
1975 * bridge/runtime_object.cpp:
1976 (JSC::RuntimeObjectImp::fieldGetter):
1977 Call Field::valueFromInstance on the field.
1979 (JSC::RuntimeObjectImp::put):
1980 Call Field::setValueToInstance on the field.
1982 2009-01-20 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
1984 Not reviewed. Forgot to land build changes for non-mac platforms.
1989 * WebCore.vcproj/WebCore.vcproj:
1990 * WebCoreSources.bkl:
1992 2009-01-20 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
1994 Reviewed by Adam Roben.
1996 Fix last-minute regression, introduced by simplifying max length determination - by
1997 clamping using min/max, negative maxLength values got broken.
1999 * dom/InputElement.cpp:
2000 (WebCore::InputElement::parseMaxLengthAttribute):
2002 2009-01-20 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
2004 Reviewed by Adam Roben.
2006 Fixes: https://bugs.webkit.org/show_bug.cgi?id=23433
2008 Add InputElement abstraction, similar to the FormControlElement refactorization
2009 done a month ago. The goal is to share as much code as possible between HTML/WMLInputElement.
2010 In a previous patch the RenderTextControl class has been split-up in RenderTextControlSingle/MultiLine,
2011 RenderTextControl itself only depends on FormControlElement, RenderTextControlSingleLine still
2012 depends on HTMLInputElement directly -> change that and make it use the new InputElement abstraction.
2014 A lot of code from HTMLInputElement now lives in InputElement, as static member functions - the
2015 InputElement class itself is an abstract virtual class, just like ScriptElement. HTML/WMLInputElement
2016 derive from InputElement, and hold a InputElementData member variable, that they pass to the
2017 static functions in InputElement. The abstraction is equal to the one chosen for HTML/SVGScriptElement.
2019 * WebCore.xcodeproj/project.pbxproj:
2020 * dom/FormControlElement.cpp: Added.
2021 (WebCore::formControlElementForElement):
2022 * dom/FormControlElement.h:
2023 * dom/InputElement.cpp: Added.
2024 (WebCore::InputElement::dispatchFocusEvent):
2025 (WebCore::InputElement::dispatchBlurEvent):
2026 (WebCore::InputElement::updatePlaceholderVisibility):
2027 (WebCore::InputElement::updateFocusAppearance):
2028 (WebCore::InputElement::updateSelectionRange):
2029 (WebCore::InputElement::aboutToUnload):
2030 (WebCore::InputElement::setValueFromRenderer):
2031 (WebCore::numCharactersInGraphemeClusters):
2032 (WebCore::InputElement::constrainValue):
2033 (WebCore::numGraphemeClusters):
2034 (WebCore::InputElement::handleBeforeTextInsertedEvent):
2035 (WebCore::InputElement::parseSizeAttribute):
2036 (WebCore::InputElement::parseMaxLengthAttribute):
2037 (WebCore::InputElement::updateValueIfNeeded):
2038 (WebCore::InputElement::notifyFormStateChanged):
2039 (WebCore::InputElementData::InputElementData):
2040 (WebCore::InputElementData::~InputElementData):
2041 (WebCore::InputElementData::name):
2042 (WebCore::inputElementForElement):
2043 * dom/InputElement.h: Added.
2044 (WebCore::InputElement::~InputElement):
2045 (WebCore::InputElement::InputElement):
2046 (WebCore::InputElementData::inputElement):
2047 (WebCore::InputElementData::element):
2048 (WebCore::InputElementData::placeholderShouldBeVisible):
2049 (WebCore::InputElementData::setPlaceholderShouldBeVisible):
2050 (WebCore::InputElementData::setName):
2051 (WebCore::InputElementData::value):
2052 (WebCore::InputElementData::setValue):
2053 (WebCore::InputElementData::size):
2054 (WebCore::InputElementData::setSize):
2055 (WebCore::InputElementData::maxLength):
2056 (WebCore::InputElementData::setMaxLength):
2057 (WebCore::InputElementData::cachedSelectionStart):
2058 (WebCore::InputElementData::setCachedSelectionStart):
2059 (WebCore::InputElementData::cachedSelectionEnd):
2060 (WebCore::InputElementData::setCachedSelectionEnd):
2061 * html/HTMLInputElement.cpp:
2062 (WebCore::HTMLInputElement::HTMLInputElement):
2063 (WebCore::HTMLInputElement::name):
2064 (WebCore::HTMLInputElement::updateFocusAppearance): Moved to InputElement.
2065 (WebCore::HTMLInputElement::aboutToUnload): Ditto.
2066 (WebCore::HTMLInputElement::dispatchFocusEvent): Ditto.
2067 (WebCore::HTMLInputElement::dispatchBlurEvent): Ditto.
2068 (WebCore::HTMLInputElement::setSelectionRange): Moved to InputElement::updateSelectionRange, call it from here.
2069 (WebCore::HTMLInputElement::parseMappedAttribute):
2070 (WebCore::HTMLInputElement::size): Make virtual and override InputElements abstract version.
2071 (WebCore::HTMLInputElement::copyNonAttributeProperties):
2072 (WebCore::HTMLInputElement::value): Make virtual and override InputElements abstract version.
2073 (WebCore::HTMLInputElement::setValue): Ditto.
2074 (WebCore::HTMLInputElement::placeholderValue): Ditto.
2075 (WebCore::HTMLInputElement::searchEventsShouldBeDispatched): Ditto.
2076 (WebCore::HTMLInputElement::setValueFromRenderer): Ditto.
2077 (WebCore::HTMLInputElement::setFileListFromRenderer): Use new code in InputElement::setValueFromRenderer
2078 (WebCore::HTMLInputElement::defaultEventHandler):
2079 (WebCore::HTMLInputElement::setDefaultName): Added as helper function for HTMLIsIndexElement.
2080 (WebCore::HTMLInputElement::maxLength): Added accesor.
2081 (WebCore::HTMLInputElement::constrainValue): Move functionality to InputElement::constrainValue.
2082 (WebCore::HTMLInputElement::cacheSelection): Move functionality to InputElement::cacheSelection.
2083 (WebCore::HTMLInputElement::selection):
2084 (WebCore::HTMLInputElement::placeholderShouldBeVisible): Make virtual and override InputElements abstract version.
2085 * html/HTMLInputElement.h:
2086 (WebCore::HTMLInputElement::isTextField):
2087 (WebCore::HTMLInputElement::isSearchField):
2088 (WebCore::HTMLInputElement::isAutofilled):
2089 * html/HTMLIsIndexElement.cpp:
2090 (WebCore::HTMLIsIndexElement::HTMLIsIndexElement):
2091 * rendering/RenderTextControl.cpp:
2092 (WebCore::RenderTextControl::formControlElement):
2093 * rendering/RenderTextControlSingleLine.cpp:
2094 (WebCore::RenderTextControlSingleLine::placeholderShouldBeVisible):
2095 (WebCore::RenderTextControlSingleLine::addSearchResult):
2096 (WebCore::RenderTextControlSingleLine::stopSearchEventTimer):
2097 (WebCore::RenderTextControlSingleLine::showPopup):
2098 (WebCore::RenderTextControlSingleLine::hidePopup):
2099 (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
2100 (WebCore::RenderTextControlSingleLine::capsLockStateMayHaveChanged):
2101 (WebCore::RenderTextControlSingleLine::preferredContentWidth):
2102 (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
2103 (WebCore::RenderTextControlSingleLine::updateFromElement):
2104 (WebCore::RenderTextControlSingleLine::cacheSelection):
2105 (WebCore::RenderTextControlSingleLine::createInnerBlockStyle):
2106 (WebCore::RenderTextControlSingleLine::createResultsButtonStyle):
2107 (WebCore::RenderTextControlSingleLine::createCancelButtonStyle):
2108 (WebCore::RenderTextControlSingleLine::updateCancelButtonVisibility):
2109 (WebCore::RenderTextControlSingleLine::startSearchEventTimer):
2110 (WebCore::RenderTextControlSingleLine::searchEventTimerFired):
2111 (WebCore::RenderTextControlSingleLine::valueChanged):
2112 (WebCore::RenderTextControlSingleLine::setTextFromItem):
2113 (WebCore::RenderTextControlSingleLine::inputElement):
2114 * rendering/RenderTextControlSingleLine.h:
2116 2009-01-20 Dirk Schulze <krit@webkit.org>
2118 Reviewed by Nikolas Zimmermann.
2120 Make SVG pattern platform independent and remove platform code.
2122 Make SVGPattern platform independent
2123 https://bugs.webkit.org/show_bug.cgi?id=21205
2127 * WebCore.vcproj/WebCore.vcproj:
2128 * WebCore.xcodeproj/project.pbxproj:
2129 * platform/graphics/GraphicsContext.h:
2130 * platform/graphics/cg/GraphicsContextCG.cpp:
2131 (WebCore::GraphicsContext::applyStrokePattern):
2132 (WebCore::GraphicsContext::applyFillPattern):
2133 (WebCore::GraphicsContext::drawPath):
2134 (WebCore::GraphicsContext::fillPath):
2135 (WebCore::GraphicsContext::strokePath):
2136 (WebCore::GraphicsContext::fillRect):
2137 (WebCore::GraphicsContext::strokeRect):
2138 * svg/graphics/SVGPaintServerPattern.cpp:
2139 (WebCore::SVGPaintServerPattern::SVGPaintServerPattern):
2140 (WebCore::SVGPaintServerPattern::~SVGPaintServerPattern):
2141 (WebCore::SVGPaintServerPattern::setup):
2142 (WebCore::SVGPaintServerPattern::renderPath):
2143 (WebCore::SVGPaintServerPattern::teardown):
2144 * svg/graphics/SVGPaintServerPattern.h:
2145 * svg/graphics/cairo/SVGPaintServerPatternCairo.cpp: Removed.
2146 * svg/graphics/cg/SVGPaintServerPatternCg.cpp: Removed.
2147 * svg/graphics/qt/SVGPaintServerPatternQt.cpp: Removed.
2148 * svg/graphics/skia/SVGPaintServerPatternSkia.cpp: Removed.
2150 2009-01-20 Darin Fisher <darin@chromium.org>
2152 Reviewed by Eric Seidel.
2154 https://bugs.webkit.org/show_bug.cgi?id=23436
2155 Upstream rendering/RenderThemeChromium*
2157 * rendering/RenderThemeChromiumGtk.cpp: Added.
2158 * rendering/RenderThemeChromiumGtk.h: Added.
2159 * rendering/RenderThemeChromiumMac.h: Added.
2160 * rendering/RenderThemeChromiumMac.mm: Added.
2161 * rendering/RenderThemeChromiumWin.cpp: Added.
2162 * rendering/RenderThemeChromiumWin.h: Added.
2164 2009-01-20 Darin Adler <darin@apple.com>
2166 Reviewed by Mark Rowe.
2168 Bug 23352: Turn on more compiler warnings in the Mac build
2169 https://bugs.webkit.org/show_bug.cgi?id=23352
2171 First patch: Fix some simple cases of various warnings.
2173 * platform/DeprecatedPtrListImpl.cpp:
2174 (WebCore::DeprecatedPtrListImpl::insert): Use const_cast to change const-ness.
2175 * platform/graphics/mac/SimpleFontDataMac.mm:
2176 (WebCore::SimpleFontData::containsCharacters): Ditto.
2178 * platform/text/PlatformString.h: Overload for short and unsigned short to avoid
2179 ambiguity leading to warnings.
2180 * platform/text/String.cpp:
2181 (WebCore::String::number): Implemented overloads.
2183 * platform/text/TextStream.cpp:
2184 (WebCore::TextStream::operator<<): Overload for bool to avoid ambiguity leading
2186 * platform/text/TextStream.h: Ditto.
2188 * rendering/InlineFlowBox.h: Fix declaration that was specifying the wrong type.
2190 * svg/graphics/filters/cg/WKLinearTransferFilter.m: Fix stray characters after
2191 #endif that should be a comment instead.
2192 * svg/graphics/filters/cg/WKSpecularLightingFilter.h: Ditto.
2194 * xml/XPathPath.h: Remove unneeded redundant declaration.
2196 2009-01-20 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
2198 Build fix for WML enabled builds, not reviewed.
2200 Fix unused variable warning.
2202 * wml/WMLGoElement.cpp:
2203 (WebCore::WMLGoElement::executeTask):
2205 2009-01-20 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
2207 Build fix for WML enabled builds, not reviewed.
2209 Rename 'continuation' to 'virtualContinuation'.
2211 * wml/WMLAElement.cpp:
2212 (WebCore::WMLAElement::isKeyboardFocusable):
2214 2009-01-20 Oliver Hunt <oliver@apple.com>
2218 Move runtime/ByteArray to wtf/ByteArray
2220 * ForwardingHeaders/wtf/ByteArray.h: Renamed from WebCore/ForwardingHeaders/runtime/ByteArray.h.
2221 * html/CanvasRenderingContext2D.cpp:
2222 * html/ImageData.cpp:
2223 (WebCore::ImageData::ImageData):
2225 (WebCore::ImageData::data):
2227 2009-01-20 Darin Fisher <darin@chromium.org>
2229 Reviewed by Sam Weinig.
2231 https://bugs.webkit.org/show_bug.cgi?id=23391
2232 Upstream plugins/chromium/
2234 * plugins/chromium: Added.
2235 * plugins/chromium/PluginDataChromium.cpp: Added.
2237 2009-01-19 Steve Falkenburg <sfalken@apple.com>
2239 Fix Windows release build.
2240 Move SVG files into all-in-one file for Windows build.
2242 * WebCore.vcproj/WebCore.vcproj:
2243 * svg/SVGAllInOne.cpp: Added.
2245 2009-01-19 Steve Falkenburg <sfalken@apple.com>
2248 Move new derived sources into all-in-one DerivedSources.cpp
2250 * DerivedSources.cpp:
2251 * WebCore.vcproj/WebCore.vcproj:
2253 2009-01-19 Sam Weinig <sam@webkit.org>
2257 * bridge/qt/qt_instance.cpp:
2258 (JSC::Bindings::QtInstance::mark):
2259 * bridge/qt/qt_runtime.cpp:
2260 (JSC::Bindings::valueRealType):
2261 (JSC::Bindings::convertValueToQVariant):
2262 (JSC::Bindings::QtRuntimeConnectionMethod::call):
2263 (JSC::Bindings::QtConnectionObject::execute):
2265 2009-01-19 Sam Weinig <sam@webkit.org>
2269 * plugins/PluginView.cpp:
2270 (WebCore::getString):
2272 2009-01-19 Sam Weinig <sam@webkit.org>
2274 Rubber-stamped by Gavin Barraclough.
2276 Remove temporary operator-> from JSValuePtr.
2278 * WebCore.xcodeproj/project.pbxproj:
2279 * bindings/js/JSAudioConstructor.cpp:
2280 (WebCore::constructAudio):
2281 * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
2282 (WebCore::toHTMLCanvasStyle):
2283 (WebCore::JSCanvasRenderingContext2D::setFillColor):
2284 (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
2285 (WebCore::JSCanvasRenderingContext2D::strokeRect):
2286 (WebCore::JSCanvasRenderingContext2D::drawImage):
2287 (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
2288 (WebCore::JSCanvasRenderingContext2D::setShadow):
2289 (WebCore::JSCanvasRenderingContext2D::createPattern):
2290 (WebCore::JSCanvasRenderingContext2D::putImageData):
2291 (WebCore::JSCanvasRenderingContext2D::fillText):
2292 (WebCore::JSCanvasRenderingContext2D::strokeText):
2293 * bindings/js/JSClipboardCustom.cpp:
2294 (WebCore::JSClipboard::clearData):
2295 (WebCore::JSClipboard::getData):
2296 (WebCore::JSClipboard::setData):
2297 (WebCore::JSClipboard::setDragImage):
2298 * bindings/js/JSCustomPositionCallback.cpp:
2299 (WebCore::JSCustomPositionCallback::handleEvent):
2300 * bindings/js/JSCustomPositionErrorCallback.cpp:
2301 (WebCore::JSCustomPositionErrorCallback::handleEvent):
2302 * bindings/js/JSCustomSQLStatementCallback.cpp:
2303 (WebCore::JSCustomSQLStatementCallback::handleEvent):
2304 * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
2305 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
2306 * bindings/js/JSCustomSQLTransactionCallback.cpp:
2307 (WebCore::JSCustomSQLTransactionCallback::handleEvent):
2308 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
2309 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
2310 * bindings/js/JSCustomVoidCallback.cpp:
2311 (WebCore::JSCustomVoidCallback::handleEvent):
2312 (WebCore::toVoidCallback):
2313 * bindings/js/JSCustomXPathNSResolver.cpp:
2314 (WebCore::JSCustomXPathNSResolver::create):
2315 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
2316 * bindings/js/JSDOMApplicationCacheCustom.cpp:
2317 (WebCore::JSDOMApplicationCache::hasItem):
2318 (WebCore::JSDOMApplicationCache::add):
2319 (WebCore::JSDOMApplicationCache::remove):
2320 (WebCore::JSDOMApplicationCache::addEventListener):
2321 (WebCore::JSDOMApplicationCache::removeEventListener):
2322 * bindings/js/JSDOMBinding.cpp:
2323 (WebCore::valueToStringWithNullCheck):
2324 (WebCore::valueToStringWithUndefinedOrNullCheck):
2325 (WebCore::reportException):
2326 * bindings/js/JSDOMGlobalObject.cpp:
2327 (WebCore::JSDOMGlobalObject::findJSEventListener):
2328 (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener):
2329 (WebCore::JSDOMGlobalObject::findJSUnprotectedEventListener):
2330 (WebCore::JSDOMGlobalObject::findOrCreateJSUnprotectedEventListener):
2331 * bindings/js/JSDOMStringListCustom.cpp:
2332 (WebCore::JSDOMStringList::item):
2333 * bindings/js/JSDOMWindowBase.cpp:
2334 (WebCore::JSDOMWindowBase::getOwnPropertySlot):
2335 (windowProtoFuncOpen):
2336 (WebCore::toJSDOMWindow):
2337 * bindings/js/JSDOMWindowCustom.cpp:
2338 (WebCore::JSDOMWindow::setLocation):
2339 (WebCore::JSDOMWindow::postMessage):
2340 (WebCore::setTimeoutOrInterval):
2341 (WebCore::JSDOMWindow::clearTimeout):
2342 (WebCore::JSDOMWindow::clearInterval):
2343 (WebCore::JSDOMWindow::atob):
2344 (WebCore::JSDOMWindow::btoa):
2345 (WebCore::JSDOMWindow::addEventListener):
2346 (WebCore::JSDOMWindow::removeEventListener):
2347 (WebCore::toDOMWindow):
2348 * bindings/js/JSDatabaseCustom.cpp:
2349 (WebCore::JSDatabase::changeVersion):
2350 (WebCore::JSDatabase::transaction):
2351 * bindings/js/JSDocumentCustom.cpp:
2352 (WebCore::JSDocument::setLocation):
2353 * bindings/js/JSElementCustom.cpp:
2354 (WebCore::JSElement::setAttribute):
2355 (WebCore::JSElement::setAttributeNS):
2356 * bindings/js/JSEventListener.cpp:
2357 (WebCore::JSAbstractEventListener::handleEvent):
2358 (WebCore::JSLazyEventListener::parseCode):
2359 * bindings/js/JSEventTargetNodeCustom.cpp:
2360 (WebCore::JSEventTargetNode::addEventListener):
2361 (WebCore::JSEventTargetNode::removeEventListener):
2362 * bindings/js/JSGeolocationCustom.cpp:
2363 (WebCore::createPositionOptions):
2364 (WebCore::JSGeolocation::getCurrentPosition):
2365 (WebCore::JSGeolocation::watchPosition):
2366 * bindings/js/JSHTMLCollectionCustom.cpp:
2367 (WebCore::callHTMLCollection):
2368 (WebCore::JSHTMLCollection::canGetItemsForName):
2369 (WebCore::JSHTMLCollection::item):
2370 (WebCore::JSHTMLCollection::namedItem):
2371 * bindings/js/JSHTMLDocumentCustom.cpp:
2372 (WebCore::JSHTMLDocument::open):
2373 (WebCore::writeHelper):
2374 * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
2375 (WebCore::JSHTMLOptionsCollection::setLength):
2376 (WebCore::JSHTMLOptionsCollection::add):
2377 * bindings/js/JSHTMLSelectElementCustom.cpp:
2378 (WebCore::JSHTMLSelectElement::remove):
2379 (WebCore::selectIndexSetter):
2380 * bindings/js/JSImageConstructor.cpp:
2381 (WebCore::constructImage):
2382 * bindings/js/JSInspectedObjectWrapper.cpp:
2383 (WebCore::JSInspectedObjectWrapper::wrap):
2384 (WebCore::JSInspectedObjectWrapper::prepareIncomingValue):
2385 * bindings/js/JSInspectorCallbackWrapper.cpp:
2386 (WebCore::JSInspectorCallbackWrapper::wrap):
2387 * bindings/js/JSJavaScriptCallFrameCustom.cpp:
2388 (WebCore::JSJavaScriptCallFrame::evaluate):
2389 * bindings/js/JSLocationCustom.cpp:
2390 (WebCore::JSLocation::setHref):
2391 (WebCore::JSLocation::setProtocol):
2392 (WebCore::JSLocation::setHost):
2393 (WebCore::JSLocation::setHostname):
2394 (WebCore::JSLocation::setPort):
2395 (WebCore::JSLocation::setPathname):
2396 (WebCore::JSLocation::setSearch):
2397 (WebCore::JSLocation::setHash):
2398 (WebCore::JSLocation::replace):
2399 (WebCore::JSLocation::assign):
2400 * bindings/js/JSMessageChannelConstructor.cpp:
2401 (WebCore::JSMessageChannelConstructor::mark):
2402 * bindings/js/JSMessagePortCustom.cpp:
2403 (WebCore::JSMessagePort::startConversation):
2404 (WebCore::JSMessagePort::addEventListener):
2405 (WebCore::JSMessagePort::removeEventListener):
2406 * bindings/js/JSNodeFilterCondition.cpp:
2407 (WebCore::JSNodeFilterCondition::mark):
2408 (WebCore::JSNodeFilterCondition::acceptNode):
2409 * bindings/js/JSNodeFilterCondition.h:
2410 * bindings/js/JSNodeFilterCustom.cpp:
2411 (WebCore::toNodeFilter):
2412 * bindings/js/JSNodeListCustom.cpp:
2413 (WebCore::callNodeList):
2414 * bindings/js/JSOptionConstructor.cpp:
2415 (WebCore::constructHTMLOptionElement):
2416 * bindings/js/JSQuarantinedObjectWrapper.cpp:
2417 (WebCore::JSQuarantinedObjectWrapper::asWrapper):
2418 (WebCore::JSQuarantinedObjectWrapper::construct):
2419 * bindings/js/JSSQLResultSetRowListCustom.cpp:
2420 (WebCore::JSSQLResultSetRowList::item):
2421 * bindings/js/JSSQLTransactionCustom.cpp:
2422 (WebCore::JSSQLTransaction::executeSql):
2423 * bindings/js/JSSVGElementInstanceCustom.cpp:
2424 (WebCore::JSSVGElementInstance::addEventListener):
2425 (WebCore::JSSVGElementInstance::removeEventListener):
2426 * bindings/js/JSSVGLengthCustom.cpp:
2427 (WebCore::JSSVGLength::convertToSpecifiedUnits):
2428 * bindings/js/JSSVGMatrixCustom.cpp:
2429 (WebCore::JSSVGMatrix::translate):
2430 (WebCore::JSSVGMatrix::scale):
2431 (WebCore::JSSVGMatrix::scaleNonUniform):
2432 (WebCore::JSSVGMatrix::rotate):
2433 (WebCore::JSSVGMatrix::rotateFromVector):
2434 (WebCore::JSSVGMatrix::skewX):
2435 (WebCore::JSSVGMatrix::skewY):
2436 * bindings/js/JSSVGPathSegListCustom.cpp:
2437 (WebCore::JSSVGPathSegList::getItem):
2438 (WebCore::JSSVGPathSegList::insertItemBefore):
2439 (WebCore::JSSVGPathSegList::replaceItem):
2440 (WebCore::JSSVGPathSegList::removeItem):
2441 * bindings/js/JSSVGPointListCustom.cpp:
2442 (WebCore::JSSVGPointList::getItem):
2443 (WebCore::JSSVGPointList::insertItemBefore):
2444 (WebCore::JSSVGPointList::replaceItem):
2445 (WebCore::JSSVGPointList::removeItem):
2446 * bindings/js/JSSVGTransformListCustom.cpp:
2447 (WebCore::JSSVGTransformList::getItem):
2448 (WebCore::JSSVGTransformList::insertItemBefore):
2449 (WebCore::JSSVGTransformList::replaceItem):
2450 (WebCore::JSSVGTransformList::removeItem):
2451 * bindings/js/JSStorageCustom.cpp:
2452 (WebCore::JSStorage::deleteProperty):
2453 (WebCore::JSStorage::customPut):
2454 * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
2455 (WebCore::constructWebKitCSSMatrix):
2456 * bindings/js/JSWorkerConstructor.cpp:
2457 (WebCore::constructWorker):
2458 * bindings/js/JSWorkerContextCustom.cpp:
2459 (WebCore::JSWorkerContext::addEventListener):
2460 (WebCore::JSWorkerContext::removeEventListener):
2461 * bindings/js/JSWorkerCustom.cpp:
2462 (WebCore::JSWorker::addEventListener):
2463 (WebCore::JSWorker::removeEventListener):
2464 * bindings/js/JSXMLHttpRequestCustom.cpp:
2465 (WebCore::JSXMLHttpRequest::open):
2466 (WebCore::JSXMLHttpRequest::setRequestHeader):
2467 (WebCore::JSXMLHttpRequest::send):
2468 (WebCore::JSXMLHttpRequest::getResponseHeader):
2469 (WebCore::JSXMLHttpRequest::overrideMimeType):
2470 (WebCore::JSXMLHttpRequest::addEventListener):
2471 (WebCore::JSXMLHttpRequest::removeEventListener):
2472 * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
2473 (WebCore::JSXMLHttpRequestUpload::addEventListener):
2474 (WebCore::JSXMLHttpRequestUpload::removeEventListener):
2475 * bindings/js/JSXSLTProcessorCustom.cpp:
2476 (WebCore::JSXSLTProcessor::importStylesheet):
2477 (WebCore::JSXSLTProcessor::transformToFragment):
2478 (WebCore::JSXSLTProcessor::transformToDocument):
2479 (WebCore::JSXSLTProcessor::setParameter):
2480 (WebCore::JSXSLTProcessor::getParameter):
2481 (WebCore::JSXSLTProcessor::removeParameter):
2482 * bindings/js/ScheduledAction.cpp:
2483 (WebCore::ScheduledAction::executeFunctionInContext):
2484 * bindings/js/ScriptCallStack.cpp:
2485 (WebCore::ScriptCallStack::initialize):
2486 * bindings/js/ScriptController.cpp:
2487 (WebCore::ScriptController::createScriptObjectForPluginElement):
2488 * bindings/js/ScriptValue.cpp:
2489 (WebCore::ScriptValue::getString):
2490 (WebCore::ScriptValue::isNull):
2491 (WebCore::ScriptValue::isUndefined):
2492 * bindings/objc/WebScriptObject.mm:
2493 (-[WebScriptObject callWebScriptMethod:withArguments:]):
2494 (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
2495 * bindings/scripts/CodeGeneratorJS.pm:
2496 * bridge/NP_jsobject.cpp:
2497 (_NPN_InvokeDefault):
2501 * bridge/c/c_utility.cpp:
2502 (JSC::Bindings::convertValueToNPVariant):
2503 * bridge/jni/jni_instance.cpp:
2504 (JavaInstance::invokeMethod):
2505 * bridge/jni/jni_jsobject.mm:
2506 (JavaJSObject::call):
2507 (JavaJSObject::convertValueToJObject):
2508 * bridge/jni/jni_runtime.cpp:
2509 (JavaField::dispatchValueFromInstance):
2510 (JavaField::valueFromInstance):
2511 (JavaField::dispatchSetValueToInstance):
2512 (JavaField::setValueToInstance):
2513 * bridge/jni/jni_utility.cpp:
2514 (JSC::Bindings::convertArrayInstanceToJavaArray):
2515 (JSC::Bindings::convertValueToJValue):
2516 * bridge/objc/objc_runtime.mm:
2517 (JSC::Bindings::callObjCFallbackObject):
2518 * bridge/objc/objc_utility.mm:
2519 (JSC::Bindings::convertValueToObjcValue):
2520 * bridge/runtime_method.cpp:
2521 (JSC::callRuntimeMethod):
2522 * bridge/runtime_object.cpp:
2523 (JSC::RuntimeObjectImp::getOwnPropertySlot):
2524 (JSC::callRuntimeConstructor):
2526 2009-01-20 Gustavo Noronha Silva <gns@gnome.org>
2528 Reviewed by Mark Rowe.
2530 https://bugs.webkit.org/show_bug.cgi?id=23419
2531 removal of FramePrivate.h breaks GTK+'s make dist
2533 * GNUmakefile.am: No longer mention FramePrivate.h in our build,
2534 since it was removed.
2536 2009-01-20 Alexander V. Butenko <alex@digiqube.com>
2538 Reviewed by Holger Freyther.
2540 http://bugs.webkit.org/show_bug.cgi?id=23116
2541 [GTK] Fix crash due a callback called from GIO after the
2542 destruction of the ResourceHandle
2544 * platform/network/soup/ResourceHandleSoup.cpp:
2545 (WebCore::ResourceHandle::cancel): Only call didFinishLoading if
2546 'client' is set, otherwise cancelling a load could lead to a crash.
2548 2009-01-19 Simon Fraser <simon.fraser@apple.com>
2550 Build fix: remove duplicate entries in the Xcode project, and
2551 sort the project with sort-Xcode-project-file .
2553 * WebCore.xcodeproj/project.pbxproj:
2555 2009-01-19 Simon Fraser <simon.fraser@apple.com>
2557 Reviewed by Dave Hyatt
2559 https://bugs.webkit.org/show_bug.cgi?id=18078
2561 Support animations and transitions of shorthand properties by creating
2562 PropertyWrappers that simply wrap a vector of atomic wrappers, and implement
2563 equal() and blend(). Build that collection of shorthand wrappers using the
2564 shorthand map that CSSMutableStyleDeclaration already has. Skip comparing these
2565 shorthand wrappers during 'all' transitions.
2570 * WebCore.vcproj/WebCore.vcproj:
2571 * WebCore.xcodeproj/project.pbxproj:
2572 * WebCoreSources.bkl:
2573 Add CSSPropertyLonghand.h/cpp.
2575 * css/CSSMutableStyleDeclaration.cpp:
2576 (WebCore::CSSMutableStyleDeclaration::removeShorthandProperty):
2577 Move CSSPropertyLonghand to its own file.
2579 * css/CSSPropertyLonghand.cpp: Added.
2580 (WebCore::initShorthandMap):
2581 (WebCore::longhandForProperty):
2582 * css/CSSPropertyLonghand.h: Added.
2583 (WebCore::CSSPropertyLonghand::CSSPropertyLonghand):
2584 (WebCore::CSSPropertyLonghand::properties):
2585 (WebCore::CSSPropertyLonghand::length):
2586 Code moved from CSSMutableStyleDeclaration.h/cpp
2588 * page/animation/AnimationBase.cpp:
2589 (WebCore::PropertyWrapperBase::isShorthandWrapper):
2590 (WebCore::ShorthandPropertyWrapper::ShorthandPropertyWrapper):
2591 (WebCore::ShorthandPropertyWrapper::isShorthandWrapper):
2592 (WebCore::ShorthandPropertyWrapper::equals):
2593 (WebCore::ShorthandPropertyWrapper::blend):
2594 Add a wrapper class for shorthand properties that simply wraps an
2595 array of atomic property wrappers.
2597 (WebCore::ensurePropertyMap):
2598 (WebCore::addPropertyWrapper):
2599 (WebCore::addShorthandProperties):
2600 (WebCore::wrapperForProperty):
2601 (WebCore::AnimationBase::propertiesEqual):
2602 (WebCore::AnimationBase::getPropertyAtIndex):
2603 Some minor refactoring to re-use wrapperForProperty(), and ensure that gPropertyWrapperMap
2604 is filled with an invalid index (-1), not 0.
2606 (WebCore::AnimationBase::blendProperties):
2607 * page/animation/AnimationBase.h:
2608 * page/animation/CompositeAnimation.cpp:
2609 (WebCore::CompositeAnimationPrivate::updateTransitions):
2610 When doing 'all' transitions, skip shorthand wrappers, since 'all' transitions
2611 just need to compare all the atomic property wrappers.
2613 2009-01-19 Oliver Hunt <oliver@apple.com>
2615 Reviewed by NOBODY (Build fix).
2617 Actually add the new header.
2619 * dom/GenericWorkerTask.h: Added.
2621 2009-01-19 David Levin <levin@chromium.org>
2623 Reviewed by Alexey Proskuryakov.
2625 https://bugs.webkit.org/show_bug.cgi?id=22720
2627 Provide a generic class to handle the pattern of task callbacks across worker/parent threads. It
2628 only works for methods that need 6 parameters but similar classes could be added as needed for
2629 other numbers of parameters.
2631 Add addMessage and resourceRetrievedByXMLHttpRequest to ScriptExecutionContext.
2633 Use these methods and others to remove document() from XMLHttpRequest in a few more places.
2635 No observable change in behavior, so no test.
2638 * WebCore.vcproj/WebCore.vcproj:
2639 * WebCore.xcodeproj/project.pbxproj:
2640 Sorted project file while adding GenericWorkerTask.h
2642 * bindings/js/ScriptString.h:
2643 (WebCore::ScriptString::operator=):
2644 (WebCore::ScriptString::operator+=):
2645 (WebCore::ScriptString::operator==):
2646 (WebCore::ScriptString::operator!=):
2647 Removed unnecessary JSLock.
2650 (WebCore::Document::addMessage):
2651 (WebCore::Document::resourceRetrievedByXMLHttpRequest):
2653 * dom/GenericWorkerTask.h: Added.
2654 (WebCore::GenericWorkerTaskBase::GenericWorkerTaskBase):
2655 (WebCore::GenericWorkerTaskBase::canPerformTask):
2656 (WebCore::GenericWorkerTask6::create):
2657 (WebCore::GenericWorkerTask6::GenericWorkerTask6):
2658 (WebCore::GenericWorkerTask6::performTask):
2659 (WebCore::createCallbackTask):
2660 * dom/ScriptExecutionContext.h:
2661 * dom/WorkerContext.cpp:
2662 (WebCore::addMessageTask):
2663 (WebCore::WorkerContext::addMessage):
2664 (WebCore::WorkerContext::resourceRetrievedByXMLHttpRequest):
2665 (WebCore::WorkerContext::postTaskToParentContext):
2666 * dom/WorkerContext.h:
2667 * dom/WorkerMessagingProxy.cpp:
2668 (WebCore::WorkerMessagingProxy::postTaskToParentContext):
2669 * dom/WorkerMessagingProxy.h:
2670 * dom/WorkerThread.h:
2671 * xml/XMLHttpRequest.cpp:
2672 (WebCore::XMLHttpRequest::XMLHttpRequest):
2673 (WebCore::XMLHttpRequest::dropProtection):
2674 (WebCore::reportUnsafeUsage):
2675 (WebCore::XMLHttpRequest::setRequestHeader):
2676 (WebCore::XMLHttpRequest::getResponseHeader):
2677 (WebCore::XMLHttpRequest::didFinishLoading):
2678 * xml/XMLHttpRequest.h:
2679 (WebCore::XMLHttpRequest::create):
2682 2009-01-19 Chris Fleizach <cfleizach@apple.com>
2684 Reviewed by Beth Dakin.
2686 Bug 23422: AX: AXLinks should expose access key information
2687 https://bugs.webkit.org/show_bug.cgi?id=23422
2689 Test: accessibility/accesskey.html
2691 * page/mac/AccessibilityObjectWrapper.mm:
2692 (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
2693 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
2695 2009-01-19 Alexey Proskuryakov <ap@webkit.org>
2697 Reviewed by Anders Carlsson.
2699 https://bugs.webkit.org/show_bug.cgi?id=23417
2700 Implement application cache obsolete state
2702 Test: http/tests/appcache/remove-cache.html
2704 * bindings/js/JSDOMApplicationCacheCustom.cpp:
2705 (WebCore::JSDOMApplicationCache::mark):
2707 * loader/appcache/DOMApplicationCache.h:
2708 (WebCore::DOMApplicationCache::Status):
2709 (WebCore::DOMApplicationCache::setOnobsolete):
2710 (WebCore::DOMApplicationCache::onobsolete):
2711 * loader/appcache/DOMApplicationCache.idl:
2712 Added "obsolete" event and status.
2714 * loader/appcache/ApplicationCacheGroup.h:
2715 (WebCore::ApplicationCacheGroup::savedNewestCachePointer): Removed, there is no longer
2716 any need to track what the newest cache was during teardown.
2717 (WebCore::ApplicationCacheGroup::updateStatus): Renamed Status to UpdateStatus, reducing
2718 confusion with cache group lifecycle status.
2719 (WebCore::ApplicationCacheGroup::m_isObsolete): Added an obsolete state flag.
2721 * loader/appcache/ApplicationCacheGroup.cpp:
2722 (WebCore::ApplicationCacheGroup::ApplicationCacheGroup): Initialize m_isObsolete.
2723 (WebCore::ApplicationCacheGroup::cacheForMainRequest): Assert that the returned cache does
2724 not belong to an obsolete group.
2725 (WebCore::ApplicationCacheGroup::fallbackCacheForMainRequest): Ditto.
2726 (WebCore::ApplicationCacheGroup::disassociateDocumentLoader): Disassociation can now happen
2727 via a JS swapCache() call, not only when the loader is destroyed.
2728 (WebCore::ApplicationCacheGroup::cacheDestroyed): Don't track m_savedNewestCachePointer.
2729 (WebCore::ApplicationCacheGroup::setNewestCache): Remove old newest cache from storage is
2730 a caller responsibility, because this method is also used when loading caches from disk.
2731 (WebCore::ApplicationCacheGroup::makeObsolete): Added. Mark the cache group as obsolete, and
2732 inform cache storage, so that it could be removed.
2733 (WebCore::ApplicationCacheGroup::didFailToLoadManifest): Removed, as all this method did
2734 was call cacheUpdateFailed().
2735 (WebCore::ApplicationCacheGroup::didReceiveResponse): Added a FIXME about correct failure
2737 (WebCore::ApplicationCacheGroup::didFail): Ditto.
2738 (WebCore::ApplicationCacheGroup::didReceiveManifestResponse): Call a new manifestNotFound()
2739 method for 404 and 410 responses.
2740 (WebCore::ApplicationCacheGroup::didFinishLoadingManifest): Call cacheUpdateFailed()
2741 directly, instead of the removed didFailToLoadManifest().
2742 (WebCore::ApplicationCacheGroup::manifestNotFound): Implement "remove a cache" algorithm.
2743 (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete): Remove superceded cache from storage
2744 after update successfully finishes (moved from setNewestCache()).
2745 (WebCore::ApplicationCacheGroup::associateDocumentLoaderWithCache): Revive the group using
2746 an explicitly passed pointer, without the need to save it during teardown.
2748 * loader/DocumentLoader.cpp: (WebCore::DocumentLoader::~DocumentLoader):
2749 Call the general ApplicationCacheGroup::disassociateDocumentLoader() method.
2751 * loader/appcache/ApplicationCacheStorage.h: Added a cacheGroupMadeObsolete() method, updated
2754 * loader/appcache/ApplicationCacheStorage.cpp:
2755 (WebCore::ApplicationCacheStorage::cacheGroupForURL): Assert that iterated caches are not
2757 (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL): Ditto.
2758 (WebCore::ApplicationCacheStorage::cacheGroupDestroyed): Don't do anything for obsolete
2759 groups, as they cannot be in storage.
2760 (WebCore::ApplicationCacheStorage::cacheGroupMadeObsolete): Remove the cache group from storage
2761 completely, so that a new one could replace it, if necessary.
2762 (WebCore::ApplicationCacheStorage::storeNewestCache): Added assertions.
2763 (WebCore::ApplicationCacheStorage::remove): Remove cache group if its newest cache is removed.
2765 * loader/appcache/DOMApplicationCache.cpp:
2766 (WebCore::DOMApplicationCache::status): Added support for OBSOLETE state.
2767 (WebCore::DOMApplicationCache::swapCache): Disassociate document loader from cache if the
2768 application was removed server-side.
2769 (WebCore::DOMApplicationCache::callObsoleteListener): Added support for obsolete event.
2771 * loader/appcache/DOMApplicationCache.h:
2772 (WebCore::DOMApplicationCache::Status):
2773 (WebCore::DOMApplicationCache::setOnobsolete):
2774 (WebCore::DOMApplicationCache::onobsolete):
2775 Added support for OBSOLETE state and obsolete event.
2777 * loader/appcache/DOMApplicationCache.idl: Ditto.
2779 2009-01-19 Anders Carlsson <andersca@apple.com>
2781 Reviewed by Kevin Decker.
2783 Allow plug-in views to return an instance directly.
2785 * bindings/js/ScriptControllerMac.mm:
2786 (WebCore::ScriptController::createScriptInstanceForWidget):
2788 2009-01-19 Chris Fleizach <cfleizach@apple.com>
2790 Reviewed by David Hyatt.
2792 AX: some buttons don't expose AXPress as an action
2793 https://bugs.webkit.org/show_bug.cgi?id=23399
2795 Test: accessibility/button-press-action.html
2797 * page/AccessibilityRenderObject.cpp:
2798 (WebCore::AccessibilityRenderObject::actionElement):
2800 2009-01-19 Adam Roben <aroben@apple.com>
2804 * WebCore.vcproj/WebCore.vcproj: Copy headers from page/animation into
2805 $WebKitOutputDir so that WebKit can access them.
2807 * html/HTMLBaseFontElement.cpp: Touched this file to cause a rebuild
2810 2009-01-19 Ariya Hidayat <ariya.hidayat@trolltech.com>
2812 Reviewed by Simon Hausmann.
2814 http://www.qtsoftware.com/developer/task-tracker/index_html?id=211228&method=entry
2816 [Qt] Show focus rect when a button gets the focus for the first time.
2817 This is important at least for Windows style.
2819 * platform/qt/RenderThemeQt.cpp:
2820 (WebCore::RenderThemeQt::applyTheme):
2822 2009-01-19 Ariya Hidayat <ariya.hidayat@trolltech.com>
2824 [Qt] Build fix after r39971.
2826 * platform/qt/LoggingQt.cpp:
2827 (WebCore::InitializeLoggingChannelsIfNecessary):
2829 2009-01-18 Sam Weinig <sam@webkit.org>
2831 Reviewed by Cameron Zwarich.
2833 Fix for https://bugs.webkit.org/show_bug.cgi?id=23415
2839 * WebCore.vcproj/WebCore.vcproj:
2840 * WebCore.xcodeproj/project.pbxproj:
2841 * loader/FrameLoader.cpp:
2843 (WebCore::Frame::Frame):
2844 (WebCore::Frame::~Frame):
2845 (WebCore::Frame::init):
2846 (WebCore::Frame::loader):
2847 (WebCore::Frame::view):
2848 (WebCore::Frame::setView):
2849 (WebCore::Frame::script):
2850 (WebCore::Frame::document):
2851 (WebCore::Frame::setDocument):
2852 (WebCore::Frame::settings):
2853 (WebCore::Frame::selection):
2854 (WebCore::Frame::editor):
2855 (WebCore::Frame::selectionGranularity):
2856 (WebCore::Frame::setSelectionGranularity):
2857 (WebCore::Frame::dragCaretController):
2858 (WebCore::Frame::animation):
2859 (WebCore::Frame::mark):
2860 (WebCore::Frame::setMark):
2861 (WebCore::Frame::setCaretVisible):
2862 (WebCore::Frame::clearCaretRectIfNeeded):
2863 (WebCore::Frame::selectionLayoutChanged):
2864 (WebCore::Frame::caretBlinkTimerFired):
2865 (WebCore::Frame::paintCaret):
2866 (WebCore::Frame::paintDragCaret):
2867 (WebCore::Frame::zoomFactor):
2868 (WebCore::Frame::isZoomFactorTextOnly):
2869 (WebCore::Frame::shouldApplyTextZoom):
2870 (WebCore::Frame::shouldApplyPageZoom):
2871 (WebCore::Frame::setZoomFactor):
2872 (WebCore::Frame::setPrinting):
2873 (WebCore::Frame::setJSStatusBarText):
2874 (WebCore::Frame::setJSDefaultStatusBarText):
2875 (WebCore::Frame::jsStatusBarText):
2876 (WebCore::Frame::jsDefaultStatusBarText):
2877 (WebCore::Frame::setNeedsReapplyStyles):
2878 (WebCore::Frame::needsReapplyStyles):
2879 (WebCore::Frame::reapplyStyles):
2880 (WebCore::Frame::isContentEditable):
2881 (WebCore::Frame::updateSecureKeyboardEntryIfActive):
2882 (WebCore::Frame::typingStyle):
2883 (WebCore::Frame::setTypingStyle):
2884 (WebCore::Frame::clearTypingStyle):
2885 (WebCore::Frame::computeAndSetTypingStyle):
2886 (WebCore::Frame::selectionComputedStyle):
2887 (WebCore::Frame::applyEditingStyleToBodyElement):
2888 (WebCore::Frame::removeEditingStyleFromBodyElement):
2889 (WebCore::Frame::keepAlive):
2890 (WebCore::Frame::cancelAllKeepAlive):
2891 (WebCore::Frame::clearDOMWindow):
2892 (WebCore::Frame::ownerElement):
2893 (WebCore::Frame::ownerRenderer):
2894 (WebCore::Frame::isDisconnected):
2895 (WebCore::Frame::setIsDisconnected):
2896 (WebCore::Frame::excludeFromTextSearch):
2897 (WebCore::Frame::setExcludeFromTextSearch):
2898 (WebCore::Frame::selectionBounds):
2899 (WebCore::Frame::selectionTextRects):
2900 (WebCore::Frame::isFrameSet):
2901 (WebCore::Frame::currentForm):
2902 (WebCore::Frame::forceLayout):
2903 (WebCore::Frame::sendScrollEvent):
2904 (WebCore::Frame::clearTimers):
2905 (WebCore::Frame::styleForSelectionStart):
2906 (WebCore::Frame::inViewSourceMode):
2907 (WebCore::Frame::setInViewSourceMode):
2908 (WebCore::Frame::markAllMatchesForText):
2909 (WebCore::Frame::markedTextMatchesAreHighlighted):
2910 (WebCore::Frame::setMarkedTextMatchesAreHighlighted):
2911 (WebCore::Frame::tree):
2912 (WebCore::Frame::setDOMWindow):
2913 (WebCore::Frame::domWindow):
2914 (WebCore::Frame::clearFormerDOMWindow):
2915 (WebCore::Frame::page):
2916 (WebCore::Frame::eventHandler):
2917 (WebCore::Frame::pageDestroyed):
2918 (WebCore::Frame::disconnectOwnerElement):
2919 (WebCore::Frame::documentAtPoint):
2921 * page/FramePrivate.h: Removed.
2923 * page/chromium/FrameChromium.cpp:
2924 * page/mac/FrameMac.mm:
2925 (WebCore::Frame::imageFromRect):
2926 (WebCore::Frame::selectionImage):
2927 (WebCore::Frame::snapshotDragImage):
2928 (WebCore::Frame::nodeImage):
2929 (WebCore::Frame::setUserStyleSheetLocation):
2930 (WebCore::Frame::setUserStyleSheet):
2931 * page/qt/FrameQt.cpp:
2932 (WebCore::Frame::setUserStyleSheetLocation):
2933 (WebCore::Frame::setUserStyleSheet):
2934 * page/win/FrameCGWin.cpp:
2935 (WebCore::Frame::nodeImage):
2936 * page/win/FrameWin.cpp:
2938 2009-01-18 Eric Carlson <eric.carlson@apple.com>
2940 Build fix for !ENABLE(VIDEO) following r40016.
2942 * rendering/RenderSlider.cpp:
2943 (WebCore::RenderSlider::mouseEventIsInThumb):
2945 2009-01-17 Steve Falkenburg <sfalken@apple.com>
2949 2009-01-17 David Hyatt <hyatt@apple.com>
2951 Optimize isTextNode() the same way isElementNode() was optimized in an earlier checkin. isTextNode()
2952 on Node is now non-virtual and just checks a bit that is set at construction time by Text.
2954 Reviewed by Sam Weinig
2956 * dom/CharacterData.cpp:
2957 (WebCore::CharacterData::CharacterData):
2958 * dom/CharacterData.h:
2959 * dom/EventTargetNode.cpp:
2960 (WebCore::EventTargetNode::EventTargetNode):
2961 * dom/EventTargetNode.h:
2963 (WebCore::Node::Node):
2965 (WebCore::Node::isTextNode):
2966 (WebCore::Node::isAttributeNode):
2968 (WebCore::Text::Text):
2971 2009-01-17 David Hyatt <hyatt@apple.com>
2973 Change how backslashAsCurrencySymbol() works. Instead of forcing call sites to do the direct
2974 replacement themselves, the exact transformation is instead done by the encoding (indirectly through
2975 a method on Document).
2977 These changes allow the fast case (where no replacement is needed) checks to be completely inlined for
2978 a slight speedup, and also allow encodings to do future alterations to displayed string content without
2979 having to patch call sites again.
2981 Reviewed by Oliver Hunt
2986 (WebCore::Document::displayStringModifiedByEncoding):
2987 (WebCore::Document::displayBufferModifiedByEncoding):
2988 * editing/Editor.cpp:
2989 (WebCore::Editor::addToKillRing):
2990 * editing/TextIterator.cpp:
2991 (WebCore::plainTextToMallocAllocatedBuffer):
2992 (WebCore::plainText):
2993 * editing/TextIterator.h:
2994 * html/HTMLOptGroupElement.cpp:
2995 (WebCore::HTMLOptGroupElement::groupLabelText):
2996 * html/HTMLOptionElement.cpp:
2997 (WebCore::HTMLOptionElement::text):
2998 * loader/DocumentLoader.cpp:
2999 (WebCore::canonicalizedTitle):
3001 (WebCore::displayString):
3002 (WebCore::Chrome::runJavaScriptAlert):
3003 (WebCore::Chrome::runJavaScriptConfirm):
3004 (WebCore::Chrome::runJavaScriptPrompt):
3005 (WebCore::Chrome::setStatusbarText):
3007 (WebCore::Frame::shouldClose):
3009 * platform/mac/PasteboardMac.mm:
3010 (WebCore::Pasteboard::writeSelection):
3011 * platform/text/TextCodecICU.cpp:
3012 (WebCore::TextCodecICU::encode):
3013 * platform/text/TextEncoding.cpp:
3014 (WebCore::TextEncoding::TextEncoding):
3015 * platform/text/TextEncoding.h:
3016 (WebCore::TextEncoding::displayString):
3017 (WebCore::TextEncoding::displayBuffer):
3018 * rendering/HitTestResult.cpp:
3019 (WebCore::displayString):
3020 * rendering/RenderImage.cpp:
3021 (WebCore::RenderImage::paintReplaced):
3022 * rendering/RenderObject.cpp:
3023 * rendering/RenderObject.h:
3024 * rendering/RenderText.cpp:
3025 (WebCore::RenderText::RenderText):
3026 (WebCore::RenderText::setTextInternal):
3027 * rendering/RenderTextControl.cpp:
3028 (WebCore::RenderTextControl::setInnerTextValue):
3029 (WebCore::RenderTextControl::finishText):
3031 2009-01-17 Eric Carlson <eric.carlson@apple.com>
3033 Reviewed by Adele Peterson
3035 Complete <rdar://problem/6293969>
3037 * DerivedSources.make: include mediaControlsQT.css for Mac build.
3039 * WebCore.xcodeproj/project.pbxproj: add mediaControlsQT.css
3041 * css/CSSPrimitiveValueMappings.h:
3042 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): add MediaTimelineContainerPart,
3043 CSSValueMediaCurrentTimeDisplay, and CSSValueMediaTimeRemainingDisplay
3045 * css/CSSSelector.cpp:
3046 (WebCore::CSSSelector::extractPseudoType): include new media controller element styles
3047 * css/CSSSelector.h:
3048 (WebCore::CSSSelector::): Ditto.
3050 * css/CSSStyleSelector.cpp:
3051 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): include new media
3052 controller element styles
3054 * css/CSSValueKeywords.in: add keywords for new media time display controls
3056 * css/mediaControls.css: adjust css for new control elements
3058 * css/mediaControlsQT.css: Added.
3060 * platform/ThemeTypes.h:
3061 (WebCore::): add media time display controls to ControlPart
3063 * platform/mac/WebCoreSystemInterface.h:
3064 * platform/mac/WebCoreSystemInterface.mm: pass controller style to WKSI functions
3066 * rendering/MediaControlElements.cpp:
3067 (WebCore::MediaTextDisplayElement::MediaTextDisplayElement): Added
3068 (WebCore::MediaTextDisplayElement::attachToParent): Added
3069 (WebCore::MediaTextDisplayElement::update): Added
3070 (WebCore::MediaTimeDisplayElement::MediaTimeDisplayElement): Added
3071 (WebCore::MediaControlInputElement::MediaControlInputElement): Added
3072 (WebCore::MediaControlInputElement::hitTest): Added
3073 (WebCore::MediaControlTimelineElement::defaultEventHandler): Update the time display when
3075 * rendering/MediaControlElements.h:
3076 (WebCore::): Add MediaTextDisplayElement
3078 * rendering/RenderMedia.cpp:
3079 (WebCore::RenderMedia::createTimelineContainer): Added
3080 (WebCore::RenderMedia::createTimeline): Parent is now the timeline container
3081 (WebCore::RenderMedia::createCurrentTimeDisplay): Added
3082 (WebCore::RenderMedia::createTimeRemainingDisplay): Added
3083 (WebCore::RenderMedia::updateControls): Create new elements. Don't ever start the time update
3084 timer when the time display elements are not visible
3085 (WebCore::RenderMedia::formatTime): Handle negative times. Don't display 0 hours or minutes
3086 (WebCore::RenderMedia::updateTimeDisplay): Do nothing when the time display elements are not
3087 visible. Display time remaining as well as current time.
3088 (WebCore::RenderMedia::updateControlVisibility): Don't assume opacity should be set to 0 when
3090 (WebCore::RenderMedia::forwardEvent): Call element hitTest() method instead of local function
3091 as we can't assume that all controls are rectangular
3092 * rendering/RenderMedia.h: Updated
3094 * rendering/RenderSlider.cpp:
3095 (WebCore::RenderSlider::mouseEventIsInThumb): When slider is media timeline control, call
3096 element hitTest() method instead of assuming it is rectangular
3097 * rendering/RenderSlider.h: make mouseEventIsInThumb virtual
3099 * rendering/RenderTheme.cpp:
3100 (WebCore::RenderTheme::paint): Deal with time display and timeline container
3101 * rendering/RenderTheme.h:
3102 (WebCore::RenderTheme::paintMediaTimelineContainer): Updated
3103 (WebCore::RenderTheme::paintMediaCurrentTime): Added
3104 (WebCore::RenderTheme::paintMediaTimeRemaining): Added
3106 * rendering/RenderThemeMac.h: Updated
3107 * rendering/RenderThemeMac.mm:
3109 (WebCore::mediaControllerTheme):
3110 (WebCore::RenderThemeMac::adjustSliderThumbSize): Call WebKitSystemInterface to get the thumb
3111 size when appropriate
3112 (WebCore::RenderThemeMac::paintMediaFullscreenButton): pass controller style to render function
3113 (WebCore::RenderThemeMac::paintMediaMuteButton): Ditto
3114 (WebCore::RenderThemeMac::paintMediaPlayButton): Ditto
3115 (WebCore::RenderThemeMac::paintMediaSeekBackButton): Ditto
3116 (WebCore::RenderThemeMac::paintMediaSeekForwardButton): Ditto
3117 (WebCore::RenderThemeMac::paintMediaSliderTrack): Ditto
3118 (WebCore::RenderThemeMac::paintMediaSliderThumb): Ditto
3119 (WebCore::RenderThemeMac::paintMediaTimelineContainer): Added
3120 (WebCore::RenderThemeMac::paintMediaCurrentTime): Added
3121 (WebCore::RenderThemeMac::paintMediaTimeRemaining): Added
3122 (WebCore::RenderThemeMac::extraMediaControlsStyleSheet): Added
3123 (WebCore::RenderThemeMac::hitTestMediaControlPart): Added
3124 * rendering/style/RenderStyle.h: Updated
3127 2009-01-17 David Hyatt <hyatt@apple.com>
3129 Inline a few methods in FrameView for speed.
3131 Reviewed by Oliver Hunt
3133 * page/FrameView.cpp:
3135 (WebCore::FrameView::layoutCount):
3136 (WebCore::FrameView::needsFullRepaint):
3138 2009-01-17 David Hyatt <hyatt@apple.com>
3140 Inline Document::documentElement(), since it is used by the (very hot) RenderObject::isRoot(). Split off
3141 the code that fetches and caches the document element into a separate function and inline the part that
3142 does the null check and the return of the already-cached element.
3144 Reviewed by Oliver Hunt
3147 (WebCore::Document::cacheDocumentElement):
3149 (WebCore::Document::documentElement):
3151 2009-01-17 David Hyatt <hyatt@apple.com>
3153 Minor tweaks to RenderBox::styleChange to speed it up.
3155 Reviewed by Oliver Hunt
3157 * rendering/RenderBox.cpp:
3158 (WebCore::RenderBox::styleDidChange):
3160 2009-01-17 David Hyatt <hyatt@apple.com>
3162 Inline FrameLoader::client().
3164 Reviewed by Oliver Hunt
3167 * loader/FrameLoader.cpp:
3168 * loader/FrameLoader.h:
3169 (WebCore::FrameLoader::client):
3171 2009-01-17 David Hyatt <hyatt@apple.com>
3173 Inline some Image methods for speed. Fix CachedImage's addClient method to just use isNull rather
3174 than needlessly creating a rect.
3176 Reviewed by Oliver Hunt
3178 * loader/CachedImage.cpp:
3179 (WebCore::CachedImage::addClient):
3180 * platform/graphics/Image.cpp:
3181 * platform/graphics/Image.h:
3182 (WebCore::Image::isNull):
3183 (WebCore::Image::rect):
3184 (WebCore::Image::width):
3185 (WebCore::Image::height):
3187 2009-01-17 David Hyatt <hyatt@apple.com>
3189 Avoid using the non-inlined isVariable() when adding parsed values during CSS parsing.
3191 Reviewed by Oliver Hunt
3193 * css/CSSParserValues.cpp:
3194 (WebCore::CSSParserValueList::addValue):
3196 2009-01-17 David Hyatt <hyatt@apple.com>
3198 Inline Document::inPageCache(), since - because of animation code - it is now called every time
3199 styles change on any element and so is now super-hot.
3201 Reviewed by Oliver Hunt
3205 (WebCore::Document::inPageCache):
3207 2009-01-16 David Hyatt <hyatt@apple.com>
3209 Take Font out of the GraphicsContext. Fonts are moderately expensive to both compare and to assign to.
3210 The Font's presence in the GraphicsContext was making save/restore more expensive than it needed to be,
3211 and was also causing expensive comparison checks to be made before doing alterations of the Font in the
3214 A font must now be passed as a parameter to all text drawing functions.
3216 Reviewed by Oliver Hunt
3218 * html/CanvasRenderingContext2D.cpp:
3219 (WebCore::CanvasRenderingContext2D::setFont):
3220 (WebCore::CanvasRenderingContext2D::drawTextInternal):
3221 * platform/graphics/GraphicsContext.cpp:
3222 (WebCore::GraphicsContext::drawText):
3223 (WebCore::GraphicsContext::drawBidiText):
3224 (WebCore::GraphicsContext::drawHighlightForText):
3225 * platform/graphics/GraphicsContext.h:
3226 * platform/graphics/GraphicsContextPrivate.h:
3227 * platform/graphics/qt/GraphicsContextQt.cpp:
3228 * rendering/EllipsisBox.cpp:
3229 (WebCore::EllipsisBox::paint):
3230 * rendering/InlineTextBox.cpp:
3231 (WebCore::paintTextWithShadows):
3232 (WebCore::InlineTextBox::paint):
3233 (WebCore::InlineTextBox::paintSelection):
3234 (WebCore::InlineTextBox::paintCompositionBackground):
3235 (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
3236 (WebCore::InlineTextBox::paintTextMatchMarker):
3237 (WebCore::InlineTextBox::paintDocumentMarkers):
3238 * rendering/InlineTextBox.h:
3239 * rendering/RenderFileUploadControl.cpp:
3240 (WebCore::RenderFileUploadControl::paintObject):
3241 * rendering/RenderImage.cpp:
3242 (WebCore::RenderImage::paintReplaced):
3243 * rendering/RenderListBox.cpp:
3244 (WebCore::RenderListBox::paintItemForeground):
3245 * rendering/RenderListMarker.cpp:
3246 (WebCore::RenderListMarker::paint):
3247 * rendering/SVGInlineTextBox.cpp:
3248 (WebCore::SVGInlineTextBox::paintCharacters):
3249 (WebCore::SVGInlineTextBox::paintSelection):
3250 * rendering/SVGInlineTextBox.h:
3252 (WebCore::Font::drawTextUsingSVGFont):
3254 2009-01-16 David Hyatt <hyatt@apple.com>
3256 Fix a regression from the virtualContinuation()/continuation() split where I accidentally changed
3259 Reviewed by Oliver Hunt
3261 * rendering/RenderObject.cpp:
3262 (WebCore::RenderObject::absoluteRects):
3263 (WebCore::RenderObject::absoluteQuads):
3265 2009-01-16 David Hyatt <hyatt@apple.com>
3267 Fix a regression from my before/after optimization. Make sure the <q> element puts the document
3268 into a mode where it will respect before/after rules, since <q> implicitly uses such rules.
3270 Make sure view source mode documents also turn on before/after rules, since they are used there also.
3272 Reviewed by Oliver Hunt
3274 * html/HTMLElementFactory.cpp:
3275 (WebCore::quoteConstructor):
3276 * html/HTMLViewSourceDocument.cpp:
3277 (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument):
3279 2009-01-16 Chris Fleizach <cfleizach@apple.com>
3281 Reviewed by Oliver Hunt.
3283 Bug 23397: AXURL is not reported for <INPUT type="image"> elements
3284 https://bugs.webkit.org/show_bug.cgi?id=23397
3286 Report an AXURL for inputs that have an image type.
3288 Test: accessibility/input-image-url.html
3290 * page/AccessibilityObject.h:
3291 (WebCore::AccessibilityObject::isInputImage):
3292 * page/AccessibilityRenderObject.cpp:
3293 (WebCore::AccessibilityRenderObject::isInputImage):
3294 (WebCore::AccessibilityRenderObject::url):
3295 * page/AccessibilityRenderObject.h:
3296 * page/mac/AccessibilityObjectWrapper.mm:
3297 (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
3299 2009-01-16 Adele Peterson <adele@apple.com>
3303 * loader/FrameLoader.cpp: (WebCore::FrameLoader::logCanCachePageDecision):
3305 2009-01-16 Steve Falkenburg <sfalken@apple.com>
3307 <rdar://problem/6502511> Safari crashes if it's running while the desktop theme is changed.
3309 This was caused by mismatched ENABLE definitions across WebCore and WebKit.
3311 Several virtual methods were added to RenderTheme.h, conditionalized by ENABLE(VIDEO).
3312 In addition to adding ENABLE_VIDEO to WebKit, this change also adds ENABLE_DATABASE and ENABLE_ICONDATABASE
3313 to Windows WebCore/WebKit, and adds ENABLE_WORKERS, and several ENABLE_SVG_ flags to WebKit on Windows.
3314 Our Windows ENABLE flags now match Mac.
3316 Reviewed by Adele Peterson.
3318 * WebCore.vcproj/WebCore.vcproj:
3319 * WebCore.vcproj/build-generated-files.sh:
3321 2009-01-16 Mark Rowe <mrowe@apple.com>
3325 * ChangeLog: Point out revision 40,000.
3327 2009-01-16 Eric Seidel <eric@webkit.org>
3329 Reviewed by Justin Garcia.
3331 Make surroundNodeRangeWithElement call insertNodeBefore implicitly
3332 Make insertNodeBefore take PassRefPtr
3333 Clean up the use of PassRefPtr vs. raw pointers a few places in the editing code.
3334 https://bugs.webkit.org/show_bug.cgi?id=23389
3336 * editing/ApplyStyleCommand.cpp:
3337 (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
3338 (WebCore::ApplyStyleCommand::applyTextDecorationStyle):
3339 (WebCore::ApplyStyleCommand::surroundNodeRangeWithElement):
3340 (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
3341 * editing/ApplyStyleCommand.h:
3342 * editing/CompositeEditCommand.cpp:
3343 (WebCore::CompositeEditCommand::insertNodeAt):
3344 * editing/IndentOutdentCommand.cpp:
3345 (WebCore::IndentOutdentCommand::prepareBlockquoteLevelForInsertion):
3346 * editing/InsertLineBreakCommand.cpp:
3347 (WebCore::InsertLineBreakCommand::doApply):
3348 * editing/InsertParagraphSeparatorCommand.cpp:
3349 (WebCore::InsertParagraphSeparatorCommand::doApply):
3350 * editing/InsertTextCommand.cpp:
3351 (WebCore::InsertTextCommand::insertTab):
3352 * editing/ModifySelectionListLevel.cpp:
3353 (WebCore::IncreaseSelectionListLevelCommand::doApply):
3354 * editing/ReplaceSelectionCommand.cpp:
3355 (WebCore::ReplacementFragment::removeNodePreservingChildren):
3356 (WebCore::ReplacementFragment::insertNodeBefore):
3357 (WebCore::ReplacementFragment::removeInterchangeNodes):
3358 (WebCore::ReplaceSelectionCommand::doApply):
3359 (WebCore::ReplaceSelectionCommand::insertNodeAfterAndUpdateNodesInserted):
3360 (WebCore::ReplaceSelectionCommand::insertNodeAtAndUpdateNodesInserted):
3361 (WebCore::ReplaceSelectionCommand::insertNodeBeforeAndUpdateNodesInserted):
3362 * editing/ReplaceSelectionCommand.h:
3364 2009-01-16 Chris Fleizach <cfleizach@apple.com>
3366 Reviewed by Oliver Hunt.
3368 Bug 23393: TextField has AXTitle and AXTitleUIElement
3369 https://bugs.webkit.org/show_bug.cgi?id=23393
3371 Test: accessibility/double-title.html
3373 * page/AccessibilityRenderObject.cpp:
3374 (WebCore::AccessibilityRenderObject::title):
3376 2009-01-16 Adam Treat <adam.treat@torchmobile.com>
3378 The correct build fix for all platforms.
3380 * platform/graphics/Font.h:
3382 2009-01-16 Adam Treat <adam.treat@torchmobile.com>
3386 * platform/graphics/Font.h:
3388 2009-01-16 David Hyatt <hyatt@apple.com>
3390 Add a new flag (similar to first-line and first-letter) to Document to track whether any before/after rules
3391 are being used. If not, don't waste time probing for those pseudo element styles.
3393 Reviewed by Sam Weinig
3397 (WebCore::Document::Document):
3399 (WebCore::Document::usesBeforeAfterRules):
3400 (WebCore::Document::setUsesBeforeAfterRules):
3401 * rendering/RenderBlock.cpp:
3402 (WebCore::RenderBlock::styleDidChange):
3403 * rendering/RenderContainer.cpp:
3404 (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
3405 * rendering/RenderInline.cpp:
3406 (WebCore::RenderInline::styleDidChange):
3407 (WebCore::RenderInline::addChildToFlow):
3408 (WebCore::RenderInline::splitInlines):
3410 2009-01-16 Dmitry Titov <dimich@chromium.org>
3412 Reviewed by Alp Toker.
3414 https://bugs.webkit.org/show_bug.cgi?id=23394
3415 Remove unnecessary calls to setDeferringTimers().
3417 Use of this function was obsoleted by better handling of EINTR.
3419 * platform/network/curl/ResourceHandleManager.cpp:
3420 (WebCore::ResourceHandleManager::downloadTimerCallback): removed setDeferringTimers calls.
3422 2009-01-16 David Hyatt <hyatt@apple.com>
3424 Fix badness with the cursor CSS property. For all links and form controls, resetting to a value of auto
3425 was resulting in the creation of a cursor list. clearCursorList was creating a new list rather than just
3426 nulling out the pointer. Since addCursor already lazily recreates the list, in the case of simple cursor types,
3427 the clear method was wastefully creating a completely unnecessary list for all of these elements.
3429 Also optimized the setting of simple cursor values to not alter the RenderStyle's cursor setting if it is already
3430 set to the same value. Since this is the common case, it prevents a fault and copy of StyleInheritedData for
3431 all links and form controls.
3433 This is a PLT speedup.
3435 Reviewed by Oliver Hunt
3437 * css/CSSStyleSelector.cpp:
3438 (WebCore::CSSStyleSelector::applyProperty):
3439 * rendering/style/RenderStyle.cpp:
3440 (WebCore::RenderStyle::clearCursorList):
3442 2009-01-16 Darin Fisher <darin@chromium.org>
3444 Reviewed by Darin Adler.
3446 https://bugs.webkit.org/show_bug.cgi?id=23384
3447 PLATFORM(CHROMIUM) needs to delegate BackForwardList.cpp methods to the embedder
3449 * history/BackForwardList.h:
3450 (WebCore::BackForwardListClient::~BackForwardListClient):
3451 (WebCore::BackForwardList::setClient):
3452 * history/BackForwardListChromium.cpp: Added.
3454 2009-01-16 Dan Bernstein <mitz@apple.com>
3456 Reviewed by Kevin Decker and Adam Roben.
3458 - fix a regression that resulted in a crash when plug-ins were
3461 * rendering/RenderPartObject.cpp:
3462 (WebCore::RenderPartObject::updateWidget): Added a null check.
3464 2009-01-16 David Hyatt <hyatt@apple.com>
3466 Split continuation() into virtual and non-virtual versions so that the non-virtual version can
3467 be used whereever possible. Eventually the virtual method can be eliminated completely.
3469 Reviewed by Sam Weinig and Oliver Hunt
3471 * html/HTMLAnchorElement.cpp:
3472 (WebCore::HTMLAnchorElement::isKeyboardFocusable):
3473 * page/AccessibilityRenderObject.cpp:
3474 (WebCore::AccessibilityRenderObject::anchorElement):
3475 * rendering/InlineFlowBox.cpp:
3476 (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
3477 (WebCore::InlineFlowBox::paint):
3478 * rendering/RenderBlock.cpp:
3479 (WebCore::RenderBlock::removeChild):
3480 * rendering/RenderContainer.cpp:
3481 (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
3482 * rendering/RenderFlow.h:
3483 (WebCore::RenderFlow::virtualContinuation):
3484 (WebCore::RenderFlow::continuation):
3485 * rendering/RenderInline.cpp:
3486 (WebCore::RenderInline::positionForCoordinates):
3487 * rendering/RenderObject.cpp:
3488 (WebCore::RenderObject::absoluteRects):
3489 (WebCore::RenderObject::absoluteQuads):
3490 (WebCore::RenderObject::addFocusRingRects):
3491 (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
3492 (WebCore::RenderObject::getAbsoluteRepaintRectWithOutline):
3493 (WebCore::RenderObject::handleDynamicFloatPositionChange):
3494 (WebCore::RenderObject::hoverAncestor):
3495 (WebCore::RenderObject::updateDragState):
3496 (WebCore::RenderObject::updateHitTestResult):
3497 (WebCore::RenderObject::getTextDecorationColors):
3498 (WebCore::RenderObject::adjustRectForOutlineAndShadow):
3499 * rendering/RenderObject.h:
3500 (WebCore::RenderObject::virtualContinuation):
3502 2009-01-16 David Hyatt <hyatt@apple.com>
3504 Inline the methods of Font for obtaining metrics such as ascent, descent and line spacing.
3508 * platform/graphics/Font.cpp:
3509 * platform/graphics/Font.h:
3510 (WebCore::Font::width):
3511 (WebCore::Font::ascent):
3512 (WebCore::Font::descent):
3513 (WebCore::Font::lineSpacing):
3514 (WebCore::Font::lineGap):
3515 (WebCore::Font::xHeight):
3516 (WebCore::Font::unitsPerEm):
3517 (WebCore::Font::spaceWidth):
3519 2009-01-16 Sam Weinig <sam@webkit.org>
3521 Reviewed by David Hyatt.
3523 Fix for https://bugs.webkit.org/show_bug.cgi?id=23388
3524 Remove FrameViewPrivate
3526 Removes an indirection and is a small speedup on PLT.
3528 * page/FrameView.cpp:
3529 (WebCore::FrameView::FrameView):
3530 (WebCore::FrameView::~FrameView):
3531 (WebCore::FrameView::reset):
3532 (WebCore::FrameView::resetScrollbars):
3533 (WebCore::FrameView::init):
3534 (WebCore::FrameView::clear):
3535 (WebCore::FrameView::didFirstLayout):
3536 (WebCore::FrameView::initScrollbars):
3537 (WebCore::FrameView::updateDefaultScrollbarState):
3538 (WebCore::FrameView::setCanHaveScrollbars):
3539 (WebCore::FrameView::applyOverflowToViewport):
3540 (WebCore::FrameView::layoutCount):
3541 (WebCore::FrameView::needsFullRepaint):
3542 (WebCore::FrameView::layoutRoot):
3543 (WebCore::FrameView::layout):
3544 (WebCore::FrameView::setMediaType):
3545 (WebCore::FrameView::mediaType):
3546 (WebCore::FrameView::useSlowRepaints):
3547 (WebCore::FrameView::setUseSlowRepaints):
3548 (WebCore::FrameView::addSlowRepaintObject):
3549 (WebCore::FrameView::removeSlowRepaintObject):
3550 (WebCore::FrameView::scrollRectIntoViewRecursively):
3551 (WebCore::FrameView::setScrollPosition):
3552 (WebCore::FrameView::repaintContentRectangle):
3553 (WebCore::FrameView::beginDeferredRepaints):
3554 (WebCore::FrameView::endDeferredRepaints):
3555 (WebCore::FrameView::scheduleRelayout):
3556 (WebCore::FrameView::scheduleRelayoutOfSubtree):
3557 (WebCore::FrameView::layoutPending):
3558 (WebCore::FrameView::needsLayout):
3559 (WebCore::FrameView::unscheduleRelayout):
3560 (WebCore::FrameView::isTransparent):
3561 (WebCore::FrameView::setTransparent):
3562 (WebCore::FrameView::baseBackgroundColor):
3563 (WebCore::FrameView::setBaseBackgroundColor):
3564 (WebCore::FrameView::shouldUpdateWhileOffscreen):
3565 (WebCore::FrameView::setShouldUpdateWhileOffscreen):
3566 (WebCore::FrameView::scheduleEvent):
3567 (WebCore::FrameView::pauseScheduledEvents):
3568 (WebCore::FrameView::resumeScheduledEvents):
3569 (WebCore::FrameView::performPostLayoutTasks):
3570 (WebCore::FrameView::updateOverflowStatus):
3571 (WebCore::FrameView::dispatchScheduledEvents):
3572 (WebCore::FrameView::wasScrolledByUser):
3573 (WebCore::FrameView::setWasScrolledByUser):
3574 (WebCore::FrameView::paintContents):
3575 (WebCore::FrameView::setPaintRestriction):
3576 (WebCore::FrameView::isPainting):
3577 (WebCore::FrameView::setNodeToDraw):
3579 (WebCore::FrameView::setIsVisuallyNonEmpty): Inline.
3581 2009-01-14 Julien Chaffraix <jchaffraix@webkit.org>
3583 Reviewed by Darin Adler.
3585 Bug 23237: Some HTML constructors in HTMLElementFactory needs
3586 an HTMLFormElement argument
3588 - Added 'constructorNeedsFormElement' parameter to make_names.pl to account
3589 for HTML form elements.
3591 - Added the new information to HTMLTagNames.in.
3593 * dom/make_names.pl:
3594 * html/HTMLTagNames.in:
3596 2009-01-16 David Hyatt <hyatt@apple.com>
3598 Eliminate a bunch of save/restore pairs from commonly used GraphicsContext methods. The most common reason
3599 for needing save/restore in the line-drawing methods was antialiasing, so this has now been made part of
3600 the cross-platform graphics state. By being able to query for the current antialiasing setting, antialiasing
3601 can be temporarily changed and then restored back to the real value without needing to do a save/restore.
3603 The line drawing code also set the fill color to the stroke color and relied on save/restore to prevent
3604 a permanent mutation of the fill color in the CGContext. The new code just restores the fill color back
3605 to its original value without doing the much more expensive save/restore.
3607 Reviewed by Oliver Hunt
3609 * platform/graphics/GraphicsContext.cpp:
3610 (WebCore::GraphicsContext::setShouldAntialias):
3611 (WebCore::GraphicsContext::shouldAntialias):
3612 * platform/graphics/GraphicsContext.h:
3613 * platform/graphics/GraphicsContextPrivate.h:
3614 (WebCore::GraphicsContextState::GraphicsContextState):
3615 * platform/graphics/cairo/GraphicsContextCairo.cpp:
3616 (WebCore::GraphicsContext::setPlatformShouldAntialias):
3617 * platform/graphics/cg/GraphicsContextCG.cpp:
3618 (WebCore::GraphicsContext::drawLine):
3619 (WebCore::GraphicsContext::drawConvexPolygon):
3620 (WebCore::GraphicsContext::drawLineForText):
3621 (WebCore::GraphicsContext::setPlatformShouldAntialias):
3622 * platform/graphics/qt/GraphicsContextQt.cpp:
3623 (WebCore::GraphicsContext::setPlatformShouldAntialias):
3624 * platform/graphics/skia/GraphicsContextSkia.cpp:
3625 (WebCore::GraphicsContext::setPlatformShouldAntialias):
3626 * platform/graphics/wx/GraphicsContextWx.cpp:
3627 (WebCore::GraphicsContext::setPlatformShouldAntialias):
3628 * rendering/RenderPath.cpp:
3629 (WebCore::RenderPath::paint):
3631 2009-01-16 Anders Carlsson <andersca@apple.com>
3633 Reviewed by Sam Weinig.
3635 Clean up the bridge code and get rid of Field::name() and Method::name().
3637 * bridge/c/c_instance.cpp:
3638 (JSC::Bindings::CInstance::invokeMethod):
3639 * bridge/c/c_runtime.cpp:
3640 * bridge/c/c_runtime.h:
3641 (JSC::Bindings::CField::identifier):
3642 (JSC::Bindings::CMethod::identifier):
3643 * bridge/jni/jni_class.cpp:
3644 (JavaClass::JavaClass):
3645 * bridge/jni/jni_instance.cpp:
3646 (JavaInstance::invokeMethod):
3647 * bridge/jni/jni_runtime.cpp:
3648 (JavaField::valueFromInstance):
3649 (JavaField::setValueToInstance):
3650 (JavaMethod::methodID):
3651 * bridge/jni/jni_runtime.h:
3652 (JSC::Bindings::JavaField::name):
3653 (JSC::Bindings::JavaMethod::name):
3654 * bridge/objc/objc_class.mm:
3655 (JSC::Bindings::ObjcClass::methodsNamed):
3656 * bridge/objc/objc_instance.mm:
3657 (ObjcInstance::invokeMethod):
3658 * bridge/objc/objc_runtime.h:
3659 (JSC::Bindings::ObjcMethod::isFallbackMethod):
3660 (JSC::Bindings::ObjcMethod::selector):
3661 * bridge/objc/objc_runtime.mm:
3662 (JSC::Bindings::ObjcMethod::ObjcMethod):
3663 (JSC::Bindings::ObjcMethod::getMethodSignature):
3664 (JSC::Bindings::ObjcField::ObjcField):
3665 (JSC::Bindings::ObjcField::valueFromInstance):
3666 (JSC::Bindings::ObjcField::setValueToInstance):
3667 (JSC::Bindings::callObjCFallbackObject):
3670 2009-01-16 David Hyatt <hyatt@apple.com>
3672 Optimize RenderText::styleDidChange. Don't call the base class, which does extra meaningless work.
3673 Instead just do the one check we need to do (for a diff of layout) and mark dirty as appropriate.
3674 Clean up the base class method also to just bail early if no m_parent is set instead of repeatedly checking
3675 for the existence of m_parent in each if clause.
3677 Reviewed by Darin Adler
3679 * rendering/RenderObject.cpp:
3680 (WebCore::RenderObject::styleDidChange):
3681 * rendering/RenderText.cpp:
3682 (WebCore::RenderText::styleDidChange):
3684 2009-01-16 Chris Fleizach <cfleizach@apple.com>
3686 Reviewed by Beth Dakin.
3688 Bug 23387: AX hierarchy is incorrect when iframes are present
3689 https://bugs.webkit.org/show_bug.cgi?id=23387
3691 The AX hierarchy is incorrect when iframes are present.
3693 Test: accessibility/iframe-bastardization.html
3695 * page/mac/AccessibilityObjectWrapper.mm:
3696 (-[AccessibilityObjectWrapper renderWidgetChildren]):
3698 2009-01-16 Brady Eidson <beidson@apple.com>
3700 Reviewed by Darin Adler
3702 <rdar://problem/3541409> - Split up some back/forward cache decision making and add detailed logging to
3703 better understand what the common disqualifiers are.
3705 * loader/FrameLoader.cpp:
3706 (WebCore::FrameLoader::canCachePageContainingThisFrame):
3707 (WebCore::FrameLoader::canCachePage): Split off what will be per-frame decision making into canCacheSubframe.
3708 (WebCore::FrameLoader::logCanCachePageDecision): Detailed logging about why a page may not be considered for
3709 the back/forward cache.
3710 (WebCore::FrameLoader::logCanCacheFrameDecision): Same detailed logging on the per-frame basis.
3711 (WebCore::FrameLoader::commitProvisionalLoad): Move the m_client->canCachePage() call into canCachePageContainingThisFrame().
3712 * loader/FrameLoader.h:
3714 2009-01-16 Chris Marrin <cmarrin@apple.com>
3716 Reviewed by David Hyatt.
3718 Test: transitions/hang-with-bad-transition-list.html
3720 Fixed https://bugs.webkit.org/show_bug.cgi?id=23088.
3721 This was happening because I was calling setChanged() from inside updateRendering()
3722 which causes an infinite loop. I fixed this by deferring the setChanged to the next
3723 run loop iteration. That made it not infinite loop, but it still retriggers the
3724 transition forever. The problem is that there is both an 'all' and specific transition
3725 on 'opacity'. This tickled a bug in AnimationController which causes the opacity
3726 transition to get constantly cancelled and then retriggered. The problem is that
3727 the specific opacity transition has a duration of 0. I got rid of the logic to
3728 flush out 0 duration transitions and it is no longer constantly triggered. The
3729 logic to flush them was just an optimization, and you really need to keep them
3730 around to make the logic to override earlier animations by later ones work. And there is
3731 very little overhead in this case anyway, so the optimization was not that useful.
3733 I made a LayoutTest from the original testcase which tests both the infinite
3734 loop and constantly triggering animation cases.
3736 * page/animation/AnimationBase.cpp:
3737 (WebCore::AnimationBase::updateStateMachine):
3738 * page/animation/AnimationController.cpp:
3739 (WebCore::AnimationControllerPrivate::updateRenderingDispatcherFired):
3740 (WebCore::AnimationControllerPrivate::addNodeChangeToDispatch):
3741 (WebCore::AnimationController::addNodeChangeToDispatch):
3742 * page/animation/AnimationController.h:
3743 * page/animation/CompositeAnimation.cpp:
3744 (WebCore::CompositeAnimationPrivate::updateTransitions):
3745 * rendering/style/RenderStyle.cpp:
3746 (WebCore::RenderStyle::adjustAnimations):
3747 (WebCore::RenderStyle::adjustTransitions):
3749 2009-01-16 Chris Fleizach <cfleizach@apple.com>
3751 Reviewed by Darin Adler.
3753 Bug 23385: crash at com.apple.WebCore WebCore::HTMLAnchorElement::isKeyboardFocusable
3754 https://bugs.webkit.org/show_bug.cgi?id=23385
3756 Option-tabbing through the page mentioned in the bug causes a crash
3758 Test: fast/events/tab-crash-with-image-map.html
3760 * html/HTMLAnchorElement.cpp:
3761 (WebCore::HTMLAnchorElement::isKeyboardFocusable):
3763 2009-01-16 Thiago Macieira <thiago.macieira@nokia.com>
3765 Reviewed by Simon Hausmann.
3767 [Qt] Fixes QString and 8-bit mix fixes.
3769 Details: Make sure we use QLatin1String where appropriate (and don't
3770 use QString when not necessary)
3772 * platform/graphics/qt/ImageDecoderQt.cpp:
3773 (WebCore::ImageDecoderQt::create):
3774 * platform/graphics/qt/SimpleFontDataQt.cpp:
3775 (WebCore::SimpleFontData::platformInit):
3776 * platform/qt/FileSystemQt.cpp:
3777 (WebCore::openTemporaryFile):
3778 * platform/qt/LoggingQt.cpp:
3779 (WebCore::InitializeLoggingChannelsIfNecessary):
3780 * platform/qt/RenderThemeQt.cpp:
3781 (WebCore::RenderThemeQt::extraMediaControlsStyleSheet):
3782 * plugins/qt/PluginDataQt.cpp:
3783 (WebCore::PluginData::initPlugins):
3785 2009-01-16 Ariya Hidayat <ariya.hidayat@trolltech.com>
3787 Reviewed by Adam Roben.
3789 https://bugs.webkit.org/show_bug.cgi?id=22452
3791 When plugins are disabled, plugin data should not be available for
3792 the page. This ensures that navigator.plugins would not see the
3793 additional MIME types supported by the plugins.
3796 (WebCore::Page::pluginData):
3797 * loader/FrameLoader.cpp:
3798 (WebCore::FrameLoader::shouldUsePlugin):
3799 * rendering/RenderPartObject.cpp:
3800 (WebCore::RenderPartObject::updateWidget):
3802 2009-01-15 Chris Marrin <cmarrin@apple.com>
3804 Reviewed by Sam Weinig.
3806 Got rid of .idl file in Resources for bug https://bugs.webkit.org/show_bug.cgi?id=21421.
3807 Also fixed the test case to work on ppc.
3809 * WebCore.xcodeproj/project.pbxproj:
3811 2009-01-16 Ariya Hidayat <ariya.hidayat@trolltech.com>
3813 Another attempt at fixing the Qt build.
3815 * bridge/qt/qt_instance.cpp:
3816 (JSC::Bindings::QtInstance::getInstance):
3818 2009-01-16 David Hyatt <hyatt@apple.com>
3820 Fix for 1.85% PLT regression. Since asking if a frame is "complete" actually aggressively decodes
3821 the frame, we add an optimization when advancing animations. If we have received all of the animated
3822 image's data, then obviously we can go ahead and advance safely. This prevents the first draw of an image
3823 from decoding two frames' worth of data in the case where all of the image's data has been received.
3825 While this fixes the cached case, there could in fact be a regression on the uncached PLT from this change
3826 as well. It's not immediately clear how that regression would be fixed, though, and it would likely be
3827 a much smaller percentage of that overall uncached time.
3829 Reviewed by Dan Bernstein
3831 * platform/graphics/BitmapImage.cpp:
3832 (WebCore::BitmapImage::startAnimation):
3834 2009-01-15 Alexey Proskuryakov <ap@webkit.org>
3836 Reviewed by Anders Carlsson.
3838 https://bugs.webkit.org/show_bug.cgi?id=23349
3839 Don't store obsolete caches in disk storage
3841 * loader/ResourceLoader.cpp:
3842 (WebCore::ResourceLoader::ResourceLoader):
3843 (WebCore::ResourceLoader::load):
3844 (WebCore::ResourceLoader::scheduleLoadFallbackResourceFromApplicationCache):
3845 * loader/ResourceLoader.h:
3846 Don't maintain m_wasLoadedFromApplicationCache, which was never used.
3848 * loader/appcache/ApplicationCache.cpp: (WebCore::ApplicationCache::addResource):
3849 Assert that only implicit and dynamic resources can be added after the cache has been fully
3850 loaded and stored to disk database.
3852 * loader/appcache/ApplicationCacheGroup.cpp:
3853 (WebCore::ApplicationCacheGroup::cacheDestroyed): Don't remove non-newest caches from disk
3854 database, as this is now done whenever the cache becomes obsolete.
3855 (WebCore::ApplicationCacheGroup::setNewestCache): Remove an obsolete cache from disk storage.
3857 * loader/appcache/ApplicationCacheStorage.cpp: (WebCore::ApplicationCacheStorage::cacheGroupDestroyed):
3858 A cache group that has never been saved should not be remembered in m_cacheHostSet. Changed
3859 the check to no longer rely on savedNewestCachePointer.
3861 2009-01-15 Dimitri Dupuis-Latour <dupuislatour@apple.com>
3863 <rdar://problem/5870656> selectorText and cssText are clipped for :nth-child() and :nth-of-type();
3865 Reviewed by Timothy Hatcher.
3867 * css/CSSSelector.cpp:
3868 (WebCore::CSSSelector::selectorText):
3870 2009-01-15 Justin Garcia <justin.garcia@apple.com>
3872 Reviewed by Oliver Hunt.
3874 <rdar://problem/6444148> Styling a selection that ends in a line break can sometimes style what's after the break
3876 If the range to style ended at [node, 0] or inside node (and if for some reason the node didn't get split),
3877 applyInlineStyle would style node.
3879 * editing/ApplyStyleCommand.cpp:
3880 (WebCore::ApplyStyleCommand::applyInlineStyle): Rename pastLast to pastEndNode, since it doesn't come from
3881 Range::pastLastNode() anymore. pastEndNode is the node after the last one that is fully selected, since
3882 the work done in the loop that follows should only be performed on fully selected nodes.
3883 * editing/InsertLineBreakCommand.cpp:
3884 (WebCore::InsertLineBreakCommand::doApply): Explicitly handle insertion into containers and after non-text nodes.
3885 Those were handled accidently before.
3886 * editing/htmlediting.cpp:
3887 (WebCore::caretMaxOffset): In various places we call this with a container and expect to be given the number
3888 of children in that container, so I changed it to match that. RenderBR and RenderObject::caretMaxOffset() should
3889 also be eliminated since maxDeepOffset handles non-text nodes.
3891 2009-01-15 Anders Carlsson <andersca@apple.com>
3893 Reviewed by Geoffrey Garen.
3895 Get rid of the dreaded BindingLanguage once and for all. Also get rid of Instance::getInstance.
3897 * bridge/c/c_instance.h:
3898 * bridge/jni/jni_instance.h:
3899 * bridge/objc/objc_instance.h:
3900 * bridge/qt/qt_instance.h:
3901 * bridge/runtime.cpp:
3903 * bridge/runtime_object.h:
3905 2009-01-15 David Hyatt <hyatt@apple.com>
3907 Eliminate an extra virtual function call that occurs for every single RenderText by moving the SVG-specific
3908 code that was placed into RenderText::styleDidChange into RenderSVGInlineText::styleDidChange.
3910 Reviewed by Oliver Hunt
3912 * rendering/RenderSVGInlineText.cpp:
3913 (WebCore::RenderSVGInlineText::styleDidChange):
3914 * rendering/RenderSVGInlineText.h:
3915 * rendering/RenderText.cpp:
3916 (WebCore::RenderText::styleDidChange):
3918 2009-01-15 Anders Carlsson <andersca@apple.com>
3920 Another attempt at fixing the Qt build.
3922 * bridge/qt/qt_instance.cpp:
3923 (JSC::Bindings::QtInstance::getOwnPropertySlot):
3924 (JSC::Bindings::QtInstance::put):
3925 * bridge/qt/qt_instance.h:
3927 (JSC::Bindings::Instance::getOwnPropertySlot):
3928 (JSC::Bindings::Instance::put):
3929 * bridge/runtime_object.cpp:
3930 (JSC::RuntimeObjectImp::getOwnPropertySlot):
3931 (JSC::RuntimeObjectImp::put):
3933 2009-01-15 Anders Carlsson <andersca@apple.com>
3935 Reviewed by Darin Adler.
3937 Add QtInstance::getInstance and start using it.
3939 * bridge/qt/qt_instance.cpp:
3940 (JSC::Bindings::QtRuntimeObjectImp::mark):
3941 (JSC::Bindings::QtRuntimeObjectImp::classInfo):
3943 (JSC::Bindings::QtInstance::getInstance):
3944 * bridge/qt/qt_instance.h:
3945 * bridge/qt/qt_runtime.cpp:
3946 (JSC::Bindings::convertValueToQVariant):
3948 2009-01-15 Anders Carlsson <andersca@apple.com>
3950 Reviewed by Sam Weinig.
3952 Add the ability for Instance objects to override getOwnPropertySlot/put for runtime objects.
3954 * bridge/qt/qt_instance.cpp:
3955 (JSC::Bindings::QtInstance::getOwnPropertySlot):
3956 (JSC::Bindings::QtInstance::put):
3957 * bridge/qt/qt_instance.h:
3959 (JSC::Bindings::Instance::getOwnPropertySlot):
3960 (JSC::Bindings::Instance::put):
3961 * bridge/runtime_object.cpp:
3962 (JSC::RuntimeObjectImp::getOwnPropertySlot):
3963 (JSC::RuntimeObjectImp::put):
3965 2009-01-15 Anders Carlsson <andersca@apple.com>
3969 * bridge/qt/qt_instance.cpp:
3970 (JSC::Bindings::QtInstance::createRuntimeObject):
3971 * bridge/qt/qt_instance.h:
3973 2009-01-15 David Hyatt <hyatt@apple.com>
3975 Fix for <rdar://problem/6500278> REGRESSION: 3.5% of samples on iBench in WebCore::Frame::setZoomFactor
3977 setZoomFactor was supposed to bail if both the zoom factor and mode were the same. The mode check was
3978 buggy and doing the wrong thing.
3980 Reviewed by Darin Adler
3983 (WebCore::Frame::setZoomFactor):
3985 2009-01-15 Anders Carlsson <andersca@apple.com>
3987 Reviewed by Geoffrey Garen.
3989 Make Instance::createRuntimeObject a virtual function and override it for QtInstance.
3991 * bindings/js/JSPluginElementFunctions.cpp:
3992 (WebCore::getRuntimeObject):
3993 * bridge/c/c_utility.cpp:
3994 (JSC::Bindings::convertNPVariantToValue):
3995 * bridge/jni/jni_instance.cpp:
3996 (JavaInstance::invokeMethod):
3997 * bridge/jni/jni_jsobject.mm:
3998 (JavaJSObject::convertJObjectToValue):
3999 * bridge/jni/jni_runtime.cpp:
4000 (JavaField::valueFromInstance):
4001 (JavaArray::valueAt):
4002 * bridge/objc/objc_utility.mm:
4003 (JSC::Bindings::convertObjcValueToValue):
4004 * bridge/qt/qt_instance.cpp:
4005 (JSC::Bindings::QtInstance::getRuntimeObject):
4006 (JSC::Bindings::QtInstance::createRuntimeObject):
4007 * bridge/qt/qt_instance.h:
4008 * bridge/qt/qt_runtime.cpp:
4009 (JSC::Bindings::convertQVariantToValue):
4010 (JSC::Bindings::QtConnectionObject::execute):
4011 * bridge/runtime.cpp:
4012 (JSC::Bindings::Instance::createRuntimeObject):
4015 2009-01-15 Dimitri Glazkov <dglazkov@chromium.org>
4017 Reviewed by Darin Adler.
4019 https://bugs.webkit.org/show_bug.cgi?id=23354
4020 Fix up graphics/chromium files to account for Uniscribe style scrubbing.
4022 * platform/graphics/chromium/FontChromiumWin.cpp:
4023 (WebCore::windowsCanHandleTextDrawing):
4024 (WebCore::Font::selectionRectForComplexText):
4025 (WebCore::Font::drawComplexText):
4026 (WebCore::Font::floatWidthForComplexText):
4027 (WebCore::Font::offsetForPositionForComplexText):
4028 * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
4029 (WebCore::fillNonBMPGlyphs):
4031 2009-01-15 David Levin <levin@chromium.org>
4033 Reviewed by Darin Adler.
4035 https://bugs.webkit.org/show_bug.cgi?id=23333
4036 Adjust due to a name change that happened in a WebKit.
4038 * svg/graphics/skia/SVGPaintServerPatternSkia.cpp:
4039 (WebCore::SVGPaintServerPattern::setup):
4041 2009-01-15 Dimitri Glazkov <dglazkov@chromium.org>
4043 Reviewed by Eric Seidel.
4045 https://bugs.webkit.org/show_bug.cgi?id=23340
4046 Add remaining bits of graphics/chromium.
4048 * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp: Added.
4049 (WebCore::scaleEmToUnits):
4050 (WebCore::SimpleFontData::platformInit):
4051 (WebCore::SimpleFontData::platformDestroy):
4052 (WebCore::SimpleFontData::smallCapsFontData):
4053 (WebCore::SimpleFontData::containsCharacters):
4054 (WebCore::SimpleFontData::determinePitch):
4055 (WebCore::SimpleFontData::platformWidthForGlyph):
4056 * platform/graphics/chromium/SimpleFontDataLinux.cpp: Added.
4057 (WebCore::SimpleFontData::platformInit):
4058 (WebCore::SimpleFontData::platformDestroy):
4059 (WebCore::SimpleFontData::smallCapsFontData):
4060 (WebCore::SimpleFontData::containsCharacters):
4061 (WebCore::SimpleFontData::determinePitch):
4062 (WebCore::SimpleFontData::platformWidthForGlyph):
4063 * platform/graphics/chromium/ThemeHelperChromiumWin.cpp: Added.
4064 (WebCore::ThemeHelperWin::ThemeHelperWin):
4065 (WebCore::ThemeHelperWin::~ThemeHelperWin):
4066 * platform/graphics/chromium/ThemeHelperChromiumWin.h: Added.
4067 (WebCore::ThemeHelperWin::):
4068 (WebCore::ThemeHelperWin::context):
4069 (WebCore::ThemeHelperWin::rect):
4070 * platform/graphics/chromium/UniscribeHelper.cpp: Added.
4071 (WebCore::treatAsSpace):
4072 (WebCore::containsMissingGlyphs):
4073 (WebCore::setLogFontAndStyle):
4074 (WebCore::UniscribeHelper::UniscribeHelper):
4075 (WebCore::UniscribeHelper::~UniscribeHelper):
4076 (WebCore::UniscribeHelper::initWithOptionalLengthProtection):
4077 (WebCore::UniscribeHelper::width):
4078 (WebCore::UniscribeHelper::justify):
4079 (WebCore::UniscribeHelper::characterToX):
4080 (WebCore::UniscribeHelper::xToCharacter):
4081 (WebCore::UniscribeHelper::draw):
4082 (WebCore::UniscribeHelper::firstGlyphForCharacter):
4083 (WebCore::UniscribeHelper::fillRuns):
4084 (WebCore::UniscribeHelper::shape):
4085 (WebCore::UniscribeHelper::fillShapes):
4086 (WebCore::UniscribeHelper::fillScreenOrder):
4087 (WebCore::UniscribeHelper::adjustSpaceAdvances):
4088 (WebCore::UniscribeHelper::applySpacing):
4089 (WebCore::UniscribeHelper::advanceForItem):
4090 * platform/graphics/chromium/UniscribeHelper.h: Added.
4091 (WebCore::UniscribeHelper::directionalOverride):
4092 (WebCore::UniscribeHelper::setDirectionalOverride):
4093 (WebCore::UniscribeHelper::inhibitLigate):
4094 (WebCore::UniscribeHelper::setInhibitLigate):
4095 (WebCore::UniscribeHelper::letterSpacing):
4096 (WebCore::UniscribeHelper::setLetterSpacing):
4097 (WebCore::UniscribeHelper::spaceWidth):
4098 (WebCore::UniscribeHelper::setSpaceWidth):
4099 (WebCore::UniscribeHelper::wordSpacing):
4100 (WebCore::UniscribeHelper::setWordSpacing):
4101 (WebCore::UniscribeHelper::setAscent):
4102 (WebCore::UniscribeHelper::init):
4103 (WebCore::UniscribeHelper::tryToPreloadFont):
4104 (WebCore::UniscribeHelper::Shaping::Shaping):
4105 (WebCore::UniscribeHelper::Shaping::glyphLength):
4106 (WebCore::UniscribeHelper::Shaping::charLength):
4107 (WebCore::UniscribeHelper::Shaping::effectiveAdvances):
4108 (WebCore::UniscribeHelper::nextWinFontData):
4109 (WebCore::UniscribeHelper::resetFontIndex):
4110 * platform/graphics/chromium/UniscribeHelperTextRun.cpp: Added.
4111 (WebCore::UniscribeHelperTextRun::UniscribeHelperTextRun):
4112 (WebCore::UniscribeHelperTextRun::tryToPreloadFont):
4113 (WebCore::UniscribeHelperTextRun::nextWinFontData):
4114 (WebCore::UniscribeHelperTextRun::resetFontIndex):
4115 * platform/graphics/chromium/UniscribeHelperTextRun.h: Added.
4117 2009-01-15 Chris Marrin <cmarrin@apple.com>
4119 Reviewed by Dan Bernstein.
4121 Fixed Windows project file after https://bugs.webkit.org/show_bug.cgi?id=21421
4123 * WebCore.vcproj/WebCore.vcproj:
4125 2009-01-15 Aaron Boodman <aa@chromium.org>
4127 Reviewed by Adam Roben.
4129 https://bugs.webkit.org/show_bug.cgi?id=15279
4130 Right clicking over text (or multiple spaces) auto selects the word
4131 (or multiple spaces) under it, which is not a desirable effect for some
4134 * page/EventHandler.cpp:
4135 (WebCore::EventHandler::sendContextMenuEvent):
4136 Don't select words on right-click on Chromium.
4138 2009-01-15 Darin Fisher <darin@chromium.org>
4140 Reviewed by Eric Seidel.
4142 https://bugs.webkit.org/show_bug.cgi?id=23345
4143 SharedBuffer.h should include wtf/OwnPtr.h
4145 * platform/SharedBuffer.h:
4147 2009-01-14 David Kilzer <ddkilzer@apple.com>
4149 Bug 23338: Make "Streamline Inspector Source" build script check for a directory before using it
4151 <https://bugs.webkit.org/show_bug.cgi?id=23338>
4153 Reviewed by Timothy Hatcher.
4155 * WebCore.xcodeproj/project.pbxproj: Check to see if
4156 "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/inspector"
4157 exists before trying to change directories into it and then
4158 deleting, modifying and adding files to it.
4160 2009-01-14 miggilin <mr.diggilin@gmail.com>
4162 Reviewed by Kevin Ollivier.
4164 Fixing wx compilation for wx 2.9/trunk.
4166 * platform/graphics/wx/FontPlatformData.h:
4167 (WebCore::FontPlatformData::operator==):
4168 (WebCore::FontPlatformData::computeHash):
4169 * platform/graphics/wx/GraphicsContextWx.cpp:
4170 (WebCore::GraphicsContext::clip):
4171 (WebCore::GraphicsContext::setCompositeOperation):
4172 * platform/graphics/wx/ImageSourceWx.cpp:
4173 (WebCore::ImageSource::createFrameAtIndex):
4174 * platform/graphics/wx/PathWx.cpp:
4175 (WebCore::Path::contains):
4176 * platform/wx/RenderThemeWx.cpp:
4177 (WebCore::RenderThemeWx::paintButton):
4178 (WebCore::RenderThemeWx::paintTextField):
4179 (WebCore::RenderThemeWx::paintMenuList):
4180 * platform/wx/wxcode/gtk/non-kerned-drawing.cpp:
4182 2009-01-14 Kevin Ollivier <kevino@theolliviers.com>
4184 wx build fix. Adding WebKitCSSMatrix.
4186 * WebCoreSources.bkl:
4188 2009-01-14 Adam Treat <adam.treat@torchmobile.com>
4190 Prospective build fix for Qt following r39922.
4194 2009-01-14 Darin Adler <darin@apple.com>